Skip to content

Version 2.0

Latest
Compare
Choose a tag to compare
@darrylmasson darrylmasson released this 27 Oct 08:11
· 54 commits to master since this release
b0e8ba3

Redax version 2 features overhauled memory management, improved mutex handling, and more coherent usage.

  • Automatic cleanup: raw pointers to structs containing raw pointers are replaced with managed pointers to structs containing strings, so the memory is automatically released once it goes out of scope
  • Lots of std::move in strategic locations
  • Data moves from readout threads to processing threads via a round-robin push fashion, rather than by being pulled via one central buffer. This increases the effective number of mutexes, which boosts throughput under very high load, and removes the edge case where a processing thread might not receive data for an entire run.
  • More command-line arguments for finer control of certain parameters (mainly --log-retention and --arm-delay)
  • More config fields for finer control of certain parameters (mainly us_between_reads)
  • Simplified the process of adding support for new digitizer models/firmwares. Now, the user need only implement one or two functions and set one or two members, as opposed to filling in obscure values in a dictionary and then possibly also making changes in two other locations.
  • Now a single executable, rather than two separate build targets. Functionality is specified via the --reader and --cc CLAs.