static void __Phidget_Humidity_read(SENSOR* sensor){ Phidget_Humidity* device = (Phidget_Humidity*)sensor; uint16_t adc = __phidgetsRead(device->adcPin); // scale it: (0.1946 * adc)-41.98 adc = fraction32(adc, phidget_humidity_frac); adc -= 42; device->humidity.percent = adc; }
static void __Phidget_DC20A_read(SENSOR* sensor){ Phidget_DC20A* device = (Phidget_DC20A*)sensor; uint16_t amps = __phidgetsRead(device->pin) - 500; // scale it amps /= 20; device->current.amps = amps; }
static void __Phidget_Temperature_read(SENSOR* sensor){ Phidget_Temperature* device = (Phidget_Temperature*)sensor; uint16_t adc = __phidgetsRead(device->adcPin); // scale it: (0.1946 * adc)-41.98 adc -= 200; adc >>= 2; device->temperature.celsius = adc; }
static void __Phidget_30V_read(SENSOR* sensor) { Phidget_30V* device = (Phidget_30V*)sensor; uint16_t volts = __phidgetsRead(device->adcPin); // scale it: (adc - 500) * 0.06 volts -= 500; volts *= 3; volts /= 50; device->voltage.volts = volts; }