This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
phase1:phase1:pos [2016/08/26 12:33] – ngadiuba | phase1:phase1:pos [2016/09/14 11:25] (current) – ngadiuba | ||
---|---|---|---|
Line 16: | Line 16: | ||
http:// | http:// | ||
- | * Set a configuration for a quick check that modules, FED and POHs are working: | + | * set a configuration for a quick check that modules, FED and POHs are working: |
cd ~/ | cd ~/ | ||
cp calib_simple.dat calib.dat | cp calib_simple.dat calib.dat | ||
- | * Run a TBMDelay calibration clicking on the corresponding button in the PixelSupervisor menu, then click on " | + | * run a TBMDelay calibration clicking on the corresponding button in the PixelSupervisor menu, then click on " |
- | * If everything worked you will see an output similar to this: | + | * if everything worked you will see an output similar to this: |
- | ----------------------------------- | ||
Contents of FIFO 1 for channel 32 (status = 11) | Contents of FIFO 1 for channel 32 (status = 11) | ||
- | | + | |
Decoded channel: 32 | Decoded channel: 32 | ||
Found TBM header: 1 | Found TBM header: 1 | ||
Line 45: | Line 44: | ||
- Channel #32 ROC #3 dcol 5 pxl 140 col 10 row 10 pulse height 255 | - Channel #32 ROC #3 dcol 5 pxl 140 col 10 row 10 pulse height 255 | ||
- Channel #32 ROC #4 dcol 5 pxl 140 col 10 row 10 pulse height 243 | - Channel #32 ROC #4 dcol 5 pxl 140 col 10 row 10 pulse height 243 | ||
+ | |||
+ | * if you don't get a meaningfull output try first to click on " | ||
+ | * every time you want to restart from scratch (for instance after compiling) remember first to kill all xdaq applications (killall xdaq.exe) | ||
+ | * to compile just type | ||
+ | |||
+ | cd ~/ | ||
+ | make Set=pixel | ||
+ | |||
+ | * **remember to power off once you are done!** | ||
+ | |||
+ | ===== How to develop calibration code ===== | ||
+ | |||
+ | 1) add the new calibration to the file **PixelCalibrations/ | ||
+ | |||
+ | #include " | ||
+ | #include " | ||
| | ||
- | ===== TBM pll delay calibration ===== | + | PixelCalibrationBase* PixelCalibrationFactory:: |
+ | |||
+ | ...... | ||
+ | |||
+ | if (calibName==" | ||
+ | return new PixelMyCalibration(*pixSupConfPtr, | ||
+ | } | ||
+ | |||
+ | ...... | ||
+ | |||
+ | } | ||
+ | |||
+ | |||
+ | PixelFEDCalibrationBase* PixelCalibrationFactory:: | ||
+ | |||
+ | ...... | ||
+ | |||
+ | if (calibName==" | ||
+ | return new PixelFEDMyCalibration(*pixFEDSupConfPtr, | ||
+ | } | ||
+ | |||
+ | ...... | ||
+ | |||
+ | } | ||
+ | |||
+ | 2) create your calibration | ||
+ | |||
+ | 3) add the new calibration to the file **config/ | ||
+ | |||
+ | ... | ||
+ | Gain99By3 | ||
+ | GainBy3 | ||
+ | Iana 21 ; | ||
+ | ROCDelay | ||
+ | ReadbackCalibration 23 ; | ||
+ | Vdig 24 ; | ||
+ | MyCalibration 25 ; | ||
+ | |||
+ | 4) add the calibration key to the file **config/ | ||
+ | |||
+ | ... | ||
+ | key 25 | ||
+ | detconfig | ||
+ | nametranslation | ||
+ | fedconfig | ||
+ | fecconfig | ||
+ | fedcard | ||
+ | dac 0 | ||
+ | maxvsf | ||
+ | mask 0 | ||
+ | trim 0 | ||
+ | calib 25 | ||
+ | tbm 0 | ||
+ | portcard | ||
+ | portcardmap | ||
+ | ttcciconfig | ||
+ | ltcconfig | ||
+ | tkfecconfig | ||
+ | lowvoltagemap | ||
+ | |||
+ | 5) edit the calib.dat file with the input parameters of the new calibration (ex: what to scan, scan range, etc..). For the example above the file should stay under **config/ | ||
+ | |||
+ | |||
+ | |||
+ | ===== Calibration sequence ===== | ||
+ | |||
+ | * The calibration sequence is described in [[https:// | ||
+ | |||
+ | * The calibrations parameters can be found in the corresponding calib.dat file in the config/ | ||
+ | * A detector configuration for switch 0 and switch 1 of the fitel receiver to use for testing calibrations can be found in [[https:// |