1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
//! Basic GPIO access. use rand::{thread_rng, Rng}; /// Pin Mode pub enum Mode { Input, Output, } /// Available Pins pub enum Pin { P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, } /// Init `Pin` in Input/Output `Mode` /// /// ## Examples /// /// ``` /// use mockup_hal::gpio::{init, Pin, Mode}; /// /// init(&Pin::P12, &Mode::Input); /// ``` pub fn init(_pin: &Pin, _mode: &Mode) {} /// Read digital value from `Pin` /// /// In the mockup version, it simply returns a random bool. /// /// ## Examples /// /// ``` /// use mockup_hal::gpio::{init, read, Pin, Mode}; /// /// init(&Pin::P12, &Mode::Input); /// let high = read(&Pin::P12); /// ``` pub fn read(_pin: &Pin) -> bool { thread_rng().gen() } /// Write digital value to `Pin` /// /// In the mockup version, it doesn't do anything. /// /// ## Examples /// /// ``` /// use mockup_hal::gpio::{init, write, Pin, Mode}; /// /// init(&Pin::P12, &Mode::Output); /// write(&Pin::P12, false); /// ``` pub fn write(_pin: &Pin, _on: bool) {}