1
0
mirror of https://github.com/s00500/ESPUI.git synced 2024-11-22 09:10:54 +00:00

#9 adding control id as return value

This commit is contained in:
Lukas Bachschwell 2018-04-17 19:54:07 +02:00
parent dda4e9e771
commit 40b13430cb
3 changed files with 67 additions and 49 deletions

View File

@ -51,7 +51,7 @@ Download the [Repository](https://github.com/s00500/ESPUI/archive/master.zip), G
ESPUI **NEEDS** its files burnt on the SPIFFS filesystem on the ESP. **Without this ESPUI will NOT work at all**
There are now two ways to do this: you can either use the upload tool or you use the library function `ESPUI.prepareFileSystem()`
#### Simple filesystem preparation (recomended)
#### Simple filesystem preparation (recomended, but currently not working well on esp32, see issues)
Just open the example sketch **prepareFileSystem** and run it on the ESP, (give it 5 - 10 seconds),
The library will create all needed files.
@ -81,10 +81,13 @@ Now you are set to go and use any code you want to with this library
- ~~Setup SPIFFS using values in program memory~~
- ~~ESP8266 support~~
- Document slider
- New images in docu
- proper return value (as int and not as string) for slider
- Maybe a slider range setting, meanwhile please use map()
- Improve slider stability
- Improve general stability
- Multiline Labels
- PlattformIO Integration
## Documentation

View File

@ -108,11 +108,19 @@ void writeFile(const char *path, const char *data) {
Serial.println("Failed to open file for writing");
return;
}
#if defined(ESP32)
if (file.print(data)) {
Serial.println("File written");
} else {
Serial.println("Write failed");
}
#else
if (file.print(FPSTR(data))) {
Serial.println("File written");
} else {
Serial.println("Write failed");
}
#endif
file.close();
}
@ -244,7 +252,7 @@ void onWsEvent(AsyncWebSocket *server, AsyncWebSocketClient *client,
}
}
void ESPUIClass::label(const char *label, int color, String value) {
int ESPUIClass::label(const char *label, int color, String value) {
if (labelExists(label)) {
if (debug)
Serial.println("UI ERROR: Element " + String(label) +
@ -264,10 +272,11 @@ void ESPUIClass::label(const char *label, int color, String value) {
newL->id = cIndex;
controls[cIndex] = newL;
cIndex++;
return cIndex - 1;
}
// TODO: this still needs a range setting
void ESPUIClass::slider(const char *label, void (*callBack)(Control, int),
int ESPUIClass::slider(const char *label, void (*callBack)(Control, int),
int color, String value) {
if (labelExists(label)) {
if (debug)
@ -288,9 +297,10 @@ void ESPUIClass::slider(const char *label, void (*callBack)(Control, int),
newSL->id = cIndex;
controls[cIndex] = newSL;
cIndex++;
return cIndex - 1;
}
void ESPUIClass::button(const char *label, void (*callBack)(Control, int),
int ESPUIClass::button(const char *label, void (*callBack)(Control, int),
int color, String value) {
if (labelExists(label)) {
if (debug)
@ -313,9 +323,10 @@ void ESPUIClass::button(const char *label, void (*callBack)(Control, int),
newB->id = cIndex;
controls[cIndex] = newB;
cIndex++;
return cIndex - 1;
}
void ESPUIClass::switcher(const char *label, bool startState,
int ESPUIClass::switcher(const char *label, bool startState,
void (*callBack)(Control, int), int color) {
if (labelExists(label)) {
if (debug)
@ -333,9 +344,10 @@ void ESPUIClass::switcher(const char *label, bool startState,
newS->id = cIndex;
controls[cIndex] = newS;
cIndex++;
return cIndex - 1;
}
void ESPUIClass::pad(const char *label, bool center,
int ESPUIClass::pad(const char *label, bool center,
void (*callBack)(Control, int), int color) {
if (labelExists(label)) {
if (debug)
@ -355,6 +367,7 @@ void ESPUIClass::pad(const char *label, bool center,
newP->id = cIndex;
controls[cIndex] = newP;
cIndex++;
return cIndex - 1;
}
void ESPUIClass::print(int id, String value) {
@ -510,7 +523,9 @@ void ESPUIClass::begin(const char *_title) {
});
server->onNotFound(
[](AsyncWebServerRequest *request) { request->send(404); });
[](AsyncWebServerRequest *request) {
request->send(404);
});
server->begin();
if (debug)

View File

@ -91,15 +91,15 @@ public:
void prepareFileSystem(); // Initially preps the filesystem and loads a lot of stuff into SPIFFS
void list();
// Creating Elements
void label(const char *label, int color, String value = ""); // Create Label
void button(const char *label, void (*callBack)(Control, int), int color,
int label(const char *label, int color, String value = ""); // Create Label
int button(const char *label, void (*callBack)(Control, int), int color,
String value = ""); // Create Event Button
void switcher(const char *label, bool startState,
int switcher(const char *label, bool startState,
void (*callBack)(Control, int),
int color); // Create Toggle Button
void pad(const char *label, bool centerButton, void (*callBack)(Control, int),
int pad(const char *label, bool centerButton, void (*callBack)(Control, int),
int color); // Create Pad Control
void slider(const char *label, void (*callBack)(Control, int), int color, String value); // Create Slider Control
int slider(const char *label, void (*callBack)(Control, int), int color, String value); // Create Slider Control
// Update Elements
void print(int id, String value);