#ifndef MAIN_H #define MAIN_H #include #include #include #include #include #include #include #include #include #include #include #include "vars.h" #include "actions.h" #define IBVS_BADGE 1 #define IBVS_PROCESSOR 2 #define START_SCREEN_WAIT (4 * 200) // First number is the time in seconds #define NUM_OF_BADGES (10 + (10*8)) // First and second number have to be equal and is the number of badges // 0 = off // 1 = level-1 (verbose) – prints ONLY level-1 messages // 2 = level-2 (normal) – prints level-2 AND (because level-2 “contains” level-1) also level-1 #define DBG_LEVEL 1 // change at build-time #define DBG_L1(fmt, ...) do { if (DBG_LEVEL >= 1) Serial.printf(fmt, ##__VA_ARGS__); } while (0) #define DBG_L2(fmt, ...) do { if (DBG_LEVEL >= 2) Serial.printf(fmt, ##__VA_ARGS__); } while (0) // Struct objects for main data struct ShortText { char text[20]; int w; int h; }; struct LongText { char text[30]; int w; int h; }; extern bool screenNeedsUpdate; extern char current_screen; extern int ibvs_mode; // Funcion declarations void serial_config(); bool connect_wifi(); void mqtt_subs(); void mqtt_send_result(char result); void Winner_Screen(); void badge_registration(); void log_print(lv_log_level_t level, const char * buf); void touchscreen_read(lv_indev_t * indev, lv_indev_data_t * data); void screen_manager(void *pvParameters); void mqtt_manager(void *pvParameters); bool load_image(const char* filename); void listSPIFFS(); void handleImageUpload(); void handleUploadComplete(); #endif