static long initMbbi(mbbiRecord *pr) { devPvt *pPvt; int status; status = initCommon((dbCommon *)pr,&pr->inp, processCallbackInput,interruptCallbackInput, interruptCallbackEnumMbbi, MAX_ENUM_STATES, (char*)&pr->zrst, (int*)&pr->zrvl, &pr->zrsv); if (status != INIT_OK) return status; pPvt = pr->dpvt; pr->mask = pPvt->mask; pr->shft = computeShift(pPvt->mask); return INIT_OK; }
static long initMbbo(mbboRecord *pr) { devPvt *pPvt; int status; epicsUInt32 value; status = initCommon((dbCommon *)pr,&pr->out, processCallbackOutput,interruptCallbackOutput, interruptCallbackEnumMbbo, MAX_ENUM_STATES, (char*)&pr->zrst, (int*)&pr->zrvl, &pr->zrsv); if (status != INIT_OK) return status; pPvt = pr->dpvt; pr->mask = pPvt->mask; pr->shft = computeShift(pPvt->mask); /* Read the current value from the device */ status = pasynUInt32DigitalSyncIO->read(pPvt->pasynUserSync, &value, pPvt->mask, pPvt->pasynUser->timeout); if (status == asynSuccess) { pr->rval = value & pr->mask; return INIT_OK; } return INIT_DO_NOT_CONVERT; }
void AbstractPixelFlow::computeShift(unsigned int *sum, unsigned int *sum_old, int length, int &shift, unsigned int &badness) { computeShift(sum,sum_old,length,shift,badness,maxShift,0); }