Bugs, buglets and problems to sort out
Do we have 16 and 32bit histograms? [Bruce] No [Alan]
Histo setup
Physics bank is getting sent to modules at start of scan.RodDaq/Dsp/Sct/Code/masterTasks_sct.c:1034 has
if (hc.scan->reset.moduleInit) {
//type= (1<<CONFIG_MODULE_ALL);
errorCode= sendConfigSet(hc.port, hc.mod8, ALL_CHIPS, NORMAL_CONFIG_LOOP,
TRUE, PHYSICS_CONFIG_SET, MODULE_GROUP_ALL,
CONFIG_MODULE_ALL, FALSE, TRUE);
}
we dont want to do this (we have modified the SCAN rather than the PHYSICS bank) however there dosent seem to be a way of turning this off... :( - workaround in SctApi.cxx - modify both PHYSICS and SCAN with multi-config-set so that they are the same.
Get Configs
There is currently a bug in getModuleConfig which means that we need to set cfgBitfield, but must actually send a single config. Douglas is aware.
- workaround is in PrimBuilder?.cxx : set non-bitfield in READ_MODULE_DATA but tell primitive it is a bitfield.
ABCDConfig.c
case ST_TRIM:
int_val = (INT32)((val+0.5)/(float)1.0);
if (int_val<0) int_val=0;
else if(int_val>3) int_val=3;
for (channel=0; channel<N_SCT_CHANS; channel++){
chipPtr->trim[channel] = (UINT8) int_val;
}
break;
should be replaced by case ST_TRIM:
int_val = (INT32)((val+0.5)/(float)1.0);
if (int_val<0) int_val=0;
else if(int_val>15) int_val=15;
for (channel=0; channel<N_SCT_CHANS; channel++){
chipPtr->trim[channel] = (UINT8) int_val;
}
break;
Current maximum value is 3 when doing setvar on rod - Peter introduced. Need to set this to 15 (4 trim bits)
- workaround - modify in API and then send the trims.
5 June 2005 - This change has been made by Doug in the 1.2.1 code
Load Slave Image
Is there a way to load a slave image to >1 (usually all 4) slaves?Alan