tof_control/pb_control/
pb_ltb_pwr.rs1use crate::constant::*;
2use crate::helper::pb_type::PBError;
3use crate::device::{max7320, pca9548a};
4
5pub fn ltb_pwr_switch(switch: bool) -> Result<(), PBError> {
6 let i2c_mux = pca9548a::PCA9548A::new(I2C_BUS, PB_PCA9548A_ADDRESS);
7 i2c_mux.select(PB_MAX7320_CHANNEL)?;
8
9 let ltb_pwr = max7320::MAX7320::new(I2C_BUS, PB_MAX7320_ADDRESS);
10 if switch {
11 ltb_pwr.output_on_0_3()?;
12 } else {
13 ltb_pwr.output_off_all()?;
14 }
15
16 i2c_mux.reset()?;
17
18 Ok(())
19}