double* ioPhidget::getValues(){ double *array = new double[4]; CPhidgetBridge_getBridgeValue(bridge, 0, &array[0]); CPhidgetBridge_getBridgeValue(bridge, 1, &array[1]); CPhidgetBridge_getBridgeValue(bridge, 2, &array[2]); CPhidgetBridge_getBridgeValue(bridge, 3, &array[3]); return array; }
// Non blocking, needs a separate thread for logging int LoadCellData::getLoadCellData() { double tempLoadcell[8]; for(int i = 0; i < 4; i++) { CPhidgetBridge_getBridgeValue(bridge1, i, tempLoadcell + i); CPhidgetBridge_getBridgeValue(bridge2, i, tempLoadcell + i + 4); } for(int i = 0; i < numChannels; i++) { //loadCellValue[i] = tempLoadcell[i]; loadCellValue[i] = loadCellIntercept[i] + tempLoadcell[i] * loadCellSlope[i]; } return 0; }
double ioPhidget::calibValue(int index){ // init value double value = 0; CPhidgetBridge_getBridgeValue(bridge, index, &value); // hard coding the calibration for the moment; switch(index){ case 0: value= 25.1078*value + 0.3380; break; case 1: value = 24.4284*value - 0.9835; break; case 2: value = 29.1218*value - 0.0542; break; case 3: value = 27.3662*value + 0.7292; break; default: break; } return value; }
// get the value of phidget bridge by specifying index double ioPhidget::getValue(int index){ double value = 0; CPhidgetBridge_getBridgeValue(bridge, index, &value); if (value == 0) { lc0.value = value; } // value = lc0.value; return value; }