From 36af43b1445588210b29a17c90e292029a884095 Mon Sep 17 00:00:00 2001 From: redfast00 Date: Wed, 26 Aug 2020 23:36:35 +0200 Subject: [PATCH] Add basic module with two buttons --- src/modules/testmodule_buttons/doc/index.md | 6 +++ .../testmodule_buttons/testmodule_buttons.ino | 44 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 src/modules/testmodule_buttons/doc/index.md create mode 100644 src/modules/testmodule_buttons/testmodule_buttons.ino diff --git a/src/modules/testmodule_buttons/doc/index.md b/src/modules/testmodule_buttons/doc/index.md new file mode 100644 index 0000000..f751538 --- /dev/null +++ b/src/modules/testmodule_buttons/doc/index.md @@ -0,0 +1,6 @@ +## Testmodule buttons + +Don't press the red button. Press the green button to solve the module. + +### Credits +Module developed by redfast00. diff --git a/src/modules/testmodule_buttons/testmodule_buttons.ino b/src/modules/testmodule_buttons/testmodule_buttons.ino new file mode 100644 index 0000000..9ac77e7 --- /dev/null +++ b/src/modules/testmodule_buttons/testmodule_buttons.ino @@ -0,0 +1,44 @@ +// (c) 2020, redfast00 +// See the LICENSE file for conditions for copying + +#include +#include + +ezButton red_button(5); +ezButton green_button(6); + +void setup() { + Serial.begin(115200); + // WARNING: do not use 255 for your module + obus_module::setup(OBUS_TYPE_PUZZLE, 255); + red_button.setDebounceTime(100); + green_button.setDebounceTime(100); +} + +obus_can::message message; + +void loop() { + bool received = obus_module::loop(&message); + // TODO handle update frames (not needed for this module, but could be useful as example code) + + red_button.loop(); + green_button.loop(); + + if (red_button.getCount() > 0) { + red_button.resetCount(); + obus_module::strike(); + } + + if (green_button.getCount() > 0) { + green_button.resetCount(); + obus_module::solve(); + } +} + +void callback_game_start() { + // Intentionally emtpy +} + +void callback_game_stop() { + // Intentionally empty +}