|
|
|
|
@ -35,7 +35,7 @@
|
|
|
|
|
#include <wiringPi.h>
|
|
|
|
|
#include <time.h>
|
|
|
|
|
#include <math.h>
|
|
|
|
|
#include "Adafruit_INA219.h" // From Adafruit INA219 library for Arduino
|
|
|
|
|
#include "../Adafruit_INA219/Adafruit_INA219.h" // From Adafruit INA219 library for Arduino
|
|
|
|
|
|
|
|
|
|
#define A 1
|
|
|
|
|
#define B 2
|
|
|
|
|
@ -117,11 +117,8 @@ struct SensorData read_sensor_data(struct SensorConfig sensor) {
|
|
|
|
|
int twos = twosToInt(valuec1, 16); // currently doesn't read negative currents correctly
|
|
|
|
|
float valuec3 = (float)(twos);
|
|
|
|
|
data.current = valuec3 / (float)sensor.currentDivider;
|
|
|
|
|
// uint16_t value2 = (uint16_t)wiringPiI2CReadReg16(sensor.fd, INA219_REG_BUSVOLTAGE);
|
|
|
|
|
// data.voltage = ((double)(value2 >> 3) * 4) / 1000;
|
|
|
|
|
valuec1 = wiringPiI2CReadReg16(sensor.fd, INA219_REG_BUSVOLTAGE);
|
|
|
|
|
data.voltage = ((double)((uint16_t)valuec1 >> 3) * 4) / 1000;
|
|
|
|
|
|
|
|
|
|
uint16_t value2 = (uint16_t)wireReadRegister(sensor.fd, INA219_REG_BUSVOLTAGE);
|
|
|
|
|
data.voltage = ((double)(value2 >> 3) * 4) / 1000;
|
|
|
|
|
data.power = (float)((uint16_t)wiringPiI2CReadReg16(sensor.fd, INA219_REG_POWER)) * (float)sensor.powerMultiplier;
|
|
|
|
|
|
|
|
|
|
return data;
|
|
|
|
|
|