Compare commits
4 Commits
vorago-reb
...
3e60d1d59b
Author | SHA1 | Date | |
---|---|---|---|
3e60d1d59b
|
|||
3bc2ee4343 | |||
1ec66e826c
|
|||
606d6a43b4
|
@ -14,6 +14,6 @@ embedded-hal-nb = "1"
|
|||||||
embedded-io = "0.6"
|
embedded-io = "0.6"
|
||||||
|
|
||||||
[dependencies.va108xx-hal]
|
[dependencies.va108xx-hal]
|
||||||
version = "0.10.0"
|
version = "0.11"
|
||||||
features = ["rt"]
|
features = ["rt"]
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ num_enum = { version = "0.7", default-features = false }
|
|||||||
static_assertions = "1"
|
static_assertions = "1"
|
||||||
|
|
||||||
[dependencies.va108xx-hal]
|
[dependencies.va108xx-hal]
|
||||||
version = "0.10"
|
version = "0.11"
|
||||||
|
|
||||||
[dependencies.vorago-reb1]
|
[dependencies.vorago-reb1]
|
||||||
version = "0.8"
|
version = "0.8"
|
||||||
|
@ -27,8 +27,8 @@ embassy-executor = { version = "0.7", features = [
|
|||||||
"executor-interrupt"
|
"executor-interrupt"
|
||||||
]}
|
]}
|
||||||
|
|
||||||
va108xx-hal = { version = "0.11", path = "../../va108xx-hal" }
|
va108xx-hal = { version = "0.11" }
|
||||||
va108xx-embassy = { version = "0.2", path = "../../va108xx-embassy" }
|
va108xx-embassy = { version = "0.2" }
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["ticks-hz-1_000", "va108xx-embassy/irq-oc30-oc31"]
|
default = ["ticks-hz-1_000", "va108xx-embassy/irq-oc30-oc31"]
|
||||||
|
@ -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.11", path = "../../va108xx-hal" }
|
va108xx-hal = { version = "0.11" }
|
||||||
vorago-reb1 = { version = "0.8", path = "../../vorago-reb1" }
|
vorago-reb1 = { version = "0.8" }
|
||||||
|
@ -17,9 +17,7 @@ cortex-m-semihosting = "0.5.0"
|
|||||||
|
|
||||||
[dependencies.va108xx-hal]
|
[dependencies.va108xx-hal]
|
||||||
version = "0.11"
|
version = "0.11"
|
||||||
path = "../../va108xx-hal"
|
|
||||||
features = ["rt", "defmt"]
|
features = ["rt", "defmt"]
|
||||||
|
|
||||||
[dependencies.vorago-reb1]
|
[dependencies.vorago-reb1]
|
||||||
version = "0.8"
|
version = "0.8"
|
||||||
path = "../../vorago-reb1"
|
|
||||||
|
@ -29,7 +29,7 @@ rtic-monotonics = { version = "2", features = ["cortex-m-systick"] }
|
|||||||
rtic-sync = {version = "1", features = ["defmt-03"]}
|
rtic-sync = {version = "1", features = ["defmt-03"]}
|
||||||
|
|
||||||
[dependencies.va108xx-hal]
|
[dependencies.va108xx-hal]
|
||||||
version = "0.10"
|
version = "0.11"
|
||||||
|
|
||||||
[dependencies.vorago-reb1]
|
[dependencies.vorago-reb1]
|
||||||
version = "0.8"
|
version = "0.8"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "va108xx-embassy"
|
name = "va108xx-embassy"
|
||||||
version = "0.2.0"
|
version = "0.2.1"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
authors = ["Robin Mueller <muellerr@irs.uni-stuttgart.de>"]
|
authors = ["Robin Mueller <muellerr@irs.uni-stuttgart.de>"]
|
||||||
description = "Embassy-rs support for the Vorago VA108xx family of microcontrollers"
|
description = "Embassy-rs support for the Vorago VA108xx family of microcontrollers"
|
||||||
|
@ -892,7 +892,15 @@ impl<Uart: Instance> embedded_hal_nb::serial::Read<u8> for Rx<Uart> {
|
|||||||
|
|
||||||
impl<Uart: Instance> embedded_io::Read for Rx<Uart> {
|
impl<Uart: Instance> embedded_io::Read for Rx<Uart> {
|
||||||
fn read(&mut self, buf: &mut [u8]) -> Result<usize, Self::Error> {
|
fn read(&mut self, buf: &mut [u8]) -> Result<usize, Self::Error> {
|
||||||
|
if buf.is_empty() {
|
||||||
|
return Ok(0);
|
||||||
|
}
|
||||||
let mut read = 0;
|
let mut read = 0;
|
||||||
|
loop {
|
||||||
|
if self.0.rxstatus().read().rdavl().bit_is_set() {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
for byte in buf.iter_mut() {
|
for byte in buf.iter_mut() {
|
||||||
match <Self as embedded_hal_nb::serial::Read<u8>>::read(self) {
|
match <Self as embedded_hal_nb::serial::Read<u8>>::read(self) {
|
||||||
Ok(w) => {
|
Ok(w) => {
|
||||||
@ -1058,6 +1066,14 @@ impl<Uart: Instance> embedded_hal_nb::serial::Write<u8> for Tx<Uart> {
|
|||||||
|
|
||||||
impl<Uart: Instance> embedded_io::Write for Tx<Uart> {
|
impl<Uart: Instance> embedded_io::Write for Tx<Uart> {
|
||||||
fn write(&mut self, buf: &[u8]) -> Result<usize, Self::Error> {
|
fn write(&mut self, buf: &[u8]) -> Result<usize, Self::Error> {
|
||||||
|
if buf.is_empty() {
|
||||||
|
return Ok(0);
|
||||||
|
}
|
||||||
|
loop {
|
||||||
|
if self.0.txstatus().read().wrrdy().bit_is_set() {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
let mut written = 0;
|
let mut written = 0;
|
||||||
for byte in buf.iter() {
|
for byte in buf.iter() {
|
||||||
match <Self as embedded_hal_nb::serial::Write<u8>>::write(self, *byte) {
|
match <Self as embedded_hal_nb::serial::Write<u8>>::write(self, *byte) {
|
||||||
@ -1066,7 +1082,7 @@ impl<Uart: Instance> embedded_io::Write for Tx<Uart> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(buf.len())
|
Ok(written)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn flush(&mut self) -> Result<(), Self::Error> {
|
fn flush(&mut self) -> Result<(), Self::Error> {
|
||||||
|
Reference in New Issue
Block a user