Difference between revisions of "DAQ Meeting/20180802"
From PREX Wiki
Jump to navigationJump to search (→Agenda) |
|||
(7 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | * Editing .crl's to have Banks | + | Back to [[Main_Page|Main Page]] >> [[DAQ_Doc_Portal|DAQ Documentation Portal]] >> [[DAQ_Meeting|DAQ Meetings]] |
− | ** Don't edit all of it at once, Banks and Headers can coexist, so going one step at a time is fine | + | |
− | ** |= means leave bits there alone, and add in some new bit | + | [[DAQ_Meeting/20180801|previous meeting]] << >> [[DAQ_Meeting/20180803|following meeting]] |
− | ** b0b444 is the begin of event header flag | + | == Logistic information == |
− | ** Just add one bank at a time and it compiles just fine | + | BlueJeans calling instructions: |
− | ** %% just adds a } or { (which breaks logical C braces that any such code would be nested within) | + | Toll-Free Number (U.S.& Canada): 888-240-2560 |
− | * Adding in TS control flag | + | International toll number: 408-740-7256 |
− | ** Diff the Prex_ts. | + | Bluejeans CODE: 475 839 391 |
− | ** | + | Bluejeans link: https://bluejeans.com/475839391 |
− | * Update timing for FLEXIO in Injector DAQ | + | |
+ | ==Agenda== | ||
+ | * Bob and Cameron : Check the gate and delayed T_Settle output to the FLEXIO, TI, and STR7200 Scaler, and make sure the injector studies later today go smoothly | ||
+ | * Bob and Cameron : Get Bank data structure incorporated in Prex_ts_banks.crl functionality | ||
+ | |||
+ | ==Minutes== | ||
+ | |||
+ | * Cameron: Editing .crl's to have Banks | ||
+ | ** Notes from talking with Bob | ||
+ | *** Don't edit all of it at once, Banks and Headers can coexist, so going one step at a time is fine | ||
+ | *** |= means leave bits there alone, and add in some new bit | ||
+ | *** b0b444 is the begin of event header flag and should stay in for now | ||
+ | *** Just add one bank at a time and it compiles just fine | ||
+ | ** Talking to Dave Abbott, he says | ||
+ | *** %% (after "download"?) just adds a } or { (which breaks logical C braces that any such code would be nested within) | ||
+ | *** CRL language is just recipes for replacing lines with chunks of C code, and C code should be preferred over CRL language whenever possible | ||
+ | *** ${CODA_BIN}/ccrl is a compiler that doesn't make complicated .c output files for .crl's (though it also doesn't finish compiling), but at least it produces something readable for debugging purposes | ||
+ | ** Adding in TS control flag - Dave Abbott says | ||
+ | *** Diff the Prex_ts.c and Prex.c to see what ts control addition does | ||
+ | *** ts control is just setting a preprocessor directive in there to turn on some features, so it needs to be included at the top and not as a user string | ||
+ | ** I successfully changed Prex_ts.crl over to Prex_ts_banks.crl | ||
+ | *** The method of commenting I was using backfired, since apparently in C code block mode ''//# stuff'' actually gets interpreted by the crl compiler sometimes, especially if you use that block to comment out a ''*rol->dabuf++ = stuff'' line or put too many ''######s'' | ||
+ | *** Anyway, I added in the C code version of the Bank open and Close statements | ||
+ | **** ''CBOPEN(BANK_ID_NUMBER,BT_UI4,VARIABLE_FOR_EVENT_NUMBER);'' and ''CBCLOSE;'' | ||
+ | ***** where BANK_ID_NUMBER is an arbitrary number defined at the top of the .crl for referencing particular banks | ||
+ | ***** BT_UI4 is a system variable defined elsewhere that gets defined as BT_UI4_ty after compilation | ||
+ | *** Compilation can be done | ||
+ | **** with the ''makelist *.crl ppc'' to generate the necessary *.o file | ||
+ | **** or with ''${CODA_BIN}/ccrl'' compilation/c code conversion to generate a more readable .c file | ||
+ | ** Issues: | ||
+ | *** I had problems getting the comments to work correctly, as noted before, but I also had some other issues | ||
+ | **** so '''the removed header data writing lines were removed and should be added back in as some safe form of comment for consistency, as well as comments for other things I added in that are new, see Prex_ts_*_comments.crl''' | ||
+ | *** Putting any comments of any form, or putting the bank open and close inside the "dirty trick" that relies on a goto statement fails to compile | ||
+ | **** so '''the placement of the banks around that goto should be checked for logical equivalence with the prior header declaration''' | ||
+ | *** Putting the bank open and close around some places, particularly the end of the file at the QWeak ADC writing section was a bit weirder, probably something to do with some ifdefs needing the be independent of bank open and closes | ||
+ | **** so '''bank opens and closes around ifdefs were split up, one copy per ifdef option for the scalers, and sandwiched around the ifdef for QWeak ADCs, and their logical consistency needs to be checked''' | ||
+ | *** I haven't checked that the xfcedump output has the banks implemented correctly, but this should be easy enough to do | ||
+ | **** so '''I should make a new run with this configuration when other people aren't using adaq3 and see that the data looks good in xfcedump''' | ||
+ | |||
+ | * Cameron and Bob: Update timing for FLEXIO in Injector DAQ | ||
** Jack Segal's webpage (~segal) has every user manual of every module (see phillips 795 gate generator manual, also available on [http://www.phillipsscientific.com/pdf/794ds.pdf Phillips website]) | ** Jack Segal's webpage (~segal) has every user manual of every module (see phillips 795 gate generator manual, also available on [http://www.phillipsscientific.com/pdf/794ds.pdf Phillips website]) | ||
** Program jumper may be placed in the wrong setting - it sits on the back of the module and selects a single output to send the delay | ** Program jumper may be placed in the wrong setting - it sits on the back of the module and selects a single output to send the delay | ||
*** It looks like it is fine - currently set to disable (its on the back, there are 4 channels for remote programming that are all empty) | *** It looks like it is fine - currently set to disable (its on the back, there are 4 channels for remote programming that are all empty) | ||
− | ** The | + | ** Changed gate width and delay width on Delay Generator |
+ | *** 10 microsecond long width of "gate" delay signal and 150 nanosecond width of "delay" pulse (which starts at exactly the rising edge at the end of the delay signal) | ||
+ | *** ''Later in the day this delay was changed later in the day due to helicity errors'' | ||
+ | **** '''The delayed signal was bypassed, changing the delay into the FLEXIO from 10 microseconds to 0 and fixing the problem''' | ||
+ | **** '''This "fix" is not good and should be verified and set to behave as we actually want it to, probably requiring a much longer delay and some further testing''' | ||
+ | *** See if delays show up in data correctly (Run 4127 using Injector.crl) | ||
+ | ** Check if STR7200 Scaler is behaving correctly | ||
+ | *** Ask Paul King - emails were exchanged and a brief diagram was created, and it appears that the delay needs to be 8 helicity window, when we just set it to 1 window | ||
+ | *** Reverse Engineer from QWeak analyzer? It looks like it is behaving as intended, though JAPAN may need some help too | ||
+ | |||
+ | == Testing == | ||
+ | [[DAQ Testing/20180802|Today's testing]] | ||
− | + | [[Category:DAQ_Meeting]] | |
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 13:54, 3 August 2018
Back to Main Page >> DAQ Documentation Portal >> DAQ Meetings
previous meeting << >> following meeting
Logistic information
BlueJeans calling instructions: Toll-Free Number (U.S.& Canada): 888-240-2560 International toll number: 408-740-7256 Bluejeans CODE: 475 839 391 Bluejeans link: https://bluejeans.com/475839391
Agenda
- Bob and Cameron : Check the gate and delayed T_Settle output to the FLEXIO, TI, and STR7200 Scaler, and make sure the injector studies later today go smoothly
- Bob and Cameron : Get Bank data structure incorporated in Prex_ts_banks.crl functionality
Minutes
- Cameron: Editing .crl's to have Banks
- Notes from talking with Bob
- Don't edit all of it at once, Banks and Headers can coexist, so going one step at a time is fine
- |= means leave bits there alone, and add in some new bit
- b0b444 is the begin of event header flag and should stay in for now
- Just add one bank at a time and it compiles just fine
- Talking to Dave Abbott, he says
- %% (after "download"?) just adds a } or { (which breaks logical C braces that any such code would be nested within)
- CRL language is just recipes for replacing lines with chunks of C code, and C code should be preferred over CRL language whenever possible
- ${CODA_BIN}/ccrl is a compiler that doesn't make complicated .c output files for .crl's (though it also doesn't finish compiling), but at least it produces something readable for debugging purposes
- Adding in TS control flag - Dave Abbott says
- Diff the Prex_ts.c and Prex.c to see what ts control addition does
- ts control is just setting a preprocessor directive in there to turn on some features, so it needs to be included at the top and not as a user string
- I successfully changed Prex_ts.crl over to Prex_ts_banks.crl
- The method of commenting I was using backfired, since apparently in C code block mode //# stuff actually gets interpreted by the crl compiler sometimes, especially if you use that block to comment out a *rol->dabuf++ = stuff line or put too many ######s
- Anyway, I added in the C code version of the Bank open and Close statements
- CBOPEN(BANK_ID_NUMBER,BT_UI4,VARIABLE_FOR_EVENT_NUMBER); and CBCLOSE;
- where BANK_ID_NUMBER is an arbitrary number defined at the top of the .crl for referencing particular banks
- BT_UI4 is a system variable defined elsewhere that gets defined as BT_UI4_ty after compilation
- CBOPEN(BANK_ID_NUMBER,BT_UI4,VARIABLE_FOR_EVENT_NUMBER); and CBCLOSE;
- Compilation can be done
- with the makelist *.crl ppc to generate the necessary *.o file
- or with ${CODA_BIN}/ccrl compilation/c code conversion to generate a more readable .c file
- Issues:
- I had problems getting the comments to work correctly, as noted before, but I also had some other issues
- so the removed header data writing lines were removed and should be added back in as some safe form of comment for consistency, as well as comments for other things I added in that are new, see Prex_ts_*_comments.crl
- Putting any comments of any form, or putting the bank open and close inside the "dirty trick" that relies on a goto statement fails to compile
- so the placement of the banks around that goto should be checked for logical equivalence with the prior header declaration
- Putting the bank open and close around some places, particularly the end of the file at the QWeak ADC writing section was a bit weirder, probably something to do with some ifdefs needing the be independent of bank open and closes
- so bank opens and closes around ifdefs were split up, one copy per ifdef option for the scalers, and sandwiched around the ifdef for QWeak ADCs, and their logical consistency needs to be checked
- I haven't checked that the xfcedump output has the banks implemented correctly, but this should be easy enough to do
- so I should make a new run with this configuration when other people aren't using adaq3 and see that the data looks good in xfcedump
- I had problems getting the comments to work correctly, as noted before, but I also had some other issues
- Notes from talking with Bob
- Cameron and Bob: Update timing for FLEXIO in Injector DAQ
- Jack Segal's webpage (~segal) has every user manual of every module (see phillips 795 gate generator manual, also available on Phillips website)
- Program jumper may be placed in the wrong setting - it sits on the back of the module and selects a single output to send the delay
- It looks like it is fine - currently set to disable (its on the back, there are 4 channels for remote programming that are all empty)
- Changed gate width and delay width on Delay Generator
- 10 microsecond long width of "gate" delay signal and 150 nanosecond width of "delay" pulse (which starts at exactly the rising edge at the end of the delay signal)
- Later in the day this delay was changed later in the day due to helicity errors
- The delayed signal was bypassed, changing the delay into the FLEXIO from 10 microseconds to 0 and fixing the problem
- This "fix" is not good and should be verified and set to behave as we actually want it to, probably requiring a much longer delay and some further testing
- See if delays show up in data correctly (Run 4127 using Injector.crl)
- Check if STR7200 Scaler is behaving correctly
- Ask Paul King - emails were exchanged and a brief diagram was created, and it appears that the delay needs to be 8 helicity window, when we just set it to 1 window
- Reverse Engineer from QWeak analyzer? It looks like it is behaving as intended, though JAPAN may need some help too