64 lines
1.6 KiB
C++
64 lines
1.6 KiB
C++
#ifndef MAIN_H
|
||
#define MAIN_H
|
||
|
||
#include <Arduino.h>
|
||
#include <vector>
|
||
#include <lvgl.h>
|
||
#include <TFT_eSPI.h>
|
||
#include <XPT2046_Touchscreen.h>
|
||
#include <SPI.h>
|
||
#include <ui.h>
|
||
#include <WiFi.h>
|
||
#include <PicoMQTT.h>
|
||
#include <SPIFFS.h>
|
||
#include <WebServer.h>
|
||
#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 |