|
|
|
|
@ -1,3 +1,4 @@
|
|
|
|
|
#![feature(start)] |
|
|
|
|
#![deny(unsafe_code)] |
|
|
|
|
#![no_std] |
|
|
|
|
|
|
|
|
|
@ -26,11 +27,11 @@ use hal::digital::{InputPin, OutputPin};
|
|
|
|
|
|
|
|
|
|
//from https://github.com/rudihorn/max31865/tree/extra_examples/examples
|
|
|
|
|
struct HackInputPin<'a> { |
|
|
|
|
pin: &'a Pin |
|
|
|
|
pin: &'a OutputPin |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
impl<'a> HackInputPin<'a> { |
|
|
|
|
fn new(p : &'a Pin) -> HackInputPin { |
|
|
|
|
fn new(p : &'a OutputPin) -> HackInputPin { |
|
|
|
|
HackInputPin { |
|
|
|
|
pin: p |
|
|
|
|
} |
|
|
|
|
@ -53,6 +54,7 @@ impl<'a> InputPin for HackInputPin<'a> {
|
|
|
|
|
* |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
#[start] |
|
|
|
|
fn main() { |
|
|
|
|
let cp = cortex_m::Peripherals::take().unwrap(); |
|
|
|
|
let p = stm32f30x::Peripherals::take().unwrap(); |
|
|
|
|
@ -75,7 +77,8 @@ fn main() {
|
|
|
|
|
//TODO: Fix when f3::hal includes Digital::InputPin
|
|
|
|
|
//using the hack from rudihorn that Digital::OutputPin basically
|
|
|
|
|
//contains the needed functions for Digital::InputPin
|
|
|
|
|
let busy = gpioe.pe4.into_floating_input(&mut gpioe.moder, &mut gpioe.pupdr); |
|
|
|
|
//let busy = gpioe.pe4.into_floating_input(&mut gpioe.moder, &mut gpioe.pupdr);
|
|
|
|
|
let busy = gpioe.pe4.into_push_pull_output(&mut gpioe.moder, &mut gpioe.otyper); |
|
|
|
|
let busy_in = HackInputPin::new(&busy); |
|
|
|
|
|
|
|
|
|
let dc = gpioe.pe5.into_push_pull_output(&mut gpioe.moder, &mut gpioe.otyper); |
|
|
|
|
|