Merge pull request 'prepare BSP release' (#45) from vorago-reb1-release into main
Reviewed-on: #45
This commit is contained in:
commit
872944bebf
@ -27,7 +27,7 @@ embassy-executor = { version = "0.7", features = [
|
||||
"executor-interrupt"
|
||||
]}
|
||||
|
||||
va108xx-hal = { path = "../../va108xx-hal" }
|
||||
va108xx-hal = "0.9"
|
||||
va108xx-embassy = { path = "../../va108xx-embassy", default-features = false }
|
||||
|
||||
[features]
|
||||
|
@ -22,5 +22,5 @@ rtic-sync = { version = "1.3", features = ["defmt-03"] }
|
||||
once_cell = {version = "1", default-features = false, features = ["critical-section"]}
|
||||
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" }
|
||||
|
@ -16,7 +16,6 @@ embedded-io = "0.6"
|
||||
cortex-m-semihosting = "0.5.0"
|
||||
|
||||
[dependencies.va108xx-hal]
|
||||
path = "../../va108xx-hal"
|
||||
version = "0.9"
|
||||
features = ["rt", "defmt"]
|
||||
|
||||
|
@ -8,6 +8,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
|
||||
|
||||
## [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
|
||||
|
||||
- Added M95M01 EEPROM module/API
|
||||
|
@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "vorago-reb1"
|
||||
version = "0.6.0"
|
||||
version = "0.7.0"
|
||||
authors = ["Robin Mueller <muellerr@irs.uni-stuttgart.de>"]
|
||||
edition = "2021"
|
||||
description = "Board Support Crate for the Vorago REB1 development board"
|
||||
@ -19,7 +19,6 @@ bitfield = ">=0.17, <=0.18"
|
||||
max116xx-10bit = "0.3"
|
||||
|
||||
[dependencies.va108xx-hal]
|
||||
path = "../va108xx-hal"
|
||||
version = "0.9"
|
||||
features = ["rt"]
|
||||
|
||||
|
@ -11,23 +11,21 @@ use va108xx_hal::{
|
||||
};
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct Button {
|
||||
button: Pin<PA11, InputFloating>,
|
||||
}
|
||||
pub struct Button(pub Pin<PA11, InputFloating>);
|
||||
|
||||
impl Button {
|
||||
pub fn new(pin: Pin<PA11, InputFloating>) -> Button {
|
||||
Button { button: pin }
|
||||
Button(pin)
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn pressed(&mut self) -> bool {
|
||||
self.button.is_low().ok().unwrap()
|
||||
self.0.is_low().ok().unwrap()
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn released(&mut self) -> bool {
|
||||
self.button.is_high().ok().unwrap()
|
||||
self.0.is_high().ok().unwrap()
|
||||
}
|
||||
|
||||
/// Configures an IRQ on edge.
|
||||
@ -38,7 +36,7 @@ impl Button {
|
||||
syscfg: Option<&mut pac::Sysconfig>,
|
||||
irqsel: Option<&mut pac::Irqsel>,
|
||||
) {
|
||||
self.button
|
||||
self.0
|
||||
.configure_edge_interrupt(edge_type, irq_cfg, syscfg, irqsel);
|
||||
}
|
||||
|
||||
@ -50,7 +48,7 @@ impl Button {
|
||||
syscfg: Option<&mut pac::Sysconfig>,
|
||||
irqsel: Option<&mut pac::Irqsel>,
|
||||
) {
|
||||
self.button
|
||||
self.0
|
||||
.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
|
||||
/// [`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) {
|
||||
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 LD4 = Pin<PA6, PushPullOutput>;
|
||||
|
||||
pub struct Leds {
|
||||
leds: [Led; 3],
|
||||
}
|
||||
#[derive(Debug)]
|
||||
pub struct Leds(pub [Led; 3]);
|
||||
|
||||
impl 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];
|
||||
|
||||
fn deref(&self) -> &[Led] {
|
||||
&self.leds
|
||||
&self.0
|
||||
}
|
||||
}
|
||||
|
||||
impl core::ops::DerefMut for Leds {
|
||||
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;
|
||||
|
||||
fn index(&self, i: usize) -> &Led {
|
||||
&self.leds[i]
|
||||
&self.0[i]
|
||||
}
|
||||
}
|
||||
|
||||
impl core::ops::IndexMut<usize> for Leds {
|
||||
fn index_mut(&mut self, i: usize) -> &mut Led {
|
||||
&mut self.leds[i]
|
||||
&mut self.0[i]
|
||||
}
|
||||
}
|
||||
|
||||
pub struct Led {
|
||||
pin: DynPin,
|
||||
}
|
||||
#[derive(Debug)]
|
||||
pub struct Led(pub DynPin);
|
||||
|
||||
macro_rules! ctor {
|
||||
($($ldx:ident),+) => {
|
||||
$(
|
||||
impl From<$ldx> for Led {
|
||||
fn from(led: $ldx) -> Self {
|
||||
Led {
|
||||
pin: led.into()
|
||||
}
|
||||
Led(led.into())
|
||||
}
|
||||
}
|
||||
)+
|
||||
@ -79,18 +73,18 @@ impl Led {
|
||||
/// Turns the LED off. Setting the pin high actually turns the LED off
|
||||
#[inline]
|
||||
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
|
||||
#[inline]
|
||||
pub fn on(&mut self) {
|
||||
self.pin.set_low().ok();
|
||||
self.0.set_low().ok();
|
||||
}
|
||||
|
||||
/// Toggles the LED
|
||||
#[inline]
|
||||
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