/* // This file is created by Template of umsCodeGenerator version 0.3 candidate */ #include "xrteStatus.h" /* // Definition of Variables */ extern int CAL_INFO; extern int CHIP_SUM; extern int ROI_H_STA_POS; extern int ROI_V_STA_POS; extern int ROI_H_SIZE; extern int ROI_V_SIZE; extern int CCD_READ_PORT; extern int CCD_TEMP; extern int CCD_OPE_STS1; extern int CCD_OPE_STS2; extern int CCD_OPE_STS3; extern int CCD_OPE_STS4; extern int CCD_OPE_STS5; extern int CCD_OPE_STS6; extern int CCD_OPE_STS7; extern int CCD_OPE_STS8; short EXP_STA_TIME; short EXP_END_TIME; short READ_END_TIME; short TIMER_COUNTER; extern float floatData; extern double doubleData; /* // Decoder Common Routines // // 2004/11/09 - release 0.1 - Created by KM // 2004/11/09 - release 0.2 - Modified by KM // 2004/12/25 - release 0.3 - Modified by KM // ums__txtCopy */ #include #include #include #include #include static int ums__found; static int ums__pos; static int ums__pos0; static char* ums__input; static int match (int label, int epos); static int match1(int label, int epos); static void die(char* msg){ fprintf(stderr,"%s\\n", msg); exit(1); } static char ums__output[4096]; static int ums__wpos=0; static void ums__readReset(){ ums__wpos = 0; } static void ums__txtCopy(int spos, int epos){ int cpos = ums__wpos; int len = (epos-spos)/8; strncpy( ums__output+ums__wpos, ums__input+spos/8, len ); ums__wpos += len; ums__output[ums__wpos] = 0; return ums__output+cpos; } static char *ums__txtRead(int spos, int epos){ int cpos = ums__wpos; int len = (epos-spos)/8; strncpy( ums__output+ums__wpos, ums__input+spos/8, len ); ums__wpos += len; ums__output[ums__wpos++] = 0; return ums__output+cpos; } static int64_t ums__signedRead(int spos, int epos){ int i,n = ums__input[spos/8]; int64_t tmp = ((n >> (7-spos%8)) & 1) * -1; for(i=spos+1; i < epos; i++ ){ int n = ums__input[i/8]; tmp = tmp * 2; tmp += (n >> (7-i%8)) & 1; } return tmp; } static uint64_t ums__unsignedRead(int spos, int epos){ int i,n = ums__input[spos/8]; uint64_t tmp = ((n >> (7-spos%8)) & 1); for(i=spos+1; i < epos; i++ ){ int n = ums__input[i/8]; tmp = tmp * 2; tmp += (n >> (7-i%8)) & 1; } return tmp; } static float ums__ieee754singleRead(int spos, int epos){ void *tmp = ums__input + spos/8; /* int i,n = ums__input[spos/8]; uint32_t tmp = ((n >> (7-spos%8)) & 1); for(i=spos+1; i < epos; i++ ){ int n = ums__input[i/8]; tmp = tmp * 2; tmp += (n >> (7-i%8)) & 1; } */ return *((float *)((void *)(tmp))); } static double ums__ieee754doubleRead(int spos, int epos){ void *tmp = ums__input + spos/8; /* int i,n = ums__input[spos/8]; uint64_t tmp = ((n >> (7-spos%8)) & 1); for(i=spos+1; i < epos; i++ ){ int n = ums__input[i/8]; tmp = tmp * 2; tmp += (n >> (7-i%8)) & 1; } */ return *((double *)((void *)(tmp))); } /* // Definition of Decoder (matcher) */ /* < oclng:decoderSub> */ static int match(int label, int epos1){ ums__pos0 = ums__pos; ums__found = match1(label, epos1); if(ums__found == 0 ){ ums__pos = ums__pos0; } return ums__found; } static int match1(int label, int epos1){ int level = -1; while(1){ /* < group> */ { int found1 = 0; if (level >= 0 || label == 4){ level++; } while(1){ /* < oclng:readerSub> */ /* < idat:byte> */ { int found2 = 0; if (level >= 0 || label == 6){ level++; } while(1){ int epos2 = ums__pos + 29 * 8; /* < idat:byte> */ { int found3 = 0; if (level >= 0 || label == 7){ level++; } while(1){ int epos3 = ums__pos + 1 * 8; /* < idat:bit> */ { int found4 = 0; if (level >= 0 || label == 8){ level++; } while(1){ int epos4 = ums__pos + 3 * 1; /* < data> */ { int found = 1; int eposd = epos4; if (level >= 0 || label == 9){ level++; } if (level >= 0){ level--; ums__pos = eposd; if (level < 0){ if(found){ return 1; }else{ return 0; }} if (!found){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos4 ){ found4 = 1; }else{ found4 = 0; } found4 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found4; } if (found4==0){ break; } } } /* */ /* < idat:bit> */ { int found4 = 0; if (level >= 0 || label == 10){ level++; } while(1){ int epos4 = ums__pos + 1 * 1; /* < data> */ { int found = 1; int eposd = epos4; if (level >= 0 || label == 12){ level++; } if (level >= 0){ level--; ums__pos = eposd; if (level < 0){ if(found){ return 1; }else{ return 0; }} if (!found){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos4 ){ found4 = 1; }else{ found4 = 0; } found4 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found4; } if (found4==0){ break; } } } /* */ /* < idat:bit> */ { int found4 = 0; if (level >= 0 || label == 13){ level++; } while(1){ int epos4 = ums__pos + 4 * 1; /* < data> */ { int found = 1; int eposd = epos4; if (level >= 0 || label == 15){ level++; } if (level >= 0){ level--; ums__pos = eposd; if (level < 0){ if(found){ return 1; }else{ return 0; }} if (!found){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos4 ){ found4 = 1; }else{ found4 = 0; } found4 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found4; } if (found4==0){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos3 ){ found3 = 1; }else{ found3 = 0; } found3 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found3; } if (found3==0){ break; } } } /* */ /* < idat:byte> */ { int found3 = 0; if (level >= 0 || label == 16){ level++; } while(1){ int epos3 = ums__pos + 1 * 8; /* < data> */ { int found = 1; int eposd = epos3; if (level >= 0 || label == 18){ level++; } if (level >= 0){ level--; ums__pos = eposd; if (level < 0){ if(found){ return 1; }else{ return 0; }} if (!found){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos3 ){ found3 = 1; }else{ found3 = 0; } found3 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found3; } if (found3==0){ break; } } } /* */ /* < idat:byte> */ { int found3 = 0; if (level >= 0 || label == 19){ level++; } while(1){ int epos3 = ums__pos + 1 * 8; /* < data> */ { int found = 1; int eposd = epos3; if (level >= 0 || label == 21){ level++; } if (level >= 0){ level--; ums__pos = eposd; if (level < 0){ if(found){ return 1; }else{ return 0; }} if (!found){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos3 ){ found3 = 1; }else{ found3 = 0; } found3 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found3; } if (found3==0){ break; } } } /* */ /* < idat:byte> */ { int found3 = 0; if (level >= 0 || label == 22){ level++; } while(1){ int epos3 = ums__pos + 1 * 8; /* < idat:bit> */ { int found4 = 0; if (level >= 0 || label == 23){ level++; } while(1){ int epos4 = ums__pos + 2 * 1; /* < data> */ { int found = 1; int eposd = epos4; if (level >= 0 || label == 24){ level++; } if (level >= 0){ level--; ums__pos = eposd; if (level < 0){ if(found){ return 1; }else{ return 0; }} if (!found){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos4 ){ found4 = 1; }else{ found4 = 0; } found4 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found4; } if (found4==0){ break; } } } /* */ /* < idat:bit> */ { int found4 = 0; if (level >= 0 || label == 25){ level++; } while(1){ int epos4 = ums__pos + 6 * 1; /* < data> */ { int found = 1; int eposd = epos4; if (level >= 0 || label == 27){ level++; } if (level >= 0){ level--; ums__pos = eposd; if (level < 0){ if(found){ return 1; }else{ return 0; }} if (!found){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos4 ){ found4 = 1; }else{ found4 = 0; } found4 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found4; } if (found4==0){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos3 ){ found3 = 1; }else{ found3 = 0; } found3 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found3; } if (found3==0){ break; } } } /* */ /* < idat:byte> */ { int found3 = 0; if (level >= 0 || label == 28){ level++; } while(1){ int epos3 = ums__pos + 1 * 8; /* < idat:bit> */ { int found4 = 0; if (level >= 0 || label == 29){ level++; } while(1){ int epos4 = ums__pos + 2 * 1; /* < data> */ { int found = 1; int eposd = epos4; if (level >= 0 || label == 30){ level++; } if (level >= 0){ level--; ums__pos = eposd; if (level < 0){ if(found){ return 1; }else{ return 0; }} if (!found){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos4 ){ found4 = 1; }else{ found4 = 0; } found4 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found4; } if (found4==0){ break; } } } /* */ /* < idat:bit> */ { int found4 = 0; if (level >= 0 || label == 31){ level++; } while(1){ int epos4 = ums__pos + 6 * 1; /* < data> */ { int found = 1; int eposd = epos4; if (level >= 0 || label == 33){ level++; } if (level >= 0){ level--; ums__pos = eposd; if (level < 0){ if(found){ return 1; }else{ return 0; }} if (!found){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos4 ){ found4 = 1; }else{ found4 = 0; } found4 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found4; } if (found4==0){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos3 ){ found3 = 1; }else{ found3 = 0; } found3 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found3; } if (found3==0){ break; } } } /* */ /* < idat:byte> */ { int found3 = 0; if (level >= 0 || label == 34){ level++; } while(1){ int epos3 = ums__pos + 1 * 8; /* < idat:bit> */ { int found4 = 0; if (level >= 0 || label == 35){ level++; } while(1){ int epos4 = ums__pos + 7 * 1; /* < data> */ { int found = 1; int eposd = epos4; if (level >= 0 || label == 36){ level++; } if (level >= 0){ level--; ums__pos = eposd; if (level < 0){ if(found){ return 1; }else{ return 0; }} if (!found){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos4 ){ found4 = 1; }else{ found4 = 0; } found4 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found4; } if (found4==0){ break; } } } /* */ /* < idat:bit> */ { int found4 = 0; if (level >= 0 || label == 37){ level++; } while(1){ int epos4 = ums__pos + 1 * 1; /* < data> */ { int found = 1; int eposd = epos4; if (level >= 0 || label == 39){ level++; } if (level >= 0){ level--; ums__pos = eposd; if (level < 0){ if(found){ return 1; }else{ return 0; }} if (!found){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos4 ){ found4 = 1; }else{ found4 = 0; } found4 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found4; } if (found4==0){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos3 ){ found3 = 1; }else{ found3 = 0; } found3 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found3; } if (found3==0){ break; } } } /* */ /* < idat:byte> */ { int found3 = 0; if (level >= 0 || label == 40){ level++; } while(1){ int epos3 = ums__pos + 1 * 8; /* < data> */ { int found = 1; int eposd = epos3; if (level >= 0 || label == 42){ level++; } if (level >= 0){ level--; ums__pos = eposd; if (level < 0){ if(found){ return 1; }else{ return 0; }} if (!found){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos3 ){ found3 = 1; }else{ found3 = 0; } found3 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found3; } if (found3==0){ break; } } } /* */ /* < idat:byte> */ { int found3 = 0; if (level >= 0 || label == 43){ level++; } while(1){ int epos3 = ums__pos + 2 * 8; /* < idat:bit> */ { int found4 = 0; if (level >= 0 || label == 44){ level++; } while(1){ int epos4 = ums__pos + 2 * 1; /* < data> */ { int found = 1; int eposd = epos4; if (level >= 0 || label == 46){ level++; } if (level >= 0){ level--; ums__pos = eposd; if (level < 0){ if(found){ return 1; }else{ return 0; }} if (!found){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos4 ){ found4 = 1; }else{ found4 = 0; } found4 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found4; } if (found4==0){ break; } } } /* */ /* < idat:bit> */ { int found4 = 0; if (level >= 0 || label == 47){ level++; } while(1){ int epos4 = ums__pos + 2 * 1; /* < data> */ { int found = 1; int eposd = epos4; if (level >= 0 || label == 49){ level++; } if (level >= 0){ level--; ums__pos = eposd; if (level < 0){ if(found){ return 1; }else{ return 0; }} if (!found){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos4 ){ found4 = 1; }else{ found4 = 0; } found4 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found4; } if (found4==0){ break; } } } /* */ /* < idat:bit> */ { int found4 = 0; if (level >= 0 || label == 50){ level++; } while(1){ int epos4 = ums__pos + 2 * 1; /* < data> */ { int found = 1; int eposd = epos4; if (level >= 0 || label == 52){ level++; } if (level >= 0){ level--; ums__pos = eposd; if (level < 0){ if(found){ return 1; }else{ return 0; }} if (!found){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos4 ){ found4 = 1; }else{ found4 = 0; } found4 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found4; } if (found4==0){ break; } } } /* */ /* < idat:bit> */ { int found4 = 0; if (level >= 0 || label == 53){ level++; } while(1){ int epos4 = ums__pos + 2 * 1; /* < data> */ { int found = 1; int eposd = epos4; if (level >= 0 || label == 55){ level++; } if (level >= 0){ level--; ums__pos = eposd; if (level < 0){ if(found){ return 1; }else{ return 0; }} if (!found){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos4 ){ found4 = 1; }else{ found4 = 0; } found4 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found4; } if (found4==0){ break; } } } /* */ /* < idat:bit> */ { int found4 = 0; if (level >= 0 || label == 56){ level++; } while(1){ int epos4 = ums__pos + 2 * 1; /* < data> */ { int found = 1; int eposd = epos4; if (level >= 0 || label == 58){ level++; } if (level >= 0){ level--; ums__pos = eposd; if (level < 0){ if(found){ return 1; }else{ return 0; }} if (!found){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos4 ){ found4 = 1; }else{ found4 = 0; } found4 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found4; } if (found4==0){ break; } } } /* */ /* < idat:bit> */ { int found4 = 0; if (level >= 0 || label == 59){ level++; } while(1){ int epos4 = ums__pos + 2 * 1; /* < data> */ { int found = 1; int eposd = epos4; if (level >= 0 || label == 61){ level++; } if (level >= 0){ level--; ums__pos = eposd; if (level < 0){ if(found){ return 1; }else{ return 0; }} if (!found){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos4 ){ found4 = 1; }else{ found4 = 0; } found4 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found4; } if (found4==0){ break; } } } /* */ /* < idat:bit> */ { int found4 = 0; if (level >= 0 || label == 62){ level++; } while(1){ int epos4 = ums__pos + 2 * 1; /* < data> */ { int found = 1; int eposd = epos4; if (level >= 0 || label == 64){ level++; } if (level >= 0){ level--; ums__pos = eposd; if (level < 0){ if(found){ return 1; }else{ return 0; }} if (!found){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos4 ){ found4 = 1; }else{ found4 = 0; } found4 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found4; } if (found4==0){ break; } } } /* */ /* < idat:bit> */ { int found4 = 0; if (level >= 0 || label == 65){ level++; } while(1){ int epos4 = ums__pos + 2 * 1; /* < data> */ { int found = 1; int eposd = epos4; if (level >= 0 || label == 67){ level++; } if (level >= 0){ level--; ums__pos = eposd; if (level < 0){ if(found){ return 1; }else{ return 0; }} if (!found){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos4 ){ found4 = 1; }else{ found4 = 0; } found4 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found4; } if (found4==0){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos3 ){ found3 = 1; }else{ found3 = 0; } found3 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found3; } if (found3==0){ break; } } } /* */ /* < idat:byte> */ { int found3 = 0; if (level >= 0 || label == 68){ level++; } while(1){ int epos3 = ums__pos + 2 * 8; /* < data> */ { int found = 1; int eposd = epos3; if (level >= 0 || label == 70){ level++; } if (level >= 0){ level--; ums__pos = eposd; if (level < 0){ if(found){ return 1; }else{ return 0; }} if (!found){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos3 ){ found3 = 1; }else{ found3 = 0; } found3 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found3; } if (found3==0){ break; } } } /* */ /* < idat:byte> */ { int found3 = 0; if (level >= 0 || label == 71){ level++; } while(1){ int epos3 = ums__pos + 2 * 8; /* < data> */ { int found = 1; int eposd = epos3; if (level >= 0 || label == 73){ level++; } if (level >= 0){ level--; ums__pos = eposd; if (level < 0){ if(found){ return 1; }else{ return 0; }} if (!found){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos3 ){ found3 = 1; }else{ found3 = 0; } found3 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found3; } if (found3==0){ break; } } } /* */ /* < idat:byte> */ { int found3 = 0; if (level >= 0 || label == 74){ level++; } while(1){ int epos3 = ums__pos + 2 * 8; /* < data> */ { int found = 1; int eposd = epos3; if (level >= 0 || label == 76){ level++; } if (level >= 0){ level--; ums__pos = eposd; if (level < 0){ if(found){ return 1; }else{ return 0; }} if (!found){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos3 ){ found3 = 1; }else{ found3 = 0; } found3 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found3; } if (found3==0){ break; } } } /* */ /* < idat:byte> */ { int found3 = 0; if (level >= 0 || label == 77){ level++; } while(1){ int epos3 = ums__pos + 2 * 8; /* < data> */ { int found = 1; int eposd = epos3; if (level >= 0 || label == 79){ level++; } if (level >= 0){ level--; ums__pos = eposd; if (level < 0){ if(found){ return 1; }else{ return 0; }} if (!found){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos3 ){ found3 = 1; }else{ found3 = 0; } found3 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found3; } if (found3==0){ break; } } } /* */ /* < idat:byte> */ { int found3 = 0; if (level >= 0 || label == 80){ level++; } while(1){ int epos3 = ums__pos + 4 * 8; /* < data> */ { int found = 1; int eposd = epos3; if (level >= 0 || label == 82){ level++; } if (level >= 0){ level--; ums__pos = eposd; if (level < 0){ if(found){ return 1; }else{ return 0; }} if (!found){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos3 ){ found3 = 1; }else{ found3 = 0; } found3 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found3; } if (found3==0){ break; } } } /* */ /* < idat:byte> */ { int found3 = 0; if (level >= 0 || label == 83){ level++; } while(1){ int epos3 = ums__pos + 8 * 8; /* < data> */ { int found = 1; int eposd = epos3; if (level >= 0 || label == 85){ level++; } if (level >= 0){ level--; ums__pos = eposd; if (level < 0){ if(found){ return 1; }else{ return 0; }} if (!found){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos3 ){ found3 = 1; }else{ found3 = 0; } found3 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found3; } if (found3==0){ break; } } } /* */ if (level < 0){ break; } if(ums__pos == epos2 ){ found2 = 1; }else{ found2 = 0; } found2 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found2; } if (found2==0){ break; } } } /* */ /* */ if (level < 0){ break; } found1 = 1; break; } if (level >= 0){ level--; if (level < 0){ return found1; } if (found1==0){ break; } } } /* */ } die("ums:match() - internal error"); return 0; } /* */ /* // Definition of Decoder (mapping decoder) */ /* < oclng:decoderSub> */ int parse(char input[], int len){ ums__readReset(); ums__input = input; int epos1 = len; ums__pos = 0; /* < group> */ match(4, epos1); { int epos2 = ums__pos; ums__pos = ums__pos0; { /* < oclng:readerSub> */ /* < idat:byte> */ match(6, epos2); { int epos3 = ums__pos; ums__pos = ums__pos0; { /* < idat:byte> */ match(7, epos3); { int epos4 = ums__pos; ums__pos = ums__pos0; { /* < idat:bit> */ match(8, epos4); { int epos5 = ums__pos; ums__pos = ums__pos0; { /* < data> */ match(9, epos5); /* */ } ums__pos = epos5; } /* */ /* < idat:bit> */ match(10, epos4); { int epos5 = ums__pos; ums__pos = ums__pos0; { /* < data> */ match(12, epos5); CAL_INFO = ums__unsignedRead(ums__pos0, ums__pos); /* */ } ums__pos = epos5; } /* */ /* < idat:bit> */ match(13, epos4); { int epos5 = ums__pos; ums__pos = ums__pos0; { /* < data> */ match(15, epos5); CHIP_SUM = ums__unsignedRead(ums__pos0, ums__pos); /* */ } ums__pos = epos5; } /* */ } ums__pos = epos4; } /* */ /* < idat:byte> */ match(16, epos3); { int epos4 = ums__pos; ums__pos = ums__pos0; { /* < data> */ match(18, epos4); ROI_H_STA_POS = ums__unsignedRead(ums__pos0, ums__pos); /* */ } ums__pos = epos4; } /* */ /* < idat:byte> */ match(19, epos3); { int epos4 = ums__pos; ums__pos = ums__pos0; { /* < data> */ match(21, epos4); ROI_V_STA_POS = ums__unsignedRead(ums__pos0, ums__pos); /* */ } ums__pos = epos4; } /* */ /* < idat:byte> */ match(22, epos3); { int epos4 = ums__pos; ums__pos = ums__pos0; { /* < idat:bit> */ match(23, epos4); { int epos5 = ums__pos; ums__pos = ums__pos0; { /* < data> */ match(24, epos5); /* */ } ums__pos = epos5; } /* */ /* < idat:bit> */ match(25, epos4); { int epos5 = ums__pos; ums__pos = ums__pos0; { /* < data> */ match(27, epos5); ROI_H_SIZE = ums__unsignedRead(ums__pos0, ums__pos); /* */ } ums__pos = epos5; } /* */ } ums__pos = epos4; } /* */ /* < idat:byte> */ match(28, epos3); { int epos4 = ums__pos; ums__pos = ums__pos0; { /* < idat:bit> */ match(29, epos4); { int epos5 = ums__pos; ums__pos = ums__pos0; { /* < data> */ match(30, epos5); /* */ } ums__pos = epos5; } /* */ /* < idat:bit> */ match(31, epos4); { int epos5 = ums__pos; ums__pos = ums__pos0; { /* < data> */ match(33, epos5); ROI_V_SIZE = ums__unsignedRead(ums__pos0, ums__pos); /* */ } ums__pos = epos5; } /* */ } ums__pos = epos4; } /* */ /* < idat:byte> */ match(34, epos3); { int epos4 = ums__pos; ums__pos = ums__pos0; { /* < idat:bit> */ match(35, epos4); { int epos5 = ums__pos; ums__pos = ums__pos0; { /* < data> */ match(36, epos5); /* */ } ums__pos = epos5; } /* */ /* < idat:bit> */ match(37, epos4); { int epos5 = ums__pos; ums__pos = ums__pos0; { /* < data> */ match(39, epos5); CCD_READ_PORT = ums__signedRead(ums__pos0, ums__pos); /* */ } ums__pos = epos5; } /* */ } ums__pos = epos4; } /* */ /* < idat:byte> */ match(40, epos3); { int epos4 = ums__pos; ums__pos = ums__pos0; { /* < data> */ match(42, epos4); CCD_TEMP = ums__unsignedRead(ums__pos0, ums__pos); /* */ } ums__pos = epos4; } /* */ /* < idat:byte> */ match(43, epos3); { int epos4 = ums__pos; ums__pos = ums__pos0; { /* < idat:bit> */ match(44, epos4); { int epos5 = ums__pos; ums__pos = ums__pos0; { /* < data> */ match(46, epos5); CCD_OPE_STS1 = ums__unsignedRead(ums__pos0, ums__pos); /* */ } ums__pos = epos5; } /* */ /* < idat:bit> */ match(47, epos4); { int epos5 = ums__pos; ums__pos = ums__pos0; { /* < data> */ match(49, epos5); CCD_OPE_STS2 = ums__unsignedRead(ums__pos0, ums__pos); /* */ } ums__pos = epos5; } /* */ /* < idat:bit> */ match(50, epos4); { int epos5 = ums__pos; ums__pos = ums__pos0; { /* < data> */ match(52, epos5); CCD_OPE_STS3 = ums__unsignedRead(ums__pos0, ums__pos); /* */ } ums__pos = epos5; } /* */ /* < idat:bit> */ match(53, epos4); { int epos5 = ums__pos; ums__pos = ums__pos0; { /* < data> */ match(55, epos5); CCD_OPE_STS4 = ums__unsignedRead(ums__pos0, ums__pos); /* */ } ums__pos = epos5; } /* */ /* < idat:bit> */ match(56, epos4); { int epos5 = ums__pos; ums__pos = ums__pos0; { /* < data> */ match(58, epos5); CCD_OPE_STS5 = ums__unsignedRead(ums__pos0, ums__pos); /* */ } ums__pos = epos5; } /* */ /* < idat:bit> */ match(59, epos4); { int epos5 = ums__pos; ums__pos = ums__pos0; { /* < data> */ match(61, epos5); CCD_OPE_STS6 = ums__unsignedRead(ums__pos0, ums__pos); /* */ } ums__pos = epos5; } /* */ /* < idat:bit> */ match(62, epos4); { int epos5 = ums__pos; ums__pos = ums__pos0; { /* < data> */ match(64, epos5); CCD_OPE_STS7 = ums__unsignedRead(ums__pos0, ums__pos); /* */ } ums__pos = epos5; } /* */ /* < idat:bit> */ match(65, epos4); { int epos5 = ums__pos; ums__pos = ums__pos0; { /* < data> */ match(67, epos5); CCD_OPE_STS8 = ums__unsignedRead(ums__pos0, ums__pos); /* */ } ums__pos = epos5; } /* */ } ums__pos = epos4; } /* */ /* < idat:byte> */ match(68, epos3); { int epos4 = ums__pos; ums__pos = ums__pos0; { /* < data> */ match(70, epos4); EXP_STA_TIME = ums__unsignedRead(ums__pos0, ums__pos); /* */ } ums__pos = epos4; } /* */ /* < idat:byte> */ match(71, epos3); { int epos4 = ums__pos; ums__pos = ums__pos0; { /* < data> */ match(73, epos4); EXP_END_TIME = ums__unsignedRead(ums__pos0, ums__pos); /* */ } ums__pos = epos4; } /* */ /* < idat:byte> */ match(74, epos3); { int epos4 = ums__pos; ums__pos = ums__pos0; { /* < data> */ match(76, epos4); READ_END_TIME = ums__unsignedRead(ums__pos0, ums__pos); /* */ } ums__pos = epos4; } /* */ /* < idat:byte> */ match(77, epos3); { int epos4 = ums__pos; ums__pos = ums__pos0; { /* < data> */ match(79, epos4); TIMER_COUNTER = ums__unsignedRead(ums__pos0, ums__pos); /* */ } ums__pos = epos4; } /* */ /* < idat:byte> */ match(80, epos3); { int epos4 = ums__pos; ums__pos = ums__pos0; { /* < data> */ match(82, epos4); floatData = ums__ieee754singleRead(ums__pos0, ums__pos); /* */ } ums__pos = epos4; } /* */ /* < idat:byte> */ match(83, epos3); { int epos4 = ums__pos; ums__pos = ums__pos0; { /* < data> */ match(85, epos4); doubleData = ums__ieee754doubleRead(ums__pos0, ums__pos); /* */ } ums__pos = epos4; } /* */ } ums__pos = epos3; } /* */ recievedStatus(); /* */ } ums__pos = epos2; } /* */ return 0; } /* */