add: all files
This commit is contained in:
@@ -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,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user