Skip to content

Commit

Permalink
Adapt to embedded-hal 1.0.0-alpha.4
Browse files Browse the repository at this point in the history
  • Loading branch information
eldruin committed Dec 17, 2020
1 parent b3e2d75 commit 7cb3c53
Show file tree
Hide file tree
Showing 31 changed files with 296 additions and 252 deletions.
6 changes: 2 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,11 @@ default-target = "x86_64-unknown-linux-gnu"

[dependencies]
cortex-m = "0.6.0"
nb = "0.1.2"
nb = "1"
cortex-m-rt = "0.6.8"
stm32f1 = "0.11.0"
embedded-dma = "0.1.2"
embedded-hal = "=1.0.0-alpha.4"

[dependencies.void]
default-features = false
Expand All @@ -30,9 +31,6 @@ version = "1.0.2"
default-features = false
version = "0.2.2"

[dependencies.embedded-hal]
version = "0.2.3"
features = ["unproven"]

[dependencies.stm32-usbd]
version = "0.5.0"
Expand Down
4 changes: 2 additions & 2 deletions examples/adc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,12 @@ fn main() -> ! {
let mut ch1 = gpiob.pb1.into_analog(&mut gpiob.crl);

loop {
let data: u16 = adc1.read(&mut ch0).unwrap();
let data: u16 = adc1.try_read(&mut ch0).unwrap();
hprintln!("adc1: {}", data).unwrap();

#[cfg(feature = "stm32f103")]
{
let data1: u16 = adc2.read(&mut ch1).unwrap();
let data1: u16 = adc2.try_read(&mut ch1).unwrap();
hprintln!("adc2: {}", data1).unwrap();
}
}
Expand Down
10 changes: 5 additions & 5 deletions examples/blinky.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ use panic_halt as _;
use nb::block;

use cortex_m_rt::entry;
use embedded_hal::digital::v2::OutputPin;
use embedded_hal::digital::OutputPin;
use stm32f1xx_hal::{pac, prelude::*, timer::Timer};

#[entry]
Expand Down Expand Up @@ -44,9 +44,9 @@ fn main() -> ! {

// Wait for the timer to trigger an update and change the state of the LED
loop {
block!(timer.wait()).unwrap();
led.set_high().unwrap();
block!(timer.wait()).unwrap();
led.set_low().unwrap();
block!(timer.try_wait()).unwrap();
led.try_set_high().unwrap();
block!(timer.try_wait()).unwrap();
led.try_set_low().unwrap();
}
}
10 changes: 5 additions & 5 deletions examples/blinky_generic.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ use panic_halt as _;
use nb::block;

use cortex_m_rt::entry;
use embedded_hal::digital::v2::OutputPin;
use embedded_hal::digital::OutputPin;
use stm32f1xx_hal::{pac, prelude::*, timer::Timer};

#[entry]
Expand Down Expand Up @@ -37,13 +37,13 @@ fn main() -> ! {

// Wait for the timer to trigger an update and change the state of the LED
loop {
block!(timer.wait()).unwrap();
block!(timer.try_wait()).unwrap();
for led in leds.iter_mut() {
led.set_high().unwrap();
led.try_set_high().unwrap();
}
block!(timer.wait()).unwrap();
block!(timer.try_wait()).unwrap();
for led in leds.iter_mut() {
led.set_low().unwrap();
led.try_set_low().unwrap();
}
}
}
6 changes: 3 additions & 3 deletions examples/blinky_rtc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ use panic_halt as _;
use stm32f1xx_hal::{pac, prelude::*, rtc::Rtc};

use cortex_m_rt::entry;
use embedded_hal::digital::v2::OutputPin;
use embedded_hal::digital::OutputPin;
use nb::block;

#[entry]
Expand Down Expand Up @@ -43,10 +43,10 @@ fn main() -> ! {
rtc.set_alarm(5);
block!(rtc.wait_alarm()).unwrap();
if led_on {
led.set_low().unwrap();
led.try_set_low().unwrap();
led_on = false;
} else {
led.set_high().unwrap();
led.try_set_high().unwrap();
led_on = true;
}
}
Expand Down
6 changes: 3 additions & 3 deletions examples/blinky_rtcalarm_irq.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ use crate::hal::{
use core::cell::RefCell;
use cortex_m::{asm::wfi, interrupt::Mutex};
use cortex_m_rt::entry;
use embedded_hal::digital::v2::OutputPin;
use embedded_hal::digital::OutputPin;

// A type definition for the GPIO pin to be used for our LED
type LEDPIN = gpioc::PC13<Output<PushPull>>;
Expand Down Expand Up @@ -68,7 +68,7 @@ fn RTCALARM() {
exti.pr.write(|w| w.pr17().set_bit());
rtc.set_alarm(rtc.current_time() + TOGGLE_INTERVAL_SECONDS);

let _ = led.toggle();
let _ = led.try_toggle();
}

#[cfg(not(feature = "stm32f101"))]
Expand All @@ -82,7 +82,7 @@ fn main() -> ! {
// Set up the GPIO pin
let mut gpioc = dp.GPIOC.split(&mut rcc.apb2);
let mut led = gpioc.pc13.into_push_pull_output(&mut gpioc.crh);
let _ = led.set_high(); // Turn off
let _ = led.try_set_high(); // Turn off

cortex_m::interrupt::free(|cs| *G_LED.borrow(cs).borrow_mut() = Some(led));

Expand Down
8 changes: 4 additions & 4 deletions examples/blinky_timer_irq.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ use crate::hal::{
use core::cell::RefCell;
use cortex_m::{asm::wfi, interrupt::Mutex};
use cortex_m_rt::entry;
use embedded_hal::digital::v2::OutputPin;
use embedded_hal::digital::OutputPin;

// NOTE You can uncomment 'hprintln' here and in the code below for a bit more
// verbosity at runtime, at the cost of throwing off the timing of the blink
Expand Down Expand Up @@ -62,8 +62,8 @@ fn TIM2() {
})
});

let _ = led.toggle();
let _ = tim.wait();
let _ = led.try_toggle();
let _ = tim.try_wait();
}

