tof_control/device/
max7320.rs1#![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}