Skip to content

Commit 443e461

Browse files
authored
Merge branch 'master' into feat/zigbee-time-cluster
2 parents 85601cb + 2fecc48 commit 443e461

File tree

10 files changed

+327
-14
lines changed

10 files changed

+327
-14
lines changed

Diff for: boards.txt

+178
Original file line numberDiff line numberDiff line change
@@ -35211,6 +35211,184 @@ XIAO_ESP32S3.menu.EraseFlash.all.upload.erase_cmd=-e
3521135211

3521235212
##############################################################
3521335213

35214+
XIAO_ESP32S3_Plus.name=XIAO_ESP32S3_PLUS
35215+
XIAO_ESP32S3_Plus.vid.0=0x2886
35216+
XIAO_ESP32S3_Plus.pid.0=0x0063
35217+
XIAO_ESP32S3_Plus.vid.1=0x2886
35218+
XIAO_ESP32S3_Plus.pid.1=0x8063
35219+
35220+
XIAO_ESP32S3_Plus.bootloader.tool=esptool_py
35221+
XIAO_ESP32S3_Plus.bootloader.tool.default=esptool_py
35222+
35223+
XIAO_ESP32S3_Plus.upload.tool=esptool_py
35224+
XIAO_ESP32S3_Plus.upload.tool.default=esptool_py
35225+
XIAO_ESP32S3_Plus.upload.tool.network=esp_ota
35226+
35227+
XIAO_ESP32S3_Plus.upload.maximum_size=1310720
35228+
XIAO_ESP32S3_Plus.upload.maximum_data_size=327680
35229+
XIAO_ESP32S3_Plus.upload.flags=
35230+
XIAO_ESP32S3_Plus.upload.extra_flags=
35231+
XIAO_ESP32S3_Plus.upload.use_1200bps_touch=false
35232+
XIAO_ESP32S3_Plus.upload.wait_for_upload_port=false
35233+
35234+
XIAO_ESP32S3_Plus.serial.disableDTR=false
35235+
XIAO_ESP32S3_Plus.serial.disableRTS=false
35236+
35237+
XIAO_ESP32S3_Plus.build.tarch=xtensa
35238+
XIAO_ESP32S3_Plus.build.bootloader_addr=0x0
35239+
XIAO_ESP32S3_Plus.build.target=esp32s3
35240+
XIAO_ESP32S3_Plus.build.mcu=esp32s3
35241+
XIAO_ESP32S3_Plus.build.core=esp32
35242+
XIAO_ESP32S3_Plus.build.variant=XIAO_ESP32S3_Plus
35243+
XIAO_ESP32S3_Plus.build.board=XIAO_ESP32S3_PLUS
35244+
35245+
XIAO_ESP32S3_Plus.build.usb_mode=0
35246+
XIAO_ESP32S3_Plus.build.cdc_on_boot=1
35247+
XIAO_ESP32S3_Plus.build.msc_on_boot=0
35248+
XIAO_ESP32S3_Plus.build.dfu_on_boot=0
35249+
XIAO_ESP32S3_Plus.build.f_cpu=240000000L
35250+
XIAO_ESP32S3_Plus.build.flash_size=8MB
35251+
XIAO_ESP32S3_Plus.build.flash_freq=80m
35252+
XIAO_ESP32S3_Plus.build.flash_mode=dio
35253+
XIAO_ESP32S3_Plus.build.boot=qio
35254+
XIAO_ESP32S3_Plus.build.boot_freq=80m
35255+
XIAO_ESP32S3_Plus.build.partitions=default_8MB
35256+
XIAO_ESP32S3_Plus.build.defines=
35257+
XIAO_ESP32S3_Plus.build.loop_core=
35258+
XIAO_ESP32S3_Plus.build.event_core=
35259+
XIAO_ESP32S3_Plus.build.psram_type=qspi
35260+
XIAO_ESP32S3_Plus.build.memory_type={build.boot}_{build.psram_type}
35261+
35262+
XIAO_ESP32S3_Plus.menu.JTAGAdapter.default=Disabled
35263+
XIAO_ESP32S3_Plus.menu.JTAGAdapter.default.build.copy_jtag_files=0
35264+
XIAO_ESP32S3_Plus.menu.JTAGAdapter.builtin=Integrated USB JTAG
35265+
XIAO_ESP32S3_Plus.menu.JTAGAdapter.builtin.build.openocdscript=esp32s3-builtin.cfg
35266+
XIAO_ESP32S3_Plus.menu.JTAGAdapter.builtin.build.copy_jtag_files=1
35267+
XIAO_ESP32S3_Plus.menu.JTAGAdapter.external=FTDI Adapter
35268+
XIAO_ESP32S3_Plus.menu.JTAGAdapter.external.build.openocdscript=esp32s3-ftdi.cfg
35269+
XIAO_ESP32S3_Plus.menu.JTAGAdapter.external.build.copy_jtag_files=1
35270+
XIAO_ESP32S3_Plus.menu.JTAGAdapter.bridge=ESP USB Bridge
35271+
XIAO_ESP32S3_Plus.menu.JTAGAdapter.bridge.build.openocdscript=esp32s3-bridge.cfg
35272+
XIAO_ESP32S3_Plus.menu.JTAGAdapter.bridge.build.copy_jtag_files=1
35273+
35274+
XIAO_ESP32S3_Plus.menu.PSRAM.disabled=Disabled
35275+
XIAO_ESP32S3_Plus.menu.PSRAM.disabled.build.defines=
35276+
XIAO_ESP32S3_Plus.menu.PSRAM.disabled.build.psram_type=qspi
35277+
XIAO_ESP32S3_Plus.menu.PSRAM.opi=OPI PSRAM
35278+
XIAO_ESP32S3_Plus.menu.PSRAM.opi.build.defines=-DBOARD_HAS_PSRAM
35279+
XIAO_ESP32S3_Plus.menu.PSRAM.opi.build.psram_type=opi
35280+
35281+
XIAO_ESP32S3_Plus.menu.FlashMode.qio=QIO 80MHz
35282+
XIAO_ESP32S3_Plus.menu.FlashMode.qio.build.flash_mode=dio
35283+
XIAO_ESP32S3_Plus.menu.FlashMode.qio.build.boot=qio
35284+
XIAO_ESP32S3_Plus.menu.FlashMode.qio.build.boot_freq=80m
35285+
XIAO_ESP32S3_Plus.menu.FlashMode.qio.build.flash_freq=80m
35286+
XIAO_ESP32S3_Plus.menu.FlashMode.dio=DIO 80MHz
35287+
XIAO_ESP32S3_Plus.menu.FlashMode.dio.build.flash_mode=dio
35288+
XIAO_ESP32S3_Plus.menu.FlashMode.dio.build.boot=dio
35289+
XIAO_ESP32S3_Plus.menu.FlashMode.dio.build.boot_freq=80m
35290+
XIAO_ESP32S3_Plus.menu.FlashMode.dio.build.flash_freq=80m
35291+
35292+
XIAO_ESP32S3_Plus.menu.FlashSize.8M=8MB (64Mb)
35293+
XIAO_ESP32S3_Plus.menu.FlashSize.8M.build.flash_size=8MB
35294+
35295+
XIAO_ESP32S3_Plus.menu.LoopCore.1=Core 1
35296+
XIAO_ESP32S3_Plus.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
35297+
XIAO_ESP32S3_Plus.menu.LoopCore.0=Core 0
35298+
XIAO_ESP32S3_Plus.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0
35299+
35300+
XIAO_ESP32S3_Plus.menu.EventsCore.1=Core 1
35301+
XIAO_ESP32S3_Plus.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1
35302+
XIAO_ESP32S3_Plus.menu.EventsCore.0=Core 0
35303+
XIAO_ESP32S3_Plus.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0
35304+
35305+
XIAO_ESP32S3_Plus.menu.USBMode.hwcdc=Hardware CDC and JTAG
35306+
XIAO_ESP32S3_Plus.menu.USBMode.hwcdc.build.usb_mode=1
35307+
XIAO_ESP32S3_Plus.menu.USBMode.default=USB-OTG (TinyUSB)
35308+
XIAO_ESP32S3_Plus.menu.USBMode.default.build.usb_mode=0
35309+
35310+
XIAO_ESP32S3_Plus.menu.CDCOnBoot.default=Enabled
35311+
XIAO_ESP32S3_Plus.menu.CDCOnBoot.default.build.cdc_on_boot=1
35312+
XIAO_ESP32S3_Plus.menu.CDCOnBoot.cdc=Disabled
35313+
XIAO_ESP32S3_Plus.menu.CDCOnBoot.cdc.build.cdc_on_boot=0
35314+
35315+
XIAO_ESP32S3_Plus.menu.MSCOnBoot.default=Disabled
35316+
XIAO_ESP32S3_Plus.menu.MSCOnBoot.default.build.msc_on_boot=0
35317+
XIAO_ESP32S3_Plus.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode)
35318+
XIAO_ESP32S3_Plus.menu.MSCOnBoot.msc.build.msc_on_boot=1
35319+
35320+
XIAO_ESP32S3_Plus.menu.DFUOnBoot.default=Disabled
35321+
XIAO_ESP32S3_Plus.menu.DFUOnBoot.default.build.dfu_on_boot=0
35322+
XIAO_ESP32S3_Plus.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode)
35323+
XIAO_ESP32S3_Plus.menu.DFUOnBoot.dfu.build.dfu_on_boot=1
35324+
35325+
XIAO_ESP32S3_Plus.menu.UploadMode.default=UART0 / Hardware CDC
35326+
XIAO_ESP32S3_Plus.menu.UploadMode.default.upload.use_1200bps_touch=false
35327+
XIAO_ESP32S3_Plus.menu.UploadMode.default.upload.wait_for_upload_port=false
35328+
XIAO_ESP32S3_Plus.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB)
35329+
XIAO_ESP32S3_Plus.menu.UploadMode.cdc.upload.use_1200bps_touch=true
35330+
XIAO_ESP32S3_Plus.menu.UploadMode.cdc.upload.wait_for_upload_port=true
35331+
35332+
XIAO_ESP32S3_Plus.menu.PartitionScheme.default_8MB=Default with spiffs (3MB APP/1.5MB SPIFFS)
35333+
XIAO_ESP32S3_Plus.menu.PartitionScheme.default_8MB.build.partitions=default_8MB
35334+
XIAO_ESP32S3_Plus.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336
35335+
XIAO_ESP32S3_Plus.menu.PartitionScheme.max_app_8MB=Maximum APP (7.9MB APP No OTA/No FS)
35336+
XIAO_ESP32S3_Plus.menu.PartitionScheme.max_app_8MB.build.partitions=max_app_8MB
35337+
XIAO_ESP32S3_Plus.menu.PartitionScheme.max_app_8MB.upload.maximum_size=8257536
35338+
XIAO_ESP32S3_Plus.menu.PartitionScheme.tinyuf2=TinyUF2 8MB (2MB APP/3.7MB FFAT)
35339+
XIAO_ESP32S3_Plus.menu.PartitionScheme.tinyuf2.build.custom_bootloader=bootloader-tinyuf2
35340+
XIAO_ESP32S3_Plus.menu.PartitionScheme.tinyuf2.build.custom_partitions=partitions-8MB
35341+
XIAO_ESP32S3_Plus.menu.PartitionScheme.tinyuf2.upload.maximum_size=2097152
35342+
XIAO_ESP32S3_Plus.menu.PartitionScheme.tinyuf2.upload.extra_flags=0x410000 "{runtime.platform.path}/variants/{build.variant}/tinyuf2.bin"
35343+
35344+
XIAO_ESP32S3_Plus.menu.CPUFreq.240=240MHz (WiFi)
35345+
XIAO_ESP32S3_Plus.menu.CPUFreq.240.build.f_cpu=240000000L
35346+
XIAO_ESP32S3_Plus.menu.CPUFreq.160=160MHz (WiFi)
35347+
XIAO_ESP32S3_Plus.menu.CPUFreq.160.build.f_cpu=160000000L
35348+
XIAO_ESP32S3_Plus.menu.CPUFreq.80=80MHz (WiFi)
35349+
XIAO_ESP32S3_Plus.menu.CPUFreq.80.build.f_cpu=80000000L
35350+
XIAO_ESP32S3_Plus.menu.CPUFreq.40=40MHz
35351+
XIAO_ESP32S3_Plus.menu.CPUFreq.40.build.f_cpu=40000000L
35352+
XIAO_ESP32S3_Plus.menu.CPUFreq.20=20MHz
35353+
XIAO_ESP32S3_Plus.menu.CPUFreq.20.build.f_cpu=20000000L
35354+
XIAO_ESP32S3_Plus.menu.CPUFreq.10=10MHz
35355+
XIAO_ESP32S3_Plus.menu.CPUFreq.10.build.f_cpu=10000000L
35356+
35357+
XIAO_ESP32S3_Plus.menu.UploadSpeed.921600=921600
35358+
XIAO_ESP32S3_Plus.menu.UploadSpeed.921600.upload.speed=921600
35359+
XIAO_ESP32S3_Plus.menu.UploadSpeed.115200=115200
35360+
XIAO_ESP32S3_Plus.menu.UploadSpeed.115200.upload.speed=115200
35361+
XIAO_ESP32S3_Plus.menu.UploadSpeed.256000.windows=256000
35362+
XIAO_ESP32S3_Plus.menu.UploadSpeed.256000.upload.speed=256000
35363+
XIAO_ESP32S3_Plus.menu.UploadSpeed.230400.windows.upload.speed=256000
35364+
XIAO_ESP32S3_Plus.menu.UploadSpeed.230400=230400
35365+
XIAO_ESP32S3_Plus.menu.UploadSpeed.230400.upload.speed=230400
35366+
XIAO_ESP32S3_Plus.menu.UploadSpeed.460800.linux=460800
35367+
XIAO_ESP32S3_Plus.menu.UploadSpeed.460800.macosx=460800
35368+
XIAO_ESP32S3_Plus.menu.UploadSpeed.460800.upload.speed=460800
35369+
XIAO_ESP32S3_Plus.menu.UploadSpeed.512000.windows=512000
35370+
XIAO_ESP32S3_Plus.menu.UploadSpeed.512000.upload.speed=512000
35371+
35372+
XIAO_ESP32S3_Plus.menu.DebugLevel.none=None
35373+
XIAO_ESP32S3_Plus.menu.DebugLevel.none.build.code_debug=0
35374+
XIAO_ESP32S3_Plus.menu.DebugLevel.error=Error
35375+
XIAO_ESP32S3_Plus.menu.DebugLevel.error.build.code_debug=1
35376+
XIAO_ESP32S3_Plus.menu.DebugLevel.warn=Warn
35377+
XIAO_ESP32S3_Plus.menu.DebugLevel.warn.build.code_debug=2
35378+
XIAO_ESP32S3_Plus.menu.DebugLevel.info=Info
35379+
XIAO_ESP32S3_Plus.menu.DebugLevel.info.build.code_debug=3
35380+
XIAO_ESP32S3_Plus.menu.DebugLevel.debug=Debug
35381+
XIAO_ESP32S3_Plus.menu.DebugLevel.debug.build.code_debug=4
35382+
XIAO_ESP32S3_Plus.menu.DebugLevel.verbose=Verbose
35383+
XIAO_ESP32S3_Plus.menu.DebugLevel.verbose.build.code_debug=5
35384+
35385+
XIAO_ESP32S3_Plus.menu.EraseFlash.none=Disabled
35386+
XIAO_ESP32S3_Plus.menu.EraseFlash.none.upload.erase_cmd=
35387+
XIAO_ESP32S3_Plus.menu.EraseFlash.all=Enabled
35388+
XIAO_ESP32S3_Plus.menu.EraseFlash.all.upload.erase_cmd=-e
35389+
35390+
##############################################################
35391+
3521435392
connaxio_espoir.name=Connaxio's Espoir
3521535393
connaxio_espoir.vid.0=0x10C4
3521635394
connaxio_espoir.pid.0=0x8D9A

