Skip to content

Draft: FELIX FW Trigger Variable Writing

Relating to the issues brought up in JIRA ticket FLXUSERS-752, and outlined in presentation, a new set of FW encoding registers have been introduced to the FELIX FW. These registers are as follows, as outlined in the ticket:

[rluz@felix01 felixstar]$ flx-config -d2 list | grep ENCODING_ITKPIX_TRIGGER_GENERATOR
0x3ae0 [RW    28]    ENCODING_ITKPIX_TRIGGER_GENERATOR_NO_INJECT                0x0  Controls the trigger generator for ItkPix
0x3ae0 [RW    27]    ENCODING_ITKPIX_TRIGGER_GENERATOR_EDGE_MODE                0x1  Controls the trigger generator for ItkPix
0x3ae0 [RW 26:22]   ENCODING_ITKPIX_TRIGGER_GENERATOR_EDGE_DELAY               0x00  Controls the trigger generator for ItkPix
0x3ae0 [RW 21:14] ENCODING_ITKPIX_TRIGGER_GENERATOR_EDGE_DURATION              0x14  Controls the trigger generator for ItkPix
0x3ae0 [RW 13:06]   ENCODING_ITKPIX_TRIGGER_GENERATOR_TRIG_DELAY               0x3a  Controls the trigger generator for ItkPix
0x3ae0 [RW 05:00] ENCODING_ITKPIX_TRIGGER_GENERATOR_TRIG_MULTIPLIER            0x10  Controls the trigger generator for ItkPix

This merge introduces a system to write the corresponding variables to these registers dynamically during a scan. This is introduced by adding in a new set of functions to access the variables from the trigger loop of a front-end, making them visible to the TXCore function in a controller. In order to add this, these functions needed to be introduced to all front-ends/controllers, to ensure that all systems remain operable under the change. The implementation of these functions is in the FelixTxCore.cpp file, in which the values are set to the corresponding registers when running a FW mode trigger.

Current issues:

  • Though this currently works for digital scans on an Rd53b SCC, it doesn't seem to work for analog scans on Rd53b SCC. I tried running this independently, then separately by first sourcing the external calTrig setting script for an analog scan, and neither option produced a scan without tens of thousands of pixels failing. Note that the new FW method of setting the trigger sequence internally in FELIX FW should not rely at all on these external trigger sequence settings, however as a debugging method this test did not prove to change the results.

Merge request reports

Loading