diff options
| -rw-r--r-- | firmware/include/inputs/button.h | 16 | ||||
| -rw-r--r-- | firmware/include/inputs/input.h | 23 | ||||
| -rw-r--r-- | firmware/src/main.cpp | 22 |
3 files changed, 60 insertions, 1 deletions
diff --git a/firmware/include/inputs/button.h b/firmware/include/inputs/button.h new file mode 100644 index 0000000..c3530ae --- /dev/null +++ b/firmware/include/inputs/button.h @@ -0,0 +1,16 @@ +#pragma once + +#include <cstdint> + +namespace inputs { + +class Button { +public: + Button(uint8_t pin); + + bool is_pressed(); + +private: +}; + +} diff --git a/firmware/include/inputs/input.h b/firmware/include/inputs/input.h new file mode 100644 index 0000000..7899ce7 --- /dev/null +++ b/firmware/include/inputs/input.h @@ -0,0 +1,23 @@ +#pragma once + +#include "inputs/button.h" + +namespace inputs { + +class Input { +public: + Input(/* pins */); + + void init(); + + bool down_pressed(); + bool up_pressed(); + bool right_pressed(); + bool left_pressed(); + bool a_pressed(); + bool b_pressed(); + +private: +}; + +} diff --git a/firmware/src/main.cpp b/firmware/src/main.cpp index a669a09..c512327 100644 --- a/firmware/src/main.cpp +++ b/firmware/src/main.cpp @@ -1,11 +1,31 @@ #include <Arduino.h> +#include "inputs/input.h" + +game::GameState state {}; +ui::UI ui { /* pins */ }; +inputs::Input input { /* pins */ }; + void setup() { - + state.init(); + input.init(); + ui.init(); } void loop() { + delay(1); + + if (input.down_pressed()) { + // TODO + } + + // update game state + // render game state + // every second + // automatically move down + // update game state + // render game state } |