From 39be19cfaf18f2256c593c2b1917feea5bd9f2b7 Mon Sep 17 00:00:00 2001
From: jonay2000 <jonabent@gmail.com>
Date: Sat, 11 Mar 2023 15:59:42 +0100
Subject: [PATCH] fmt and ci

---
 src/barometer.rs           |  8 +++---
 src/battery.rs             |  3 ---
 src/motor.rs               |  5 ----
 src/mpu/error.rs           |  3 +--
 src/mpu/firmware_loader.rs |  2 +-
 src/mpu/mod.rs             |  7 +-----
 src/mpu/sensor.rs          | 51 ++++++++------------------------------
 src/time.rs                |  6 -----
 src/twi.rs                 | 44 ++++++++++++++++----------------
 src/uart.rs                |  5 ----
 10 files changed, 39 insertions(+), 95 deletions(-)

diff --git a/src/barometer.rs b/src/barometer.rs
index e37aaa9..80d64aa 100644
--- a/src/barometer.rs
+++ b/src/barometer.rs
@@ -115,10 +115,10 @@ fn update() {
     match baro.loop_state {
         Ms5611LoopState::Reset => {
             //We let the chip know we want to read D1.
-            _ = twi.write(
+            twi.write(
                 MS5611_ADDR,
                 REG_D1 + baro.over_sampling_ratio.addr_modifier(),
-                &[]
+                &[],
             );
 
             //Then set loop state for next iteration
@@ -138,10 +138,10 @@ fn update() {
             let d1 = u32::from_be_bytes(buf);
 
             //We let the chip know we want to read D2.
-            _ = twi.write(
+            twi.write(
                 MS5611_ADDR,
                 REG_D2 + baro.over_sampling_ratio.addr_modifier(),
-                &[]
+                &[],
             );
 
             //Then set loop state for next iteration
diff --git a/src/battery.rs b/src/battery.rs
index 083f395..90b17e9 100644
--- a/src/battery.rs
+++ b/src/battery.rs
@@ -3,7 +3,6 @@
 use crate::mutex::Mutex;
 use crate::once_cell::OnceCell;
 use cortex_m::peripheral::NVIC;
-use nrf51_hal::gpio::Level;
 use nrf51_pac::interrupt;
 use nrf51_pac::Interrupt;
 
@@ -47,13 +46,11 @@ pub(crate) fn initialize(adc: nrf51_pac::ADC, nvic: &mut NVIC) {
 
 #[interrupt]
 unsafe fn ADC() {
-    let _ = unsafe { nrf51_hal::gpio::p0::Parts::new(nrf51_pac::Peripherals::steal().GPIO).p0_20.into_push_pull_output(Level::High) };
     ADC_STATE.modify(|adc| {
         adc.adc.events_end.reset();
         // Battery voltage = (result*1.2*3/255*2) = RESULT*0.007058824
         adc.last_result = adc.adc.result.read().result().bits() * 7;
     });
-    let _ = unsafe { nrf51_hal::gpio::p0::Parts::new(nrf51_pac::Peripherals::steal().GPIO).p0_20.into_push_pull_output(Level::Low) };
 }
 
 /// Returns the battery voltage in 10^-2 volt.
diff --git a/src/motor.rs b/src/motor.rs
index 3408f9f..2c95bf2 100644
--- a/src/motor.rs
+++ b/src/motor.rs
@@ -1,7 +1,6 @@
 use crate::mutex::Mutex;
 use crate::once_cell::OnceCell;
 use cortex_m::peripheral::NVIC;
-use nrf51_hal::gpio::Level;
 use nrf51_pac::{interrupt, Interrupt, GPIOTE, PPI};
 
 struct Motors {
@@ -238,7 +237,6 @@ pub(crate) fn initialize(
 
 #[interrupt]
 unsafe fn TIMER2() {
-    let _ = unsafe { nrf51_hal::gpio::p0::Parts::new(nrf51_pac::Peripherals::steal().GPIO).p0_20.into_push_pull_output(Level::High) };
     // Safety: interrupts are already turned off here, since we are inside an interrupt
     let motors = unsafe { MOTORS.no_critical_section_lock_mut() };
     if motors.timer2.events_compare[3].read().bits() != 0 {
@@ -252,12 +250,10 @@ unsafe fn TIMER2() {
             motors.timer2.cc[1].write(|w| w.bits(u32::from(1000 + motors.motor_values[3])));
         }
     }
-    let _ = unsafe { nrf51_hal::gpio::p0::Parts::new(nrf51_pac::Peripherals::steal().GPIO).p0_20.into_push_pull_output(Level::Low) };
 }
 
 #[interrupt]
 unsafe fn TIMER1() {
-    let _ = unsafe { nrf51_hal::gpio::p0::Parts::new(nrf51_pac::Peripherals::steal().GPIO).p0_20.into_push_pull_output(Level::High) };
     // Safety: interrupts are already turned off here, since we are inside an interrupt
     let motors = unsafe { MOTORS.no_critical_section_lock_mut() };
     if motors.timer1.events_compare[3].read().bits() != 0 {
@@ -270,5 +266,4 @@ unsafe fn TIMER1() {
             motors.timer1.cc[1].write(|w| w.bits(u32::from(1000 + motors.motor_values[1])));
         }
     }
-    let _ = unsafe { nrf51_hal::gpio::p0::Parts::new(nrf51_pac::Peripherals::steal().GPIO).p0_20.into_push_pull_output(Level::Low) };
 }
diff --git a/src/mpu/error.rs b/src/mpu/error.rs
index 11a6290..98aae0e 100644
--- a/src/mpu/error.rs
+++ b/src/mpu/error.rs
@@ -1,3 +1,2 @@
-
 #[derive(Debug)]
-pub enum Error {}
\ No newline at end of file
+pub enum Error {}
diff --git a/src/mpu/firmware_loader.rs b/src/mpu/firmware_loader.rs
index 118bd33..3159f94 100644
--- a/src/mpu/firmware_loader.rs
+++ b/src/mpu/firmware_loader.rs
@@ -12,7 +12,7 @@ impl Mpu6050 {
     }
 
     pub fn boot_firmware(&mut self, i2c: &mut I2c) {
-        self.write(i2c, Register::PrgmStart as u8, &[ 0x04, 0x00]);
+        self.write(i2c, Register::PrgmStart as u8, &[0x04, 0x00]);
     }
 
     fn write_memory(&mut self, i2c: &mut I2c, data: &[u8]) {
diff --git a/src/mpu/mod.rs b/src/mpu/mod.rs
index ed1763a..52efc85 100644
--- a/src/mpu/mod.rs
+++ b/src/mpu/mod.rs
@@ -3,9 +3,9 @@ use crate::mpu::sensor::Mpu6050;
 use crate::mutex::Mutex;
 use crate::once_cell::OnceCell;
 use crate::twi::{TwiWrapper, TWI};
+use error::Error;
 use nb::Error::WouldBlock;
 use structs::{Accel, Gyro, Quaternion};
-use error::Error;
 
 #[allow(unused)]
 mod config;
@@ -25,7 +25,6 @@ pub const SAMPLE_RATE_DIVIDER_MPU: u8 = 0;
 /// MPU Sample Rate Divider under RAW mode
 pub const SAMPLE_RATE_DIVIDER_RAW: u8 = 0;
 
-
 type I2c = TwiWrapper;
 
 struct Mpu {
@@ -112,10 +111,6 @@ pub fn read_dmp_bytes() -> nb::Result<Quaternion, ()> {
     if len < 28 {
         return Err(WouldBlock);
     }
-    // if len > 28 * 5 {
-    //     mpu.mpu.reset_fifo(twi)?;
-    //     return Err(WouldBlock);
-    // }
 
     // If we got mis-aligned, we skip a packet
     if len % 28 != 0 {
diff --git a/src/mpu/sensor.rs b/src/mpu/sensor.rs
index 376c2d7..f2721f7 100644
--- a/src/mpu/sensor.rs
+++ b/src/mpu/sensor.rs
@@ -1,18 +1,17 @@
+use crate::led::Green;
 use crate::mpu::config::Fifo;
 use crate::mpu::config::GyroFullScale;
 use crate::mpu::config::{AccelFullScale, ClockSource, DigitalLowPassFilter};
 use crate::mpu::registers::Register;
 use crate::mpu::structs::{Accel, Gyro};
 use crate::time::delay_ms_assembly;
+use crate::twi::TwiWrapper;
 use core::marker::PhantomData;
 use core::time::Duration;
 use embedded_hal::blocking::i2c::{Write, WriteRead};
-use crate::led::Green;
-use crate::twi::TwiWrapper;
 
 const MPU6050_ADDRESS: u8 = 0x68;
 
-
 pub type I2c = TwiWrapper;
 
 pub(crate) struct Mpu6050(PhantomData<()>);
@@ -48,17 +47,12 @@ impl Mpu6050 {
         self.enable_dmp(i2c);
     }
 
-    pub(crate) fn read(
-        &mut self,
-        i2c: &mut I2c,
-        reg: u8,
-        response: &mut [u8],
-    ) {
+    pub(crate) fn read(&mut self, i2c: &mut I2c, reg: u8, response: &mut [u8]) {
         let _ = i2c.read(MPU6050_ADDRESS, reg, response);
     }
 
     pub(crate) fn write(&mut self, i2c: &mut I2c, reg_address: u8, bytes: &[u8]) {
-        let _ = i2c.write(MPU6050_ADDRESS, reg_address, bytes);
+        i2c.write(MPU6050_ADDRESS, reg_address, bytes);
     }
 
     pub(crate) fn read_register(&mut self, i2c: &mut I2c, reg: Register) -> u8 {
@@ -77,12 +71,7 @@ impl Mpu6050 {
         buf
     }
 
-    pub(crate) fn write_register(
-        &mut self,
-        i2c: &mut I2c,
-        reg: Register,
-        value: u8,
-    ) {
+    pub(crate) fn write_register(&mut self, i2c: &mut I2c, reg: Register, value: u8) {
         self.write(i2c, reg as u8, &[value]);
     }
 
@@ -106,11 +95,7 @@ impl Mpu6050 {
     }
 
     /// Pick the clock-source
-    pub fn set_clock_source(
-        &mut self,
-        i2c: &mut I2c,
-        clock_source: ClockSource,
-    ) {
+    pub fn set_clock_source(&mut self, i2c: &mut I2c, clock_source: ClockSource) {
         let mut value = self.read_register(i2c, Register::PwrMgmt1);
         value |= clock_source as u8;
         self.write_register(i2c, Register::PwrMgmt1, value);
@@ -120,21 +105,13 @@ impl Mpu6050 {
         self.write_register(i2c, Register::IntEnable, 0x00)
     }
 
-    pub fn set_accel_full_scale(
-        &mut self,
-        i2c: &mut I2c,
-        scale: AccelFullScale,
-    ) {
+    pub fn set_accel_full_scale(&mut self, i2c: &mut I2c, scale: AccelFullScale) {
         let mut value = self.read_register(i2c, Register::AccelConfig);
         value |= (scale as u8) << 3;
         self.write_register(i2c, Register::AccelConfig, value)
     }
 
-    pub fn set_gyro_full_scale(
-        &mut self,
-        i2c: &mut I2c,
-        scale: GyroFullScale,
-    ) {
+    pub fn set_gyro_full_scale(&mut self, i2c: &mut I2c, scale: GyroFullScale) {
         let mut value = self.read_register(i2c, Register::GyroConfig);
         value |= (scale as u8) << 3;
         self.write_register(i2c, Register::GyroConfig, value)
@@ -144,11 +121,7 @@ impl Mpu6050 {
         self.write_register(i2c, Register::SmpRtDiv, div)
     }
 
-    pub fn set_digital_lowpass_filter(
-        &mut self,
-        i2c: &mut I2c,
-        filter: DigitalLowPassFilter,
-    ) {
+    pub fn set_digital_lowpass_filter(&mut self, i2c: &mut I2c, filter: DigitalLowPassFilter) {
         let mut value = self.read_register(i2c, Register::Config);
         value |= filter as u8;
         self.write_register(i2c, Register::Config, value)
@@ -195,11 +168,7 @@ impl Mpu6050 {
     }
 
     /// Read the FIFO
-    pub fn read_fifo<'a>(
-        &mut self,
-        i2c: &mut I2c,
-        buf: &'a mut [u8],
-    ) -> &'a [u8] {
+    pub fn read_fifo<'a>(&mut self, i2c: &mut I2c, buf: &'a mut [u8]) -> &'a [u8] {
         self.read_registers(i2c, Register::FifoRw, &mut buf[..])
     }
 
diff --git a/src/time.rs b/src/time.rs
index c623aa2..846fa2a 100644
--- a/src/time.rs
+++ b/src/time.rs
@@ -10,7 +10,6 @@ use crate::once_cell::OnceCell;
 /// and hard to convert to an exact number of seconds
 pub use cortex_m::asm::delay as assembly_delay;
 use cortex_m::peripheral::NVIC;
-use nrf51_hal::gpio::Level;
 use nrf51_hal::rtc::{RtcCompareReg, RtcInterrupt};
 use nrf51_hal::Rtc;
 use nrf51_pac::RTC0;
@@ -156,8 +155,6 @@ fn counter_diff(prev: u32, curr: u32) -> u32 {
 
 #[interrupt]
 unsafe fn RTC0() {
-    let _ = unsafe { nrf51_hal::gpio::p0::Parts::new(nrf51_pac::Peripherals::steal().GPIO).p0_20.into_push_pull_output(Level::High) };
-
     // SAFETY: we're in an interrupt so this code cannot be run concurrently anyway
     let rtc = RTC.no_critical_section_lock_mut();
     // SAFETY: we're in an interrupt so this code cannot be run concurrently anyway
@@ -180,9 +177,6 @@ unsafe fn RTC0() {
         rtc.reset_event(RtcInterrupt::Compare0);
         TIMER_FLAG.store(true, Ordering::SeqCst);
     }
-
-    let _ = unsafe { nrf51_hal::gpio::p0::Parts::new(nrf51_pac::Peripherals::steal().GPIO).p0_20.into_push_pull_output(Level::Low) };
-
 }
 
 /// Wait for the next interrupt configured by `set_interrupt_frequency`.
diff --git a/src/twi.rs b/src/twi.rs
index 7660050..7726233 100644
--- a/src/twi.rs
+++ b/src/twi.rs
@@ -20,7 +20,7 @@ pub struct TwiWrapper {
 
 pub enum TwiStatus {
     BufEmpty,
-    Success
+    Success,
 }
 
 impl TwiWrapper {
@@ -54,10 +54,12 @@ impl TwiWrapper {
         self.set_sent_flag(false);
         self.set_recv_flag(false);
 
-        self.twi.address.write(|w| unsafe{w.address().bits(addr)});
-        self.twi.txd.write(|w| unsafe{w.txd().bits(reg_addr)});
+        self.twi
+            .address
+            .write(|w| unsafe { w.address().bits(addr) });
+        self.twi.txd.write(|w| unsafe { w.txd().bits(reg_addr) });
         self.twi.shorts.reset();
-        self.twi.tasks_starttx.write(|w| unsafe{w.bits(1)});
+        self.twi.tasks_starttx.write(|w| unsafe { w.bits(1) });
 
         self.wait_sent();
         self.set_sent_flag(false);
@@ -68,7 +70,7 @@ impl TwiWrapper {
             self.twi.shorts.write(|w| w.bb_suspend().set_bit())
         }
 
-        self.twi.tasks_startrx.write(|w| unsafe{w.bits(1)});
+        self.twi.tasks_startrx.write(|w| unsafe { w.bits(1) });
 
         let mut bytes_left = data.len();
         let mut write_ptr = 0;
@@ -84,7 +86,7 @@ impl TwiWrapper {
             if bytes_left == 1 {
                 self.twi.shorts.write(|w| w.bb_stop().set_bit())
             }
-            self.twi.tasks_resume.write(|w| unsafe{w.bits(1)});
+            self.twi.tasks_resume.write(|w| unsafe { w.bits(1) });
 
             if bytes_left == 0 {
                 break;
@@ -96,10 +98,12 @@ impl TwiWrapper {
 
     pub fn write(&self, addr: u8, reg_addr: u8, data: &[u8]) {
         if data.is_empty() {
-            self.twi.address.write(|w| unsafe{w.address().bits(addr)});
+            self.twi
+                .address
+                .write(|w| unsafe { w.address().bits(addr) });
             self.twi.shorts.write(|w| w.bb_stop().set_bit());
-            self.twi.txd.write(|w| unsafe{w.txd().bits(reg_addr)});
-            self.twi.tasks_starttx.write(|w| unsafe{w.bits(1)});
+            self.twi.txd.write(|w| unsafe { w.txd().bits(reg_addr) });
+            self.twi.tasks_starttx.write(|w| unsafe { w.bits(1) });
             self.wait_sent();
 
             return;
@@ -107,22 +111,24 @@ impl TwiWrapper {
 
         self.set_sent_flag(false);
 
-        self.twi.address.write(|w| unsafe{w.address().bits(addr)});
+        self.twi
+            .address
+            .write(|w| unsafe { w.address().bits(addr) });
         self.twi.shorts.reset();
-        self.twi.txd.write(|w| unsafe{w.txd().bits(reg_addr)});
-        self.twi.tasks_starttx.write(|w| unsafe{w.bits(1)});
+        self.twi.txd.write(|w| unsafe { w.txd().bits(reg_addr) });
+        self.twi.tasks_starttx.write(|w| unsafe { w.bits(1) });
 
         self.wait_sent();
         self.set_sent_flag(false);
 
         for &i in data {
-            self.twi.txd.write(|w| unsafe{w.txd().bits(i)});
+            self.twi.txd.write(|w| unsafe { w.txd().bits(i) });
 
             self.wait_sent();
             self.set_sent_flag(false);
         }
 
-        self.twi.tasks_stop.write(|w| unsafe {w.bits(1)});
+        self.twi.tasks_stop.write(|w| unsafe { w.bits(1) });
     }
 }
 
@@ -172,14 +178,8 @@ pub(crate) fn initialize(
     twi.frequency.write(|w| w.frequency().variant(FREQ));
 
     // Set which interrupts we want to receive
-    twi.intenset.write(|w| {
-        w.txdsent()
-            .set_bit()
-            .rxdready()
-            .set_bit()
-            .error()
-            .set_bit()
-    });
+    twi.intenset
+        .write(|w| w.txdsent().set_bit().rxdready().set_bit().error().set_bit());
 
     twi.shorts.reset();
     twi.enable.write(|w| w.enable().enabled());
diff --git a/src/uart.rs b/src/uart.rs
index b8053c2..c74c069 100644
--- a/src/uart.rs
+++ b/src/uart.rs
@@ -1,7 +1,6 @@
 use crate::mutex::Mutex;
 use crate::once_cell::OnceCell;
 use cortex_m::peripheral::NVIC;
-use nrf51_hal::gpio::Level;
 use nrf51_pac::interrupt;
 use ringbuffer::{ConstGenericRingBuffer, RingBuffer, RingBufferRead, RingBufferWrite};
 
@@ -118,8 +117,6 @@ fn put_byte(uart: &mut OnceCell<UartDriver>, byte: u8) {
 /// Interrupt handler for UART0
 /// It's called when the enabled interrupts for uart0 are triggered
 unsafe fn UART0() {
-    let _ = unsafe { nrf51_hal::gpio::p0::Parts::new(nrf51_pac::Peripherals::steal().GPIO).p0_20.into_push_pull_output(Level::High) };
-
     // Safety: interrupts are already turned off here, since we are inside an interrupt
     let uart = unsafe { UART.no_critical_section_lock_mut() };
 
@@ -141,6 +138,4 @@ unsafe fn UART0() {
     if uart.uart.events_error.read().bits() != 0 {
         uart.uart.events_error.reset();
     }
-
-    let _ = unsafe { nrf51_hal::gpio::p0::Parts::new(nrf51_pac::Peripherals::steal().GPIO).p0_20.into_push_pull_output(Level::Low) };
 }
-- 
GitLab