move dk BSP to nrf52840-hal 0.12.1

This commit is contained in:
Jorge Aparicio 2021-03-16 13:06:55 +01:00
parent e26a8f50f6
commit 5ff9fd0f8a
3 changed files with 23 additions and 13 deletions

View file

@ -9,7 +9,7 @@ version = "0.0.0"
cortex-m = "0.6.4"
cortex-m-rt = "0.6.13"
embedded-hal = "0.2.3"
hal = { package = "nrf52840-hal", git = "https://github.com/japaric/nrf-hal", branch = "radio" }
hal = { package = "nrf52840-hal", version = "0.12.1" }
log = "0.4.8"
rtt-target = { version = "0.2.0", features = ["cortex-m"] }

View file

@ -14,15 +14,17 @@ use cortex_m::{asm, peripheral::NVIC};
use embedded_hal::digital::v2::{OutputPin as _, StatefulOutputPin};
#[cfg(feature = "beginner")]
pub use hal::ieee802154;
pub use hal::target::{interrupt, Interrupt, NVIC_PRIO_BITS, RTC0};
pub use hal::pac::{interrupt, Interrupt, NVIC_PRIO_BITS, RTC0};
use hal::{
clocks::{self, Clocks},
gpio::{p0, Level, Output, Pin, PushPull},
gpio::{p0, Level, Output, Pin, Port, PushPull},
rtc::{Rtc, RtcInterrupt},
timer::OneShot,
};
use log::{LevelFilter, Log};
use rtt_target::{rprintln, rtt_init_print};
use rtt_target::rprintln;
#[cfg(any(feature = "beginner", feature = "advanced"))]
use rtt_target::rtt_init_print;
#[cfg(feature = "advanced")]
use crate::{
@ -79,8 +81,12 @@ impl Led {
pub fn on(&mut self) {
log::trace!(
"setting P{}.{} low (LED on)",
if self.inner.port { '1' } else { '0' },
self.inner.pin
if self.inner.port() == Port::Port1 {
'1'
} else {
'0'
},
self.inner.pin()
);
// NOTE this operations returns a `Result` but never returns the `Err` variant
@ -91,8 +97,12 @@ impl Led {
pub fn off(&mut self) {
log::trace!(
"setting P{}.{} high (LED off)",
if self.inner.port { '1' } else { '0' },
self.inner.pin
if self.inner.port() == Port::Port1 {
'1'
} else {
'0'
},
self.inner.pin()
);
// NOTE this operations returns a `Result` but never returns the `Err` variant
@ -121,7 +131,7 @@ impl Led {
/// A timer for creating blocking delays
pub struct Timer {
inner: hal::Timer<hal::target::TIMER0, OneShot>,
inner: hal::Timer<hal::pac::TIMER0, OneShot>,
}
impl Timer {
@ -159,7 +169,7 @@ impl Timer {
}
impl ops::Deref for Timer {
type Target = hal::Timer<hal::target::TIMER0, OneShot>;
type Target = hal::Timer<hal::pac::TIMER0, OneShot>;
fn deref(&self) -> &Self::Target {
&self.inner
@ -176,7 +186,7 @@ impl ops::DerefMut for Timer {
///
/// This return an `Err`or if called more than once
pub fn init() -> Result<Board, ()> {
if let Some(periph) = hal::target::Peripherals::take() {
if let Some(periph) = hal::pac::Peripherals::take() {
// NOTE(static mut) this branch runs at most once
#[cfg(feature = "advanced")]
static mut EP0IN_BUF: [u8; 64] = [0; 64];
@ -212,7 +222,7 @@ pub fn init() -> Result<Board, ()> {
log::debug!("Clocks configured");
let mut rtc = Rtc::new(periph.RTC0);
let mut rtc = Rtc::new(periph.RTC0, 0).unwrap();
rtc.enable_interrupt(RtcInterrupt::Overflow, None);
rtc.enable_counter();
// NOTE(unsafe) because this crate defines the `#[interrupt] fn RTC0` interrupt handler,

View file

@ -1,3 +1,3 @@
//! Low level access to the nRF52840 peripheral
pub use hal::target::{POWER, USBD};
pub use hal::pac::{POWER, USBD};