tof_control/pb_control/
pb_ltb_pwr.rs

1use 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}