# Regular Meeting (2020.5.18)
## Outline
* [Test 32 channels Transceiver with ibert](##-Test-32-channels-Transceiver-with-ibert)
* [Code review and optimize for 2D-Tracker](##Code-review-and-optimize-for-2D-Tracker)
## Test 32 channels Transceiver with ibert
* 64Gbps problem
* seems bug of software, I've post on [Xilinx forum](https://forums.xilinx.com/t5/Xilinx-IP-Catalog/Data-rate-error-in-iBert-example-desing/m-p/1106944#M7182) for discuss.
* Test ibert with 16 channels (divide test for 0ch~15ch, 16ch~31ch )
* OK
* 
* Current consume:
* 32 channels
*
* 16 channels
*
## Code review and optimize for 2D-Tracker
* [Original code review](https://hackmd.io/92NXAOPzSvmWn1Iv0eBVeA)
* Optimize code
* [Code see here](https://github.com/curly-wei/HoughTrigMapping)
* New features after optimized, I'll make a report
* All of output file will go to subdirectory - `result/`
* Using C++17 standard. Support to 64Bits Win/Linux/MacOS
`$clang++ -std=C++17 <src files> -o <output files>`
* goal of optimization
* Using CMake cross-platform builder
* Performance
* Compile time constant
* Coding style
* in `Utilities.cc` and `Utilities.h`
* `dateString` is not safe function, C++11 provide more good function we can use - [std::put_time](https://en.cppreference.com/w/cpp/io/manip/put_time)
* Static member function is not good coding style, except **Group golbal readonly constant** or **Singleton Design Pattern**
* Althougth this called **Utilities** library, but those function in that library, C++11,14,17 standard library also provided. [refer here](http://kamory0931.pixnet.net/blog/post/119201381)
* Final goal: **Remove this dispendency:`Utilities`**
* Documentation System
* Using [doxygen](https://en.wikipedia.org/wiki/Doxygen)
* [Basic tutorial](https://github.com/curly-wei/small-program/tree/master/doxygen-test)
* [Some IDE-suppored](https://i.imgur.com/oiwoXYY.png)
* [Also generate tree chart view for your project/code](https://i.imgur.com/6bO2Bme.png)
###### tags: `Regular Meeting` DeWei`