Diff for: cores/esp32/esp32-hal-misc.c

+8-4
Original file line numberDiff line numberDiff line change
@@ -156,11 +156,13 @@ void enableCore0WDT() {
156156
}
157157
}
158158

159-
void disableCore0WDT() {
159+
bool disableCore0WDT() {
160160
TaskHandle_t idle_0 = xTaskGetIdleTaskHandleForCore(0);
161-
if (idle_0 == NULL || esp_task_wdt_delete(idle_0) != ESP_OK) {
161+
if (idle_0 == NULL || esp_task_wdt_status(idle_0) || esp_task_wdt_delete(idle_0) != ESP_OK) {
162162
log_e("Failed to remove Core 0 IDLE task from WDT");
163+
return false;
163164
}
165+
return true;
164166
}
165167

166168
#ifndef CONFIG_FREERTOS_UNICORE
@@ -171,11 +173,13 @@ void enableCore1WDT() {
171173
}
172174
}
173175

174-
void disableCore1WDT() {
176+
bool disableCore1WDT() {
175177
TaskHandle_t idle_1 = xTaskGetIdleTaskHandleForCore(1);
176-
if (idle_1 == NULL || esp_task_wdt_delete(idle_1) != ESP_OK) {
178+
if (idle_1 == NULL || esp_task_wdt_status(idle_1) || esp_task_wdt_delete(idle_1) != ESP_OK) {
177179
log_e("Failed to remove Core 1 IDLE task from WDT");
180+
return false;
178181
}
182+
return true;
179183
}
180184
#endif
181185

Diff for: cores/esp32/esp32-hal.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -121,11 +121,11 @@ void feedLoopWDT();
121121

122122
//enable/disable WDT for the IDLE task on Core 0 (SYSTEM)
123123
void enableCore0WDT();
124-
void disableCore0WDT();
124+
bool disableCore0WDT();
125125
#ifndef CONFIG_FREERTOS_UNICORE
126126
//enable/disable WDT for the IDLE task on Core 1 (Arduino)
127127
void enableCore1WDT();
128-
void disableCore1WDT();
128+
bool disableCore1WDT();
129129
#endif
130130

131131
//if xCoreID < 0 or CPU is unicore, it will use xTaskCreate, else xTaskCreatePinnedToCore

Diff for: libraries/LittleFS/src/LittleFS.cpp

+4-2
Original file line numberDiff line numberDiff line change
@@ -95,9 +95,11 @@ void LittleFSFS::end() {
9595
}
9696

9797
bool LittleFSFS::format() {
98-
disableCore0WDT();
98+
bool wdt_active = disableCore0WDT();
9999
esp_err_t err = esp_littlefs_format(partitionLabel_);
100-
enableCore0WDT();
100+
if (wdt_active) {
101+
enableCore0WDT();
102+
}
101103
if (err) {
102104
log_e("Formatting LittleFS failed! Error: %d", err);
103105
return false;

Diff for: libraries/Zigbee/src/ZigbeeEP.h

+7-4
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,13 @@ class ZigbeeEP {
118118
virtual void zbIdentify(const esp_zb_zcl_set_attr_value_message_t *message);
119119
virtual void zbReadTimeCluster(const esp_zb_zcl_attribute_t *attribute); //already implemented
120120

121+
virtual void zbIASZoneStatusChangeNotification(const esp_zb_zcl_ias_zone_status_change_notification_message_t *message) {};
122+
123+
virtual void addBoundDevice(zb_device_params_t *device) {
124+
_bound_devices.push_back(device);
125+
_is_bound = true;
126+
}
127+
121128
void onIdentify(void (*callback)(uint16_t)) {
122129
_on_identify = callback;
123130
}
@@ -140,10 +147,6 @@ class ZigbeeEP {
140147
SemaphoreHandle_t lock;
141148
zb_power_source_t _power_source;
142149

143-
void addBoundDevice(zb_device_params_t *device) {
144-
_bound_devices.push_back(device);
145-
_is_bound = true;
146-
}
147150
friend class ZigbeeCore;
148151
};
149152

Diff for: libraries/Zigbee/src/ZigbeeHandlers.cpp

+28-2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ static esp_err_t zb_attribute_set_handler(const esp_zb_zcl_set_attr_value_messag
99
static esp_err_t zb_attribute_reporting_handler(const esp_zb_zcl_report_attr_message_t *message);
1010
static esp_err_t zb_cmd_read_attr_resp_handler(const esp_zb_zcl_cmd_read_attr_resp_message_t *message);
1111
static esp_err_t zb_configure_report_resp_handler(const esp_zb_zcl_cmd_config_report_resp_message_t *message);
12+
static esp_err_t zb_cmd_ias_zone_status_change_handler(const esp_zb_zcl_ias_zone_status_change_notification_message_t *message);
1213
static esp_err_t zb_cmd_default_resp_handler(const esp_zb_zcl_cmd_default_resp_message_t *message);
1314

1415
// Zigbee action handlers
@@ -20,8 +21,11 @@ static esp_err_t zb_action_handler(esp_zb_core_action_callback_id_t callback_id,
2021
case ESP_ZB_CORE_REPORT_ATTR_CB_ID: ret = zb_attribute_reporting_handler((esp_zb_zcl_report_attr_message_t *)message); break;
2122
case ESP_ZB_CORE_CMD_READ_ATTR_RESP_CB_ID: ret = zb_cmd_read_attr_resp_handler((esp_zb_zcl_cmd_read_attr_resp_message_t *)message); break;
2223
case ESP_ZB_CORE_CMD_REPORT_CONFIG_RESP_CB_ID: ret = zb_configure_report_resp_handler((esp_zb_zcl_cmd_config_report_resp_message_t *)message); break;
23-
case ESP_ZB_CORE_CMD_DEFAULT_RESP_CB_ID: ret = zb_cmd_default_resp_handler((esp_zb_zcl_cmd_default_resp_message_t *)message); break;
24-
default: log_w("Receive unhandled Zigbee action(0x%x) callback", callback_id); break;
24+
case ESP_ZB_CORE_CMD_IAS_ZONE_ZONE_STATUS_CHANGE_NOT_ID:
25+
ret = zb_cmd_ias_zone_status_change_handler((esp_zb_zcl_ias_zone_status_change_notification_message_t *)message);
26+
break;
27+
case ESP_ZB_CORE_CMD_DEFAULT_RESP_CB_ID: ret = zb_cmd_default_resp_handler((esp_zb_zcl_cmd_default_resp_message_t *)message); break;
28+
default: log_w("Receive unhandled Zigbee action(0x%x) callback", callback_id); break;
2529
}
2630
return ret;
2731
}
@@ -134,6 +138,28 @@ static esp_err_t zb_configure_report_resp_handler(const esp_zb_zcl_cmd_config_re
134138
return ESP_OK;
135139
}
136140

141+
static esp_err_t zb_cmd_ias_zone_status_change_handler(const esp_zb_zcl_ias_zone_status_change_notification_message_t *message) {
142+
if (!message) {
143+
log_e("Empty message");
144+
return ESP_FAIL;
145+
}
146+
if (message->info.status != ESP_ZB_ZCL_STATUS_SUCCESS) {
147+
log_e("Received message: error status(%d)", message->info.status);
148+
return ESP_ERR_INVALID_ARG;
149+
}
150+
log_v(
151+
"IAS Zone Status Notification: from address(0x%x) src endpoint(%d) to dst endpoint(%d) cluster(0x%x)", message->info.src_address.u.short_addr,
152+
message->info.src_endpoint, message->info.dst_endpoint, message->info.cluster
153+
);
154+
155+
for (std::list<ZigbeeEP *>::iterator it = Zigbee.ep_objects.begin(); it != Zigbee.ep_objects.end(); ++it) {
156+
if (message->info.dst_endpoint == (*it)->getEndpoint()) {
157+
(*it)->zbIASZoneStatusChangeNotification(message);
158+
}
159+
}
160+
return ESP_OK;
161+
}
162+
137163
static esp_err_t zb_cmd_default_resp_handler(const esp_zb_zcl_cmd_default_resp_message_t *message) {
138164
if (!message) {
139165
log_e("Empty message");

Diff for: variants/XIAO_ESP32S3_Plus/bootloader-tinyuf2.bin

20.9 KB
Binary file not shown.

Diff for: variants/XIAO_ESP32S3_Plus/partitions-8MB.csv

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# ESP-IDF Partition Table
2+
# Name, Type, SubType, Offset, Size, Flags
3+
# bootloader.bin,, 0x1000, 32K
4+
# partition table,, 0x8000, 4K
5+
nvs, data, nvs, 0x9000, 20K,
6+
otadata, data, ota, 0xe000, 8K,
7+
ota_0, 0, ota_0, 0x10000, 2048K,
8+
ota_1, 0, ota_1, 0x210000, 2048K,
9+
uf2, app, factory,0x410000, 256K,
10+
ffat, data, fat, 0x450000, 3776K,

0 commit comments

Comments
 (0)