PololuRust/lib.rs
1#![allow(non_snake_case)]
2#![allow(unused)]
3
4use std::error::Error;
5use std::thread;
6use std::time::Duration;
7
8// Gpio uses BCM pin numbering. BCM GPIO 23 is tied to physical pin 16.
9const GPIO_UART_TX: u8 = 14;
10
11struct PololuController {
12 target:[u8; 24],
13 min:[u8; 24],
14 max:[u8; 24],
15 pololuHeader : u8
16}
17
18impl PololuController {
19 pub fn new () -> Self {
20 return PololuController {
21 target: [0; 24],
22 min: [0; 24],
23 max: [0; 24],
24 //170: AA in decimal
25 //12: default device id
26 pololuHeader: 170 + 12
27 }
28 }
29}
30
31#[cfg(test)]
32mod tests {
33 // use rppal::{
34 // uart::{
35 // Parity,
36 // Uart,
37 // Result,
38 // },
39 // system::DeviceInfo,
40 // };
41
42 #[test]
43 fn it_works() {
44 assert_eq!(2 + 2, 4);
45 }
46
47 // #[test]
48 // fn lights() -> () {
49 // // println!("Blinking an LED on a {}.", super::DeviceInfo::new().unwrap().model());
50 // let mut uart: Uart = Uart::new(115_200, Parity::None, 8u8, 1u8).unwrap();
51 // // uart.set_baud_rate(115_200u32);
52 // uart.set_baud_rate(50u32);
53 // uart.send_start();
54
55 // let buffer: &[u8; 1usize] = &[0x01u8];
56
57 // loop {
58 // uart.write(buffer);
59 // }
60
61 // // Blink the LED by setting the pin's logic level high for 500 ms.
62 // // uart.set_high();
63 // // thread::sleep(Duration::from_millis(500));
64 // // uart.set_low();
65
66 // // Ok(())
67 // }
68}