From ae285b84ed551aa5c81443fcacb73e788a6d36c2 Mon Sep 17 00:00:00 2001 From: Felipe Balbi Date: Wed, 3 Dec 2025 14:07:57 -0800 Subject: CRC Fixes #74 Signed-off-by: Felipe Balbi --- examples/mcxa/src/bin/crc.rs | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 examples/mcxa/src/bin/crc.rs (limited to 'examples/mcxa') diff --git a/examples/mcxa/src/bin/crc.rs b/examples/mcxa/src/bin/crc.rs new file mode 100644 index 000000000..417b4f865 --- /dev/null +++ b/examples/mcxa/src/bin/crc.rs @@ -0,0 +1,39 @@ +#![no_std] +#![no_main] + +use embassy_executor::Spawner; +use hal::config::Config; +use hal::crc::Crc; +use {defmt_rtt as _, embassy_mcxa as hal, panic_probe as _}; + +#[embassy_executor::main] +async fn main(_spawner: Spawner) { + let config = Config::default(); + let mut p = hal::init(config); + + defmt::info!("CRC example"); + + let buf = b"123456789"; + + let mut crc = Crc::new_ccitt_false(p.CRC0.reborrow()); + let sum = crc.feed_bytes(buf); + assert_eq!(sum, 0x29b1); + + let mut crc = Crc::new_maxim(p.CRC0.reborrow()); + let sum = crc.feed_bytes(buf); + assert_eq!(sum, 0x44c2); + + let mut crc = Crc::new_kermit(p.CRC0.reborrow()); + let sum = crc.feed_bytes(buf); + assert_eq!(sum, 0x2189); + + let mut crc = Crc::new_iso_hdlc(p.CRC0.reborrow()); + let sum = crc.feed_bytes(buf); + assert_eq!(sum, 0xcbf4_3926); + + let mut crc = Crc::new_posix(p.CRC0.reborrow()); + let sum = crc.feed_bytes(buf); + assert_eq!(sum, 0x765e_7680); + + defmt::info!("CRC successful"); +} -- cgit