Support settings pin unlock via JSON

Also supports locking by providing any incorrect pin
This commit is contained in:
Aircoookie
2023-06-14 11:53:39 +02:00
parent 670461c66f
commit dd9da2853a
8 changed files with 27 additions and 11 deletions

View File

@@ -373,6 +373,16 @@ int16_t extractModeDefaults(uint8_t mode, const char *segVar)
}
void checkSettingsPIN(const char* pin) {
if (!pin) return;
if (!correctPIN && millis() - lastEditTime < PIN_RETRY_COOLDOWN) return; // guard against PIN brute force
bool correctBefore = correctPIN;
correctPIN = (strlen(settingsPIN) == 0 || strncmp(settingsPIN, pin, 4) == 0);
if (correctBefore != correctPIN) createEditHandler(correctPIN);
lastEditTime = millis();
}
uint16_t crc16(const unsigned char* data_p, size_t length) {
uint8_t x;
uint16_t crc = 0xFFFF;