#[entry]
Expand All @@ -81,7 +81,7 @@ fn main() -> ! {
// Configure PC13 pin to blink LED
let mut gpioc = dp.GPIOC.split(&mut rcc.apb2);
let mut led = gpioc.pc13.into_push_pull_output(&mut gpioc.crh);
let _ = led.set_high(); // Turn off
let _ = led.try_set_high(); // Turn off

// Move the pin into our global storage
cortex_m::interrupt::free(|cs| *G_LED.borrow(cs).borrow_mut() = Some(led));
Expand Down
10 changes: 5 additions & 5 deletions examples/delay.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
use panic_halt as _;

use cortex_m_rt::entry;
use embedded_hal::digital::v2::OutputPin;
use embedded_hal::digital::OutputPin;
use stm32f1xx_hal::{delay::Delay, pac, prelude::*};

#[entry]
Expand All @@ -34,9 +34,9 @@ fn main() -> ! {
let mut delay = Delay::new(cp.SYST, clocks);

loop {
led.set_high().unwrap();
delay.delay_ms(1_000_u16);
led.set_low().unwrap();
delay.delay_ms(1_000_u16);
led.try_set_high().unwrap();
delay.try_delay_ms(1_000_u16).unwrap();
led.try_set_low().unwrap();
delay.try_delay_ms(1_000_u16).unwrap();
}
}
14 changes: 7 additions & 7 deletions examples/dynamic_gpio.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ use nb::block;

use cortex_m_rt::entry;
use cortex_m_semihosting::hprintln;
use embedded_hal::digital::v2::{InputPin, OutputPin};
use embedded_hal::digital::{InputPin, OutputPin};
use stm32f1xx_hal::{pac, prelude::*, timer::Timer};

#[entry]
Expand Down Expand Up @@ -37,13 +37,13 @@ fn main() -> ! {
// Wait for the timer to trigger an update and change the state of the LED
loop {
pin.make_floating_input(&mut gpioc.crh);
block!(timer.wait()).unwrap();
hprintln!("{}", pin.is_high().unwrap()).unwrap();
block!(timer.try_wait()).unwrap();
hprintln!("{}", pin.try_is_high().unwrap()).unwrap();

pin.make_push_pull_output(&mut gpioc.crh);
pin.set_high().unwrap();
block!(timer.wait()).unwrap();
pin.set_low().unwrap();
block!(timer.wait()).unwrap();
pin.try_set_high().unwrap();
block!(timer.try_wait()).unwrap();
pin.try_set_low().unwrap();
block!(timer.try_wait()).unwrap();
}
}
2 changes: 1 addition & 1 deletion examples/exti.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ fn EXTI9_5() {
let int_pin = unsafe { &mut *INT_PIN.as_mut_ptr() };

if int_pin.check_interrupt() {
led.toggle().unwrap();
led.try_toggle().unwrap();

// if we don't clear this bit, the ISR would trigger indefinitely
int_pin.clear_interrupt_pending_bit();
Expand Down
8 changes: 4 additions & 4 deletions examples/led.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
use panic_halt as _;

use cortex_m_rt::entry;
use embedded_hal::digital::v2::OutputPin;
use embedded_hal::digital::OutputPin;
use stm32f1xx_hal::{pac, prelude::*};

#[entry]
Expand All @@ -30,21 +30,21 @@ fn main() -> ! {
gpioc
.pc9
.into_push_pull_output(&mut gpioc.crh)
.set_high()
.try_set_high()
.unwrap();

#[cfg(feature = "stm32f101")]
gpioc
.pc9
.into_push_pull_output(&mut gpioc.crh)
.set_high()
.try_set_high()
.unwrap();

#[cfg(any(feature = "stm32f103", feature = "stm32f105", feature = "stm32f107"))]
gpioc
.pc13
.into_push_pull_output(&mut gpioc.crh)
.set_low()
.try_set_low()
.unwrap();

loop {}
Expand Down
6 changes: 3 additions & 3 deletions examples/mfrc522.rs → examples/mfrc522.rs.disabled
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use panic_itm as _;
use cortex_m::iprintln;

use cortex_m_rt::entry;
use embedded_hal::digital::{v1_compat::OldOutputPin, v2::OutputPin};
use embedded_hal::digital::OutputPin;
use mfrc522::Mfrc522;
use stm32f1xx_hal::{pac, prelude::*, spi::Spi};

Expand Down Expand Up @@ -39,10 +39,10 @@ fn main() -> ! {
);

let nss = gpioa.pa4.into_push_pull_output(&mut gpioa.crl);
let mut mfrc522 = Mfrc522::new(spi, OldOutputPin::from(nss)).unwrap();
let mut mfrc522 = Mfrc522::new(spi, nss).unwrap();

let mut led = gpioc.pc13.into_push_pull_output(&mut gpioc.crh);
led.set_high().unwrap();
led.try_set_high().unwrap();

loop {
if let Ok(atqa) = mfrc522.reqa() {
Expand Down
20 changes: 10 additions & 10 deletions examples/multi_mode_gpio.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ use nb::block;

use cortex_m_rt::entry;
use cortex_m_semihosting::hprintln;
use embedded_hal::digital::v2::{InputPin, OutputPin};
use embedded_hal::digital::{InputPin, OutputPin};
use stm32f1xx_hal::{gpio::State, pac, prelude::*, timer::Timer};

#[entry]
Expand Down Expand Up @@ -36,18 +36,18 @@ fn main() -> ! {

// Wait for the timer to trigger an update and change the state of the LED
loop {
block!(timer.wait()).unwrap();
hprintln!("{}", pin.is_high().unwrap()).unwrap();
block!(timer.try_wait()).unwrap();
hprintln!("{}", pin.try_is_high().unwrap()).unwrap();
pin.as_push_pull_output(&mut gpioc.crh, |out| {
out.set_high().unwrap();
block!(timer.wait()).unwrap();
out.set_low().unwrap();
block!(timer.wait()).unwrap();
out.try_set_high().unwrap();
block!(timer.try_wait()).unwrap();
out.try_set_low().unwrap();
block!(timer.try_wait()).unwrap();
});
pin.as_push_pull_output_with_state(&mut gpioc.crh, State::High, |out| {
block!(timer.wait()).unwrap();
out.set_low().unwrap();
block!(timer.wait()).unwrap();
block!(timer.try_wait()).unwrap();
out.try_set_low().unwrap();
block!(timer.try_wait()).unwrap();
});
}
}
6 changes: 3 additions & 3 deletions examples/nojtag.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ fn main() -> ! {
let mut pb4 = pb4.into_push_pull_output(&mut gpiob.crl);

loop {
pa15.toggle().unwrap();
pb3.toggle().unwrap();
pb4.toggle().unwrap();
pa15.try_toggle().unwrap();
pb3.try_toggle().unwrap();
pb4.try_toggle().unwrap();
cortex_m::asm::delay(8_000_000);
}
}
Loading

0 comments on commit 7cb3c53

Please sign in to comment.