Skip to content

Commit 40bf687

Browse files
authored
Tasmota changes
* optional Ethernet support (JL1101 driver added) * esp-modem only esp32, esp32s2 and esp32s3 * remove `OpenThread` * remove all BT BLE libraries * remove SPIFFS * remove Client Secure * remove Provisioning * remove TfLite, Insights and Rainmaker * make GPIOViewer working see arendst/Tasmota@9696118
1 parent 7018cd1 commit 40bf687

File tree

19 files changed

+86
-581
lines changed

19 files changed

+86
-581
lines changed

CMakeLists.txt

+2-98
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ endif()
2525
set(CORE_SRCS
2626
cores/esp32/base64.cpp
2727
cores/esp32/cbuf.cpp
28-
cores/esp32/chip-debug-report.cpp
2928
cores/esp32/esp32-hal-adc.c
3029
cores/esp32/esp32-hal-bt.c
3130
cores/esp32/esp32-hal-cpu.c
@@ -78,39 +77,27 @@ set(CORE_SRCS
7877
set(ARDUINO_ALL_LIBRARIES
7978
ArduinoOTA
8079
AsyncUDP
81-
BLE
82-
BluetoothSerial
8380
DNSServer
8481
EEPROM
85-
ESP_I2S
86-
ESP_NOW
87-
ESP_SR
8882
ESPmDNS
8983
Ethernet
9084
FFat
9185
FS
9286
HTTPClient
9387
HTTPUpdate
94-
Insights
9588
LittleFS
9689
NetBIOS
9790
Network
98-
OpenThread
9991
PPP
10092
Preferences
101-
RainMaker
10293
SD_MMC
10394
SD
104-
SimpleBLE
105-
SPIFFS
10695
SPI
10796
Ticker
10897
Update
10998
USB
11099
WebServer
111-
NetworkClientSecure
112100
WiFi
113-
WiFiProv
114101
Wire
115102
)
116103

@@ -119,26 +106,10 @@ set(ARDUINO_LIBRARY_ArduinoOTA_REQUIRES esp_https_ota)
119106

120107
set(ARDUINO_LIBRARY_AsyncUDP_SRCS libraries/AsyncUDP/src/AsyncUDP.cpp)
121108

122-
set(ARDUINO_LIBRARY_BluetoothSerial_SRCS
123-
libraries/BluetoothSerial/src/BluetoothSerial.cpp
124-
libraries/BluetoothSerial/src/BTAddress.cpp
125-
libraries/BluetoothSerial/src/BTAdvertisedDeviceSet.cpp
126-
libraries/BluetoothSerial/src/BTScanResultsSet.cpp)
127-
128109
set(ARDUINO_LIBRARY_DNSServer_SRCS libraries/DNSServer/src/DNSServer.cpp)
129110

130111
set(ARDUINO_LIBRARY_EEPROM_SRCS libraries/EEPROM/src/EEPROM.cpp)
131112

132-
set(ARDUINO_LIBRARY_ESP_I2S_SRCS libraries/ESP_I2S/src/ESP_I2S.cpp)
133-
134-
set(ARDUINO_LIBRARY_ESP_NOW_SRCS
135-
libraries/ESP_NOW/src/ESP32_NOW.cpp
136-
libraries/ESP_NOW/src/ESP32_NOW_Serial.cpp)
137-
138-
set(ARDUINO_LIBRARY_ESP_SR_SRCS
139-
libraries/ESP_SR/src/ESP_SR.cpp
140-
libraries/ESP_SR/src/esp32-hal-sr.c)
141-
142113
set(ARDUINO_LIBRARY_ESPmDNS_SRCS libraries/ESPmDNS/src/ESPmDNS.cpp)
143114

144115
set(ARDUINO_LIBRARY_Ethernet_SRCS libraries/Ethernet/src/ETH.cpp)
@@ -153,43 +124,23 @@ set(ARDUINO_LIBRARY_HTTPClient_SRCS libraries/HTTPClient/src/HTTPClient.cpp)
153124

154125
set(ARDUINO_LIBRARY_HTTPUpdate_SRCS libraries/HTTPUpdate/src/HTTPUpdate.cpp)
155126

156-
set(ARDUINO_LIBRARY_Insights_SRCS libraries/Insights/src/Insights.cpp)
157-
158127
set(ARDUINO_LIBRARY_LittleFS_SRCS libraries/LittleFS/src/LittleFS.cpp)
159128

160129
set(ARDUINO_LIBRARY_NetBIOS_SRCS libraries/NetBIOS/src/NetBIOS.cpp)
161130

162-
set(ARDUINO_LIBRARY_OpenThread_SRCS
163-
libraries/OpenThread/src/OThreadCLI.cpp
164-
libraries/OpenThread/src/OThreadCLI_Util.cpp)
165-
166131
set(ARDUINO_LIBRARY_PPP_SRCS
167132
libraries/PPP/src/PPP.cpp
168133
libraries/PPP/src/ppp.c)
169134

170135
set(ARDUINO_LIBRARY_Preferences_SRCS libraries/Preferences/src/Preferences.cpp)
171136

172-
set(ARDUINO_LIBRARY_RainMaker_SRCS
173-
libraries/RainMaker/src/RMaker.cpp
174-
libraries/RainMaker/src/RMakerNode.cpp
175-
libraries/RainMaker/src/RMakerParam.cpp
176-
libraries/RainMaker/src/RMakerDevice.cpp
177-
libraries/RainMaker/src/RMakerType.cpp
178-
libraries/RainMaker/src/RMakerQR.cpp
179-
libraries/RainMaker/src/RMakerUtils.cpp
180-
libraries/RainMaker/src/AppInsights.cpp)
181-
182137
set(ARDUINO_LIBRARY_SD_MMC_SRCS libraries/SD_MMC/src/SD_MMC.cpp)
183138

184139
set(ARDUINO_LIBRARY_SD_SRCS
185140
libraries/SD/src/SD.cpp
186141
libraries/SD/src/sd_diskio.cpp
187142
libraries/SD/src/sd_diskio_crc.c)
188143

189-
set(ARDUINO_LIBRARY_SimpleBLE_SRCS libraries/SimpleBLE/src/SimpleBLE.cpp)
190-
191-
set(ARDUINO_LIBRARY_SPIFFS_SRCS libraries/SPIFFS/src/SPIFFS.cpp)
192-
193144
set(ARDUINO_LIBRARY_SPI_SRCS libraries/SPI/src/SPI.cpp)
194145

195146
set(ARDUINO_LIBRARY_Ticker_SRCS libraries/Ticker/src/Ticker.cpp)
@@ -214,10 +165,6 @@ set(ARDUINO_LIBRARY_WebServer_SRCS
214165
libraries/WebServer/src/Parsing.cpp
215166
libraries/WebServer/src/detail/mimetable.cpp)
216167

217-
set(ARDUINO_LIBRARY_NetworkClientSecure_SRCS
218-
libraries/NetworkClientSecure/src/ssl_client.cpp
219-
libraries/NetworkClientSecure/src/NetworkClientSecure.cpp)
220-
221168
set(ARDUINO_LIBRARY_Network_SRCS
222169
libraries/Network/src/NetworkInterface.cpp
223170
libraries/Network/src/NetworkEvents.cpp
@@ -236,43 +183,8 @@ set(ARDUINO_LIBRARY_WiFi_SRCS
236183
libraries/WiFi/src/STA.cpp
237184
libraries/WiFi/src/AP.cpp)
238185

239-
set(ARDUINO_LIBRARY_WiFiProv_SRCS libraries/WiFiProv/src/WiFiProv.cpp)
240-
241186
set(ARDUINO_LIBRARY_Wire_SRCS libraries/Wire/src/Wire.cpp)
242187

243-
set(ARDUINO_LIBRARY_BLE_SRCS
244-
libraries/BLE/src/BLE2901.cpp
245-
libraries/BLE/src/BLE2902.cpp
246-
libraries/BLE/src/BLE2904.cpp
247-
libraries/BLE/src/BLEAddress.cpp
248-
libraries/BLE/src/BLEAdvertisedDevice.cpp
249-
libraries/BLE/src/BLEAdvertising.cpp
250-
libraries/BLE/src/BLEBeacon.cpp
251-
libraries/BLE/src/BLECharacteristic.cpp
252-
libraries/BLE/src/BLECharacteristicMap.cpp
253-
libraries/BLE/src/BLEClient.cpp
254-
libraries/BLE/src/BLEDescriptor.cpp
255-
libraries/BLE/src/BLEDescriptorMap.cpp
256-
libraries/BLE/src/BLEDevice.cpp
257-
libraries/BLE/src/BLEEddystoneTLM.cpp
258-
libraries/BLE/src/BLEEddystoneURL.cpp
259-
libraries/BLE/src/BLEExceptions.cpp
260-
libraries/BLE/src/BLEHIDDevice.cpp
261-
libraries/BLE/src/BLERemoteCharacteristic.cpp
262-
libraries/BLE/src/BLERemoteDescriptor.cpp
263-
libraries/BLE/src/BLERemoteService.cpp
264-
libraries/BLE/src/BLEScan.cpp
265-
libraries/BLE/src/BLESecurity.cpp
266-
libraries/BLE/src/BLEServer.cpp
267-
libraries/BLE/src/BLEService.cpp
268-
libraries/BLE/src/BLEServiceMap.cpp
269-
libraries/BLE/src/BLEUtils.cpp
270-
libraries/BLE/src/BLEUUID.cpp
271-
libraries/BLE/src/BLEValue.cpp
272-
libraries/BLE/src/FreeRTOS.cpp
273-
libraries/BLE/src/GeneralUtils.cpp
274-
)
275-
276188
set(ARDUINO_LIBRARIES_SRCS)
277189
set(ARDUINO_LIBRARIES_REQUIRES)
278190
set(ARDUINO_LIBRARIES_INCLUDEDIRS)
@@ -293,16 +205,8 @@ endforeach()
293205
set(includedirs variants/${CONFIG_ARDUINO_VARIANT}/ cores/esp32/ ${ARDUINO_LIBRARIES_INCLUDEDIRS})
294206
set(srcs ${CORE_SRCS} ${ARDUINO_LIBRARIES_SRCS})
295207
set(priv_includes cores/esp32/libb64)
296-
set(requires spi_flash esp_partition mbedtls wpa_supplicant esp_adc esp_eth http_parser espressif__network_provisioning)
297-
set(priv_requires fatfs nvs_flash app_update spiffs bootloader_support bt esp_hid usb esp_psram ${ARDUINO_LIBRARIES_REQUIRES})
298-
299-
if(NOT CONFIG_ARDUINO_SELECTIVE_COMPILATION OR CONFIG_ARDUINO_SELECTIVE_OpenThread)
300-
#if(CONFIG_SOC_IEEE802154_SUPPORTED) # Does not work!
301-
#if(CONFIG_OPENTHREAD_ENABLED) # Does not work!
302-
if(IDF_TARGET STREQUAL "esp32c6" OR IDF_TARGET STREQUAL "esp32h2") # Sadly only this works
303-
list(APPEND requires openthread)
304-
endif()
305-
endif()
208+
set(requires spi_flash esp_partition mbedtls wpa_supplicant esp_adc esp_eth http_parser)
209+
set(priv_requires fatfs nvs_flash app_update bootloader_support bt esp_hid usb esp_psram ${ARDUINO_LIBRARIES_REQUIRES})
306210

307211
idf_component_register(INCLUDE_DIRS ${includedirs} PRIV_INCLUDE_DIRS ${priv_includes} SRCS ${srcs} REQUIRES ${requires} PRIV_REQUIRES ${priv_requires})
308212

Kconfig.projbuild

-31
Original file line numberDiff line numberDiff line change
@@ -301,11 +301,6 @@ config ARDUINO_SELECTIVE_SD_MMC
301301
depends on ARDUINO_SELECTIVE_COMPILATION && ARDUINO_SELECTIVE_FS
302302
default y
303303

304-
config ARDUINO_SELECTIVE_SPIFFS
305-
bool "Enable SPIFFS"
306-
depends on ARDUINO_SELECTIVE_COMPILATION && ARDUINO_SELECTIVE_FS
307-
default y
308-
309304
config ARDUINO_SELECTIVE_FFat
310305
bool "Enable FFat"
311306
depends on ARDUINO_SELECTIVE_COMPILATION && ARDUINO_SELECTIVE_FS
@@ -355,7 +350,6 @@ config ARDUINO_SELECTIVE_ESPmDNS
355350
config ARDUINO_SELECTIVE_HTTPClient
356351
bool "Enable HTTPClient"
357352
depends on ARDUINO_SELECTIVE_COMPILATION && ARDUINO_SELECTIVE_Network
358-
select ARDUINO_SELECTIVE_NetworkClientSecure
359353
default y
360354

361355
config ARDUINO_SELECTIVE_NetBIOS
@@ -374,29 +368,4 @@ config ARDUINO_SELECTIVE_WiFi
374368
depends on ARDUINO_SELECTIVE_COMPILATION && ARDUINO_SELECTIVE_Network
375369
default y
376370

377-
config ARDUINO_SELECTIVE_NetworkClientSecure
378-
bool "Enable NetworkClientSecure"
379-
depends on ARDUINO_SELECTIVE_COMPILATION && ARDUINO_SELECTIVE_Network
380-
default y
381-
382-
config ARDUINO_SELECTIVE_WiFiProv
383-
bool "Enable WiFiProv"
384-
depends on ARDUINO_SELECTIVE_COMPILATION && ARDUINO_SELECTIVE_Network && ARDUINO_SELECTIVE_WiFi
385-
default y
386-
387-
config ARDUINO_SELECTIVE_BLE
388-
bool "Enable BLE"
389-
depends on ARDUINO_SELECTIVE_COMPILATION
390-
default y
391-
392-
config ARDUINO_SELECTIVE_BluetoothSerial
393-
bool "Enable BluetoothSerial"
394-
depends on ARDUINO_SELECTIVE_COMPILATION
395-
default y
396-
397-
config ARDUINO_SELECTIVE_SimpleBLE
398-
bool "Enable SimpleBLE"
399-
depends on ARDUINO_SELECTIVE_COMPILATION
400-
default y
401-
402371
endmenu

README.md

+7-66
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,6 @@
1-
# Arduino core for the ESP32, ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C6 and ESP32-H2
1+
# Tasmota Platformio Arduino for ESP32, ESP32-S2, ESP32-S3, ESP32-C2, ESP32-C3, ESP32-C6 and ESP32-H2
22

3-
[![Build Status](https://github.com/espressif/arduino-esp32/actions/workflows/push.yml/badge.svg?branch=master&event=push)](https://github.com/espressif/arduino-esp32/actions/workflows/push.yml) [![External Libraries Test](https://github.com/espressif/arduino-esp32/actions/workflows/lib.yml/badge.svg?branch=master&event=schedule)](https://github.com/espressif/arduino-esp32/blob/gh-pages/LIBRARIES_TEST.md) [![Hardware Tests](https://github.com/espressif/arduino-esp32/blob/gh-pages/runtime-tests-results/badge.svg)](https://github.com/espressif/arduino-esp32/actions/workflows/tests_results.yml)
4-
5-
### Need help or have a question? Join the chat at [Gitter](https://gitter.im/espressif/arduino-esp32) or [open a new Discussion](https://github.com/espressif/arduino-esp32/discussions)
6-
7-
## Contents
8-
9-
- [Development Status](#development-status)
10-
- [Development Planning](#development-planning)
11-
- [Documentation](#documentation)
12-
- [Supported Chips](#supported-chips)
13-
- [Decoding exceptions](#decoding-exceptions)
14-
- [Issue/Bug report template](#issuebug-report-template)
15-
- [Contributing](#contributing)
16-
17-
### Development Status
18-
19-
Latest Stable Release [![Release Version](https://img.shields.io/github/release/espressif/arduino-esp32.svg?style=plastic)](https://github.com/espressif/arduino-esp32/releases/latest/) [![Release Date](https://img.shields.io/github/release-date/espressif/arduino-esp32.svg?style=plastic)](https://github.com/espressif/arduino-esp32/releases/latest/) [![Downloads](https://img.shields.io/github/downloads/espressif/arduino-esp32/latest/total.svg?style=plastic)](https://github.com/espressif/arduino-esp32/releases/latest/)
20-
21-
Latest Development Release [![Release Version](https://img.shields.io/github/release/espressif/arduino-esp32/all.svg?style=plastic)](https://github.com/espressif/arduino-esp32/releases/) [![Release Date](https://img.shields.io/github/release-date-pre/espressif/arduino-esp32.svg?style=plastic)](https://github.com/espressif/arduino-esp32/releases/) [![Downloads](https://img.shields.io/github/downloads-pre/espressif/arduino-esp32/latest/total.svg?style=plastic)](https://github.com/espressif/arduino-esp32/releases/)
22-
23-
### Development Planning
24-
25-
Our Development is fully tracked on this public **[Roadmap 🎉](https://github.com/orgs/espressif/projects/3)**
26-
27-
For even more information you can join our **[Monthly Community Meetings 🔔](https://github.com/espressif/arduino-esp32/discussions/categories/monthly-community-meetings).**
3+
### [![GitHub Releases](https://img.shields.io/github/downloads/tasmota/arduino-esp32/total?label=downloads)](https://github.com/tasmota/arduino-esp32/releases/latest)
284

295
### Documentation
306

@@ -36,55 +12,20 @@ You can use the [Arduino-ESP32 Online Documentation](https://docs.espressif.com/
3612

3713
---
3814

39-
**APIs compatibility with ESP8266 and Arduino-CORE (Arduino.cc) is explained [here](https://docs.espressif.com/projects/arduino-esp32/en/latest/libraries.html#apis).**
40-
41-
---
42-
43-
* [Getting Started](https://docs.espressif.com/projects/arduino-esp32/en/latest/getting_started.html)
44-
* [Installing (Windows, Linux and macOS)](https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html)
45-
* [Libraries](https://docs.espressif.com/projects/arduino-esp32/en/latest/libraries.html)
46-
* [Arduino as an ESP-IDF component](https://docs.espressif.com/projects/arduino-esp32/en/latest/esp-idf_component.html)
47-
* [FAQ](https://docs.espressif.com/projects/arduino-esp32/en/latest/faq.html)
48-
* [Troubleshooting](https://docs.espressif.com/projects/arduino-esp32/en/latest/troubleshooting.html)
49-
5015
### Supported Chips
5116

52-
Here are the ESP32 series supported by the Arduino-ESP32 project:
17+
Here are the ESP32 series supported by the Tasmota Arduino-ESP32 project:
5318

5419
| **SoC** | **Stable** | **Development** | **Datasheet** |
5520
|----------|:----------:|:---------------:|:-------------------------------------------------------------------------------------------------:|
56-
| ESP32 | Yes | Yes | [ESP32](https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf) |
21+
| ESP32 | Yes | Yes | [ESP32](https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf) |
22+
| ESP32solo1| Yes | Yes | [ESP32solo1](https://www.espressif.com/sites/default/files/documentation/esp32-solo-1_datasheet_en.pdf) |
5723
| ESP32-S2 | Yes | Yes | [ESP32-S2](https://www.espressif.com/sites/default/files/documentation/esp32-s2_datasheet_en.pdf) |
58-
| ESP32-C3 | Yes | Yes | [ESP32-C3](https://www.espressif.com/sites/default/files/documentation/esp32-c3_datasheet_en.pdf) |
5924
| ESP32-S3 | Yes | Yes | [ESP32-S3](https://www.espressif.com/sites/default/files/documentation/esp32-s3_datasheet_en.pdf) |
25+
| ESP32-C2 | Yes | Yes | [ESP32-C2](https://www.espressif.com/sites/default/files/documentation/esp8684_datasheet_en.pdf) |
26+
| ESP32-C3 | Yes | Yes | [ESP32-C3](https://www.espressif.com/sites/default/files/documentation/esp32-c3_datasheet_en.pdf) |
6027
| ESP32-C6 | Yes | Yes | [ESP32-C6](https://www.espressif.com/sites/default/files/documentation/esp32-c6_datasheet_en.pdf) |
6128
| ESP32-H2 | Yes | Yes | [ESP32-H2](https://www.espressif.com/sites/default/files/documentation/esp32-h2_datasheet_en.pdf) |
6229

63-
> [!NOTE]
64-
> ESP32-C2 is also supported by Arduino-ESP32 but requires rebuilding the static libraries. This is not trivial and requires a good understanding of the ESP-IDF
65-
> build system. For more information, see the [Lib Builder documentation](https://docs.espressif.com/projects/arduino-esp32/en/latest/lib_builder.html).
6630

6731
For more details visit the [supported chips](https://docs.espressif.com/projects/arduino-esp32/en/latest/getting_started.html#supported-soc-s) documentation page.
68-
69-
### Decoding exceptions
70-
71-
You can use [EspExceptionDecoder](https://github.com/me-no-dev/EspExceptionDecoder) to get meaningful call trace.
72-
73-
### Issue/Bug report template
74-
75-
Before reporting an issue, make sure you've searched for similar one that was already created. Also make sure to go through all the issues labeled as [Type: For reference](https://github.com/espressif/arduino-esp32/issues?q=is%3Aissue+label%3A%22Type%3A+For+reference%22+).
76-
77-
Finally, if you are sure no one else had the issue, follow the **Issue template** or **Feature request template** while reporting any [new Issue](https://github.com/espressif/arduino-esp32/issues/new/choose).
78-
79-
### External libraries compilation test
80-
81-
We have set-up CI testing for external libraries for ESP32 Arduino core. You can check test results in the file [LIBRARIES_TEST](https://github.com/espressif/arduino-esp32/blob/gh-pages/LIBRARIES_TEST.md).
82-
For more information and how to add your library to the test see [external library testing](https://docs.espressif.com/projects/arduino-esp32/en/latest/external_libraries_test.html) in the documentation.
83-
84-
### Contributing
85-
86-
We welcome contributions to the Arduino ESP32 project!
87-
88-
See [contributing](https://docs.espressif.com/projects/arduino-esp32/en/latest/contributing.html) in the documentation for more information on how to contribute to the project.
89-
90-
> We would like to have this repository in a polite and friendly atmosphere, so please be kind and respectful to others. For more details, look at [Code of Conduct](https://github.com/espressif/arduino-esp32/blob/master/CODE_OF_CONDUCT.md).

cores/esp32/main.cpp

+6
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@
1010
#endif
1111
#endif
1212

13+
#if defined __has_include && __has_include("chip-debug-report.h")
1314
#include "chip-debug-report.h"
15+
#endif
1416

1517
#ifndef ARDUINO_LOOP_STACK_SIZE
1618
#ifndef CONFIG_ARDUINO_LOOP_STACK_SIZE
@@ -49,20 +51,24 @@ void loopTask(void *pvParameters) {
4951
// sets UART0 (default console) RX/TX pins as already configured in boot or as defined in variants/pins_arduino.h
5052
Serial0.setPins(gpioNumberToDigitalPin(SOC_RX0), gpioNumberToDigitalPin(SOC_TX0));
5153
#endif
54+
#if defined __has_include && __has_include("chip-debug-report.h")
5255
#if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_DEBUG
5356
printBeforeSetupInfo();
5457
#else
5558
if (shouldPrintChipDebugReport()) {
5659
printBeforeSetupInfo();
5760
}
61+
#endif
5862
#endif
5963
setup();
64+
#if defined __has_include && __has_include("chip-debug-report.h")
6065
#if ARDUHAL_LOG_LEVEL >= ARDUHAL_LOG_LEVEL_DEBUG
6166
printAfterSetupInfo();
6267
#else
6368
if (shouldPrintChipDebugReport()) {
6469
printAfterSetupInfo();
6570
}
71+
#endif
6672
#endif
6773
for (;;) {
6874
#if CONFIG_FREERTOS_UNICORE

0 commit comments

Comments
 (0)