Page History
...
- (done) Move to Rogue 6: v 1.0.0
- current configuration time is long at 34s
- some progress on this: now 10s according to Ric (check that we're down to 2-3 seconds that rogue sees?)
- fiber-power monitoring on the detector side and kcu1500
- not there yet on march 22, 2024
- (done for the detector as of v1.1.5 of epix-hr-m-320k)
- (done?) have to manually lock the lanes between ASICs and managing FPGA by running 1000 events: feels awkward-ish
- what does epixHR do?
- not all lanes in an ASIC lock (can perhaps be fixed with improved delay settings)
- most have 3-5 lanes that don't function or are unstable (out of 24) for unit 0xbf
- data is currently scrambled (not natural order)
- ric is descrambling ASICS in software, but would like to move to hardwarefirmware
- (done) remove epixViewer imports in _Root.py
- on May 11, 2024 lost timing link from epixM to xpm7 (had to power cycle). Include Julian's latest link fixes in your firmware.
- need eye-scanning for all transceiver links
- add batcherEventBuilder to kcu1500
- use Lcls2EpixHrXilinxKcu1500Pgp4_10Gbps, which contains a BEB
- make the ePixM devGui compatible
- (done) remove 8 bytes of null padding between timing header elements
- fix set-registers-before-each-charge-injection-event issue
- Implement FPGA registers to rearm ASICs on each event when
test
register is true?
- Implement FPGA registers to rearm ASICs on each event when
- (done) Split prepareChargeInjection() into 2 functions, the first taking first and last column (as now) and the second taking a 384 element numpy array (e.g., setupChargeInjection(self, asicIndex, lane_selected, pulserValue))
- (done) Since the scan work, normal data taking runs now see dropped and short frames from ASIC 0
- DAQ has no environmental monitoring support as yet
- needs board re-spin (boards in layout on March 22, 2024)
- will epixM automatically increase charge with each injection pulse like epixHR? Dionisio thinks probably not (will double-check with Lorenzo).
- (done?) zmq server port gone with rogue6? needs to be re-added?
- need to know common-mode "bank" info
- each lane?
- other structures for ADC?
- v1.1.5 of epix-hr-m-320k introduced per detector instance yaml files, which implies that if a detector is swapped out, either:
- the configDb for the given detector alias must be reinitialized, or
- a different detector alias and configDb instance must be set up
- requires corresponding .cnf changes
Miscellaneous Info
Asic readout order:
...
Code Block | ||
---|---|---|
| ||
python epixhr_config_from_yaml.py --prod --user tstopr --inst tst --alias BEAM --name epixm --segm 0 --id epixm320_serial1234 --yaml Root:/cds/home/c/cpo/git/epix-hr-m-320k/software/config/ePixHRM320k_75000018efb4ab01_ASIC_u1.yml python epixhr_config_from_yaml.py --prod --user tstopr --inst tst --alias BEAM --name epixm --segm 0 --id epixm320_serial1234 --yaml Root:/cds/home/c/cpo/git/epix-hr-m-320k/software/config/ePixHRM320k_75000018efb4ab01_ASIC_u2.yml python epixhr_config_from_yaml.py --prod --user tstopr --inst tst --alias BEAM --name epixm --segm 0 --id epixm320_serial1234 --yaml Root:/cds/home/c/cpo/git/epix-hr-m-320k/software/config/ePixHRM320k_75000018efb4ab01_ASIC_u3.yml python epixhr_config_from_yaml.py --prod --user tstopr --inst tst --alias BEAM --name epixm --segm 0 --id epixm320_serial1234 --yaml Root:/cds/home/c/cpo/git/epix-hr-m-320k/software/config/ePixHRM320k_75000018efb4ab01_ASIC_u4.yml python epixhr_config_from_yaml.py --prod --user tstopr --inst tst --alias BEAM --name epixm --segm 0 --id epixm320_serial1234 --yaml Root:/cds/home/c/cpo/git/epix-hr-m-320k/software/config/ePixHRM320k_75000018efb4ab01_PacketRegisters.yml python epixhr_config_from_yaml.py --prod --user tstopr --inst tst --alias BEAM --name epixm --segm 0 --id epixm320_serial1234 --yaml Root:/cds/home/c/cpo/git/epix-hr-m-320k/software/config/ePixHRM320k_PowerSupply_Enable.yml python epixhr_config_from_yaml.py --prod --user tstopr --inst tst --alias BEAM --name epixm --segm 0 --id epixm320_serial1234 --yaml Root:/cds/home/c/cpo/git/epix-hr-m-320k/software/config/ePixHRM320k_RegisterControl.yml python epixhr_config_from_yaml.py --prod --user tstopr --inst tst --alias BEAM --name epixm --segm 0 --id epixm320_serial1234 --yaml Root:/cds/home/c/cpo/git/epix-hr-m-320k/software/config/ePixHRM320k_75000018efb4ab01_SspMonGrp_carrier.yml |
Note that he the PowerSupply_Enable file has recently been trivial and causes 'Exception: modify_device: operation failed!
', but this could change in the future. The exception is harmless. Some of these yaml files are specific to the hardware instance of the detector. Thus, currently, a given ePixM DB instance will likely not work well with a different detector instance. Also note that loading the yaml files into the DB overwrites default settings that may have been previously modified using the ConfigDb editor in Control_GUI.
The user
section contains several parameters that are used to determine values for parameters written to the hardware. The resulting values sometimes override values from the expert
section in some cases and are not reflected there. In the case of user.gain_mode
, for example, values for the CompTH_ePixM
and Precharge_DAC_ePixM
parameters are taken from the table above (in Pedestal Scans and Charge Injection) for modes 0, 1 and 2, but the values stored in the expert
section are used for mode 3.
...