29 #ifndef _NANO_ENGINE_CORE_H_ 30 #define _NANO_ENGINE_CORE_H_ 41 #define ENGINE_DEFAULT_FPS (30) 55 BUTTON_NONE = 0B00000000,
56 BUTTON_DOWN = 0B00000001,
57 BUTTON_LEFT = 0B00000010,
58 BUTTON_RIGHT = 0B00000100,
59 BUTTON_UP = 0B00001000,
60 BUTTON_A = 0B00010000,
61 BUTTON_B = 0B00100000,
81 static bool pressed(uint8_t buttons);
123 #ifndef DOXYGEN_SHOULD_SKIP_THIS 132 static void connectKY40encoder(uint8_t pina_clk, uint8_t pinb_dt, int8_t pinc_sw = -1);
155 static uint8_t s_zkeypadPin;
156 static const uint8_t * s_gpioKeypadPins;
157 static uint8_t s_ky40_clk;
158 static uint8_t s_ky40_dt;
159 static uint8_t s_ky40_sw;
160 static uint8_t zkeypadButtons();
161 static uint8_t arduboyButtons();
162 static uint8_t gpioButtons();
163 static uint8_t ky40Buttons();
189 void setFrameRate(uint8_t fps);
222 uint8_t m_cpuLoad = 0;
232 template<
class C,
class D>
261 void notify(
const char *str);
266 template<
class C,
class D>
272 template<
class C,
class D>
280 template<
class C,
class D>
286 template<
class C,
class D>
void displayBuffer() __attribute__((noinline))
refreshes content on oled display. Refreshes content on oled display. Call it, if you want to update ...
void display()
refreshes content on oled display. Refreshes content on oled display. Call it, if you want to update ...
void loopCallback(TLoopCallback callback)
void displayPopup(const char *msg)
prints popup message over display content prints popup message over display content ...
uint32_t lcd_millis(void)
void notify(const char *str)
shows notification to a user for 1 seconds Shows notification to a user for 1 seconds ...
#define ENGINE_DEFAULT_FPS
uint8_t(* TNanoEngineGetButtons)(void)
void(* TLoopCallback)(void)
uint8_t m_frameDurationMs
void lcd_delay(unsigned long ms)