Fixed SimpleVector push

This commit is contained in:
2023-09-28 21:51:38 +02:00
parent 4d45ebba5b
commit df53777a80
4 changed files with 41 additions and 102 deletions

View File

@@ -2,21 +2,21 @@
#![no_main]
mod webee;
use webee::{Webee, Vector};
use webee::{Webee};
use arduino_hal::Peripherals;
use arduino_hal::{port::{Pin, mode::AnyInput}};
use arduino_hal::hal::port::PD2;
use arduino_hal::port::mode::{Floating, Input};
use arduino_hal::{delay_ms, Peripherals};
use arduino_hal::prelude::*;
use panic_halt as _;
use crate::webee::SimpleVec;
#[arduino_hal::entry]
fn main() -> ! {
let dp = Peripherals::take().unwrap();
let pins = arduino_hal::pins!(dp);
let status = pins.d13.into_output();
let _status = pins.d13.into_output();
let webee_rx = pins.d2;
let mut serial = arduino_hal::default_serial!(dp, pins, 57600);
let mut test = Webee::new(
@@ -25,49 +25,23 @@ fn main() -> ! {
pins.d18.into_output()
);
// let mut webee = Usart::new(
// dp.USART1,
// pins.d19,
// pins.d18.into_output(),
// 38400.into_baudrate(),
// );
ufmt::uwriteln!(&mut serial, "Webee initialized: {}", webee_rx.is_high()).void_unwrap();
delay_ms(1000);
// ufmt::uwriteln!(&mut serial, "Hello, World!").void_unwrap();
// ufmt::uwriteln!(&mut serial, "RX ready: {}", rx.is_high()).void_unwrap();
// delay_ms(1000);
// ufmt::uwriteln!(&mut serial, "RX ready: {}", rx.is_high()).void_unwrap();
{
let x = SimpleVec::from_slice(&[0x5a, 0xaa, 0xb1]);
ufmt::uwrite!(&mut serial, "Vector ({}): ", x.len());
for byte in &x.items()[..x.len()] {
ufmt::uwrite!(&mut serial, "{:02X} ", *byte);
}
ufmt::uwrite!(&mut serial, "\n");
}
// let webee = Webee::new(dp.USART1, pins.d19, pins.d18);
// let mut test = webee.write(0xFF);
// while let Err(_) = test {
// test = webee.write(0xFF);
// ufmt::uwriteln!(&mut serial, "initializing..").void_unwrap();
// delay_ms(500);
// }
ufmt::uwriteln!(&mut serial, "Webee initialized!").void_unwrap();
// delay_ms(1000);
// let mut init = true;
// while init {
// match webee.write(0) {
// Ok(_) => {
// webee.flush();
// ufmt::uwriteln!(&mut serial, "Webee initialized!").void_unwrap();
// init = false;
// }
// Err(_) => {
// ufmt::uwriteln!(&mut serial, "initializing..").void_unwrap();
// delay_ms(500);
// }
// }
// }
// ufmt::uwriteln!(&mut serial, "RX ready: {}", rx.is_high()).void_unwrap();
let data: [u8; 3] = [0x5a, 0xaa, 0xb1];
let role : Vector<u8> = test.send(Vector::new(3, data.as_mut_slice()));
ufmt::uwriteln!(&mut serial, "Role: {}", role);
let role = test.send(&[0x5a, 0xaa, 0xb1]);
ufmt::uwrite!(&mut serial, "Role: ");
for byte in role.items() {
ufmt::uwrite!(&mut serial, "{:02X}", byte);
}
// for byte in [0x5a, 0xaa, 0xb1].iter() {
// webee.write_byte(*byte);