29 #ifndef _NANO_ENGINE_CORE_H_ 30 #define _NANO_ENGINE_CORE_H_ 52 BUTTON_NONE = 0B00000000,
53 BUTTON_DOWN = 0B00000001,
54 BUTTON_LEFT = 0B00000010,
55 BUTTON_RIGHT = 0B00000100,
56 BUTTON_UP = 0B00001000,
57 BUTTON_A = 0B00010000,
58 BUTTON_B = 0B00100000,
78 static bool pressed(uint8_t buttons);
120 #ifndef DOXYGEN_SHOULD_SKIP_THIS 129 static void connectKY40encoder(uint8_t pina_clk, uint8_t pinb_dt, int8_t pinc_sw = -1);
152 static uint8_t s_zkeypadPin;
153 static const uint8_t * s_gpioKeypadPins;
154 static uint8_t s_ky40_clk;
155 static uint8_t s_ky40_dt;
156 static uint8_t s_ky40_sw;
157 static uint8_t zkeypadButtons();
158 static uint8_t arduboyButtons();
159 static uint8_t gpioButtons();
160 static uint8_t ky40Buttons();
186 static void setFrameRate(uint8_t fps);
204 static bool nextFrame();
229 template<
class C, u
int8_t W, u
int8_t H, u
int8_t B>
245 static void display();
258 static void notify(
const char *str);
263 template<
class C, u
int8_t W, u
int8_t H, u
int8_t B>
269 template<
class C, u
int8_t W, u
int8_t H, u
int8_t B>
277 template<
class C, u
int8_t W, u
int8_t H, u
int8_t B>
281 if (C::BITS_PER_PIXEL > 1)
287 template<
class C, u
int8_t W, u
int8_t H, u
int8_t B>
void ssd1306_setMode(lcd_mode_t mode)
Sets library display mode for direct draw functions.
void(* TLoopCallback)(void)
static TLoopCallback m_loop
uint8_t(* TNanoEngineGetButtons)(void)
static uint32_t m_lastFrameTs
static uint8_t getFrameRate()
static uint8_t getCpuLoad()
static void displayBuffer()
refreshes content on oled display. Refreshes content on oled display. Call it, if you want to update ...
static void displayPopup(const char *msg)
prints popup message over display content prints popup message over display content ...
static void notify(const char *str)
shows notification to a user for 1 seconds Shows notification to a user for 1 seconds ...
static uint8_t m_frameDurationMs
static void display()
refreshes content on oled display. Refreshes content on oled display. Call it, if you want to update ...