forked from pr3y/Bruce
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.h
147 lines (119 loc) · 3.95 KB
/
config.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
#ifndef __BRUCE_CONFIG_H__
#define __BRUCE_CONFIG_H__
// #include <globals.h>
#include <Arduino.h>
#include <ArduinoJson.h>
#include <map>
#include <vector>
#define DEFAULT_PRICOLOR 0xA80F
enum RFIDModules {
M5_RFID2_MODULE = 0,
PN532_I2C_MODULE = 1,
PN532_SPI_MODULE = 2,
};
enum RFModules {
M5_RF_MODULE = 0,
CC1101_SPI_MODULE = 1,
};
class BruceConfig {
public:
struct WiFiCredential {
String ssid;
String pwd;
};
struct Credential {
String user;
String pwd;
};
struct QrCodeEntry {
String menuName;
String content;
};
const char *filepath = "/bruce.conf";
// Theme colors in RGB565 format
uint16_t priColor = DEFAULT_PRICOLOR;
uint16_t secColor = DEFAULT_PRICOLOR-0x2000;
uint16_t bgColor = 0x0000;
int rotation = ROTATION > 1 ? 3 : 1;
int dimmerSet = 10;
int bright = 100;
int tmz = 0;
int soundEnabled = 1;
int wifiAtStartup = 0;
Credential webUI = {"admin", "bruce"};
WiFiCredential wifiAp = {"BruceNet", "brucenet"};
std::map<String, String> wifi = {};
int irTx = LED;
int irRx = GROVE_SCL;
int rfTx = GROVE_SDA;
int rfRx = GROVE_SCL;
int rfModule = M5_RF_MODULE;
float rfFreq = 433.92;
int rfFxdFreq = 1;
int rfScanRange = 3;
int rfidModule = M5_RFID2_MODULE;
int gpsBaudrate = 9600;
String startupApp = "";
String wigleBasicToken = "";
int devMode = 0;
std::vector<String> disabledMenus = {};
std::vector<QrCodeEntry> qrCodes = {
{"Bruce AP", "WIFI:T:WPA;S:BruceNet;P:brucenet;;"},
{"Bruce Wiki", "https://github.com/pr3y/Bruce/wiki"},
{"Bruce Site", "https://bruce.computer"},
{"Rickroll", "https://youtu.be/dQw4w9WgXcQ"}
};
/////////////////////////////////////////////////////////////////////////////////////
// Constructor
/////////////////////////////////////////////////////////////////////////////////////
BruceConfig() {};
// ~BruceConfig();
/////////////////////////////////////////////////////////////////////////////////////
// Operations
/////////////////////////////////////////////////////////////////////////////////////
void saveFile();
void fromFile();
void validateConfig();
JsonDocument toJson() const;
void setTheme(uint16_t primary, uint16_t secondary = NULL, uint16_t background = NULL);
void validateTheme();
void setRotation(int value);
void validateRotationValue();
void setDimmer(int value);
void validateDimmerValue();
void setBright(uint8_t value);
void validateBrightValue();
void setTmz(int value);
void validateTmzValue();
void setSoundEnabled(int value);
void validateSoundEnabledValue();
void setWifiAtStartup(int value);
void validateWifiAtStartupValue();
void setWebUICreds(const String& usr, const String& pwd);
void setWifiApCreds(const String& ssid, const String& pwd);
void addWifiCredential(const String& ssid, const String& pwd);
void addQrCodeEntry(const String& menuName, const String& content);
void removeQrCodeEntry(const String& menuName);
String getWifiPassword(const String& ssid) const;
void setIrTxPin(int value);
void setIrRxPin(int value);
void setRfTxPin(int value);
void setRfRxPin(int value);
void setRfModule(RFModules value);
void validateRfModuleValue();
void setRfFreq(float value, int fxdFreq = NULL);
void setRfFxdFreq(float value);
void setRfScanRange(int value, int fxdFreq = 0);
void validateRfScanRangeValue();
void setRfidModule(RFIDModules value);
void validateRfidModuleValue();
void setGpsBaudrate(int value);
void validateGpsBaudrateValue();
void setStartupApp(String value);
void setWigleBasicToken(String value);
void setDevMode(int value);
void validateDevModeValue();
void addDisabledMenu(String value);
// TODO: removeDisabledMenu(String value);
};
#endif