#include "trigConf.h" void UpdateRocCode(void); int SetMLUValue(ClientData clientData,Tcl_Interp *interp,int argc,const char *argv[]) { int i; int addr=0x0; // Get Memory location for(i=1;i<=12;i++)if(mlu_in[i])addr |= 0x1<<(i-1); // Set all bits for(i=0;i<32;i++)if(mlu_out[i])TS_MLU[addr] |= (unsigned long)0x1<>i)&0x01); Tcl_Evaluate(cmd); } // Update the ROC code displayed UpdateRocCode(); return TCL_OK; } void UpdateRocCode(void) { int i, code = 0x0; char cmd[256]; for(i=16;i<=21;i++)if(mlu_out[i])code |= 0x1<<(i-16); sprintf(cmd,"set roc_code \"(0x%02x)\"",code); Tcl_Evaluate(cmd); }