@@ -64,7 +64,7 @@ void I2cHardware::TogglePowerPin() {
64
64
void I2cHardware::InitBus (bool is_default, const char *sda, const char *scl) {
65
65
uint8_t pin_sda, pin_scl;
66
66
if (!is_default && (sda == nullptr || scl == nullptr )) {
67
- _bus_status = wippersnapper_i2c_I2cBusStatus_I2C_BUS_STATUS_ERROR_WIRING ;
67
+ _bus_status = wippersnapper_i2c_I2cBusStatus_I2C_BUS_STATUS_UNSPECIFIED ;
68
68
return ;
69
69
}
70
70
// Some development boards define a pin that controls power
@@ -111,7 +111,7 @@ void I2cHardware::InitBus(bool is_default, const char *sda, const char *scl) {
111
111
_bus = new TwoWire (0 );
112
112
} else {
113
113
_bus = new TwoWire (1 );
114
- Wire1. setPins (pin_sda, pin_scl);
114
+ _bus-> setPins (pin_sda, pin_scl);
115
115
}
116
116
if (!_bus->begin (pin_sda, pin_scl)) {
117
117
_bus_status = wippersnapper_i2c_I2cBusStatus_I2C_BUS_STATUS_ERROR_HANG;
@@ -159,8 +159,8 @@ TwoWire *I2cHardware::GetBus() { return _bus; }
159
159
bool I2cHardware::AddMuxToBus (uint32_t address_register, const char *name) {
160
160
if (strcmp (name, " pca9546" ) == 0 ) {
161
161
_mux_max_channels = 4 ; // PCA9546 supports 4 channels
162
- } else if (strcmp (name, " pca9548" ) == 0 ) {
163
- _mux_max_channels = 4 ; // PCA9548 supports 4 channels
162
+ } else if (strcmp (name, " pca9548" ) == 0 || strcmp (name, " tca9548a " ) == 0 ) {
163
+ _mux_max_channels = 8 ; // PCA9548 supports 8 channels
164
164
} else {
165
165
return false ;
166
166
}
0 commit comments