@ -14,60 +14,12 @@ int main(int argc, char *argv[]) {
debug = ON ;
}
}
wiringPiSetup ( ) ;
printf ( " \n " ) ;
pinMode ( 2 , INPUT ) ;
pullUpDnControl ( 2 , PUD_UP ) ;
if ( digitalRead ( 2 ) ! = HIGH )
{
printf ( " vB3 with TFB Present \n " ) ;
map [ BUS ] = MINUS_Z ;
map [ BAT ] = BUS ;
map [ PLUS_Z ] = BAT ;
map [ MINUS_Z ] = PLUS_Z ;
snprintf ( busStr , 10 , " %d %d " , test_i2c_bus ( 1 ) , test_i2c_bus ( 0 ) ) ;
}
else
{
pinMode ( 3 , INPUT ) ;
pullUpDnControl ( 3 , PUD_UP ) ;
if ( digitalRead ( 3 ) ! = HIGH )
{
printf ( " vB4 Present \n " ) ;
map [ BAT ] = BUS ;
map [ BUS ] = BAT ;
snprintf ( busStr , 10 , " %d %d " , test_i2c_bus ( 1 ) , test_i2c_bus ( 0 ) ) ;
// strcpy(busStr,"1 0");
}
else
{
pinMode ( 26 , INPUT ) ;
pullUpDnControl ( 26 , PUD_UP ) ;
if ( digitalRead ( 26 ) ! = HIGH )
{
// if (debug == ON)
printf ( " CubeSatSim v1.1 INA219 Voltage and Current Telemetry \n " ) ;
map [ MINUS_X ] = MINUS_Y ;
map [ PLUS_Z ] = MINUS_X ;
map [ MINUS_Y ] = PLUS_Z ;
snprintf ( busStr , 10 , " %d %d " , test_i2c_bus ( 1 ) , test_i2c_bus ( 3 ) ) ;
}
else
{
printf ( " VB3 Present \n " ) ;
map [ BUS ] = MINUS_Z ;
map [ BAT ] = BUS ;
map [ PLUS_Z ] = BAT ;
map [ MINUS_Z ] = PLUS_Z ;
snprintf ( busStr , 10 , " %d %d " , test_i2c_bus ( 1 ) , test_i2c_bus ( 0 ) ) ;
}
}
}
printf ( " CubeSatSim v1.1 INA219 Voltage and Current Telemetry \n " ) ;
map [ MINUS_X ] = MINUS_Y ;
map [ PLUS_Z ] = MINUS_X ;
map [ MINUS_Y ] = PLUS_Z ;
snprintf ( busStr , 10 , " %d %d " , test_i2c_bus ( 1 ) , test_i2c_bus ( 3 ) ) ;
// Reading I2C voltage and current sensors
// printf("Starting\n");
@ -127,7 +79,8 @@ int main(int argc, char *argv[]) {
printf ( " -Y | % 4.2f V % 5.0f mA \n " , voltage [ map [ MINUS_Y ] ] , current [ map [ MINUS_Y ] ] ) ;
printf ( " -Z | % 4.2f V % 5.0f mA \n " , voltage [ map [ MINUS_Z ] ] , current [ map [ MINUS_Z ] ] ) ;
printf ( " Bat | % 4.2f V % 5.0f mA \n " , voltage [ map [ BAT ] ] , current [ map [ BAT ] ] ) ;
printf ( " Bus | % 4.2f V % 5.0f mA \n \n " , voltage [ map [ BUS ] ] , current [ map [ BUS ] ] ) ;
printf ( " Bus | % 4.2f V % 5.0f mA \n \n " , voltage [ map [ BUS ] ] , current [ map [ BUS ] ] ) ;
fclose ( file1 ) ;
return 0 ;
}
@ -141,7 +94,7 @@ int test_i2c_bus(int bus)
strcat ( busDev , busS ) ;
// printf("Bus Dev String: %s \n", busDev);
if ( access ( busDev , W_OK | R_OK ) > = 0 ) { // Test if I2C Bus is present
if ( access ( busDev , W_OK | R_OK ) > = 0 ) { // Test if I2C Bus is present
// printf("bus is present\n\n");
char result [ 128 ] ;
const char command_start [ ] = " timeout 10 i2cdetect -y " ;
@ -161,7 +114,7 @@ int test_i2c_bus(int bus)
{
printf ( " ERROR: %d bus has a problem \n Check I2C wiring and pullup resistors \n " , bus ) ;
output = - 1 ;
}
}
} else
{
printf ( " ERROR: %d bus has a problem \n Check software to see if enabled \n " , bus ) ;