From c3d58f88db34aed0bfa09b39ad479fd3a7967067 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 17 Sep 2019 13:36:10 -0400 Subject: [PATCH] replaced NaN with 0; and tested value for -1 and set fd -1 if not present on bus --- afsk/main.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/afsk/main.c b/afsk/main.c index f7e08c68..0c245e56 100644 --- a/afsk/main.c +++ b/afsk/main.c @@ -156,9 +156,9 @@ struct SensorData { */ struct SensorData read_sensor_data(struct SensorConfig sensor) { struct SensorData data = { - .current = NAN, - .voltage = NAN, - .power = NAN }; + .current = 0, + .voltage = 0, + .power = 0 }; if (sensor.fd < 0) { return data; @@ -168,6 +168,11 @@ struct SensorData read_sensor_data(struct SensorConfig sensor) { wiringPiI2CWriteReg16(sensor.fd, INA219_REG_CONFIG, sensor.config); wiringPiI2CWriteReg16(sensor.fd, INA219_REG_CALIBRATION, sensor.calValue); int value = wiringPiI2CReadReg16(sensor.fd, INA219_REG_CURRENT); + if (value == -1) + { + sensor.fd = -1; + return data; + } data.current = (float) twosToInt(value, 16) / (float) sensor.currentDivider; wiringPiI2CWrite(sensor.fd, INA219_REG_BUSVOLTAGE);