3.3.7
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
#include "esp32-hal-gpio.h"
|
||||
#include "pins_arduino.h"
|
||||
#include "esp_log.h"
|
||||
#include "esp_partition.h"
|
||||
#include "esp_system.h"
|
||||
#include "esp_ota_ops.h"
|
||||
|
||||
extern "C" {
|
||||
|
||||
void blinkLED(uint8_t r, uint8_t g, uint8_t b) {
|
||||
rgbLedWrite(PIN_LED, r, g, b);
|
||||
delay(20);
|
||||
rgbLedWrite(PIN_LED, 0x00, 0x00, 0x00); // off
|
||||
}
|
||||
|
||||
void initVariant(void) {
|
||||
// define button pin
|
||||
pinMode(47, INPUT_PULLUP);
|
||||
|
||||
// Check if button is pressed
|
||||
if (digitalRead(47) == LOW) {
|
||||
// When the button is pressed and then released, boot into the OTA1 partition
|
||||
const esp_partition_t *ota1_partition = esp_partition_find_first(ESP_PARTITION_TYPE_APP, ESP_PARTITION_SUBTYPE_APP_OTA_1, NULL);
|
||||
|
||||
if (ota1_partition) {
|
||||
esp_err_t err = esp_ota_set_boot_partition(ota1_partition);
|
||||
if (err == ESP_OK) {
|
||||
blinkLED(0x00, 0x00, 0x10); // blue
|
||||
esp_restart(); // restart, to boot OTA1 partition
|
||||
} else {
|
||||
blinkLED(0x10, 0x00, 0x00); // red
|
||||
ESP_LOGE("OTA", "Error setting OTA1 partition: %s", esp_err_to_name(err));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
blinkLED(0x00, 0x10, 0x00); // green
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user