prepare BSP release
This commit is contained in:
parent
bd286bdb2a
commit
d077bb6210
@ -27,7 +27,7 @@ embassy-executor = { version = "0.7", features = [
|
|||||||
"executor-interrupt"
|
"executor-interrupt"
|
||||||
]}
|
]}
|
||||||
|
|
||||||
va108xx-hal = { path = "../../va108xx-hal" }
|
va108xx-hal = "0.9"
|
||||||
va108xx-embassy = { path = "../../va108xx-embassy", default-features = false }
|
va108xx-embassy = { path = "../../va108xx-embassy", default-features = false }
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
@ -22,5 +22,5 @@ rtic-sync = { version = "1.3", features = ["defmt-03"] }
|
|||||||
once_cell = {version = "1", default-features = false, features = ["critical-section"]}
|
once_cell = {version = "1", default-features = false, features = ["critical-section"]}
|
||||||
ringbuf = { version = "0.4.7", default-features = false, features = ["portable-atomic"] }
|
ringbuf = { version = "0.4.7", default-features = false, features = ["portable-atomic"] }
|
||||||
|
|
||||||
va108xx-hal = { version = "0.9", path = "../../va108xx-hal" }
|
va108xx-hal = "0.9"
|
||||||
vorago-reb1 = { path = "../../vorago-reb1" }
|
vorago-reb1 = { path = "../../vorago-reb1" }
|
||||||
|
@ -16,7 +16,6 @@ embedded-io = "0.6"
|
|||||||
cortex-m-semihosting = "0.5.0"
|
cortex-m-semihosting = "0.5.0"
|
||||||
|
|
||||||
[dependencies.va108xx-hal]
|
[dependencies.va108xx-hal]
|
||||||
path = "../../va108xx-hal"
|
|
||||||
version = "0.9"
|
version = "0.9"
|
||||||
features = ["rt", "defmt"]
|
features = ["rt", "defmt"]
|
||||||
|
|
||||||
|
@ -8,6 +8,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
|
|||||||
|
|
||||||
## [unreleased]
|
## [unreleased]
|
||||||
|
|
||||||
|
## [v0.7.0] 2025-02-13
|
||||||
|
|
||||||
|
- Bumped `va108xx-hal` dependency to 0.9
|
||||||
|
- Minor adjustments to `Button` API.
|
||||||
|
- `Button`, `Led` and `Leds` now simply wrap a type using a tuple struct.
|
||||||
|
|
||||||
## [v0.6.0] 2024-09-30
|
## [v0.6.0] 2024-09-30
|
||||||
|
|
||||||
- Added M95M01 EEPROM module/API
|
- Added M95M01 EEPROM module/API
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "vorago-reb1"
|
name = "vorago-reb1"
|
||||||
version = "0.6.0"
|
version = "0.7.0"
|
||||||
authors = ["Robin Mueller <muellerr@irs.uni-stuttgart.de>"]
|
authors = ["Robin Mueller <muellerr@irs.uni-stuttgart.de>"]
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
description = "Board Support Crate for the Vorago REB1 development board"
|
description = "Board Support Crate for the Vorago REB1 development board"
|
||||||
@ -19,7 +19,6 @@ bitfield = ">=0.17, <=0.18"
|
|||||||
max116xx-10bit = "0.3"
|
max116xx-10bit = "0.3"
|
||||||
|
|
||||||
[dependencies.va108xx-hal]
|
[dependencies.va108xx-hal]
|
||||||
path = "../va108xx-hal"
|
|
||||||
version = "0.9"
|
version = "0.9"
|
||||||
features = ["rt"]
|
features = ["rt"]
|
||||||
|
|
||||||
|
@ -11,23 +11,21 @@ use va108xx_hal::{
|
|||||||
};
|
};
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub struct Button {
|
pub struct Button(pub Pin<PA11, InputFloating>);
|
||||||
button: Pin<PA11, InputFloating>,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Button {
|
impl Button {
|
||||||
pub fn new(pin: Pin<PA11, InputFloating>) -> Button {
|
pub fn new(pin: Pin<PA11, InputFloating>) -> Button {
|
||||||
Button { button: pin }
|
Button(pin)
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn pressed(&mut self) -> bool {
|
pub fn pressed(&mut self) -> bool {
|
||||||
self.button.is_low().ok().unwrap()
|
self.0.is_low().ok().unwrap()
|
||||||
}
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn released(&mut self) -> bool {
|
pub fn released(&mut self) -> bool {
|
||||||
self.button.is_high().ok().unwrap()
|
self.0.is_high().ok().unwrap()
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Configures an IRQ on edge.
|
/// Configures an IRQ on edge.
|
||||||
@ -38,7 +36,7 @@ impl Button {
|
|||||||
syscfg: Option<&mut pac::Sysconfig>,
|
syscfg: Option<&mut pac::Sysconfig>,
|
||||||
irqsel: Option<&mut pac::Irqsel>,
|
irqsel: Option<&mut pac::Irqsel>,
|
||||||
) {
|
) {
|
||||||
self.button
|
self.0
|
||||||
.configure_edge_interrupt(edge_type, irq_cfg, syscfg, irqsel);
|
.configure_edge_interrupt(edge_type, irq_cfg, syscfg, irqsel);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -50,7 +48,7 @@ impl Button {
|
|||||||
syscfg: Option<&mut pac::Sysconfig>,
|
syscfg: Option<&mut pac::Sysconfig>,
|
||||||
irqsel: Option<&mut pac::Irqsel>,
|
irqsel: Option<&mut pac::Irqsel>,
|
||||||
) {
|
) {
|
||||||
self.button
|
self.0
|
||||||
.configure_level_interrupt(level, irq_cfg, syscfg, irqsel);
|
.configure_level_interrupt(level, irq_cfg, syscfg, irqsel);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -59,6 +57,6 @@ impl Button {
|
|||||||
/// Please note that you still have to set a clock divisor yourself using the
|
/// Please note that you still have to set a clock divisor yourself using the
|
||||||
/// [`va108xx_hal::clock::set_clk_div_register`] function in order for this to work.
|
/// [`va108xx_hal::clock::set_clk_div_register`] function in order for this to work.
|
||||||
pub fn configure_filter_type(&mut self, filter: FilterType, clksel: FilterClkSel) {
|
pub fn configure_filter_type(&mut self, filter: FilterType, clksel: FilterClkSel) {
|
||||||
self.button.configure_filter_type(filter, clksel);
|
self.0.configure_filter_type(filter, clksel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,15 +15,12 @@ pub type LD2 = Pin<PA10, PushPullOutput>;
|
|||||||
pub type LD3 = Pin<PA7, PushPullOutput>;
|
pub type LD3 = Pin<PA7, PushPullOutput>;
|
||||||
pub type LD4 = Pin<PA6, PushPullOutput>;
|
pub type LD4 = Pin<PA6, PushPullOutput>;
|
||||||
|
|
||||||
pub struct Leds {
|
#[derive(Debug)]
|
||||||
leds: [Led; 3],
|
pub struct Leds(pub [Led; 3]);
|
||||||
}
|
|
||||||
|
|
||||||
impl Leds {
|
impl Leds {
|
||||||
pub fn new(led_pin1: LD2, led_pin2: LD3, led_pin3: LD4) -> Leds {
|
pub fn new(led_pin1: LD2, led_pin2: LD3, led_pin3: LD4) -> Leds {
|
||||||
Leds {
|
Leds([led_pin1.into(), led_pin2.into(), led_pin3.into()])
|
||||||
leds: [led_pin1.into(), led_pin2.into(), led_pin3.into()],
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -31,13 +28,13 @@ impl core::ops::Deref for Leds {
|
|||||||
type Target = [Led];
|
type Target = [Led];
|
||||||
|
|
||||||
fn deref(&self) -> &[Led] {
|
fn deref(&self) -> &[Led] {
|
||||||
&self.leds
|
&self.0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl core::ops::DerefMut for Leds {
|
impl core::ops::DerefMut for Leds {
|
||||||
fn deref_mut(&mut self) -> &mut [Led] {
|
fn deref_mut(&mut self) -> &mut [Led] {
|
||||||
&mut self.leds
|
&mut self.0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -45,28 +42,25 @@ impl core::ops::Index<usize> for Leds {
|
|||||||
type Output = Led;
|
type Output = Led;
|
||||||
|
|
||||||
fn index(&self, i: usize) -> &Led {
|
fn index(&self, i: usize) -> &Led {
|
||||||
&self.leds[i]
|
&self.0[i]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl core::ops::IndexMut<usize> for Leds {
|
impl core::ops::IndexMut<usize> for Leds {
|
||||||
fn index_mut(&mut self, i: usize) -> &mut Led {
|
fn index_mut(&mut self, i: usize) -> &mut Led {
|
||||||
&mut self.leds[i]
|
&mut self.0[i]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct Led {
|
#[derive(Debug)]
|
||||||
pin: DynPin,
|
pub struct Led(pub DynPin);
|
||||||
}
|
|
||||||
|
|
||||||
macro_rules! ctor {
|
macro_rules! ctor {
|
||||||
($($ldx:ident),+) => {
|
($($ldx:ident),+) => {
|
||||||
$(
|
$(
|
||||||
impl From<$ldx> for Led {
|
impl From<$ldx> for Led {
|
||||||
fn from(led: $ldx) -> Self {
|
fn from(led: $ldx) -> Self {
|
||||||
Led {
|
Led(led.into())
|
||||||
pin: led.into()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
)+
|
)+
|
||||||
@ -79,18 +73,18 @@ impl Led {
|
|||||||
/// Turns the LED off. Setting the pin high actually turns the LED off
|
/// Turns the LED off. Setting the pin high actually turns the LED off
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn off(&mut self) {
|
pub fn off(&mut self) {
|
||||||
self.pin.set_high().ok();
|
self.0.set_high().ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Turns the LED on. Setting the pin low actually turns the LED on
|
/// Turns the LED on. Setting the pin low actually turns the LED on
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn on(&mut self) {
|
pub fn on(&mut self) {
|
||||||
self.pin.set_low().ok();
|
self.0.set_low().ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Toggles the LED
|
/// Toggles the LED
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn toggle(&mut self) {
|
pub fn toggle(&mut self) {
|
||||||
self.pin.toggle_with_toggle_reg().ok();
|
self.0.toggle_with_toggle_reg().ok();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user