Skip to content

Commit 7e7a130

Browse files
committed
Update embedded-hal dependency to 1.0.0-alpha.7
1 parent cd31989 commit 7e7a130

File tree

2 files changed

+10
-66
lines changed

2 files changed

+10
-66
lines changed

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ targets = [
1717

1818
[dependencies]
1919
bare-metal = "1.0.0"
20-
bit_field = "0.10.0"
21-
embedded-hal = "0.2.6"
20+
bit_field = "0.10.1"
21+
embedded-hal = "=1.0.0-alpha.7"
2222

2323
[build-dependencies]
2424
riscv-target = "0.1.2"

src/delay.rs

Lines changed: 8 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use crate::register::mcycle;
2-
use embedded_hal::blocking::delay::{DelayMs, DelayUs};
2+
use core::convert::Infallible;
3+
use embedded_hal::delay::blocking::DelayUs;
34

45
/// Machine mode cycle counter (`mcycle`) as a delay provider
56
#[derive(Copy, Clone)]
@@ -15,71 +16,14 @@ impl McycleDelay {
1516
}
1617
}
1718

18-
impl DelayUs<u64> for McycleDelay {
19+
impl DelayUs for McycleDelay {
20+
type Error = Infallible;
21+
1922
#[inline]
20-
fn delay_us(&mut self, us: u64) {
23+
fn delay_us(&mut self, us: u32) -> Result<(), Self::Error> {
2124
let t0 = mcycle::read64();
22-
let clock = (us * (self.ticks_second as u64)) / 1_000_000;
25+
let clock = ((us as u64) * (self.ticks_second as u64)) / 1_000_000;
2326
while mcycle::read64().wrapping_sub(t0) <= clock {}
24-
}
25-
}
26-
27-
impl DelayUs<u32> for McycleDelay {
28-
#[inline(always)]
29-
fn delay_us(&mut self, us: u32) {
30-
self.delay_us(us as u64)
31-
}
32-
}
33-
34-
// Implemented for constructions like `delay.delay_us(50_000);`
35-
impl DelayUs<i32> for McycleDelay {
36-
#[inline(always)]
37-
fn delay_us(&mut self, us: i32) {
38-
assert!(us >= 0);
39-
self.delay_us(us as u32);
40-
}
41-
}
42-
43-
impl DelayUs<u16> for McycleDelay {
44-
#[inline(always)]
45-
fn delay_us(&mut self, us: u16) {
46-
self.delay_us(us as u32)
47-
}
48-
}
49-
50-
impl DelayUs<u8> for McycleDelay {
51-
#[inline(always)]
52-
fn delay_us(&mut self, us: u8) {
53-
self.delay_us(us as u32)
54-
}
55-
}
56-
57-
impl DelayMs<u32> for McycleDelay {
58-
#[inline]
59-
fn delay_ms(&mut self, ms: u32) {
60-
self.delay_us((ms as u64) * 1000)
61-
}
62-
}
63-
64-
// Implemented for constructions like `delay.delay_ms(50_000);`
65-
impl DelayMs<i32> for McycleDelay {
66-
#[inline(always)]
67-
fn delay_ms(&mut self, ms: i32) {
68-
assert!(ms >= 0);
69-
self.delay_ms(ms as u32);
70-
}
71-
}
72-
73-
impl DelayMs<u16> for McycleDelay {
74-
#[inline(always)]
75-
fn delay_ms(&mut self, ms: u16) {
76-
self.delay_ms(ms as u32)
77-
}
78-
}
79-
80-
impl DelayMs<u8> for McycleDelay {
81-
#[inline(always)]
82-
fn delay_ms(&mut self, ms: u8) {
83-
self.delay_ms(ms as u32)
27+
Ok(())
8428
}
8529
}

0 commit comments

Comments
 (0)