add: all files

This commit is contained in:
Charles
2025-03-23 19:06:13 -07:00
parent fe87f5271e
commit 1bc99bd808
36 changed files with 1484 additions and 0 deletions
+104
View File
@@ -0,0 +1,104 @@
#![no_std]
#![no_main]
use core::str;
use arduino_hal::{delay_ms, hal::Atmega, pac::{fuse::high, USART0}, prelude::*, Usart};
use panic_halt as _;
#[arduino_hal::entry]
fn main() -> ! {
let dp = arduino_hal::Peripherals::take().unwrap();
let pins = arduino_hal::pins!(dp);
//let mut serial = arduino_hal::default_serial!(dp, pins, 57600);
let mut serial0 = arduino_hal::Usart::new(
dp.USART0,
pins.d0,
pins.d1.into_output(),
// See src/usart.rs for why some boards use the BaudrateArduinoExt trait
// instead of BaudrateExt.
arduino_hal::hal::usart::BaudrateArduinoExt::into_baudrate(57600),
);
let mut serial1 = arduino_hal::Usart::new(
dp.USART1,
pins.d19,
pins.d18.into_output(),
// See src/usart.rs for why some boards use the BaudrateArduinoExt trait
// instead of BaudrateExt.
arduino_hal::hal::usart::BaudrateArduinoExt::into_baudrate(57600),
);
loop {
match serial1.read() {
Ok(v) => serial0.write(unscramble(v)),
Err(_) => Ok(()),
}.unwrap();
match serial0.read() {
Ok(v) => serial1.write(v),
Err(_) => Ok(()),
}.unwrap();
serial0.flush();
serial1.flush();
}
}
fn unscramble(c: u8) -> u8 {
match c {
b'g' => b'a',
b'h' => b'b',
b'i' => b'c',
b'j' => b'd',
b'k' => b'e',
b'l' => b'f',
b'm' => b'g',
b'n' => b'h',
b'o' => b'i',
b'p' => b'j',
b'q' => b'k',
b'r' => b'l',
b's' => b'm',
b't' => b'n',
b'u' => b'o',
b'v' => b'p',
b'w' => b'q',
b'x' => b'r',
b'y' => b's',
b'z' => b't',
b'a' => b'u',
b'b' => b'v',
b'c' => b'w',
b'd' => b'x',
b'e' => b'y',
b'f' => b'z',
b'G' => b'A',
b'H' => b'B',
b'I' => b'C',
b'J' => b'D',
b'K' => b'E',
b'L' => b'F',
b'M' => b'G',
b'N' => b'H',
b'O' => b'I',
b'P' => b'J',
b'Q' => b'K',
b'R' => b'L',
b'S' => b'M',
b'T' => b'N',
b'U' => b'O',
b'V' => b'P',
b'W' => b'Q',
b'X' => b'R',
b'Y' => b'S',
b'Z' => b'T',
b'A' => b'U',
b'B' => b'V',
b'C' => b'W',
b'D' => b'X',
b'E' => b'Y',
b'F' => b'Z',
_ => c,
}
}