I2C-Multiplexer

An I2C Multiplexer library that supports the PCA9546 and TCA9546A chips
Usage
The sensor is initialized
use i2c_multiplexer::prelude::*;
fn main() -> Result<()> {
Multiplexer::new(i2c).with_ports_disabled()?.set_port(0, true)?;
}
Changing Address
use i2c_multiplexer::prelude::*;
fn main() -> Result<()> {
Multiplexer::new(i2c).with_address(0x72);
Multiplexer::new(i2c).with_address_pins(true, false, false);
}
Setting multiple ports
use i2c_multiplexer::prelude::*;
fn main() -> Result<()> {
Multiplexer::new(i2c).with_ports([true, false, true, false])?;
}
Initializing as bus using the bus
flag
use i2c_multiplexer::prelude::*;
fn main() -> Result<()> {
let i2c = SomeI2CInit;
let multiplexer = MultiplexerBus::new();
let port = 0;
let mut multiplexed_i2c = multiplexer.new_port(i2c, port);
}