aboutsummaryrefslogtreecommitdiffstats
path: root/pico-watch.c
diff options
context:
space:
mode:
Diffstat (limited to 'pico-watch.c')
-rw-r--r--pico-watch.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/pico-watch.c b/pico-watch.c
index a7c3886..eb5f7cc 100644
--- a/pico-watch.c
+++ b/pico-watch.c
@@ -6,6 +6,7 @@
#include "oled/ss_oled.h"
#include "init.h"
+#include "buttons.h"
#include "apps/main_clock.h"
int current_app = 0;
@@ -14,6 +15,7 @@ int current_app = 0;
#define APP_DATA_BUFFER_LEN 256
int (*APPS_FUNC_INIT[NUMBER_OF_APPS])(SSOLED *oled, char *data, uint data_size) = {main_clock_init};
int (*APPS_FUNC_RENDER[NUMBER_OF_APPS])(SSOLED *oled, char *data, uint data_size) = {main_clock_render};
+int (*APPS_FUNC_BTNPRESS[NUMBER_OF_APPS])(SSOLED *oled, char *data, uint data_size, uint gpio) = {main_clock_btnpressed};
int (*APPS_FUNC_BGREFRESH[NUMBER_OF_APPS])(SSOLED *oled, char *data, uint data_size) = {main_clock_bgrefresh};
int (*APPS_FUNC_DESTROY[NUMBER_OF_APPS])(SSOLED *oled, char *data, uint data_size) = {main_clock_destroy};
char APPS_DATA[NUMBER_OF_APPS][APP_DATA_BUFFER_LEN];
@@ -29,6 +31,10 @@ int app_render(int app_id) {
return (*APPS_FUNC_RENDER[app_id])(&oled, &APPS_DATA[app_id][0], sizeof(APPS_DATA[app_id]));
}
+int app_btnpressed(int app_id, uint gpio) {
+ return (*APPS_FUNC_BTNPRESS[app_id])(&oled, &APPS_DATA[app_id][0], sizeof(APPS_DATA[app_id]), gpio);
+}
+
int app_destroy(int app_id) {
if (APPS_IS_INIT[app_id])
return (*APPS_FUNC_INIT[app_id])(&oled, &APPS_DATA[app_id][0], sizeof(APPS_DATA[app_id]));
@@ -36,10 +42,10 @@ int app_destroy(int app_id) {
int main() {
init_all();
+ init_buttons();
app_init(current_app);
- oledWriteString(&oled, 0,15,0, (char *)"Test clock", FONT_8x8, 0, 1);
while (1) {
app_render(current_app);
sleep_ms(500);