Driver for http://www.ti.com/lit/ds/symlink/tca9548a.pdf
Fork of TCA9548A by
Diff: tca9548a.cpp
- Revision:
- 2:1107ee23873a
- Parent:
- 0:5bd73cede544
--- a/tca9548a.cpp Wed May 25 05:20:24 2016 +0000 +++ b/tca9548a.cpp Tue Dec 12 22:14:58 2017 +0000 @@ -9,21 +9,25 @@ #include "tca9548a.h" -TCA9548A::TCA9548A( PinName sda, PinName scl, uint8_t i2c_address, PinName resetPin, uint32_t hz ) : i2c_(sda, scl), reset_pin(resetPin) +TCA9548A::TCA9548A( PinName sda, PinName scl, uint8_t i2c_address, PinName resetPin) : i2c_(sda, scl), reset_pin(resetPin) { i2c_addr = i2c_address; - i2c_.frequency(hz); } void TCA9548A::select( uint8_t channel ) { - char data; //create temporary char buffer - if(channel >= 8) return; - - data = 1 << channel; - i2c_.write( i2c_addr << 1, &data, 1); + char data[1]; + data[0] = 1 << channel; + int err = i2c_.write(0xE0, data, 1); +} + +char TCA9548A::check_set_channel() +{ + char data[1]; + int err = i2c_.read(0xE1, data, 1); + return data[0]; } void TCA9548A::reset( )