feat: try to integrate algorithms into the stm32 main code to calc crc's
This commit is contained in:
parent
84a7fc294b
commit
28611efedb
4 changed files with 22 additions and 9 deletions
17
Cargo.lock
generated
17
Cargo.lock
generated
|
@ -11,6 +11,14 @@ dependencies = [
|
||||||
"memchr",
|
"memchr",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "algorithms"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"criterion",
|
||||||
|
"iai",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "as-slice"
|
name = "as-slice"
|
||||||
version = "0.2.1"
|
version = "0.2.1"
|
||||||
|
@ -52,14 +60,6 @@ version = "1.0.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f8fe8f5a8a398345e52358e18ff07cc17a568fbca5c6f73873d3a62056309603"
|
checksum = "f8fe8f5a8a398345e52358e18ff07cc17a568fbca5c6f73873d3a62056309603"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "benches"
|
|
||||||
version = "0.1.0"
|
|
||||||
dependencies = [
|
|
||||||
"criterion",
|
|
||||||
"iai",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bitfield"
|
name = "bitfield"
|
||||||
version = "0.13.2"
|
version = "0.13.2"
|
||||||
|
@ -396,6 +396,7 @@ checksum = "8d5439c4ad607c3c23abf66de8c8bf57ba8adcd1f129e699851a6e43935d339d"
|
||||||
name = "nucleo-l053r8-benches"
|
name = "nucleo-l053r8-benches"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"algorithms",
|
||||||
"cortex-m",
|
"cortex-m",
|
||||||
"cortex-m-rt",
|
"cortex-m-rt",
|
||||||
"defmt 1.0.1",
|
"defmt 1.0.1",
|
||||||
|
|
|
@ -14,6 +14,7 @@ cortex-m-rt = "0.7.5"
|
||||||
defmt = { version = "1.0.1" }
|
defmt = { version = "1.0.1" }
|
||||||
defmt-rtt = { version = "1.0.0" }
|
defmt-rtt = { version = "1.0.0" }
|
||||||
panic-probe = { version = "0.3", features = ["print-defmt"] }
|
panic-probe = { version = "0.3", features = ["print-defmt"] }
|
||||||
|
algorithms = { path = "./crates/algorithms" }
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["buildscript"]
|
default = ["buildscript"]
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
[package]
|
[package]
|
||||||
name = "benches"
|
name = "algorithms"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
|
|
||||||
|
|
11
src/main.rs
11
src/main.rs
|
@ -1,6 +1,8 @@
|
||||||
#![no_main]
|
#![no_main]
|
||||||
#![no_std]
|
#![no_std]
|
||||||
|
|
||||||
|
use algorithms::crc::{Crc, Crc32 as Crc32Rust, ffi::Crc32 as Crc32C};
|
||||||
|
|
||||||
use defmt::{debug, error, info, println, trace, warn};
|
use defmt::{debug, error, info, println, trace, warn};
|
||||||
use panic_probe as _;
|
use panic_probe as _;
|
||||||
|
|
||||||
|
@ -16,6 +18,8 @@ fn panic() -> ! {
|
||||||
cortex_m::asm::udf()
|
cortex_m::asm::udf()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const DATA: &[u8] = b"hello world AAAAAAAAAAAAAAAAAAAAAAA";
|
||||||
|
|
||||||
#[entry]
|
#[entry]
|
||||||
fn main() -> ! {
|
fn main() -> ! {
|
||||||
let dp = pac::Peripherals::take().unwrap();
|
let dp = pac::Peripherals::take().unwrap();
|
||||||
|
@ -34,6 +38,8 @@ fn main() -> ! {
|
||||||
// Get the delay provider.
|
// Get the delay provider.
|
||||||
let mut delay = cp.SYST.delay(rcc.clocks);
|
let mut delay = cp.SYST.delay(rcc.clocks);
|
||||||
|
|
||||||
|
let mut crc;
|
||||||
|
|
||||||
#[allow(clippy::never_loop)]
|
#[allow(clippy::never_loop)]
|
||||||
loop {
|
loop {
|
||||||
println!("Hello World!");
|
println!("Hello World!");
|
||||||
|
@ -46,6 +52,11 @@ fn main() -> ! {
|
||||||
led.set_high().unwrap();
|
led.set_high().unwrap();
|
||||||
delay.delay_ms(500_u16);
|
delay.delay_ms(500_u16);
|
||||||
|
|
||||||
|
crc = Crc32Rust::checksum(DATA);
|
||||||
|
info!("CRC (Rust): {:08x}", crc);
|
||||||
|
crc = Crc32C::checksum(DATA);
|
||||||
|
info!("CRC (C) : {:08x}", crc);
|
||||||
|
|
||||||
led.set_low().unwrap();
|
led.set_low().unwrap();
|
||||||
delay.delay_ms(500_u16);
|
delay.delay_ms(500_u16);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue