66# idf.py build
77
88set (min_supported_idf_version"5.3.0" )
9- set (max_supported_idf_version"5.5 .99" )
9+ set (max_supported_idf_version"6.0 .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} " )
@@ -26,7 +26,6 @@ set(CORE_SRCS
2626 cores/esp32/base64.cpp
2727 cores/esp32/cbuf.cpp
2828 cores/esp32/ColorFormat.c
29- cores/esp32/chip-debug-report.cpp
3029 cores/esp32/esp32-hal-adc.c
3130 cores/esp32/esp32-hal-bt.c
3231 cores/esp32/esp32-hal-cpu.c
@@ -45,8 +44,7 @@ set(CORE_SRCS
4544 cores/esp32/esp32-hal-sigmadelta.c
4645 cores/esp32/esp32-hal-spi.c
4746 cores/esp32/esp32-hal-time.c
48- cores/esp32/esp32-hal-timer.c
49- cores/esp32/esp32-hal-tinyusb.c
47+ cores/esp32/esp32-hal-timer.c
5048 cores/esp32/esp32-hal-touch.c
5149 cores/esp32/esp32-hal-touch-ng.c
5250 cores/esp32/esp32-hal-uart.c
@@ -69,87 +67,59 @@ set(CORE_SRCS
6967 cores/esp32/StreamString.cpp
7068 cores/esp32/Tone.cpp
7169 cores/esp32/HWCDC.cpp
72- cores/esp32/USB.cpp
73- cores/esp32/USBCDC.cpp
74- cores/esp32/USBMSC.cpp
7570 cores/esp32/FirmwareMSC.cpp
7671 cores/esp32/firmware_msc_fat.c
7772 cores/esp32/wiring_pulse.c
7873 cores/esp32/wiring_shift.c
7974 cores/esp32/WMath.cpp
8075 cores/esp32/WString.cpp
8176 )
77+ if (IDF_TARGETMATCHES "esp32s2|esp32s3|esp32p4" AND CONFIG_TINYUSB_ENABLED)
78+ list (APPEND CORE_SRCS
79+ cores/esp32/esp32-hal-tinyusb.c
80+ cores/esp32/USB.cpp
81+ cores/esp32/USBCDC.cpp
82+ cores/esp32/USBMSC.cpp)
83+ endif ()
8284
8385set (ARDUINO_ALL_LIBRARIES
8486 ArduinoOTA
8587 AsyncUDP
86- BLE
87- BluetoothSerial
8888 DNSServer
8989 EEPROM
90- ESP_I2S
91- ESP_NOW
92- ESP_SR
93- ESP_HostedOTA
9490 ESPmDNS
9591 Ethernet
9692 FFat
9793 FS
9894 Hash
9995 HTTPClient
10096 HTTPUpdate
101- Insights
10297 LittleFS
103- Matter
10498 NetBIOS
10599 Network
106- OpenThread
107100 PPP
108101 Preferences
109- RainMaker
110102 SD_MMC
111103 SD
112- SimpleBLE
113- SPIFFS
114104 SPI
115105 Ticker
116106 Update
117- USB
118107 WebServer
119- NetworkClientSecure
120108 WiFi
121- WiFiProv
122109 Wire
123- Zigbee
124110 )
111+ if (IDF_TARGETMATCHES "esp32s2|esp32s3|esp32p4" AND CONFIG_TINYUSB_ENABLED)
112+ list (APPEND ARDUINO_ALL_LIBRARIES USB)
113+ endif ()
125114
126115set (ARDUINO_LIBRARY_ArduinoOTA_SRCS libraries/ArduinoOTA/src/ArduinoOTA.cpp)
127116
128117set (ARDUINO_LIBRARY_AsyncUDP_SRCS libraries/AsyncUDP/src/AsyncUDP.cpp)
129118
130- set (ARDUINO_LIBRARY_BluetoothSerial_SRCS
131- libraries/BluetoothSerial/src/BluetoothSerial.cpp
132- libraries/BluetoothSerial/src/BTAddress.cpp
133- libraries/BluetoothSerial/src/BTAdvertisedDeviceSet.cpp
134- libraries/BluetoothSerial/src/BTScanResultsSet.cpp)
135-
136119set (ARDUINO_LIBRARY_DNSServer_SRCS libraries/DNSServer/src/DNSServer.cpp)
137120
138121set (ARDUINO_LIBRARY_EEPROM_SRCS libraries/EEPROM/src/EEPROM.cpp)
139122
140- set (ARDUINO_LIBRARY_ESP_I2S_SRCS libraries/ESP_I2S/src/ESP_I2S.cpp)
141-
142- set (ARDUINO_LIBRARY_ESP_NOW_SRCS
143- libraries/ESP_NOW/src/ESP32_NOW.cpp
144- libraries/ESP_NOW/src/ESP32_NOW_Serial.cpp)
145-
146- set (ARDUINO_LIBRARY_ESP_SR_SRCS
147- libraries/ESP_SR/src/ESP_SR.cpp
148- libraries/ESP_SR/src/esp32-hal-sr.c)
149-
150- set (ARDUINO_LIBRARY_ESP_HostedOTA_SRCS
151- libraries/ESP_HostedOTA/src/ESP_HostedOTA.cpp)
152-
153123set (ARDUINO_LIBRARY_ESPmDNS_SRCS libraries/ESPmDNS/src/ESPmDNS.cpp)
154124
155125set (ARDUINO_LIBRARY_Ethernet_SRCS libraries/Ethernet/src/ETH.cpp)
@@ -171,66 +141,21 @@ set(ARDUINO_LIBRARY_HTTPClient_SRCS libraries/HTTPClient/src/HTTPClient.cpp)
171141
172142set (ARDUINO_LIBRARY_HTTPUpdate_SRCS libraries/HTTPUpdate/src/HTTPUpdate.cpp)
173143
174- set (ARDUINO_LIBRARY_Insights_SRCS libraries/Insights/src/Insights.cpp)
175-
176144set (ARDUINO_LIBRARY_LittleFS_SRCS libraries/LittleFS/src/LittleFS.cpp)
177145
178146set (ARDUINO_LIBRARY_NetBIOS_SRCS libraries/NetBIOS/src/NetBIOS.cpp)
179147
180- set (ARDUINO_LIBRARY_OpenThread_SRCS
181- libraries/OpenThread/src/OThread.cpp
182- libraries/OpenThread/src/OThreadCLI.cpp
183- libraries/OpenThread/src/OThreadCLI_Util.cpp)
184-
185- set (ARDUINO_LIBRARY_Matter_SRCS
186- libraries/Matter/src/MatterEndpoints/MatterGenericSwitch.cpp
187- libraries/Matter/src/MatterEndpoints/MatterOnOffLight.cpp
188- libraries/Matter/src/MatterEndpoints/MatterDimmableLight.cpp
189- libraries/Matter/src/MatterEndpoints/MatterColorTemperatureLight.cpp
190- libraries/Matter/src/MatterEndpoints/MatterColorLight.cpp
191- libraries/Matter/src/MatterEndpoints/MatterEnhancedColorLight.cpp
192- libraries/Matter/src/MatterEndpoints/MatterFan.cpp
193- libraries/Matter/src/MatterEndpoints/MatterTemperatureSensor.cpp
194- libraries/Matter/src/MatterEndpoints/MatterTemperatureControlledCabinet.cpp
195- libraries/Matter/src/MatterEndpoints/MatterHumiditySensor.cpp
196- libraries/Matter/src/MatterEndpoints/MatterContactSensor.cpp
197- libraries/Matter/src/MatterEndpoints/MatterWaterLeakDetector.cpp
198- libraries/Matter/src/MatterEndpoints/MatterWaterFreezeDetector.cpp
199- libraries/Matter/src/MatterEndpoints/MatterRainSensor.cpp
200- libraries/Matter/src/MatterEndpoints/MatterPressureSensor.cpp
201- libraries/Matter/src/MatterEndpoints/MatterOccupancySensor.cpp
202- libraries/Matter/src/MatterEndpoints/MatterOnOffPlugin.cpp
203- libraries/Matter/src/MatterEndpoints/MatterDimmablePlugin.cpp
204- libraries/Matter/src/MatterEndpoints/MatterThermostat.cpp
205- libraries/Matter/src/MatterEndpoints/MatterWindowCovering.cpp
206- libraries/Matter/src/Matter.cpp
207- libraries/Matter/src/MatterEndPoint.cpp)
208-
209148set (ARDUINO_LIBRARY_PPP_SRCS libraries/PPP/src/PPP.cpp)
210149
211150set (ARDUINO_LIBRARY_Preferences_SRCS libraries/Preferences/src/Preferences.cpp)
212151
213- set (ARDUINO_LIBRARY_RainMaker_SRCS
214- libraries/RainMaker/src/RMaker.cpp
215- libraries/RainMaker/src/RMakerNode.cpp
216- libraries/RainMaker/src/RMakerParam.cpp
217- libraries/RainMaker/src/RMakerDevice.cpp
218- libraries/RainMaker/src/RMakerType.cpp
219- libraries/RainMaker/src/RMakerQR.cpp
220- libraries/RainMaker/src/RMakerUtils.cpp
221- libraries/RainMaker/src/AppInsights.cpp)
222-
223152set (ARDUINO_LIBRARY_SD_MMC_SRCS libraries/SD_MMC/src/SD_MMC.cpp)
224153
225154set (ARDUINO_LIBRARY_SD_SRCS
226155 libraries/SD/src/SD.cpp
227156 libraries/SD/src/sd_diskio.cpp
228157 libraries/SD/src/sd_diskio_crc.c)
229158
230- set (ARDUINO_LIBRARY_SimpleBLE_SRCS libraries/SimpleBLE/src/SimpleBLE.cpp)
231-
232- set (ARDUINO_LIBRARY_SPIFFS_SRCS libraries/SPIFFS/src/SPIFFS.cpp)
233-
234159set (ARDUINO_LIBRARY_SPI_SRCS libraries/SPI/src/SPI.cpp)
235160
236161set (ARDUINO_LIBRARY_Ticker_SRCS libraries/Ticker/src/Ticker.cpp)
@@ -240,26 +165,28 @@ set(ARDUINO_LIBRARY_Update_SRCS
240165 libraries/Update/src/HttpsOTAUpdate.cpp
241166 libraries/Update/src/Updater_Signing.cpp)
242167
243- set (ARDUINO_LIBRARY_USB_SRCS
244- libraries/USB/src/USBHID.cpp
245- libraries/USB/src/USBMIDI.cpp
246- libraries/USB/src/USBHIDMouse.cpp
247- libraries/USB/src/USBHIDKeyboard.cpp
248- libraries/USB/src/keyboardLayout/KeyboardLayout_da_DK.cpp
249- libraries/USB/src/keyboardLayout/KeyboardLayout_de_DE.cpp
250- libraries/USB/src/keyboardLayout/KeyboardLayout_en_US.cpp
251- libraries/USB/src/keyboardLayout/KeyboardLayout_es_ES.cpp
252- libraries/USB/src/keyboardLayout/KeyboardLayout_fr_FR.cpp
253- libraries/USB/src/keyboardLayout/KeyboardLayout_hu_HU.cpp
254- libraries/USB/src/keyboardLayout/KeyboardLayout_it_IT.cpp
255- libraries/USB/src/keyboardLayout/KeyboardLayout_pt_BR.cpp
256- libraries/USB/src/keyboardLayout/KeyboardLayout_pt_PT.cpp
257- libraries/USB/src/keyboardLayout/KeyboardLayout_sv_SE.cpp
258- libraries/USB/src/USBHIDGamepad.cpp
259- libraries/USB/src/USBHIDConsumerControl.cpp
260- libraries/USB/src/USBHIDSystemControl.cpp
261- libraries/USB/src/USBHIDVendor.cpp
262- libraries/USB/src/USBVendor.cpp)
168+ if (IDF_TARGETMATCHES "esp32s2|esp32s3|esp32p4" AND CONFIG_TINYUSB_ENABLED)
169+ set (ARDUINO_LIBRARY_USB_SRCS
170+ libraries/USB/src/USBHID.cpp
171+ libraries/USB/src/USBMIDI.cpp
172+ libraries/USB/src/USBHIDMouse.cpp
173+ libraries/USB/src/USBHIDKeyboard.cpp
174+ libraries/USB/src/keyboardLayout/KeyboardLayout_da_DK.cpp
175+ libraries/USB/src/keyboardLayout/KeyboardLayout_de_DE.cpp
176+ libraries/USB/src/keyboardLayout/KeyboardLayout_en_US.cpp
177+ libraries/USB/src/keyboardLayout/KeyboardLayout_es_ES.cpp
178+ libraries/USB/src/keyboardLayout/KeyboardLayout_fr_FR.cpp
179+ libraries/USB/src/keyboardLayout/KeyboardLayout_hu_HU.cpp
180+ libraries/USB/src/keyboardLayout/KeyboardLayout_it_IT.cpp
181+ libraries/USB/src/keyboardLayout/KeyboardLayout_pt_BR.cpp
182+ libraries/USB/src/keyboardLayout/KeyboardLayout_pt_PT.cpp
183+ libraries/USB/src/keyboardLayout/KeyboardLayout_sv_SE.cpp
184+ libraries/USB/src/USBHIDGamepad.cpp
185+ libraries/USB/src/USBHIDConsumerControl.cpp
186+ libraries/USB/src/USBHIDSystemControl.cpp
187+ libraries/USB/src/USBHIDVendor.cpp
188+ libraries/USB/src/USBVendor.cpp)
189+ endif ()
263190
264191set (ARDUINO_LIBRARY_WebServer_SRCS
265192 libraries/WebServer/src/WebServer.cpp
@@ -270,10 +197,6 @@ set(ARDUINO_LIBRARY_WebServer_SRCS
270197 libraries/WebServer/src/middleware/CorsMiddleware.cpp
271198 libraries/WebServer/src/middleware/LoggingMiddleware.cpp)
272199
273- set (ARDUINO_LIBRARY_NetworkClientSecure_SRCS
274- libraries/NetworkClientSecure/src/ssl_client.cpp
275- libraries/NetworkClientSecure/src/NetworkClientSecure.cpp)
276-
277200set (ARDUINO_LIBRARY_Network_SRCS
278201 libraries/Network/src/NetworkInterface.cpp
279202 libraries/Network/src/NetworkEvents.cpp
@@ -292,75 +215,8 @@ set(ARDUINO_LIBRARY_WiFi_SRCS
292215 libraries/WiFi/src/STA.cpp
293216 libraries/WiFi/src/AP.cpp)
294217
295- set (ARDUINO_LIBRARY_WiFiProv_SRCS libraries/WiFiProv/src/WiFiProv.cpp)
296-
297218set (ARDUINO_LIBRARY_Wire_SRCS libraries/Wire/src/Wire.cpp)
298219
299- set (ARDUINO_LIBRARY_Zigbee_SRCS
300- libraries/Zigbee/src/ZigbeeCore.cpp
301- libraries/Zigbee/src/ZigbeeEP.cpp
302- libraries/Zigbee/src/ZigbeeHandlers.cpp
303- libraries/Zigbee/src/ep/ZigbeeColorDimmableLight.cpp
304- libraries/Zigbee/src/ep/ZigbeeColorDimmerSwitch.cpp
305- libraries/Zigbee/src/ep/ZigbeeDimmableLight.cpp
306- libraries/Zigbee/src/ep/ZigbeeLight.cpp
307- libraries/Zigbee/src/ep/ZigbeeSwitch.cpp
308- libraries/Zigbee/src/ep/ZigbeeTempSensor.cpp
309- libraries/Zigbee/src/ep/ZigbeeThermostat.cpp
310- libraries/Zigbee/src/ep/ZigbeeFlowSensor.cpp
311- libraries/Zigbee/src/ep/ZigbeePressureSensor.cpp
312- libraries/Zigbee/src/ep/ZigbeeOccupancySensor.cpp
313- libraries/Zigbee/src/ep/ZigbeeCarbonDioxideSensor.cpp
314- libraries/Zigbee/src/ep/ZigbeeContactSwitch.cpp
315- libraries/Zigbee/src/ep/ZigbeeDoorWindowHandle.cpp
316- libraries/Zigbee/src/ep/ZigbeeWindowCovering.cpp
317- libraries/Zigbee/src/ep/ZigbeeVibrationSensor.cpp
318- libraries/Zigbee/src/ep/ZigbeeAnalog.cpp
319- libraries/Zigbee/src/ep/ZigbeeRangeExtender.cpp
320- libraries/Zigbee/src/ep/ZigbeeGateway.cpp
321- libraries/Zigbee/src/ep/ZigbeeWindSpeedSensor.cpp
322- libraries/Zigbee/src/ep/ZigbeeIlluminanceSensor.cpp
323- libraries/Zigbee/src/ep/ZigbeePM25Sensor.cpp
324- libraries/Zigbee/src/ep/ZigbeeElectricalMeasurement.cpp
325- libraries/Zigbee/src/ep/ZigbeeBinary.cpp
326- libraries/Zigbee/src/ep/ZigbeePowerOutlet.cpp
327- libraries/Zigbee/src/ep/ZigbeeFanControl.cpp
328- libraries/Zigbee/src/ep/ZigbeeMultistate.cpp
329- )
330-
331- set (ARDUINO_LIBRARY_BLE_SRCS
332- libraries/BLE/src/BLE2901.cpp
333- libraries/BLE/src/BLE2902.cpp
334- libraries/BLE/src/BLE2904.cpp
335- libraries/BLE/src/BLEAddress.cpp
336- libraries/BLE/src/BLEAdvertisedDevice.cpp
337- libraries/BLE/src/BLEAdvertising.cpp
338- libraries/BLE/src/BLEBeacon.cpp
339- libraries/BLE/src/BLECharacteristic.cpp
340- libraries/BLE/src/BLECharacteristicMap.cpp
341- libraries/BLE/src/BLEClient.cpp
342- libraries/BLE/src/BLEDescriptor.cpp
343- libraries/BLE/src/BLEDescriptorMap.cpp
344- libraries/BLE/src/BLEDevice.cpp
345- libraries/BLE/src/BLEEddystoneTLM.cpp
346- libraries/BLE/src/BLEEddystoneURL.cpp
347- libraries/BLE/src/BLEExceptions.cpp
348- libraries/BLE/src/BLEHIDDevice.cpp
349- libraries/BLE/src/BLERemoteCharacteristic.cpp
350- libraries/BLE/src/BLERemoteDescriptor.cpp
351- libraries/BLE/src/BLERemoteService.cpp
352- libraries/BLE/src/BLEScan.cpp
353- libraries/BLE/src/BLESecurity.cpp
354- libraries/BLE/src/BLEServer.cpp
355- libraries/BLE/src/BLEService.cpp
356- libraries/BLE/src/BLEServiceMap.cpp
357- libraries/BLE/src/BLEUtils.cpp
358- libraries/BLE/src/BLEUUID.cpp
359- libraries/BLE/src/BLEValue.cpp
360- libraries/BLE/src/FreeRTOS.cpp
361- libraries/BLE/src/GeneralUtils.cpp
362- )
363-
364220set (ARDUINO_LIBRARIES_SRCS)
365221set (ARDUINO_LIBRARIES_REQUIRES)
366222set (ARDUINO_LIBRARIES_INCLUDEDIRS)
@@ -382,15 +238,7 @@ set(includedirs variants/${CONFIG_ARDUINO_VARIANT}/ cores/esp32/ ${ARDUINO_LIBRA
382238set (srcs${CORE_SRCS} ${ARDUINO_LIBRARIES_SRCS} )
383239set (priv_includes cores/esp32/libb64)
384240set (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 esp_http_client esp_https_ota)
385- set (priv_requires fatfs nvs_flash app_update spiffs bootloader_support bt esp_hid usb esp_psram${ARDUINO_LIBRARIES_REQUIRES} )
386-
387- if (NOT CONFIG_ARDUINO_SELECTIVE_COMPILATIONOR CONFIG_ARDUINO_SELECTIVE_OpenThread)
388- #if(CONFIG_SOC_IEEE802154_SUPPORTED) # Does not work!
389- #if(CONFIG_OPENTHREAD_ENABLED) # Does not work!
390- if (IDF_TARGETSTREQUAL "esp32c6" OR IDF_TARGETSTREQUAL "esp32h2" OR IDF_TARGETSTREQUAL "esp32c5" )# Sadly only this works
391- list (APPEND requires openthread)
392- endif ()
393- endif ()
241+ set (priv_requires fatfs nvs_flash app_update bootloader_support bt esp_hid usb esp_psram${ARDUINO_LIBRARIES_REQUIRES} )
394242
395243if (IDF_TARGETSTREQUAL "esp32" OR IDF_TARGETSTREQUAL "esp32s2" OR IDF_TARGETSTREQUAL "esp32s3" OR IDF_TARGETSTREQUAL "esp32p4" )
396244 list (APPEND requires esp_driver_touch_sens)
@@ -441,15 +289,6 @@ endif()
441289if (NOT CONFIG_ARDUINO_SELECTIVE_COMPILATIONOR CONFIG_ARDUINO_SELECTIVE_ArduinoOTA)
442290 maybe_add_component(esp_https_ota)
443291endif ()
444- if (NOT CONFIG_ARDUINO_SELECTIVE_COMPILATIONOR CONFIG_ARDUINO_SELECTIVE_ESP_SR)
445- maybe_add_component(espressif__esp_sr)
446- endif ()
447- if (NOT CONFIG_ARDUINO_SELECTIVE_COMPILATIONOR CONFIG_ARDUINO_SELECTIVE_Matter)
448- maybe_add_component(espressif__esp_matter)
449- endif ()
450292if (NOT CONFIG_ARDUINO_SELECTIVE_COMPILATIONOR CONFIG_ARDUINO_SELECTIVE_LittleFS)
451293 maybe_add_component(joltwallet__littlefs)
452294endif ()
453- if (NOT CONFIG_ARDUINO_SELECTIVE_COMPILATIONOR CONFIG_ARDUINO_SELECTIVE_WiFiProv)
454- maybe_add_component(espressif__network_provisioning)
455- endif ()