Skip to content

Bring ME0 to feature-parity

Laurent Petre requested to merge feature/me0-parity into main


As the title says, this MR aims at bringing the ME0 station to feature-parity in cmsgemos. In particular, that means:

  • Implementing the S-bit rate scan (via the unified register hierarchy; see emu/0xbefe!143 (merged))
    • Update the recommended/supported firmware versions
  • Implementing the environmental parameters monitoring via lpGBT ADC readouts

Additionally, misc cleanups and improvements are introduced in this MR:

  • Introduction of the std::optional<T> in gemhardware (possible since the introduction of C++17)
  • Checking of the GBTx/lpGBT serial number in the gem-check-layout-tree tool
  • Avoidance of stalled data in the monitoring suite
    • Via the suppression of the magic 0xffffffff and 0xdeaddead values
  • Clean up of the lpGBT-specific functions

Related Issue

How Has This Been Tested?

  • GEx/1 -- Deployed on the production system at P5
  • ME0 -- Being used on the ME0 stack

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)


  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.
Edited by Laurent Petre

Merge request reports