forked from espressif/arduino-esp32
v2.0.0 Add support for ESP32S2 and update ESP-IDF to 4.4 (#4996)
This is very much still work in progress and much more will change before the final 2.0.0 Some APIs have changed. New libraries have been added. LittleFS included. Co-authored-by: Seon Rozenblum <seonr@3sprockets.com> Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com> Co-authored-by: geeksville <kevinh@geeksville.com> Co-authored-by: Mike Dunston <m_dunston@comcast.net> Co-authored-by: Unexpected Maker <seon@unexpectedmaker.com> Co-authored-by: Seon Rozenblum <seonr@3sprockets.com> Co-authored-by: microDev <70126934+microDev1@users.noreply.github.com> Co-authored-by: tobozo <tobozo@users.noreply.github.com> Co-authored-by: bobobo1618 <bobobo1618@users.noreply.github.com> Co-authored-by: lorol <lorolouis@gmail.com> Co-authored-by: geeksville <kevinh@geeksville.com> Co-authored-by: Limor "Ladyada" Fried <limor@ladyada.net> Co-authored-by: Sweety <switi.mhaiske@espressif.com> Co-authored-by: Loick MAHIEUX <loick111@gmail.com> Co-authored-by: Larry Bernstone <lbernstone@gmail.com> Co-authored-by: Valerii Koval <valeros@users.noreply.github.com> Co-authored-by: 快乐的我531 <2302004040@qq.com> Co-authored-by: chegewara <imperiaonline4@gmail.com> Co-authored-by: Clemens Kirchgatterer <clemens@1541.org> Co-authored-by: Aron Rubin <aronrubin@gmail.com> Co-authored-by: Pete Lewis <601236+lewispg228@users.noreply.github.com>
This commit is contained in:
@ -9,14 +9,14 @@
|
||||
2. Copy update.bin to a SD-Card, you can basically
|
||||
compile this or any other example
|
||||
then copy and rename the app binary to the sd card root
|
||||
3. Connect SD-Card as shown in SD_MMC example,
|
||||
3. Connect SD-Card as shown in SD example,
|
||||
this can also be adapted for SPI
|
||||
3. After successfull update and reboot, ESP32 shall start the new app
|
||||
*/
|
||||
|
||||
#include <Update.h>
|
||||
#include <FS.h>
|
||||
#include <SD_MMC.h>
|
||||
#include <SD.h>
|
||||
|
||||
// perform the actual update from a given stream
|
||||
void performUpdate(Stream &updateSource, size_t updateSize) {
|
||||
@ -87,16 +87,16 @@ void setup() {
|
||||
// Serial.println("Update successfull");
|
||||
|
||||
//first init and check SD card
|
||||
if (!SD_MMC.begin()) {
|
||||
if (!SD.begin()) {
|
||||
rebootEspWithReason("Card Mount Failed");
|
||||
}
|
||||
|
||||
cardType = SD_MMC.cardType();
|
||||
cardType = SD.cardType();
|
||||
|
||||
if (cardType == CARD_NONE) {
|
||||
rebootEspWithReason("No SD_MMC card attached");
|
||||
}else{
|
||||
updateFromFS(SD_MMC);
|
||||
updateFromFS(SD);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -11,13 +11,13 @@
|
||||
|
||||
#include <freertos/FreeRTOS.h>
|
||||
#include <freertos/task.h>
|
||||
#include <freertos/event_groups.h>
|
||||
|
||||
#include "esp32-hal-log.h"
|
||||
#include "esp_http_client.h"
|
||||
#include "esp_https_ota.h"
|
||||
|
||||
#include "HttpsOTAUpdate.h"
|
||||
#include "Esp.h"
|
||||
#define OTA_TASK_STACK_SIZE 9216
|
||||
|
||||
typedef void (*HttpEventCb)(HttpEvent_t*);
|
||||
|
@ -175,6 +175,7 @@ class UpdateClass {
|
||||
size_t _size;
|
||||
THandlerFunction_Progress _progress_callback;
|
||||
uint32_t _progress;
|
||||
uint32_t _paroffset;
|
||||
uint32_t _command;
|
||||
const esp_partition_t* _partition;
|
||||
|
||||
|
@ -64,6 +64,7 @@ UpdateClass::UpdateClass()
|
||||
, _size(0)
|
||||
, _progress_callback(NULL)
|
||||
, _progress(0)
|
||||
, _paroffset(0)
|
||||
, _command(U_FLASH)
|
||||
, _partition(NULL)
|
||||
{
|
||||
@ -133,9 +134,14 @@ bool UpdateClass::begin(size_t size, int command, int ledPin, uint8_t ledOn, con
|
||||
}
|
||||
else if (command == U_SPIFFS) {
|
||||
_partition = esp_partition_find_first(ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_DATA_SPIFFS, label);
|
||||
_paroffset = 0;
|
||||
if(!_partition){
|
||||
_error = UPDATE_ERROR_NO_PARTITION;
|
||||
return false;
|
||||
_partition = esp_partition_find_first(ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_DATA_FAT, NULL);
|
||||
_paroffset = 0x1000; //Offset for ffat, assuming size is already corrected
|
||||
if(!_partition){
|
||||
_error = UPDATE_ERROR_NO_PARTITION;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
Reference in New Issue
Block a user