From 75e0a8792b8c71e44f69a153c35419820201c956 Mon Sep 17 00:00:00 2001 From: "NGnius (Graham)" Date: Sun, 18 Feb 2024 17:33:52 -0500 Subject: [PATCH] cargo fmt --- ecplorer/src/main.rs | 20 ++++--- src/ec/controller.rs | 86 ++++++++++++++++++------------- src/ec/mod.rs | 4 +- src/ec/ports.rs | 5 +- src/ec/unnamed_power/addresses.rs | 8 +-- src/ec/unnamed_power/mod.rs | 6 +-- 6 files changed, 77 insertions(+), 52 deletions(-) diff --git a/ecplorer/src/main.rs b/ecplorer/src/main.rs index 08b4002..36a7190 100644 --- a/ecplorer/src/main.rs +++ b/ecplorer/src/main.rs @@ -17,7 +17,11 @@ fn main() { match cli.op { args::Operation::ReadAll => { - let (bytes_per_line, range) = if cli.extended { (16, 0..=u16::MAX) } else { (8, 0..=(u8::MAX as u16)) }; + let (bytes_per_line, range) = if cli.extended { + (16, 0..=u16::MAX) + } else { + (8, 0..=(u8::MAX as u16)) + }; for addr in range { let addr_mod = addr % bytes_per_line; if addr_mod == 0 { @@ -31,21 +35,25 @@ fn main() { } } println!(""); - }, + } args::Operation::Read { address } => { println!("{:#02x}", ec.get(address)); - }, + } args::Operation::WritePattern { bytes } => { - let range = if cli.extended { 0..=u16::MAX } else { 0..=(u8::MAX as u16) }; + let range = if cli.extended { + 0..=u16::MAX + } else { + 0..=(u8::MAX as u16) + }; for addr in range { println!("{:#02x}", addr); for b in bytes.iter() { ec.set(addr, *b); } } - }, + } args::Operation::Write { address, value } => { ec.set(address, value); - }, + } } } diff --git a/src/ec/controller.rs b/src/ec/controller.rs index 52e2e98..1a33bd4 100644 --- a/src/ec/controller.rs +++ b/src/ec/controller.rs @@ -115,22 +115,28 @@ impl embedded_io::Write for EmbeddedController { fn write(&mut self, buf: &[u8]) -> Result { let size = self.rw_size as u8; match self.rw_size { - ValueSize::Byte => for &b in buf { - self.wait_for_write_ready(); - self.cmd_requested = 1; // don't re-request, but still wait - super::ports::outb(self.data_address, b); - }, - ValueSize::Word => for i in (0..buf.len()).step_by(size as usize) { - self.wait_for_write_ready(); - self.cmd_requested = 1; // don't re-request, but still wait - let w = [buf[i], buf[i+1]]; - super::ports::outw(self.data_address, u16::from_ne_bytes(w)); - }, - ValueSize::Long => for i in (0..buf.len()).step_by(size as usize) { - self.wait_for_write_ready(); - self.cmd_requested = 1; // don't re-request, but still wait - let l = [buf[i], buf[i+1], buf[i+2], buf[i+3]]; - super::ports::outl(self.data_address, u32::from_ne_bytes(l)); + ValueSize::Byte => { + for &b in buf { + self.wait_for_write_ready(); + self.cmd_requested = 1; // don't re-request, but still wait + super::ports::outb(self.data_address, b); + } + } + ValueSize::Word => { + for i in (0..buf.len()).step_by(size as usize) { + self.wait_for_write_ready(); + self.cmd_requested = 1; // don't re-request, but still wait + let w = [buf[i], buf[i + 1]]; + super::ports::outw(self.data_address, u16::from_ne_bytes(w)); + } + } + ValueSize::Long => { + for i in (0..buf.len()).step_by(size as usize) { + self.wait_for_write_ready(); + self.cmd_requested = 1; // don't re-request, but still wait + let l = [buf[i], buf[i + 1], buf[i + 2], buf[i + 3]]; + super::ports::outl(self.data_address, u32::from_ne_bytes(l)); + } } } self.cmd_requested = 0; @@ -145,7 +151,8 @@ impl embedded_io::Write for EmbeddedController { impl embedded_io::WriteReady for EmbeddedController { fn write_ready(&mut self) -> Result { self.request_if_not_already(); - let ready = super::ports::inb(self.cmd_address) & 2 == 0 || self.cmd_requested == MAX_WAIT_CHECKS; + let ready = + super::ports::inb(self.cmd_address) & 2 == 0 || self.cmd_requested == MAX_WAIT_CHECKS; if ready { self.cmd_requested = 0; } @@ -157,25 +164,31 @@ impl embedded_io::Read for EmbeddedController { fn read(&mut self, buf: &mut [u8]) -> Result { let size = self.rw_size as u8; match self.rw_size { - ValueSize::Byte => for b in buf.iter_mut() { - self.wait_for_read_ready(); - self.cmd_requested = 1; // don't re-request, but still wait - *b = super::ports::inb(self.data_address); - }, - ValueSize::Word => for i in (0..buf.len()).step_by(size as usize) { - self.wait_for_read_ready(); - self.cmd_requested = 1; // don't re-request, but still wait - let w = super::ports::inw(self.data_address).to_ne_bytes(); - for j in 0..(size as usize) { - buf[i + j] = w[j]; + ValueSize::Byte => { + for b in buf.iter_mut() { + self.wait_for_read_ready(); + self.cmd_requested = 1; // don't re-request, but still wait + *b = super::ports::inb(self.data_address); } - }, - ValueSize::Long => for i in (0..buf.len()).step_by(size as usize) { - self.wait_for_read_ready(); - self.cmd_requested = 1; // don't re-request, but still wait - let l = super::ports::inl(self.data_address).to_ne_bytes(); - for j in 0..(size as usize) { - buf[i + j] = l[j]; + } + ValueSize::Word => { + for i in (0..buf.len()).step_by(size as usize) { + self.wait_for_read_ready(); + self.cmd_requested = 1; // don't re-request, but still wait + let w = super::ports::inw(self.data_address).to_ne_bytes(); + for j in 0..(size as usize) { + buf[i + j] = w[j]; + } + } + } + ValueSize::Long => { + for i in (0..buf.len()).step_by(size as usize) { + self.wait_for_read_ready(); + self.cmd_requested = 1; // don't re-request, but still wait + let l = super::ports::inl(self.data_address).to_ne_bytes(); + for j in 0..(size as usize) { + buf[i + j] = l[j]; + } } } } @@ -187,7 +200,8 @@ impl embedded_io::Read for EmbeddedController { impl embedded_io::ReadReady for EmbeddedController { fn read_ready(&mut self) -> Result { self.request_if_not_already(); - let ready = super::ports::inb(self.cmd_address) & 1 != 0 || self.cmd_requested == MAX_WAIT_CHECKS; + let ready = + super::ports::inb(self.cmd_address) & 1 != 0 || self.cmd_requested == MAX_WAIT_CHECKS; if ready { self.cmd_requested = 0; } diff --git a/src/ec/mod.rs b/src/ec/mod.rs index ab49a58..e4c8593 100644 --- a/src/ec/mod.rs +++ b/src/ec/mod.rs @@ -8,12 +8,12 @@ mod controller; mod ports; pub mod unnamed_power; -pub use controller::{EmbeddedController, ControllerGet, GetValue, ControllerSet, SetValue}; +pub use controller::{ControllerGet, ControllerSet, EmbeddedController, GetValue, SetValue}; #[cfg(test)] mod tests { - use std::io::Error; use super::unnamed_power::raw_io; + use std::io::Error; //#[test] #[allow(dead_code)] diff --git a/src/ec/ports.rs b/src/ec/ports.rs index f10d4dd..cdafb71 100644 --- a/src/ec/ports.rs +++ b/src/ec/ports.rs @@ -75,7 +75,10 @@ mod ports_internal { } // Fallback (compiler error) -#[cfg(not(any(all(any(target_arch = "x86", target_arch = "x86_64")), target_os = "linux")))] +#[cfg(not(any( + all(any(target_arch = "x86", target_arch = "x86_64")), + target_os = "linux" +)))] mod ports_internal { #[inline] pub(crate) fn outb(port: u16, val: u8) { diff --git a/src/ec/unnamed_power/addresses.rs b/src/ec/unnamed_power/addresses.rs index bbe1e11..cf9b835 100644 --- a/src/ec/unnamed_power/addresses.rs +++ b/src/ec/unnamed_power/addresses.rs @@ -11,10 +11,10 @@ pub enum Setting { LEDStatic = 199, LEDBreathing = 0x63, FanSpeed = 0x2c, // lower 3 bits seem to not do everything, every other bit increases speed -- 5 total steps, 0xf4 seems to do something similar too - // 0x40 write 0x08 makes LED red + green turn on - // 0x58 write 0x80 shuts off battery power (bms?) - // 0x63 makes blue (0x02) or white (0x01) LED breathing effect - // 0x7a write 0x01, 0x02, or 0x03 turns off display + // 0x40 write 0x08 makes LED red + green turn on + // 0x58 write 0x80 shuts off battery power (bms?) + // 0x63 makes blue (0x02) or white (0x01) LED breathing effect + // 0x7a write 0x01, 0x02, or 0x03 turns off display } #[derive(Copy, Clone, Debug)] diff --git a/src/ec/unnamed_power/mod.rs b/src/ec/unnamed_power/mod.rs index a06d034..9629785 100644 --- a/src/ec/unnamed_power/mod.rs +++ b/src/ec/unnamed_power/mod.rs @@ -1,5 +1,5 @@ mod addresses; -pub use addresses::{Setting, Charge, ChargeMode, ControlBoard, BreathingColour, StaticColour}; +pub use addresses::{BreathingColour, Charge, ChargeMode, ControlBoard, Setting, StaticColour}; #[cfg(feature = "std")] pub mod raw_io; @@ -42,9 +42,9 @@ impl super::ControllerSet for UnnamedPowerEC { #[cfg(test)] mod test { - use std::io::Error; use super::*; use crate::ec::raw_io; + use std::io::Error; //#[test] #[allow(dead_code)] @@ -67,7 +67,7 @@ mod test { let original = raw_io::write_read(Setting::LEDStatic as _)?; let sleep_dur = std::time::Duration::from_millis(1000); let mut value = 1; - for _ in 0..std::mem::size_of::()*8 { + for _ in 0..std::mem::size_of::() * 8 { let actual = 0x80 | value; raw_io::write2(Setting::LEDStatic as _, actual)?; println!("Wrote {actual:#b} to LED byte");