Macro keypad::keypad_new[][src]

macro_rules! keypad_new {
    ( $struct_name:ident {
        rows: ( $($row_val:expr),* $(,)* ),
        columns: ( $($col_val:expr),* $(,)* ),
    }) => { ... };
}

Create an instance of the struct you defined with the keypad_struct!() macro..

The pin numbers and modes will need to match the ones you specified with keypad_struct!().

let pins = GPIOA::split();

let keypad = keypad_new!(ExampleKeypad {
    rows: (
        pins.pa0.into_pull_up_input(),
        pins.pa1.into_pull_up_input(),
        pins.pa2.into_pull_up_input(),
        pins.pa3.into_pull_up_input(),
    ),
    columns: (
        pins.pa4.into_open_drain_output(),
        pins.pa5.into_open_drain_output(),
        pins.pa6.into_open_drain_output(),
        pins.pa7.into_open_drain_output(),
        pins.pa8.into_open_drain_output(),
    ),
});