From 0f7af2be1a7a7139bdc9e8612765430e2cb90e75 Mon Sep 17 00:00:00 2001 From: alanbjohnston Date: Tue, 17 Sep 2019 14:27:57 -0400 Subject: [PATCH] changed NaN to 0's, added value check and set fd = -1 if not present --- afsk/telem.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/afsk/telem.c b/afsk/telem.c index 96f6c244..6bc578e6 100644 --- a/afsk/telem.c +++ b/afsk/telem.c @@ -80,9 +80,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; @@ -92,6 +92,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);