diff options
| author | Gustav Sörnäs <gustav@sornas.net> | 2021-06-05 01:42:12 +0200 |
|---|---|---|
| committer | Gustav Sörnäs <gustav@sornas.net> | 2021-06-05 01:42:12 +0200 |
| commit | 1fd1fa7d4d84abc93cf657c70c0ff1afaa2cdd93 (patch) | |
| tree | 309ea34f46042d3aec0375d4ff67e1f87167fcce /src | |
| download | joystick-1fd1fa7d4d84abc93cf657c70c0ff1afaa2cdd93.tar.gz | |
initial commit
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.rs | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..68e1d38 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,42 @@ +#![no_std] +#![no_main] + +use arduino_uno::{adc::{Adc, AdcSettings}, hal::{clock::MHz16, port::{mode::{Floating, Input, Output}, portd::{PD0, PD1}}, usart::Usart}, pac::USART0, prelude::*}; +use panic_halt as _; + +type _Serial = Usart<USART0, PD0<Input<Floating>>, PD1<Output>, MHz16>; + +#[arduino_uno::entry] +fn main() -> ! { + let dp = arduino_uno::Peripherals::take().unwrap(); + + let mut pins = arduino_uno::Pins::new(dp.PORTB, dp.PORTC, dp.PORTD); + + let mut led = pins.d13.into_output(&mut pins.ddr); + led.set_low().void_unwrap(); + + let mut serial = arduino_uno::Serial::new( + dp.USART0, + pins.d0, + pins.d1.into_output(&mut pins.ddr), + 57600.into_baudrate(), + ); + + let mut adc = Adc::new(dp.ADC, AdcSettings::default()); + + let mut a0 = pins.a0.into_analog_input(&mut adc); + let mut a1 = pins.a1.into_analog_input(&mut adc); + let mut a2 = pins.a2.into_analog_input(&mut adc); + + loop { + let a0: u16 = nb::block!(adc.read(&mut a0)).void_unwrap(); + let a1: u16 = nb::block!(adc.read(&mut a1)).void_unwrap(); + let a2: u16 = nb::block!(adc.read(&mut a2)).void_unwrap(); + // let b = nb::block!(serial.read()).void_unwrap(); + match serial.read() { + Ok(_) => (), + Err(_) => (), + } + arduino_uno::delay_ms(100); + } +} |
