Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • (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?
  • (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
languagebash
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.

...