Update main.c

pull/10/head
alanbjohnston 7 years ago committed by GitHub
parent d6e1eceb5c
commit b893833d6c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -61,6 +61,16 @@
#define POWER 2
#define VBATT 15
#define PLUS_X 0
#define PLUS_Y 1
#define PLUS_Z 2
#define BAT 3
#define MINUS_X 4
#define MINUS_Y 5
#define MINUS_Z 6
#define BUS 7
#define OFF -1
ax5043_conf_t hax5043;
ax25_conf_t hax25;
@ -93,6 +103,7 @@ int x_currentDivider;
int x_calValue;
int y_fd; // I2C bus 0 address 0x41
int z_fd; // I2C bos 0 address 0x44
int sensor[8]; // 7 current sensors in Solar Power PCB plus one in MoPower UPS V2
int main(void) {
@ -185,6 +196,36 @@ int main(void) {
printf("Opening of -Y fd %d\n", y_fd);
z_fd = wiringPiI2CSetupInterface("/dev/i2c-0", 0x44);
printf("Opening of -Z fd %d\n", z_fd);
if (open("/dev/i2c-1", O_RDWR)) > 0) // Test if I2C Bus 1 is present
{
sensor[PLUS_X] = wiringPiI2CSetupInterface("/dev/i2c-1", 0x40);
sensor[PLUS_Y] = wiringPiI2CSetupInterface("/dev/i2c-1", 0x41);
sensor[PLUS_Z] = wiringPiI2CSetupInterface("/dev/i2c-1", 0x44);
sensor[BAT] = wiringPiI2CSetupInterface("/dev/i2c-1", 0x45);
sensor[BUS] = wiringPiI2CSetupInterface("/dev/i2c-1", 0x4a);
} else
{
sensor[PLUS_X] = OFF;
sensor[PLUS_Y] = OFF;
sensor[PLUS_Z] = OFF;
sensor[BAT] = OFF;
sensor[BUS] = OFF;
}
if (open("/dev/i2c-0", O_RDWR)) > 0) // Test if I2C Bus 0 is present
{
sensor[MINUS_X] = wiringPiI2CSetupInterface("/dev/i2c-0", 0x40);
sensor[MINUS_Y] = wiringPiI2CSetupInterface("/dev/i2c-0", 0x41);
sensor[MINUS_Z] = wiringPiI2CSetupInterface("/dev/i2c-0", 0x44);
} else
{
sensor[MINUS_X] = OFF;
sensor[MINUS_Y] = OFF;
sensor[MINUS_Z] = OFF;
}
}
int ret;
@ -365,15 +406,15 @@ int get_tlm(int tlm[][5]) {
}
*/
// read i2c current sensors //
double current = 0, power = 0, y_current = 0, y_power = 0, z_current = 0, z_power = 0;
double current = 0, voltage = 0, power = 0, y_current = 0, y_voltage, y_power = 0, z_current = 0, z_voltage = 0, z_power = 0;
if (x_fd != -1) {
// wiringPiI2CWriteReg16(x_fd, INA219_REG_CALIBRATION, x_calValue);
// wiringPiI2CWriteReg16(x_fd, INA219_REG_CONFIG, config);
setCalibration_16V_400mA(x_fd);
int blink;
for (blink = 1; blink < 20 ;blink++) {
// int blink;
// for (blink = 1; blink < 20 ;blink++) {
/* delay(500);
int shuntVolts = wiringPiI2CReadReg16(x_fd, INA219_REG_SHUNTVOLTAGE); // * 0.01;
delay(500);
@ -387,14 +428,14 @@ int get_tlm(int tlm[][5]) {
float busVolts = getBusVoltage_V(x_fd);
current = getCurrent_mA(x_fd);
power = getPower_mW(x_fd);
printf("********** -X 0x40 busVolts %4.2f shuntVolts %4.2f current %4.2f power %4.2f \n", busVolts, shuntVolts, current, power);
voltage = shuntVolts + busVolts;
printf("-X 0x40 busVolts %4.2f shuntVolts %4.2f current %4.2f power %4.2f \n", busVolts, shuntVolts, current, power);
delay(500);
}
// wiringPiI2CWriteReg16(x_fd, INA219_REG_CALIBRATION, x_calValue);
// current = wiringPiI2CReadReg16(x_fd, INA219_REG_CURRENT) / x_currentDivider;
// power = wiringPiI2CReadReg16(x_fd, INA219_REG_POWER) * x_powerMultiplier;
// delay(500);
// }
/* wiringPiI2CWriteReg16(x_fd, INA219_REG_CALIBRATION, x_calValue);
current = wiringPiI2CReadReg16(x_fd, INA219_REG_CURRENT) / x_currentDivider;
power = wiringPiI2CReadReg16(x_fd, INA219_REG_POWER) * x_powerMultiplier;
wiringPiI2CWriteReg16(y_fd, INA219_REG_CALIBRATION, x_calValue);
wiringPiI2CWriteReg16(y_fd, INA219_REG_CONFIG, config);
wiringPiI2CWriteReg16(y_fd, INA219_REG_CALIBRATION, x_calValue);
@ -405,6 +446,7 @@ int get_tlm(int tlm[][5]) {
wiringPiI2CWriteReg16(z_fd, INA219_REG_CALIBRATION, x_calValue);
z_current = wiringPiI2CReadReg16(y_fd, INA219_REG_CURRENT) / x_currentDivider;
z_power = wiringPiI2CReadReg16(y_fd, INA219_REG_POWER) * x_powerMultiplier;
*/
}
printf("-X 0x40 current %4.2f power %4.2f -Y 0x41 current %4.2f power %4.2f -Z 0x44 current %4.2f power %4.2f \n",
current, power, y_current, y_power, z_current, z_power);

Loading…
Cancel
Save

Powered by TurnKey Linux.