# 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 * ![OK](https://i.imgur.com/Xiy4236.png) * 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`