diff --git a/afsk/telem.c b/afsk/telem.c index c8d8d214..6fc88d43 100644 --- a/afsk/telem.c +++ b/afsk/telem.c @@ -240,10 +240,19 @@ int main(int argc, char *argv[]) { sensor[PLUS_Y] = config_sensor("/dev/i2c-1", 0x41, 400); sensor[BUS] = config_sensor("/dev/i2c-1", 0x45, 400); sensor[BAT] = config_sensor("/dev/i2c-1", 0x44, 400); - sensor[PLUS_Z] = config_sensor("/dev/i2c-3", 0x40, 400); - sensor[MINUS_X] = config_sensor("/dev/i2c-3", 0x41, 400); - sensor[MINUS_Y] = config_sensor("/dev/i2c-3", 0x44, 400); - sensor[MINUS_Z] = config_sensor("/dev/i2c-3", 0x45, 400); + + if (access("/dev/i2c-11", W_OK | R_OK) < 0) { // Test if I2C Bus 3 is present + printf("/dev/i2c-11 is present\n\n"); + sensor[PLUS_Z] = config_sensor("/dev/i2c-11", 0x40, 400); + sensor[MINUS_X] = config_sensor("/dev/i2c-11", 0x41, 400); + sensor[MINUS_Y] = config_sensor("/dev/i2c-11", 0x44, 400); + sensor[MINUS_Z] = config_sensor("/dev/i2c-11", 0x45, 400); + } else { + sensor[PLUS_Z] = config_sensor("/dev/i2c-3", 0x40, 400); + sensor[MINUS_X] = config_sensor("/dev/i2c-3", 0x41, 400); + sensor[MINUS_Y] = config_sensor("/dev/i2c-3", 0x44, 400); + sensor[MINUS_Z] = config_sensor("/dev/i2c-3", 0x45, 400); + } } else {