Skip to content

Commit 6e6e1fe

Browse files
Jason2866me-no-devVojtechBartoskaPilnyTomasSuGlider
authored
Tasmota changes / C2 support
* Tasmota changes * Use "img_freq" for building firmware (h2 need) * Initial C2 support (#227) * App rollback should be after PSRAM is initialized (#228) Co-authored-by: me-no-dev <[email protected]> * Add v2.0.11 into issue template (espressif#8460) * Removed duplicate MDNS.begin() call in example * Fix flash mode detection for C2 and C6 * Fix flash mode detection for C6 * rm BLE lib h2zero BLE lib is used in Tasmota * rm SimpleBLE * rm ESP32 examples * rm WiFiProv * add JL1101 * add ETH_PHY_JL1101 * disable compile error part `JL1101` * jl1101 compiles now * Fixes ESP32 BT Memory Releasing * Update boards.txt * Update boards.txt * Delete boards.txt --------- Co-authored-by: me-no-dev <[email protected]> Co-authored-by: Vojtěch Bartoška <[email protected]> Co-authored-by: Tomas Pilny <[email protected]> Co-authored-by: Me No Dev <[email protected]> Co-authored-by: Rodrigo Garcia <[email protected]>
1 parent 8a07c72 commit 6e6e1fe

25 files changed

+154
-126
lines changed

Diff for: .github/ISSUE_TEMPLATE/Issue-report.yml

+1
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ body:
4141
options:
4242
- latest master (checkout manually)
4343
- latest development Release Candidate (RC-X)
44+
- v2.0.11
4445
- v2.0.10
4546
- v2.0.9
4647
- v2.0.8

Diff for: .github/scripts/install-platformio-esp32.sh

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ PLATFORMIO_ESP32_URL="https://github.com/platformio/platform-espressif32.git"
55

66
TOOLCHAIN_VERSION="12.2.0+20230208"
77
ESPTOOLPY_VERSION="~1.40501.0"
8+
FRAMEWORK_LIBS_REPOSITORY="https://github.com/espressif/esp32-arduino-libs.git"
89
ESPRESSIF_ORGANIZATION_NAME="espressif"
910

1011
echo "Installing Python Wheel ..."

Diff for: CMakeLists.txt

+1-57
Original file line numberDiff line numberDiff line change
@@ -90,23 +90,13 @@ set(LIBRARY_SRCS
9090
libraries/HTTPClient/src/HTTPClient.cpp
9191
libraries/HTTPUpdate/src/HTTPUpdate.cpp
9292
libraries/LittleFS/src/LittleFS.cpp
93-
libraries/Insights/src/Insights.cpp
9493
libraries/I2S/src/I2S.cpp
9594
libraries/NetBIOS/src/NetBIOS.cpp
9695
libraries/Preferences/src/Preferences.cpp
97-
libraries/RainMaker/src/RMaker.cpp
98-
libraries/RainMaker/src/RMakerNode.cpp
99-
libraries/RainMaker/src/RMakerParam.cpp
100-
libraries/RainMaker/src/RMakerDevice.cpp
101-
libraries/RainMaker/src/RMakerType.cpp
102-
libraries/RainMaker/src/RMakerQR.cpp
103-
libraries/RainMaker/src/RMakerUtils.cpp
104-
libraries/RainMaker/src/AppInsights.cpp
10596
libraries/SD_MMC/src/SD_MMC.cpp
10697
libraries/SD/src/SD.cpp
10798
libraries/SD/src/sd_diskio.cpp
10899
libraries/SD/src/sd_diskio_crc.c
109-
libraries/SimpleBLE/src/SimpleBLE.cpp
110100
libraries/SPIFFS/src/SPIFFS.cpp
111101
libraries/SPI/src/SPI.cpp
112102
libraries/Ticker/src/Ticker.cpp
@@ -134,67 +124,29 @@ set(LIBRARY_SRCS
134124
libraries/WiFi/src/WiFiServer.cpp
135125
libraries/WiFi/src/WiFiSTA.cpp
136126
libraries/WiFi/src/WiFiUdp.cpp
137-
libraries/WiFiProv/src/WiFiProv.cpp
138127
libraries/Wire/src/Wire.cpp
139128
)
140129

141-
set(BLE_SRCS
142-
libraries/BLE/src/BLE2902.cpp
143-
libraries/BLE/src/BLE2904.cpp
144-
libraries/BLE/src/BLEAddress.cpp
145-
libraries/BLE/src/BLEAdvertisedDevice.cpp
146-
libraries/BLE/src/BLEAdvertising.cpp
147-
libraries/BLE/src/BLEBeacon.cpp
148-
libraries/BLE/src/BLECharacteristic.cpp
149-
libraries/BLE/src/BLECharacteristicMap.cpp
150-
libraries/BLE/src/BLEClient.cpp
151-
libraries/BLE/src/BLEDescriptor.cpp
152-
libraries/BLE/src/BLEDescriptorMap.cpp
153-
libraries/BLE/src/BLEDevice.cpp
154-
libraries/BLE/src/BLEEddystoneTLM.cpp
155-
libraries/BLE/src/BLEEddystoneURL.cpp
156-
libraries/BLE/src/BLEExceptions.cpp
157-
libraries/BLE/src/BLEHIDDevice.cpp
158-
libraries/BLE/src/BLERemoteCharacteristic.cpp
159-
libraries/BLE/src/BLERemoteDescriptor.cpp
160-
libraries/BLE/src/BLERemoteService.cpp
161-
libraries/BLE/src/BLEScan.cpp
162-
libraries/BLE/src/BLESecurity.cpp
163-
libraries/BLE/src/BLEServer.cpp
164-
libraries/BLE/src/BLEService.cpp
165-
libraries/BLE/src/BLEServiceMap.cpp
166-
libraries/BLE/src/BLEUtils.cpp
167-
libraries/BLE/src/BLEUUID.cpp
168-
libraries/BLE/src/BLEValue.cpp
169-
libraries/BLE/src/FreeRTOS.cpp
170-
libraries/BLE/src/GeneralUtils.cpp
171-
)
172-
173130
set(includedirs
174131
variants/${CONFIG_ARDUINO_VARIANT}/
175132
cores/esp32/
176133
libraries/ArduinoOTA/src
177134
libraries/AsyncUDP/src
178-
libraries/BLE/src
179135
libraries/BluetoothSerial/src
180136
libraries/DNSServer/src
181137
libraries/EEPROM/src
182-
libraries/ESP32/src
183138
libraries/ESPmDNS/src
184139
libraries/Ethernet/src
185140
libraries/FFat/src
186141
libraries/FS/src
187142
libraries/HTTPClient/src
188143
libraries/HTTPUpdate/src
189144
libraries/LittleFS/src
190-
libraries/Insights/src
191145
libraries/I2S/src
192146
libraries/NetBIOS/src
193147
libraries/Preferences/src
194-
libraries/RainMaker/src
195148
libraries/SD_MMC/src
196149
libraries/SD/src
197-
libraries/SimpleBLE/src
198150
libraries/SPIFFS/src
199151
libraries/SPI/src
200152
libraries/Ticker/src
@@ -203,11 +155,10 @@ set(includedirs
203155
libraries/WebServer/src
204156
libraries/WiFiClientSecure/src
205157
libraries/WiFi/src
206-
libraries/WiFiProv/src
207158
libraries/Wire/src
208159
)
209160

210-
set(srcs ${CORE_SRCS} ${LIBRARY_SRCS} ${BLE_SRCS})
161+
set(srcs ${CORE_SRCS} ${LIBRARY_SRCS})
211162
set(priv_includes cores/esp32/libb64)
212163
set(requires spi_flash mbedtls mdns wifi_provisioning wpa_supplicant esp_adc esp_eth http_parser)
213164
set(priv_requires fatfs nvs_flash app_update spiffs bootloader_support bt esp_hid)
@@ -253,13 +204,6 @@ endfunction()
253204

254205
maybe_add_component(esp-dsp)
255206

256-
if(CONFIG_ESP_INSIGHTS_ENABLED)
257-
maybe_add_component(esp_insights)
258-
endif()
259-
if(CONFIG_ESP_RMAKER_WORK_QUEUE_TASK_STACK)
260-
maybe_add_component(esp_rainmaker)
261-
maybe_add_component(qrcode)
262-
endif()
263207
if(IDF_TARGET MATCHES "esp32s2|esp32s3" AND CONFIG_TINYUSB_ENABLED)
264208
maybe_add_component(arduino_tinyusb)
265209
endif()

Diff for: cores/esp32/Esp.cpp

+8-1
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ extern "C" {
4848
#include "esp32s3/rom/spi_flash.h"
4949
#include "soc/efuse_reg.h"
5050
#define ESP_FLASH_IMAGE_BASE 0x0000 // Esp32s3 is located at 0x0000
51+
#elif CONFIG_IDF_TARGET_ESP32C2
52+
#include "esp32c2/rom/spi_flash.h"
53+
#define ESP_FLASH_IMAGE_BASE 0x0000 // Esp32c2 is located at 0x0000
5154
#elif CONFIG_IDF_TARGET_ESP32C3
5255
#include "esp32c3/rom/spi_flash.h"
5356
#define ESP_FLASH_IMAGE_BASE 0x0000 // Esp32c3 is located at 0x0000
@@ -245,6 +248,10 @@ String EspClass::getSketchMD5()
245248
md5.add(buf.get(), readBytes);
246249
lengthLeft -= readBytes;
247250
offset += readBytes;
251+
252+
#if CONFIG_FREERTOS_UNICORE
253+
delay(1); // Fix solo WDT
254+
#endif
248255
}
249256
md5.calculate();
250257
result = md5.toString();
@@ -366,7 +373,7 @@ FlashMode_t EspClass::getFlashChipMode(void)
366373
#if CONFIG_IDF_TARGET_ESP32S2
367374
uint32_t spi_ctrl = REG_READ(PERIPHS_SPI_FLASH_CTRL);
368375
#else
369-
#if CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32C6
376+
#if CONFIG_IDF_TARGET_ESP32H2 || CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C6
370377
uint32_t spi_ctrl = REG_READ(DR_REG_SPI0_BASE + 0x8);
371378
#else
372379
uint32_t spi_ctrl = REG_READ(SPI_CTRL_REG(0));

Diff for: cores/esp32/HardwareSerial.cpp

+8
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
#define SOC_RX0 3
2727
#elif CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3
2828
#define SOC_RX0 44
29+
#elif CONFIG_IDF_TARGET_ESP32C2
30+
#define SOC_RX0 19
2931
#elif CONFIG_IDF_TARGET_ESP32C3
3032
#define SOC_RX0 20
3133
#elif CONFIG_IDF_TARGET_ESP32C6
@@ -40,6 +42,8 @@
4042
#define SOC_TX0 1
4143
#elif CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3
4244
#define SOC_TX0 43
45+
#elif CONFIG_IDF_TARGET_ESP32C2
46+
#define SOC_TX0 20
4347
#elif CONFIG_IDF_TARGET_ESP32C3
4448
#define SOC_TX0 21
4549
#elif CONFIG_IDF_TARGET_ESP32C6
@@ -59,6 +63,8 @@ void serialEvent(void) {}
5963
#define RX1 9
6064
#elif CONFIG_IDF_TARGET_ESP32S2
6165
#define RX1 18
66+
#elif CONFIG_IDF_TARGET_ESP32C2
67+
#define RX1 9
6268
#elif CONFIG_IDF_TARGET_ESP32C3
6369
#define RX1 18
6470
#elif CONFIG_IDF_TARGET_ESP32S3
@@ -75,6 +81,8 @@ void serialEvent(void) {}
7581
#define TX1 10
7682
#elif CONFIG_IDF_TARGET_ESP32S2
7783
#define TX1 17
84+
#elif CONFIG_IDF_TARGET_ESP32C2
85+
#define TX1 10
7886
#elif CONFIG_IDF_TARGET_ESP32C3
7987
#define TX1 19
8088
#elif CONFIG_IDF_TARGET_ESP32S3

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ esp_err_t __analogChannelConfig(adc_bitwidth_t width, adc_attenuation_t atten, i
9191
log_e("adc_cali_create_scheme_curve_fitting failed with error: %d", err);
9292
return err;
9393
}
94-
#elif !defined(CONFIG_IDF_TARGET_ESP32C6) && !defined(CONFIG_IDF_TARGET_ESP32H2) //ADC_CALI_SCHEME_LINE_FITTING_SUPPORTED
94+
#elif !defined(CONFIG_IDF_TARGET_ESP32C2) && !defined(CONFIG_IDF_TARGET_ESP32C6) && !defined(CONFIG_IDF_TARGET_ESP32H2) //ADC_CALI_SCHEME_LINE_FITTING_SUPPORTED
9595
log_d("Deleting ADC_UNIT_%d line cali handle",adc_unit);
9696
err = adc_cali_delete_scheme_line_fitting(adc_cali_handle[adc_unit]);
9797
if(err != ESP_OK){
@@ -278,7 +278,7 @@ uint32_t __analogReadMilliVolts(uint8_t pin){
278278
.bitwidth = __analogWidth,
279279
};
280280
err = adc_cali_create_scheme_curve_fitting(&cali_config, &adc_cali_handle[adc_unit]);
281-
#elif !defined(CONFIG_IDF_TARGET_ESP32C6) && !defined(CONFIG_IDF_TARGET_ESP32H2) //ADC_CALI_SCHEME_LINE_FITTING_SUPPORTED
281+
#elif !defined(CONFIG_IDF_TARGET_ESP32C2) && !defined(CONFIG_IDF_TARGET_ESP32C6) && !defined(CONFIG_IDF_TARGET_ESP32H2) //ADC_CALI_SCHEME_LINE_FITTING_SUPPORTED
282282
adc_cali_line_fitting_config_t cali_config = {
283283
.unit_id = adc_unit,
284284
.bitwidth = __analogWidth,

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

+4
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,12 @@
1717
#if SOC_BT_SUPPORTED
1818
#ifdef CONFIG_BT_ENABLED
1919

20+
#if CONFIG_IDF_TARGET_ESP32
21+
bool btInUse(){ return true; }
22+
#else
2023
// user may want to change it to free resources
2124
__attribute__((weak)) bool btInUse(){ return true; }
25+
#endif
2226

2327
#include "esp_bt.h"
2428

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

+6-4
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
#include "esp_attr.h"
2020
#include "esp_log.h"
2121
#include "soc/rtc.h"
22-
#if !defined(CONFIG_IDF_TARGET_ESP32C6) && !defined(CONFIG_IDF_TARGET_ESP32H2)
22+
#if !defined(CONFIG_IDF_TARGET_ESP32C2) && !defined(CONFIG_IDF_TARGET_ESP32C6) && !defined(CONFIG_IDF_TARGET_ESP32H2)
2323
#include "soc/rtc_cntl_reg.h"
2424
#include "soc/apb_ctrl_reg.h"
2525
#endif
@@ -38,6 +38,8 @@
3838
#elif CONFIG_IDF_TARGET_ESP32S3
3939
#include "freertos/xtensa_timer.h"
4040
#include "esp32s3/rom/rtc.h"
41+
#elif CONFIG_IDF_TARGET_ESP32C2
42+
#include "esp32c2/rom/rtc.h"
4143
#elif CONFIG_IDF_TARGET_ESP32C3
4244
#include "esp32c3/rom/rtc.h"
4345
#elif CONFIG_IDF_TARGET_ESP32C6
@@ -153,7 +155,7 @@ bool removeApbChangeCallback(void * arg, apb_change_cb_t cb){
153155
}
154156

155157
static uint32_t calculateApb(rtc_cpu_freq_config_t * conf){
156-
#if CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32H2
158+
#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32H2
157159
return APB_CLK_FREQ;
158160
#else
159161
if(conf->freq_mhz >= 80){
@@ -228,7 +230,7 @@ bool setCpuFrequencyMhz(uint32_t cpu_freq_mhz){
228230
}
229231
//Make the frequency change
230232
rtc_clk_cpu_freq_set_config_fast(&conf);
231-
#if !defined(CONFIG_IDF_TARGET_ESP32C6) && !defined(CONFIG_IDF_TARGET_ESP32H2)
233+
#if !defined(CONFIG_IDF_TARGET_ESP32C2) && !defined(CONFIG_IDF_TARGET_ESP32C6) && !defined(CONFIG_IDF_TARGET_ESP32H2)
232234
if(capb != apb){
233235
//Update REF_TICK (uncomment if REF_TICK is different than 1MHz)
234236
//if(conf.freq_mhz < 80){
@@ -241,7 +243,7 @@ bool setCpuFrequencyMhz(uint32_t cpu_freq_mhz){
241243
}
242244
#endif
243245
//Update FreeRTOS Tick Divisor
244-
#if CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2
246+
#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32H2
245247

246248
#elif CONFIG_IDF_TARGET_ESP32S3
247249

Diff for: cores/esp32/esp32-hal-i2c-slave.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ static inline void i2c_ll_stretch_clr(i2c_dev_t *hw)
168168

169169
static inline bool i2c_ll_slave_addressed(i2c_dev_t *hw)
170170
{
171-
#if CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32H2
171+
#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32H2
172172
return hw->sr.slave_addressed;
173173
#else
174174
return hw->status_reg.slave_addressed;
@@ -177,7 +177,7 @@ static inline bool i2c_ll_slave_addressed(i2c_dev_t *hw)
177177

178178
static inline bool i2c_ll_slave_rw(i2c_dev_t *hw)//not exposed by hal_ll
179179
{
180-
#if CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32H2
180+
#if CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C6 || CONFIG_IDF_TARGET_ESP32S3 || CONFIG_IDF_TARGET_ESP32H2
181181
return hw->sr.slave_rw;
182182
#else
183183
return hw->status_reg.slave_rw;

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

+2
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
#include "esp32s2/rom/gpio.h"
2525
#elif CONFIG_IDF_TARGET_ESP32S3
2626
#include "esp32s3/rom/gpio.h"
27+
#elif CONFIG_IDF_TARGET_ESP32C2
28+
#include "esp32c2/rom/gpio.h"
2729
#elif CONFIG_IDF_TARGET_ESP32C3
2830
#include "esp32c3/rom/gpio.h"
2931
#elif CONFIG_IDF_TARGET_ESP32C6

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

+9-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
#endif //CONFIG_BT_ENABLED
3030
#include <sys/time.h>
3131
#include "soc/rtc.h"
32-
#if !defined(CONFIG_IDF_TARGET_ESP32C6) && !defined(CONFIG_IDF_TARGET_ESP32H2)
32+
#if !defined(CONFIG_IDF_TARGET_ESP32C2) && !defined(CONFIG_IDF_TARGET_ESP32C6) && !defined(CONFIG_IDF_TARGET_ESP32H2)
3333
#include "soc/rtc_cntl_reg.h"
3434
#include "soc/apb_ctrl_reg.h"
3535
#endif
@@ -45,6 +45,8 @@
4545
#include "esp32s2/rom/rtc.h"
4646
#elif CONFIG_IDF_TARGET_ESP32S3
4747
#include "esp32s3/rom/rtc.h"
48+
#elif CONFIG_IDF_TARGET_ESP32C2
49+
#include "esp32c2/rom/rtc.h"
4850
#elif CONFIG_IDF_TARGET_ESP32C3
4951
#include "esp32c3/rom/rtc.h"
5052
#elif CONFIG_IDF_TARGET_ESP32C6
@@ -243,9 +245,15 @@ bool verifyRollbackLater() { return false; }
243245
#endif
244246

245247
#ifdef CONFIG_BT_ENABLED
248+
#if CONFIG_IDF_TARGET_ESP32
249+
//overwritten in esp32-hal-bt.c
250+
bool btInUse() __attribute__((weak));
251+
bool btInUse(){ return false; }
252+
#else
246253
//from esp32-hal-bt.c
247254
extern bool btInUse();
248255
#endif
256+
#endif
249257

250258
void initArduino()
251259
{

Diff for: cores/esp32/esp32-hal-rgb-led.c

+5
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
#include "soc/soc_caps.h"
2+
#if SOC_RMT_SUPPORTED
3+
14
#include "esp32-hal-rgb-led.h"
25

36

@@ -42,3 +45,5 @@ void neopixelWrite(uint8_t pin, uint8_t red_val, uint8_t green_val, uint8_t blue
4245
}
4346
rmtWrite(_pin, led_data, RMT_SYMBOLS_OF(led_data), RMT_WAIT_FOR_EVER);
4447
}
48+
49+
#endif /* SOC_RMT_SUPPORTED */

0 commit comments

Comments
 (0)