tof_control/device/
max7320.rs

1#![allow(unused)]
2use crate::constant::*;
3
4use i2cdev::core::*;
5use i2cdev::linux::{LinuxI2CDevice, LinuxI2CError};
6
7pub struct MAX7320 {
8    bus: u8,
9    address: u16,
10}
11
12impl MAX7320 {
13    pub fn new(bus: u8, address: u16) -> Self {
14        Self { bus, address }
15    }
16    pub fn output_on_0_3(&self) -> Result<(), LinuxI2CError> {
17        let mut dev = LinuxI2CDevice::new(&format!("/dev/i2c-{}", self.bus), self.address)?;
18        dev.smbus_write_byte(0x0F)
19    }
20    pub fn output_off_all(&self) -> Result<(), LinuxI2CError> {
21        let mut dev = LinuxI2CDevice::new(&format!("/dev/i2c-{}", self.bus), self.address)?;
22        dev.smbus_write_byte(0x00)
23    }
24}