summaryrefslogtreecommitdiff
path: root/shared-module/_pew/PewPew.c
diff options
context:
space:
mode:
authorRadomir Dopieralski <openstack@sheep.art.pl>2018-08-23 23:22:47 +0200
committerRadomir Dopieralski <openstack@sheep.art.pl>2019-02-28 23:34:03 +0100
commit59f63eaef6d1024163864c9b30f879efc9dfd682 (patch)
tree30c08d2c5e052e0929b932d835605ffe845aa952 /shared-module/_pew/PewPew.c
parent0a5c1c94025a1d36762d14b48995337b0f09ce97 (diff)
Handle new buttons
Diffstat (limited to 'shared-module/_pew/PewPew.c')
-rw-r--r--shared-module/_pew/PewPew.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/shared-module/_pew/PewPew.c b/shared-module/_pew/PewPew.c
index de1224a37..27c2d1c99 100644
--- a/shared-module/_pew/PewPew.c
+++ b/shared-module/_pew/PewPew.c
@@ -52,16 +52,17 @@ void pewpew_interrupt_handler(uint8_t index) {
}
void pew_init() {
- pew_obj_t* pew_singleton = MP_STATE_VM(pew_singleton);
- for (size_t i = 0; i < pew_singleton->rows_size; ++i) {
- digitalio_digitalinout_obj_t *pin = MP_OBJ_TO_PTR(
- pew_singleton->rows[i]);
+ pew_obj_t* pew = MP_STATE_VM(pew_singleton);
+
+ common_hal_digitalio_digitalinout_switch_to_input(pew->buttons, PULL_UP);
+
+ for (size_t i = 0; i < pew->rows_size; ++i) {
+ digitalio_digitalinout_obj_t *pin = MP_OBJ_TO_PTR(pew->rows[i]);
common_hal_digitalio_digitalinout_switch_to_output(pin, false,
DRIVE_MODE_PUSH_PULL);
}
- for (size_t i = 0; i < pew_singleton->cols_size; ++i) {
- digitalio_digitalinout_obj_t *pin = MP_OBJ_TO_PTR(
- pew_singleton->cols[i]);
+ for (size_t i = 0; i < pew->cols_size; ++i) {
+ digitalio_digitalinout_obj_t *pin = MP_OBJ_TO_PTR(pew->cols[i]);
common_hal_digitalio_digitalinout_switch_to_output(pin, true,
DRIVE_MODE_OPEN_DRAIN);
}