mirror of
https://github.com/wled/WLED.git
synced 2025-07-17 15:56:31 +00:00
Slight IR JSON simplefication
Check for missing file No duplicate cmd object
This commit is contained in:
parent
a839809eb8
commit
f1e2439e66
@ -215,6 +215,7 @@
|
|||||||
#define ERR_FS_BEGIN 10 // Could not init filesystem (no partition?)
|
#define ERR_FS_BEGIN 10 // Could not init filesystem (no partition?)
|
||||||
#define ERR_FS_QUOTA 11 // The FS is full or the maximum file size is reached
|
#define ERR_FS_QUOTA 11 // The FS is full or the maximum file size is reached
|
||||||
#define ERR_FS_PLOAD 12 // It was attempted to load a preset that does not exist
|
#define ERR_FS_PLOAD 12 // It was attempted to load a preset that does not exist
|
||||||
|
#define ERR_FS_IRLOAD 13 // It was attempted to load an IR JSON cmd, but the "ir.json" file does not exist
|
||||||
#define ERR_FS_GENERAL 19 // A general unspecified filesystem error occured
|
#define ERR_FS_GENERAL 19 // A general unspecified filesystem error occured
|
||||||
#define ERR_OVERTEMP 30 // An attached temperature sensor has measured above threshold temperature (not implemented)
|
#define ERR_OVERTEMP 30 // An attached temperature sensor has measured above threshold temperature (not implemented)
|
||||||
#define ERR_OVERCURRENT 31 // An attached current sensor has measured a current above the threshold (not implemented)
|
#define ERR_OVERCURRENT 31 // An attached current sensor has measured a current above the threshold (not implemented)
|
||||||
|
@ -568,21 +568,24 @@ void decodeIRJson(uint32_t code)
|
|||||||
char objKey[10];
|
char objKey[10];
|
||||||
const char* cmd;
|
const char* cmd;
|
||||||
String cmdStr;
|
String cmdStr;
|
||||||
byte irError;
|
|
||||||
DynamicJsonDocument irDoc(JSON_BUFFER_SIZE);
|
DynamicJsonDocument irDoc(JSON_BUFFER_SIZE);
|
||||||
JsonObject fdo;
|
JsonObject fdo;
|
||||||
JsonObject jsonCmdObj;
|
JsonObject jsonCmdObj;
|
||||||
|
|
||||||
sprintf(objKey, "\"0x%X\":", code);
|
sprintf(objKey, "\"0x%X\":", code);
|
||||||
|
|
||||||
irError = readObjectFromFile("/ir.json", objKey, &irDoc) ? ERR_NONE : ERR_FS_PLOAD;
|
readObjectFromFile("/ir.json", objKey, &irDoc);
|
||||||
fdo = irDoc.as<JsonObject>();
|
fdo = irDoc.as<JsonObject>();
|
||||||
lastValidCode = 0;
|
lastValidCode = 0;
|
||||||
if (!irError)
|
if (fdo.isNull()) {
|
||||||
{
|
//the received code does not exist
|
||||||
cmd = fdo["cmd"];
|
if (!WLED_FS.exists("/ir.json")) errorFlag = ERR_FS_IRLOAD; //warn if IR file itself doesn't exist
|
||||||
cmdStr = String(cmd);
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
jsonCmdObj = fdo["cmd"];
|
jsonCmdObj = fdo["cmd"];
|
||||||
|
cmdStr = String(jsonCmdObj);
|
||||||
|
|
||||||
if (!cmdStr.isEmpty())
|
if (!cmdStr.isEmpty())
|
||||||
{
|
{
|
||||||
if (cmdStr.startsWith("!")) {
|
if (cmdStr.startsWith("!")) {
|
||||||
@ -622,7 +625,6 @@ void decodeIRJson(uint32_t code)
|
|||||||
deserializeState(jsonCmdObj, CALL_MODE_BUTTON);
|
deserializeState(jsonCmdObj, CALL_MODE_BUTTON);
|
||||||
fileDoc = nullptr;
|
fileDoc = nullptr;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void initIR()
|
void initIR()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user