66# idf.py build
77
88set (min_supported_idf_version "5.3.0" )
9- set (max_supported_idf_version "5.3 .99" )
9+ set (max_supported_idf_version "5.4 .99" )
1010set (idf_version "${IDF_VERSION_MAJOR} .${IDF_VERSION_MINOR} .${IDF_VERSION_PATCH} " )
1111
1212if ("${idf_version} " AND NOT "$ENV{ARDUINO_SKIP_IDF_VERSION_CHECK} " )
@@ -25,7 +25,6 @@ endif()
2525set (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
@@ -42,8 +41,7 @@ set(CORE_SRCS
4241 cores/esp32/esp32-hal-sigmadelta.c
4342 cores/esp32/esp32-hal-spi.c
4443 cores/esp32/esp32-hal-time.c
45- cores/esp32/esp32-hal-timer.c
46- cores/esp32/esp32-hal-tinyusb.c
44+ cores/esp32/esp32-hal-timer.c
4745 cores/esp32/esp32-hal-touch.c
4846 cores/esp32/esp32-hal-touch-ng.c
4947 cores/esp32/esp32-hal-uart.c
@@ -66,82 +64,58 @@ set(CORE_SRCS
6664 cores/esp32/StreamString.cpp
6765 cores/esp32/Tone.cpp
6866 cores/esp32/HWCDC.cpp
69- cores/esp32/USB.cpp
70- cores/esp32/USBCDC.cpp
71- cores/esp32/USBMSC.cpp
7267 cores/esp32/FirmwareMSC.cpp
7368 cores/esp32/firmware_msc_fat.c
7469 cores/esp32/wiring_pulse.c
7570 cores/esp32/wiring_shift.c
7671 cores/esp32/WMath.cpp
7772 cores/esp32/WString.cpp
7873 )
74+ if (IDF_TARGET MATCHES "esp32s2|esp32s3|esp32p4" AND CONFIG_TINYUSB_ENABLED)
75+ list (APPEND CORE_SRCS
76+ cores/esp32/esp32-hal-tinyusb.c
77+ cores/esp32/USB.cpp
78+ cores/esp32/USBCDC.cpp
79+ cores/esp32/USBMSC.cpp)
80+ endif ()
7981
8082set (ARDUINO_ALL_LIBRARIES
8183 ArduinoOTA
8284 AsyncUDP
83- BLE
84- BluetoothSerial
8585 DNSServer
8686 EEPROM
87- ESP_I2S
88- ESP_NOW
89- ESP_SR
9087 ESPmDNS
9188 Ethernet
9289 FFat
9390 FS
9491 HTTPClient
9592 HTTPUpdate
96- Insights
9793 LittleFS
98- Matter
9994 NetBIOS
10095 Network
101- OpenThread
10296 PPP
10397 Preferences
104- RainMaker
10598 SD_MMC
10699 SD
107- SimpleBLE
108- SPIFFS
109100 SPI
110101 Ticker
111102 Update
112- USB
113103 WebServer
114- NetworkClientSecure
115104 WiFi
116- WiFiProv
117105 Wire
118- Zigbee
119106 )
107+ if (IDF_TARGET MATCHES "esp32s2|esp32s3|esp32p4" AND CONFIG_TINYUSB_ENABLED)
108+ list (APPEND ARDUINO_ALL_LIBRARIES USB)
109+ endif ()
120110
121111set (ARDUINO_LIBRARY_ArduinoOTA_SRCS libraries/ArduinoOTA/src/ArduinoOTA.cpp)
122112
123113set (ARDUINO_LIBRARY_AsyncUDP_SRCS libraries/AsyncUDP/src/AsyncUDP.cpp)
124114
125- set (ARDUINO_LIBRARY_BluetoothSerial_SRCS
126- libraries/BluetoothSerial/src/BluetoothSerial.cpp
127- libraries/BluetoothSerial/src/BTAddress.cpp
128- libraries/BluetoothSerial/src/BTAdvertisedDeviceSet.cpp
129- libraries/BluetoothSerial/src/BTScanResultsSet.cpp)
130-
131115set (ARDUINO_LIBRARY_DNSServer_SRCS libraries/DNSServer/src/DNSServer.cpp)
132116
133117set (ARDUINO_LIBRARY_EEPROM_SRCS libraries/EEPROM/src/EEPROM.cpp)
134118
135- set (ARDUINO_LIBRARY_ESP_I2S_SRCS libraries/ESP_I2S/src/ESP_I2S.cpp)
136-
137- set (ARDUINO_LIBRARY_ESP_NOW_SRCS
138- libraries/ESP_NOW/src/ESP32_NOW.cpp
139- libraries/ESP_NOW/src/ESP32_NOW_Serial.cpp)
140-
141- set (ARDUINO_LIBRARY_ESP_SR_SRCS
142- libraries/ESP_SR/src/ESP_SR.cpp
143- libraries/ESP_SR/src/esp32-hal-sr.c)
144-
145119set (ARDUINO_LIBRARY_ESPmDNS_SRCS libraries/ESPmDNS/src/ESPmDNS.cpp)
146120
147121set (ARDUINO_LIBRARY_Ethernet_SRCS libraries/Ethernet/src/ETH.cpp)
@@ -156,50 +130,23 @@ set(ARDUINO_LIBRARY_HTTPClient_SRCS libraries/HTTPClient/src/HTTPClient.cpp)
156130
157131set (ARDUINO_LIBRARY_HTTPUpdate_SRCS libraries/HTTPUpdate/src/HTTPUpdate.cpp)
158132
159- set (ARDUINO_LIBRARY_Insights_SRCS libraries/Insights/src/Insights.cpp)
160-
161133set (ARDUINO_LIBRARY_LittleFS_SRCS libraries/LittleFS/src/LittleFS.cpp)
162134
163135set (ARDUINO_LIBRARY_NetBIOS_SRCS libraries/NetBIOS/src/NetBIOS.cpp)
164136
165- set (ARDUINO_LIBRARY_OpenThread_SRCS
166- libraries/OpenThread/src/OThreadCLI.cpp
167- libraries/OpenThread/src/OThreadCLI_Util.cpp)
168-
169- set (ARDUINO_LIBRARY_Matter_SRCS
170- libraries/Matter/src/MatterEndpoints/MatterOnOffLight.cpp
171- libraries/Matter/src/MatterEndpoints/MatterDimmableLight.cpp
172- libraries/Matter/src/MatterEndpoints/MatterColorTemperatureLight.cpp
173- libraries/Matter/src/MatterUtil/ColorFormat.cpp
174- libraries/Matter/src/Matter.cpp)
175-
176137set (ARDUINO_LIBRARY_PPP_SRCS
177138 libraries/PPP/src/PPP.cpp
178139 libraries/PPP/src/ppp.c)
179140
180141set (ARDUINO_LIBRARY_Preferences_SRCS libraries/Preferences/src/Preferences.cpp)
181142
182- set (ARDUINO_LIBRARY_RainMaker_SRCS
183- libraries/RainMaker/src/RMaker.cpp
184- libraries/RainMaker/src/RMakerNode.cpp
185- libraries/RainMaker/src/RMakerParam.cpp
186- libraries/RainMaker/src/RMakerDevice.cpp
187- libraries/RainMaker/src/RMakerType.cpp
188- libraries/RainMaker/src/RMakerQR.cpp
189- libraries/RainMaker/src/RMakerUtils.cpp
190- libraries/RainMaker/src/AppInsights.cpp)
191-
192143set (ARDUINO_LIBRARY_SD_MMC_SRCS libraries/SD_MMC/src/SD_MMC.cpp)
193144
194145set (ARDUINO_LIBRARY_SD_SRCS
195146 libraries/SD/src/SD.cpp
196147 libraries/SD/src/sd_diskio.cpp
197148 libraries/SD/src/sd_diskio_crc.c)
198149
199- set (ARDUINO_LIBRARY_SimpleBLE_SRCS libraries/SimpleBLE/src/SimpleBLE.cpp)
200-
201- set (ARDUINO_LIBRARY_SPIFFS_SRCS libraries/SPIFFS/src/SPIFFS.cpp)
202-
203150set (ARDUINO_LIBRARY_SPI_SRCS libraries/SPI/src/SPI.cpp)
204151
205152set (ARDUINO_LIBRARY_Ticker_SRCS libraries/Ticker/src/Ticker.cpp)
@@ -208,36 +155,34 @@ set(ARDUINO_LIBRARY_Update_SRCS
208155 libraries/Update/src/Updater.cpp
209156 libraries/Update/src/HttpsOTAUpdate.cpp)
210157
211- set (ARDUINO_LIBRARY_USB_SRCS
212- libraries/USB/src/USBHID.cpp
213- libraries/USB/src/USBMIDI.cpp
214- libraries/USB/src/USBHIDMouse.cpp
215- libraries/USB/src/USBHIDKeyboard.cpp
216- libraries/USB/src/keyboardLayout/KeyboardLayout_da_DK.cpp
217- libraries/USB/src/keyboardLayout/KeyboardLayout_de_DE.cpp
218- libraries/USB/src/keyboardLayout/KeyboardLayout_en_US.cpp
219- libraries/USB/src/keyboardLayout/KeyboardLayout_es_ES.cpp
220- libraries/USB/src/keyboardLayout/KeyboardLayout_fr_FR.cpp
221- libraries/USB/src/keyboardLayout/KeyboardLayout_hu_HU.cpp
222- libraries/USB/src/keyboardLayout/KeyboardLayout_it_IT.cpp
223- libraries/USB/src/keyboardLayout/KeyboardLayout_pt_BR.cpp
224- libraries/USB/src/keyboardLayout/KeyboardLayout_pt_PT.cpp
225- libraries/USB/src/keyboardLayout/KeyboardLayout_sv_SE.cpp
226- libraries/USB/src/USBHIDGamepad.cpp
227- libraries/USB/src/USBHIDConsumerControl.cpp
228- libraries/USB/src/USBHIDSystemControl.cpp
229- libraries/USB/src/USBHIDVendor.cpp
230- libraries/USB/src/USBVendor.cpp)
158+ if (IDF_TARGET MATCHES "esp32s2|esp32s3|esp32p4" AND CONFIG_TINYUSB_ENABLED)
159+ set (ARDUINO_LIBRARY_USB_SRCS
160+ libraries/USB/src/USBHID.cpp
161+ libraries/USB/src/USBMIDI.cpp
162+ libraries/USB/src/USBHIDMouse.cpp
163+ libraries/USB/src/USBHIDKeyboard.cpp
164+ libraries/USB/src/keyboardLayout/KeyboardLayout_da_DK.cpp
165+ libraries/USB/src/keyboardLayout/KeyboardLayout_de_DE.cpp
166+ libraries/USB/src/keyboardLayout/KeyboardLayout_en_US.cpp
167+ libraries/USB/src/keyboardLayout/KeyboardLayout_es_ES.cpp
168+ libraries/USB/src/keyboardLayout/KeyboardLayout_fr_FR.cpp
169+ libraries/USB/src/keyboardLayout/KeyboardLayout_hu_HU.cpp
170+ libraries/USB/src/keyboardLayout/KeyboardLayout_it_IT.cpp
171+ libraries/USB/src/keyboardLayout/KeyboardLayout_pt_BR.cpp
172+ libraries/USB/src/keyboardLayout/KeyboardLayout_pt_PT.cpp
173+ libraries/USB/src/keyboardLayout/KeyboardLayout_sv_SE.cpp
174+ libraries/USB/src/USBHIDGamepad.cpp
175+ libraries/USB/src/USBHIDConsumerControl.cpp
176+ libraries/USB/src/USBHIDSystemControl.cpp
177+ libraries/USB/src/USBHIDVendor.cpp
178+ libraries/USB/src/USBVendor.cpp)
179+ endif ()
231180
232181set (ARDUINO_LIBRARY_WebServer_SRCS
233182 libraries/WebServer/src/WebServer.cpp
234183 libraries/WebServer/src/Parsing.cpp
235184 libraries/WebServer/src/detail/mimetable.cpp)
236185
237- set (ARDUINO_LIBRARY_NetworkClientSecure_SRCS
238- libraries/NetworkClientSecure/src/ssl_client.cpp
239- libraries/NetworkClientSecure/src/NetworkClientSecure.cpp)
240-
241186set (ARDUINO_LIBRARY_Network_SRCS
242187 libraries/Network/src/NetworkInterface.cpp
243188 libraries/Network/src/NetworkEvents.cpp
@@ -256,55 +201,8 @@ set(ARDUINO_LIBRARY_WiFi_SRCS
256201 libraries/WiFi/src/STA.cpp
257202 libraries/WiFi/src/AP.cpp)
258203
259- set (ARDUINO_LIBRARY_WiFiProv_SRCS libraries/WiFiProv/src/WiFiProv.cpp)
260-
261204set (ARDUINO_LIBRARY_Wire_SRCS libraries/Wire/src/Wire.cpp)
262205
263- set (ARDUINO_LIBRARY_Zigbee_SRCS
264- libraries/Zigbee/src/ZigbeeCore.cpp
265- libraries/Zigbee/src/ZigbeeEP.cpp
266- libraries/Zigbee/src/ZigbeeHandlers.cpp
267- libraries/Zigbee/src/ep/ZigbeeColorDimmableLight.cpp
268- libraries/Zigbee/src/ep/ZigbeeColorDimmerSwitch.cpp
269- libraries/Zigbee/src/ep/ZigbeeLight.cpp
270- libraries/Zigbee/src/ep/ZigbeeSwitch.cpp
271- libraries/Zigbee/src/ep/ZigbeeTempSensor.cpp
272- libraries/Zigbee/src/ep/ZigbeeThermostat.cpp
273- )
274-
275- set (ARDUINO_LIBRARY_BLE_SRCS
276- libraries/BLE/src/BLE2901.cpp
277- libraries/BLE/src/BLE2902.cpp
278- libraries/BLE/src/BLE2904.cpp
279- libraries/BLE/src/BLEAddress.cpp
280- libraries/BLE/src/BLEAdvertisedDevice.cpp
281- libraries/BLE/src/BLEAdvertising.cpp
282- libraries/BLE/src/BLEBeacon.cpp
283- libraries/BLE/src/BLECharacteristic.cpp
284- libraries/BLE/src/BLECharacteristicMap.cpp
285- libraries/BLE/src/BLEClient.cpp
286- libraries/BLE/src/BLEDescriptor.cpp
287- libraries/BLE/src/BLEDescriptorMap.cpp
288- libraries/BLE/src/BLEDevice.cpp
289- libraries/BLE/src/BLEEddystoneTLM.cpp
290- libraries/BLE/src/BLEEddystoneURL.cpp
291- libraries/BLE/src/BLEExceptions.cpp
292- libraries/BLE/src/BLEHIDDevice.cpp
293- libraries/BLE/src/BLERemoteCharacteristic.cpp
294- libraries/BLE/src/BLERemoteDescriptor.cpp
295- libraries/BLE/src/BLERemoteService.cpp
296- libraries/BLE/src/BLEScan.cpp
297- libraries/BLE/src/BLESecurity.cpp
298- libraries/BLE/src/BLEServer.cpp
299- libraries/BLE/src/BLEService.cpp
300- libraries/BLE/src/BLEServiceMap.cpp
301- libraries/BLE/src/BLEUtils.cpp
302- libraries/BLE/src/BLEUUID.cpp
303- libraries/BLE/src/BLEValue.cpp
304- libraries/BLE/src/FreeRTOS.cpp
305- libraries/BLE/src/GeneralUtils.cpp
306- )
307-
308206set (ARDUINO_LIBRARIES_SRCS)
309207set (ARDUINO_LIBRARIES_REQUIRES)
310208set (ARDUINO_LIBRARIES_INCLUDEDIRS)
@@ -326,15 +224,7 @@ set(includedirs variants/${CONFIG_ARDUINO_VARIANT}/ cores/esp32/ ${ARDUINO_LIBRA
326224set (srcs ${CORE_SRCS} ${ARDUINO_LIBRARIES_SRCS} )
327225set (priv_includes cores/esp32/libb64)
328226set (requires spi_flash esp_partition mbedtls wpa_supplicant esp_adc esp_eth http_parser esp_ringbuf esp_driver_gptimer esp_driver_usb_serial_jtag driver)
329- set (priv_requires fatfs nvs_flash app_update spiffs bootloader_support bt esp_hid usb esp_psram ${ARDUINO_LIBRARIES_REQUIRES} )
330-
331- if (NOT CONFIG_ARDUINO_SELECTIVE_COMPILATION OR CONFIG_ARDUINO_SELECTIVE_OpenThread)
332- #if(CONFIG_SOC_IEEE802154_SUPPORTED) # Does not work!
333- #if(CONFIG_OPENTHREAD_ENABLED) # Does not work!
334- if (IDF_TARGET STREQUAL "esp32c6" OR IDF_TARGET STREQUAL "esp32h2" ) # Sadly only this works
335- list (APPEND requires openthread)
336- endif ()
337- endif ()
227+ set (priv_requires fatfs nvs_flash app_update bootloader_support bt esp_hid usb esp_psram ${ARDUINO_LIBRARIES_REQUIRES} )
338228
339229if (IDF_TARGET STREQUAL "esp32p4" )
340230 list (APPEND requires esp_driver_touch_sens)
@@ -385,15 +275,6 @@ endif()
385275if (NOT CONFIG_ARDUINO_SELECTIVE_COMPILATION OR CONFIG_ARDUINO_SELECTIVE_ArduinoOTA)
386276 maybe_add_component(esp_https_ota)
387277endif ()
388- if (NOT CONFIG_ARDUINO_SELECTIVE_COMPILATION OR CONFIG_ARDUINO_SELECTIVE_ESP_SR)
389- maybe_add_component(espressif__esp_sr)
390- endif ()
391- if (NOT CONFIG_ARDUINO_SELECTIVE_COMPILATION OR CONFIG_ARDUINO_SELECTIVE_Matter)
392- maybe_add_component(espressif__esp_matter)
393- endif ()
394278if (NOT CONFIG_ARDUINO_SELECTIVE_COMPILATION OR CONFIG_ARDUINO_SELECTIVE_LittleFS)
395279 maybe_add_component(joltwallet__littlefs)
396280endif ()
397- if (NOT CONFIG_ARDUINO_SELECTIVE_COMPILATION OR CONFIG_ARDUINO_SELECTIVE_WiFiProv)
398- maybe_add_component(espressif__network_provisioning)
399- endif ()
0 commit comments