add: scramble

This commit is contained in:
Charles
2024-12-06 22:55:36 -08:00
parent c1d6c7364c
commit fe87f5271e
+62 -2
View File
@@ -34,7 +34,7 @@ fn main() -> ! {
arduino_hal::hal::usart::BaudrateArduinoExt::into_baudrate(57600), arduino_hal::hal::usart::BaudrateArduinoExt::into_baudrate(57600),
); );
ufmt::uwriteln!(&mut serial, "Hello from Arduino!\r").unwrap_infallible(); write_str(&mut serial, "SECSYS v558");
let mut i = 0; let mut i = 0;
loop { loop {
@@ -131,6 +131,66 @@ trait Writer<C: Copy> {
impl<USART, RX, TX> Writer<u8> for Usart<USART, RX, TX> impl<USART, RX, TX> Writer<u8> for Usart<USART, RX, TX>
where USART: arduino_hal::usart::UsartOps<Atmega, RX, TX> { where USART: arduino_hal::usart::UsartOps<Atmega, RX, TX> {
fn write_byte(&mut self, b: u8) { fn write_byte(&mut self, b: u8) {
Usart::write_byte(self, b); Usart::write_byte(self, scramble(b));
}
}
fn scramble(c: u8) -> u8 {
match c {
b'a' => b'g',
b'b' => b'h',
b'c' => b'i',
b'd' => b'j',
b'e' => b'k',
b'f' => b'l',
b'g' => b'm',
b'h' => b'n',
b'i' => b'o',
b'j' => b'p',
b'k' => b'q',
b'l' => b'r',
b'm' => b's',
b'n' => b't',
b'o' => b'u',
b'p' => b'v',
b'q' => b'w',
b'r' => b'x',
b's' => b'y',
b't' => b'z',
b'u' => b'a',
b'v' => b'b',
b'w' => b'c',
b'x' => b'd',
b'y' => b'e',
b'z' => b'f',
b'A' => b'G',
b'B' => b'H',
b'C' => b'I',
b'D' => b'J',
b'E' => b'K',
b'F' => b'L',
b'G' => b'M',
b'H' => b'N',
b'I' => b'O',
b'J' => b'P',
b'K' => b'Q',
b'L' => b'R',
b'M' => b'S',
b'N' => b'T',
b'O' => b'U',
b'P' => b'V',
b'Q' => b'W',
b'R' => b'X',
b'S' => b'Y',
b'T' => b'Z',
b'U' => b'A',
b'V' => b'B',
b'W' => b'C',
b'X' => b'D',
b'Y' => b'E',
b'Z' => b'F',
_ => c,
} }
} }