updated version to v0.2 of embedded_hal, but broke f3 example
parent
ba5d44a1d7
commit
aff8b83ac3
|
|
@ -8,4 +8,4 @@ authors = ["Christoph Groß <christoph.gross@student.uni-tuebingen.de>"]
|
||||||
|
|
||||||
[dependencies.embedded-hal]
|
[dependencies.embedded-hal]
|
||||||
features = ["unproven"]
|
features = ["unproven"]
|
||||||
version = "0.1.2"
|
version = "0.2.1"
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,9 @@ authors = ["Christoph Groß <christoph.gross@student.uni-tuebingen.de>"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
|
||||||
eink_waveshare_rs = { git = "https://github.com/Caemor/eink-waveshare-rs"}
|
#eink_waveshare_rs = { git = "https://github.com/Caemor/eink-waveshare-rs"}
|
||||||
|
eink_waveshare_rs = { path = "../../"}
|
||||||
|
|
||||||
linux-embedded-hal = "0.1.1"
|
linux-embedded-hal = "0.2.0"
|
||||||
|
|
||||||
embedded-hal = { version = "0.1.2", features = ["unproven"] }
|
embedded-hal = { version = "0.2.1", features = ["unproven"] }
|
||||||
|
|
|
||||||
|
|
@ -17,28 +17,31 @@ use lin_hal::Delay;
|
||||||
|
|
||||||
// DigitalIn Hack as long as it's not in the linux_embedded_hal
|
// DigitalIn Hack as long as it's not in the linux_embedded_hal
|
||||||
// from https://github.com/rudihorn/max31865/blob/extra_examples/examples/rpi.rs
|
// from https://github.com/rudihorn/max31865/blob/extra_examples/examples/rpi.rs
|
||||||
|
// (slightly changed now as OutputPin doesn't provide is_high and is_low anymore)
|
||||||
extern crate embedded_hal;
|
extern crate embedded_hal;
|
||||||
use embedded_hal::digital::{InputPin, OutputPin};
|
use embedded_hal::digital::{InputPin};
|
||||||
|
|
||||||
struct HackInputPin<'a> {
|
struct HackInputPin<'a> {
|
||||||
pin: &'a OutputPin
|
pin: &'a Pin
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a> HackInputPin<'a> {
|
impl<'a> HackInputPin<'a> {
|
||||||
fn new(p : &'a OutputPin) -> HackInputPin {
|
fn new(p : &'a Pin) -> HackInputPin {
|
||||||
HackInputPin {
|
HackInputPin {
|
||||||
pin: p
|
pin: p
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO: make it safer?? or handle the errors better?
|
||||||
|
// now it defaults to is_low if an error appears
|
||||||
impl<'a> InputPin for HackInputPin<'a> {
|
impl<'a> InputPin for HackInputPin<'a> {
|
||||||
fn is_low(&self) -> bool {
|
fn is_low(&self) -> bool {
|
||||||
self.pin.is_low()
|
self.pin.get_value().unwrap_or(0) == 0
|
||||||
}
|
}
|
||||||
|
|
||||||
fn is_high(&self) -> bool {
|
fn is_high(&self) -> bool {
|
||||||
self.pin.is_high()
|
self.pin.get_value().unwrap_or(0) == 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,13 +4,14 @@ version = "0.1.0"
|
||||||
authors = ["Christoph Groß <christoph.gross@student.uni-tuebingen.de>"]
|
authors = ["Christoph Groß <christoph.gross@student.uni-tuebingen.de>"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
f3 = "0.5.3"
|
f3 = "0.6.0"
|
||||||
cortex-m = {version = "0.4.3"}
|
cortex-m = {version = "0.5.2"}
|
||||||
|
|
||||||
eink_waveshare_rs = { git = "https://github.com/Caemor/eink-waveshare-rs"}
|
#eink_waveshare_rs = { git = "https://github.com/Caemor/eink-waveshare-rs"}
|
||||||
|
eink_waveshare_rs = { path = "../../"}
|
||||||
|
|
||||||
# only temporary until Digital::InputPin has arrived in f3
|
# only temporary until Digital::InputPin has arrived in f3
|
||||||
embedded-hal = { version = "0.1.2", features = ["unproven"] }
|
embedded-hal = { version = "0.2.1", features = ["unproven"] }
|
||||||
|
|
||||||
# for #no_std
|
# for #no_std
|
||||||
panic-abort = "0.1.1"
|
panic-abort = "0.1.1"
|
||||||
|
|
|
||||||
|
|
@ -26,11 +26,11 @@ use hal::digital::{InputPin, OutputPin};
|
||||||
|
|
||||||
//from https://github.com/rudihorn/max31865/tree/extra_examples/examples
|
//from https://github.com/rudihorn/max31865/tree/extra_examples/examples
|
||||||
struct HackInputPin<'a> {
|
struct HackInputPin<'a> {
|
||||||
pin: &'a OutputPin
|
pin: &'a Pin
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'a> HackInputPin<'a> {
|
impl<'a> HackInputPin<'a> {
|
||||||
fn new(p : &'a OutputPin) -> HackInputPin {
|
fn new(p : &'a Pin) -> HackInputPin {
|
||||||
HackInputPin {
|
HackInputPin {
|
||||||
pin: p
|
pin: p
|
||||||
}
|
}
|
||||||
|
|
@ -75,7 +75,7 @@ fn main() {
|
||||||
//TODO: Fix when f3::hal includes Digital::InputPin
|
//TODO: Fix when f3::hal includes Digital::InputPin
|
||||||
//using the hack from rudihorn that Digital::OutputPin basically
|
//using the hack from rudihorn that Digital::OutputPin basically
|
||||||
//contains the needed functions for Digital::InputPin
|
//contains the needed functions for Digital::InputPin
|
||||||
let busy = gpioe.pe4.into_push_pull_output(&mut gpioe.moder, &mut gpioe.otyper);
|
let busy = gpioe.pe4.into_floating_input(&mut gpioe.moder, &mut gpioe.pupdr);
|
||||||
let busy_in = HackInputPin::new(&busy);
|
let busy_in = HackInputPin::new(&busy);
|
||||||
|
|
||||||
let dc = gpioe.pe5.into_push_pull_output(&mut gpioe.moder, &mut gpioe.otyper);
|
let dc = gpioe.pe5.into_push_pull_output(&mut gpioe.moder, &mut gpioe.otyper);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue