ESPresense/lib/BleFingerprint/GUI.h

77 lines
1.1 KiB
C++

#ifndef GUI_h
#define GUI_h
#include "BleFingerprint.h"
#include <Arduino.h>
#ifdef M5STICK
#ifdef PLUS
#include <M5StickCPlus.h>
#else
#include <M5StickC.h>
#endif
#endif
#ifdef M5STICK
#define LED_BUILTIN 10
#define LED_BUILTIN_ON 0
#define BUTTON 39
#define BUTTON_PRESSED 0
#else
#if M5ATOM
#define LED_BUILTIN 10
#define LED_BUILTIN_ON 0
#define BUTTON 39
#define BUTTON_PRESSED 0
#else // Huzzah32 or DevKit
#define LED_BUILTIN 13
#define LED_BUILTIN_ON 1
#define BUTTON 15
#define BUTTON_PRESSED 1
#endif
#endif
#ifdef M5STICK
#else
#endif
class GUI
{
public:
void added(BleFingerprint *f);
void removed(BleFingerprint *f);
void close(BleFingerprint *f);
void left(BleFingerprint *f);
void seenStart();
void seenEnd();
void updateProgress(unsigned int percent) { digitalWrite(LED_BUILTIN, percent % 2); }
void updateEnd() { digitalWrite(LED_BUILTIN, !LED_BUILTIN_ON); }
void status(const char *message, ...);
void connected(bool wifi, bool mqtt);
void update();
private:
bool init;
bool dirty;
#ifdef M5STICK
TFT_eSprite sprite = TFT_eSprite(&M5.Lcd);
#endif
};
extern GUI Display;
#endif