diff --git a/.gitignore b/.gitignore index a09a7a0d6b9..9a90619a107 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,9 @@ -tools/xtensa-esp32-elf -tools/dist -tools/esptool -tools/esptool.exe -tools/mkspiffs/mkspiffs -tools/mkspiffs/mkspiffs.exe +tools/ +.vale/ +docs/ +tests/ + .DS_Store - #Ignore files built by Visual Studio/Visual Micro [Dd]ebug*/ [Rr]elease*/ diff --git a/LIBRARIES_TEST.md b/LIBRARIES_TEST.md new file mode 100644 index 00000000000..65f068ee50d --- /dev/null +++ b/LIBRARIES_TEST.md @@ -0,0 +1,18 @@ +### External libraries build test + +Library|ESP32|ESP32C3|ESP32C6|ESP32H2|ESP32P4|ESP32S2|ESP32S3 +-|:-:|:-:|:-:|:-:|:-:|:-:|:-: +Adafruit NeoPixel|1 :white_check_mark: |1 :white_check_mark: |1 :white_check_mark: |1 :white_check_mark: |1 :white_check_mark: |1 :white_check_mark: |1 :white_check_mark: +ArduinoBLE|1 :white_check_mark: |1 :white_check_mark: |1 :white_check_mark: |1 :white_check_mark: |1 :x: |N/A|1 :white_check_mark: +ESP32Servo|1 :white_check_mark: |1 :white_check_mark: |1 :white_check_mark: |1 :white_check_mark: |1 :white_check_mark: |1 :white_check_mark: |1 :white_check_mark: +ESPAsyncWebServer|32 :white_check_mark: |32 :white_check_mark: |32 :white_check_mark: |32 :white_check_mark: |32 :white_check_mark: |32 :white_check_mark: |32 :white_check_mark: +EthernetESP32|2 :warning: |2 :white_check_mark: |2 :white_check_mark: |2 :white_check_mark: |2 :x: |2 :white_check_mark: |2 :white_check_mark: +FastLED|1 :white_check_mark: |1 :white_check_mark: |1 :white_check_mark: |1 :warning: |1 :warning: |1 :white_check_mark: |1 :warning: +IRremote|1 :warning: |1 :white_check_mark: |1 :white_check_mark: |1 :white_check_mark: |1 :warning: |1 :white_check_mark: |1 :white_check_mark: +MFRC522|1 :white_check_mark: |1 :white_check_mark: |1 :white_check_mark: |1 :white_check_mark: |1 :white_check_mark: |1 :white_check_mark: |1 :white_check_mark: +WS2812FX|1 :white_check_mark: |1 :white_check_mark: |1 :white_check_mark: |1 :white_check_mark: |1 :white_check_mark: |1 :white_check_mark: |1 :white_check_mark: +ZACwire for TSic|2 :warning: |2 :warning: |2 :warning: |2 :warning: |2 :warning: |2 :warning: |2 :warning: + + +Generated on: May-11-2025 04:38:10 +/ [GitHub Action Link](https://github.com/espressif/arduino-esp32/actions/runs/14952088361) diff --git a/SIZES_TEST.md b/SIZES_TEST.md new file mode 100644 index 00000000000..f9c8d3369aa --- /dev/null +++ b/SIZES_TEST.md @@ -0,0 +1,238 @@ +### Memory usage test + +The table below shows the summary of memory usage change (decrease - increase) in bytes and percentage for each target. + +<table> +<tr><th nowrap>Memory</th><th colspan='2' align='center' nowrap>FLASH [bytes]</th><th colspan='2' align='center' nowrap>FLASH [%]</th><th colspan='2' align='center' nowrap>RAM [bytes]</th><th colspan='2' align='center' nowrap>RAM [%]</th></tr> +<tr><td nowrap>Target</td><td align='center' nowrap>DEC</td><td align='center' nowrap>INC</td><td align='center' nowrap>DEC</td><td align='center' nowrap>INC</td><td align='center' nowrap>DEC</td><td align='center' nowrap>INC</td><td align='center' nowrap>DEC</td><td align='center' nowrap>INC</td></tr> +<tr><td nowrap>ESP32S3</td><td align='center' nowrap>:green_heart: -3K</td><td align='center' nowrap>:bangbang: +209K</td><td align='center' nowrap>:green_heart: -0.89</td><td align='center' nowrap>:bangbang: +32.03</td><td align='center' nowrap>:green_heart: -7K</td><td align='center' nowrap>0</td><td align='center' nowrap>:green_heart: -26.12</td><td align='center' nowrap>0.00</td></tr> +<tr><td nowrap>ESP32S2</td><td align='center' nowrap>:green_heart: -431K</td><td align='center' nowrap>:bangbang: +207K</td><td align='center' nowrap>:green_heart: -31.46</td><td align='center' nowrap>:bangbang: +32.70</td><td align='center' nowrap>:green_heart: -15K</td><td align='center' nowrap>0</td><td align='center' nowrap>:green_heart: -41.42</td><td align='center' nowrap>0.00</td></tr> +<tr><td nowrap>ESP32C3</td><td align='center' nowrap>:green_heart: -11K</td><td align='center' nowrap>:bangbang: +221K</td><td align='center' nowrap>:green_heart: -4.35</td><td align='center' nowrap>:bangbang: +32.70</td><td align='center' nowrap>:green_heart: -7K</td><td align='center' nowrap>0</td><td align='center' nowrap>:green_heart: -34.51</td><td align='center' nowrap>0.00</td></tr> +<tr><td nowrap>ESP32C6</td><td align='center' nowrap>0</td><td align='center' nowrap>0</td><td align='center' nowrap>0.00</td><td align='center' nowrap>0.00</td><td align='center' nowrap>0</td><td align='center' nowrap>0</td><td align='center' nowrap>0.00</td><td align='center' nowrap>0.00</td></tr> +<tr><td nowrap>ESP32H2</td><td align='center' nowrap>0</td><td align='center' nowrap>0</td><td align='center' nowrap>0.00</td><td align='center' nowrap>0.00</td><td align='center' nowrap>0</td><td align='center' nowrap>0</td><td align='center' nowrap>0.00</td><td align='center' nowrap>0.00</td></tr> +<tr><td nowrap>ESP32</td><td align='center' nowrap>:green_heart: -474K</td><td align='center' nowrap>:bangbang: +200K</td><td align='center' nowrap>:green_heart: -36.63</td><td align='center' nowrap>:bangbang: +28.22</td><td align='center' nowrap>:green_heart: -22K</td><td align='center' nowrap>0</td><td align='center' nowrap>:green_heart: -51.17</td><td align='center' nowrap>0.00</td></tr> +</table> + +<details> +<summary>Click to expand the detailed deltas report [usage change in BYTES]</summary> + +<table> +<tr><th nowrap>Target</th><th colspan='2' align='center' nowrap>ESP32S3</th><th colspan='2' align='center' nowrap>ESP32S2</th><th colspan='2' align='center' nowrap>ESP32C3</th><th colspan='2' align='center' nowrap>ESP32C6</th><th colspan='2' align='center' nowrap>ESP32H2</th><th colspan='2' align='center' nowrap>ESP32</th></tr> +<tr><td nowrap>Example</td><td nowrap>FLASH</td><td nowrap>RAM</td><td nowrap>FLASH</td><td nowrap>RAM</td><td nowrap>FLASH</td><td nowrap>RAM</td><td nowrap>FLASH</td><td nowrap>RAM</td><td nowrap>FLASH</td><td nowrap>RAM</td><td nowrap>FLASH</td><td nowrap>RAM</td></tr> +<tr><td nowrap>ArduinoOTA/examples/BasicOTA</td><td nowrap>:bangbang: +179K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +176K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +194K</td><td nowrap>:green_heart: -5K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +154K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>AsyncUDP/examples/AsyncUDPClient</td><td nowrap>:bangbang: +159K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +158K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +176K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +148K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>AsyncUDP/examples/AsyncUDPMulticastServer</td><td nowrap>:bangbang: +159K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +158K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +176K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +147K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>AsyncUDP/examples/AsyncUDPServer</td><td nowrap>:bangbang: +159K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +158K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +176K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +147K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>BLE/examples/BLE5_extended_scan</td><td nowrap>:bangbang: +17K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -1704</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>BLE/examples/BLE5_multi_advertising</td><td nowrap>:bangbang: +17K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -1674</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>BLE/examples/BLE5_periodic_advertising</td><td nowrap>:bangbang: +17K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -1722</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>BLE/examples/BLE5_periodic_sync</td><td nowrap>:bangbang: +17K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -1722</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>BLE/examples/Beacon_Scanner</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>BLE/examples/Client</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>BLE/examples/EddystoneTLM_Beacon</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>BLE/examples/EddystoneURL_Beacon</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>BLE/examples/Notify</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>BLE/examples/Scan</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>BLE/examples/Server</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>BLE/examples/Server_multiconnect</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>BLE/examples/UART</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>BLE/examples/Write</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>BLE/examples/iBeacon</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>DNSServer/examples/CaptivePortal</td><td nowrap>:bangbang: +209K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +207K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +221K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +200K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>EEPROM/examples/eeprom_class</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +20K</td><td nowrap>:green_heart: -4K</td><td nowrap>:green_heart: -11K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -3K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>EEPROM/examples/eeprom_extra</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +5K</td><td nowrap>:green_heart: -4K</td><td nowrap>:green_heart: -11K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -3K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>EEPROM/examples/eeprom_write</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +20K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +6K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -3K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/AnalogOut/LEDCFade</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>ESP32/examples/AnalogOut/LEDCSoftwareFade</td><td nowrap>:bangbang: +20K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +31K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +12K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +14K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/AnalogOut/SigmaDelta</td><td nowrap>:bangbang: +23K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +33K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +14K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +16K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/AnalogOut/ledcFrequency</td><td nowrap>:bangbang: +20K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +18K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +12K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +13K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/AnalogOut/ledcWrite_RGB</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +20K</td><td nowrap>:green_heart: -4K</td><td nowrap>:warning: +1344</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -2K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/AnalogRead</td><td nowrap>:bangbang: +8K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +8K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -2K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/AnalogReadContinuous</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>ESP32/examples/ArduinoStackSize</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +6K</td><td nowrap>:green_heart: -4K</td><td nowrap>:warning: +1232</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -2K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/CI/CIBoardsTest</td><td nowrap>:bangbang: +23K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +33K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +16K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:warning: +1548</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/Camera/CameraWebServer</td><td nowrap>:bangbang: +147K</td><td nowrap>:green_heart: -6K</td><td nowrap>:green_heart: -431K</td><td nowrap>:green_heart: -15K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -474K</td><td nowrap>:green_heart: -14K</td></tr> +<tr><td nowrap>ESP32/examples/ChipID/GetChipID</td><td nowrap>:bangbang: +8K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +3K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -712</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/DeepSleep/ExternalWakeUp</td><td nowrap>:warning: +320</td><td nowrap>:green_heart: -5K</td><td nowrap>:green_heart: -8K</td><td nowrap>:green_heart: -7K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -12K</td><td nowrap>:green_heart: -5K</td></tr> +<tr><td nowrap>ESP32/examples/DeepSleep/TimerWakeUp</td><td nowrap>:warning: +308</td><td nowrap>:green_heart: -5K</td><td nowrap>:green_heart: -8K</td><td nowrap>:green_heart: -7K</td><td nowrap>:green_heart: -5K</td><td nowrap>:green_heart: -5K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -12K</td><td nowrap>:green_heart: -5K</td></tr> +<tr><td nowrap>ESP32/examples/DeepSleep/TouchWakeUp</td><td nowrap>:bangbang: +2K</td><td nowrap>:green_heart: -5K</td><td nowrap>:green_heart: -6K</td><td nowrap>:green_heart: -7K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -13K</td><td nowrap>:green_heart: -6K</td></tr> +<tr><td nowrap>ESP32/examples/FreeRTOS/BasicMultiThreading</td><td nowrap>:bangbang: +21K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +18K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +18K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -836</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/FreeRTOS/Mutex</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +6K</td><td nowrap>:green_heart: -4K</td><td nowrap>:warning: +1246</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -2K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/FreeRTOS/Queue</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +6K</td><td nowrap>:green_heart: -4K</td><td nowrap>:warning: +1228</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -2K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/FreeRTOS/Semaphore</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +6K</td><td nowrap>:green_heart: -4K</td><td nowrap>:warning: +1240</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -2K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/GPIO/BlinkRGB</td><td nowrap>:bangbang: +29K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +38K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +19K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +15K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/GPIO/FunctionalInterrupt</td><td nowrap>:bangbang: +8K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +3K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -2K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/GPIO/FunctionalInterruptStruct</td><td nowrap>:bangbang: +8K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +3K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -2K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/GPIO/GPIOInterrupt</td><td nowrap>:bangbang: +8K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +3K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -2K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/HWCDC_Events</td><td nowrap>:bangbang: +21K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +11K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>ESP32/examples/MacAddress/GetMacAddress</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>ESP32/examples/RMT/RMTCallback</td><td nowrap>:bangbang: +20K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +16K</td><td nowrap>:green_heart: -3K</td><td nowrap>:bangbang: +12K</td><td nowrap>:green_heart: -3K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>ESP32/examples/RMT/RMTLoopback</td><td nowrap>:bangbang: +18K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +15K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +11K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +6K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/RMT/RMTReadXJT</td><td nowrap>:bangbang: +20K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +17K</td><td nowrap>:green_heart: -3K</td><td nowrap>:bangbang: +12K</td><td nowrap>:green_heart: -3K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/RMT/RMTWriteNeoPixel</td><td nowrap>:bangbang: +19K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +16K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +12K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +6K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/RMT/RMT_CPUFreq_Test</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>ESP32/examples/RMT/RMT_EndOfTransmissionState</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>ESP32/examples/RMT/RMT_LED_Blink</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>ESP32/examples/ResetReason/ResetReason</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>ESP32/examples/ResetReason/ResetReason2</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>ESP32/examples/Serial/BaudRateDetect_Demo</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>ESP32/examples/Serial/OnReceiveError_BREAK_Demo</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +6K</td><td nowrap>:green_heart: -4K</td><td nowrap>:warning: +1280</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -2K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/Serial/OnReceive_Demo</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +6K</td><td nowrap>:green_heart: -4K</td><td nowrap>:warning: +1258</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -2K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/Serial/RS485_Echo_Demo</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>ESP32/examples/Serial/RxFIFOFull_Demo</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +6K</td><td nowrap>:green_heart: -4K</td><td nowrap>:warning: +1298</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -2K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/Serial/RxTimeout_Demo</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +6K</td><td nowrap>:green_heart: -4K</td><td nowrap>:warning: +1258</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -2K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/Serial/Serial_All_CPU_Freqs</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +6K</td><td nowrap>:green_heart: -4K</td><td nowrap>:warning: +1176</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -2K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/Serial/Serial_STD_Func_OnReceive</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +6K</td><td nowrap>:green_heart: -4K</td><td nowrap>:warning: +1252</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -2K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/Serial/onReceiveExample</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>ESP32/examples/TWAI/TWAIreceive</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +6K</td><td nowrap>:green_heart: -4K</td><td nowrap>:warning: +1830</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -2K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/TWAI/TWAItransmit</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +6K</td><td nowrap>:green_heart: -4K</td><td nowrap>:warning: +1802</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -2K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/Template/ExampleTemplate</td><td nowrap>:bangbang: +21K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +32K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +12K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +15K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/Time/SimpleTime</td><td nowrap>:bangbang: +160K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +159K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +177K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +146K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>ESP32/examples/Timer/RepeatTimer</td><td nowrap>:bangbang: +8K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +22K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +3K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -3K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/Timer/WatchdogTimer</td><td nowrap>:bangbang: +8K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +22K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +3K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -3K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>ESP32/examples/Touch/TouchButtonV2</td><td nowrap>:bangbang: +8K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +21K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>ESP32/examples/Touch/TouchInterrupt</td><td nowrap>:bangbang: +8K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +21K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -4K</td><td nowrap>:green_heart: -5K</td></tr> +<tr><td nowrap>ESP32/examples/Touch/TouchRead</td><td nowrap>:bangbang: +9K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +22K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -3K</td><td nowrap>:green_heart: -5K</td></tr> +<tr><td nowrap>ESP32/examples/Utilities/HEXBuilder</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>ESP32/examples/Utilities/MD5Builder</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>ESP32/examples/Utilities/SHA1Builder</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>ESP_I2S/examples/ES8388_loopback</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>ESP_I2S/examples/Record_to_WAV</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>ESP_I2S/examples/Simple_tone</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>ESP_NOW/examples/ESP_NOW_Broadcast_Master</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>ESP_NOW/examples/ESP_NOW_Broadcast_Slave</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>ESP_NOW/examples/ESP_NOW_Network</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>ESP_NOW/examples/ESP_NOW_Serial</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>ESP_SR/examples/Basic</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>ESPmDNS/examples/mDNS-SD_Extended</td><td nowrap>:bangbang: +164K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +163K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +182K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +151K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>ESPmDNS/examples/mDNS_Web_Server</td><td nowrap>:bangbang: +165K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +164K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +183K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +151K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>Ethernet/examples/ETH_W5500_Arduino_SPI</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>Ethernet/examples/ETH_W5500_IDF_SPI</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>FFat/examples/FFat_Test</td><td nowrap>:bangbang: +9K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +8K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +3K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -1848</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>FFat/examples/FFat_time</td><td nowrap>:bangbang: +162K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +161K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +179K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +148K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>HTTPClient/examples/Authorization</td><td nowrap>:bangbang: +180K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +179K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +204K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +164K</td><td nowrap>:green_heart: -2K</td></tr> +<tr><td nowrap>HTTPClient/examples/BasicHttpClient</td><td nowrap>:bangbang: +180K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +179K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +204K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +164K</td><td nowrap>:green_heart: -2K</td></tr> +<tr><td nowrap>HTTPClient/examples/BasicHttpsClient</td><td nowrap>:bangbang: +180K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +180K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +204K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +164K</td><td nowrap>:green_heart: -2K</td></tr> +<tr><td nowrap>HTTPClient/examples/HTTPClientEnterprise</td><td nowrap>:bangbang: +194K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +193K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +218K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +177K</td><td nowrap>:green_heart: -2K</td></tr> +<tr><td nowrap>HTTPClient/examples/ReuseConnection</td><td nowrap>:bangbang: +181K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +180K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +204K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +164K</td><td nowrap>:green_heart: -2K</td></tr> +<tr><td nowrap>HTTPClient/examples/StreamHttpClient</td><td nowrap>:bangbang: +181K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +180K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +204K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +164K</td><td nowrap>:green_heart: -2K</td></tr> +<tr><td nowrap>HTTPUpdate/examples/httpUpdate</td><td nowrap>:bangbang: +167K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +164K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +188K</td><td nowrap>:green_heart: -5K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +143K</td><td nowrap>:green_heart: -2K</td></tr> +<tr><td nowrap>HTTPUpdate/examples/httpUpdateSPIFFS</td><td nowrap>:bangbang: +167K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +164K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +188K</td><td nowrap>:green_heart: -5K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +143K</td><td nowrap>:green_heart: -2K</td></tr> +<tr><td nowrap>HTTPUpdate/examples/httpUpdateSecure</td><td nowrap>:bangbang: +193K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +190K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +213K</td><td nowrap>:green_heart: -5K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +166K</td><td nowrap>:green_heart: -2K</td></tr> +<tr><td nowrap>HTTPUpdateServer/examples/WebUpdater</td><td nowrap>:bangbang: +179K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +177K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +194K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +154K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>Insights/examples/DiagnosticsSmokeTest</td><td nowrap>:bangbang: +121K</td><td nowrap>:green_heart: -7K</td><td nowrap>:bangbang: +120K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +136K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +105K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>Insights/examples/MinimalDiagnostics</td><td nowrap>:bangbang: +121K</td><td nowrap>:green_heart: -7K</td><td nowrap>:bangbang: +120K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +136K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +105K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>LittleFS/examples/LITTLEFS_test</td><td nowrap>:bangbang: +8K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +6K</td><td nowrap>:green_heart: -4K</td><td nowrap>:warning: +1238</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -2K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>LittleFS/examples/LITTLEFS_time</td><td nowrap>:bangbang: +161K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +160K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +177K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +147K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>NetBIOS/examples/ESP_NBNST</td><td nowrap>:bangbang: +159K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +158K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +174K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +147K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>NetworkClientSecure/examples/WiFiClientInsecure</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>NetworkClientSecure/examples/WiFiClientPSK</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>NetworkClientSecure/examples/WiFiClientSecure</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>NetworkClientSecure/examples/WiFiClientSecureEnterprise</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>NetworkClientSecure/examples/WiFiClientSecureProtocolUpgrade</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>NetworkClientSecure/examples/WiFiClientShowPeerCredentials</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>NetworkClientSecure/examples/WiFiClientTrustOnFirstUse</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>PPP/examples/PPP_Basic</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>Preferences/examples/Prefs2Struct</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +5K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +6K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -3K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>Preferences/examples/StartCounter</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +5K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +2K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -3K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>RainMaker/examples/RMakerCustom</td><td nowrap>:bangbang: +150K</td><td nowrap>:green_heart: -7K</td><td nowrap>:bangbang: +141K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +173K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +111K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>RainMaker/examples/RMakerCustomAirCooler</td><td nowrap>:bangbang: +149K</td><td nowrap>:green_heart: -7K</td><td nowrap>:bangbang: +141K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +172K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +111K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>RainMaker/examples/RMakerSonoffDualR3</td><td nowrap>:bangbang: +150K</td><td nowrap>:green_heart: -7K</td><td nowrap>:bangbang: +142K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +173K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +112K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>RainMaker/examples/RMakerSwitch</td><td nowrap>:bangbang: +151K</td><td nowrap>:green_heart: -7K</td><td nowrap>:bangbang: +142K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +172K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +112K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>SD/examples/SD_Test</td><td nowrap>:bangbang: +21K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +16K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +14K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -2040</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>SD/examples/SD_time</td><td nowrap>:bangbang: +171K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +168K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +187K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +147K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>SD_MMC/examples/SDMMC_Test</td><td nowrap>:green_heart: -3K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -14K</td><td nowrap>:green_heart: -5K</td></tr> +<tr><td nowrap>SD_MMC/examples/SDMMC_time</td><td nowrap>:bangbang: +151K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +136K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>SPI/examples/SPI_Multiple_Buses</td><td nowrap>:bangbang: +27K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +36K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +10K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>SPIFFS/examples/SPIFFS_Test</td><td nowrap>:bangbang: +8K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +6K</td><td nowrap>:green_heart: -4K</td><td nowrap>:warning: +756</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -2K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>SPIFFS/examples/SPIFFS_time</td><td nowrap>:bangbang: +161K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +159K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +176K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +146K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>SimpleBLE/examples/SimpleBleDevice</td><td nowrap>:bangbang: +17K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -9K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>TFLiteMicro/examples/hello_world</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>Ticker/examples/Blinker</td><td nowrap>:bangbang: +28K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +37K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +17K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +12K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>Ticker/examples/TickerBasic</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>Ticker/examples/TickerParameter</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>USB/examples/CompositeDevice</td><td nowrap>:bangbang: +24K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +14K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>USB/examples/ConsumerControl</td><td nowrap>:bangbang: +30K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +20K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>USB/examples/CustomHIDDevice</td><td nowrap>:bangbang: +24K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +12K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>USB/examples/FirmwareMSC</td><td nowrap>:bangbang: +20K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>USB/examples/Gamepad</td><td nowrap>:bangbang: +24K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +12K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>USB/examples/HIDVendor</td><td nowrap>:bangbang: +24K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +12K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>USB/examples/Keyboard/KeyboardLogout</td><td nowrap>:bangbang: +30K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +20K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>USB/examples/Keyboard/KeyboardMessage</td><td nowrap>:bangbang: +30K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +20K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>USB/examples/Keyboard/KeyboardReprogram</td><td nowrap>:bangbang: +30K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +20K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>USB/examples/Keyboard/KeyboardSerial</td><td nowrap>:bangbang: +24K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +10K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>USB/examples/KeyboardAndMouseControl</td><td nowrap>:bangbang: +24K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +12K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>USB/examples/MIDI/MidiController</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>USB/examples/MIDI/MidiInterface</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>USB/examples/MIDI/MidiMusicBox</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>USB/examples/MIDI/ReceiveMidi</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>USB/examples/Mouse/ButtonMouseControl</td><td nowrap>:bangbang: +30K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +20K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>USB/examples/SystemControl</td><td nowrap>:bangbang: +30K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +20K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>USB/examples/USBMSC</td><td nowrap>:bangbang: +20K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>USB/examples/USBSerial</td><td nowrap>:bangbang: +23K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +10K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>USB/examples/USBVendor</td><td nowrap>:bangbang: +24K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +12K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>Update/examples/AWS_S3_OTA_Update</td><td nowrap>:bangbang: +172K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +169K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +186K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +150K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>Update/examples/HTTPS_OTA_Update</td><td nowrap>:bangbang: +126K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +125K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +141K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +109K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>Update/examples/HTTP_Client_AES_OTA_Update</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>Update/examples/HTTP_Server_AES_OTA_Update</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>Update/examples/OTAWebUpdater</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>Update/examples/SD_Update</td><td nowrap>:bangbang: +25K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +18K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +17K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:warning: +100</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>WebServer/examples/AdvancedWebServer</td><td nowrap>:bangbang: +175K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +172K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +180K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +152K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WebServer/examples/FSBrowser</td><td nowrap>:bangbang: +166K</td><td nowrap>:green_heart: -7K</td><td nowrap>:bangbang: +164K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +175K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +151K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WebServer/examples/HelloServer</td><td nowrap>:bangbang: +175K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +172K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +180K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +152K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WebServer/examples/HttpAdvancedAuth</td><td nowrap>:bangbang: +180K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +177K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +193K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +155K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WebServer/examples/HttpAuthCallback</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>WebServer/examples/HttpAuthCallbackInline</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>WebServer/examples/HttpBasicAuth</td><td nowrap>:bangbang: +180K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +177K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +193K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +155K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WebServer/examples/HttpBasicAuthSHA1</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>WebServer/examples/HttpBasicAuthSHA1orBearerToken</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>WebServer/examples/MultiHomedServers</td><td nowrap>:bangbang: +175K</td><td nowrap>:green_heart: -7K</td><td nowrap>:bangbang: +172K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +180K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +152K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WebServer/examples/PathArgServer</td><td nowrap>:bangbang: +175K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +174K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +166K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +149K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WebServer/examples/SDWebServer</td><td nowrap>:bangbang: +177K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +174K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +184K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +152K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WebServer/examples/SimpleAuthentification</td><td nowrap>:bangbang: +161K</td><td nowrap>:green_heart: -7K</td><td nowrap>:bangbang: +160K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +166K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +148K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WebServer/examples/UploadHugeFile</td><td nowrap>:bangbang: +183K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +179K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +161K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +146K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WebServer/examples/WebServer</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>WebServer/examples/WebUpdate</td><td nowrap>:bangbang: +178K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +175K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +193K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +154K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WiFi/examples/FTM/FTM_Initiator</td><td nowrap>:bangbang: +159K</td><td nowrap>:green_heart: -7K</td><td nowrap>:bangbang: +158K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +176K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +147K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WiFi/examples/FTM/FTM_Responder</td><td nowrap>:bangbang: +159K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +159K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +176K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +148K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WiFi/examples/SimpleWiFiServer</td><td nowrap>:bangbang: +170K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +167K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +186K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +148K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WiFi/examples/WPS</td><td nowrap>:bangbang: +159K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +158K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +175K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +147K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WiFi/examples/WiFiAccessPoint</td><td nowrap>:bangbang: +170K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +167K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +186K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +148K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WiFi/examples/WiFiBlueToothSwitch</td><td nowrap>:bangbang: +159K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +177K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +120K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WiFi/examples/WiFiClient</td><td nowrap>:bangbang: +161K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +160K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +177K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +148K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WiFi/examples/WiFiClientBasic</td><td nowrap>:bangbang: +161K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +160K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +177K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +149K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WiFi/examples/WiFiClientConnect</td><td nowrap>:bangbang: +161K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +160K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +178K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +148K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WiFi/examples/WiFiClientEnterprise</td><td nowrap>:bangbang: +124K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +124K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +139K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +109K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WiFi/examples/WiFiClientEvents</td><td nowrap>:bangbang: +159K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +158K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +176K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +147K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WiFi/examples/WiFiClientStaticIP</td><td nowrap>:bangbang: +160K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +159K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +176K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +148K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WiFi/examples/WiFiIPv6</td><td nowrap>:bangbang: +160K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +160K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +177K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +148K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WiFi/examples/WiFiMulti</td><td nowrap>:bangbang: +160K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +159K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +176K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +148K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WiFi/examples/WiFiMultiAdvanced</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>WiFi/examples/WiFiScan</td><td nowrap>:bangbang: +159K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +159K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +176K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +148K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WiFi/examples/WiFiScanAsync</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>WiFi/examples/WiFiScanDualAntenna</td><td nowrap>:bangbang: +159K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +159K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +176K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +148K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WiFi/examples/WiFiSmartConfig</td><td nowrap>:bangbang: +159K</td><td nowrap>:green_heart: -7K</td><td nowrap>:bangbang: +159K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +41K</td><td nowrap>:green_heart: -7K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +148K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WiFi/examples/WiFiTelnetToSerial</td><td nowrap>:bangbang: +161K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +160K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +178K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +148K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WiFi/examples/WiFiUDPClient</td><td nowrap>:bangbang: +160K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +159K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +177K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +148K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>WiFiProv/examples/WiFiProv</td><td nowrap>:bangbang: +177K</td><td nowrap>:green_heart: -6K</td><td nowrap>:bangbang: +172K</td><td nowrap>:green_heart: -5K</td><td nowrap>:bangbang: +198K</td><td nowrap>:green_heart: -6K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +151K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>Wire/examples/WireMaster</td><td nowrap>:bangbang: +11K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +9K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +5K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:warning: +888</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>Wire/examples/WireScan</td><td nowrap>:bangbang: +12K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +11K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +7K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +2K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>Wire/examples/WireSlave</td><td nowrap>:bangbang: +17K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +16K</td><td nowrap>:green_heart: -4K</td><td nowrap>:bangbang: +12K</td><td nowrap>:green_heart: -4K</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +8K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>BluetoothSerial/examples/DiscoverConnect</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -9K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>BluetoothSerial/examples/GetLocalMAC</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -10K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>BluetoothSerial/examples/SerialToSerialBT</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -10K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>BluetoothSerial/examples/SerialToSerialBTM</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -10K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>BluetoothSerial/examples/SerialToSerialBT_Legacy</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>BluetoothSerial/examples/SerialToSerialBT_SSP</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td></tr> +<tr><td nowrap>BluetoothSerial/examples/bt_classic_device_discovery</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -10K</td><td nowrap>:green_heart: -4K</td></tr> +<tr><td nowrap>BluetoothSerial/examples/bt_remove_paired_devices</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:bangbang: +15K</td><td nowrap>:green_heart: -3K</td></tr> +<tr><td nowrap>ESP32/examples/DeepSleep/SmoothBlink_ULP_Code</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -12K</td><td nowrap>:green_heart: -5K</td></tr> +<tr><td nowrap>ESP32/examples/Touch/TouchButton</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -3K</td><td nowrap>:green_heart: -5K</td></tr> +<tr><td nowrap>Ethernet/examples/ETH_LAN8720</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -279K</td><td nowrap>:green_heart: -22K</td></tr> +<tr><td nowrap>Ethernet/examples/ETH_TLK110</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>-</td><td nowrap>:green_heart: -279K</td><td nowrap>:green_heart: -22K</td></tr> +</table> + +</details> + +Generated on: Jun-03-2024 07:45:39 +/ [GitHub Action Link](https://github.com/espressif/arduino-esp32/actions/runs/9346243271) diff --git a/c6-hosted/bootloader.bin b/c6-hosted/bootloader.bin new file mode 100644 index 00000000000..829737ba722 Binary files /dev/null and b/c6-hosted/bootloader.bin differ diff --git a/c6-hosted/esp-logo.e558125a.png b/c6-hosted/esp-logo.e558125a.png new file mode 100644 index 00000000000..e4cb4387d26 Binary files /dev/null and b/c6-hosted/esp-logo.e558125a.png differ diff --git a/c6-hosted/favicon.ee2246ac.ico b/c6-hosted/favicon.ee2246ac.ico new file mode 100644 index 00000000000..520ef4b6ce6 Binary files /dev/null and b/c6-hosted/favicon.ee2246ac.ico differ diff --git a/c6-hosted/flash.sh b/c6-hosted/flash.sh new file mode 100755 index 00000000000..c114f5a3437 --- /dev/null +++ b/c6-hosted/flash.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +if [ "$#" -eq 1 ]; then + esptool.py --port $1 --chip esp32c6 -b 2000000 --before default_reset --after hard_reset write_flash --flash_mode dio --flash_size 4MB --flash_freq 80m 0x0 ./bootloader.bin 0x8000 ./partition-table.bin 0xd000 ./ota_data_initial.bin 0x10000 ./network_adapter.bin +else + echo "Error: You must pass the port as argument." + exit 1 +fi diff --git a/c6-hosted/index.82fa246c.js b/c6-hosted/index.82fa246c.js new file mode 100644 index 00000000000..8371ed14410 --- /dev/null +++ b/c6-hosted/index.82fa246c.js @@ -0,0 +1,3692 @@ +class $ec3de3bad43fb783$var$A extends Error { +} +/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */ function $ec3de3bad43fb783$var$t(A) { + let t = A.length; + for(; --t >= 0;)A[t] = 0; +} +const $ec3de3bad43fb783$var$e = 256, $ec3de3bad43fb783$var$i = 286, $ec3de3bad43fb783$var$s = 30, $ec3de3bad43fb783$var$a = 15, $ec3de3bad43fb783$var$n = new Uint8Array([ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1, + 2, + 2, + 2, + 2, + 3, + 3, + 3, + 3, + 4, + 4, + 4, + 4, + 5, + 5, + 5, + 5, + 0 +]), $ec3de3bad43fb783$var$E = new Uint8Array([ + 0, + 0, + 0, + 0, + 1, + 1, + 2, + 2, + 3, + 3, + 4, + 4, + 5, + 5, + 6, + 6, + 7, + 7, + 8, + 8, + 9, + 9, + 10, + 10, + 11, + 11, + 12, + 12, + 13, + 13 +]), $ec3de3bad43fb783$var$h = new Uint8Array([ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 3, + 7 +]), $ec3de3bad43fb783$var$r = new Uint8Array([ + 16, + 17, + 18, + 0, + 8, + 7, + 9, + 6, + 10, + 5, + 11, + 4, + 12, + 3, + 13, + 2, + 14, + 1, + 15 +]), $ec3de3bad43fb783$var$g = new Array(576); +$ec3de3bad43fb783$var$t($ec3de3bad43fb783$var$g); +const $ec3de3bad43fb783$var$o = new Array(60); +$ec3de3bad43fb783$var$t($ec3de3bad43fb783$var$o); +const $ec3de3bad43fb783$var$B = new Array(512); +$ec3de3bad43fb783$var$t($ec3de3bad43fb783$var$B); +const $ec3de3bad43fb783$var$w = new Array(256); +$ec3de3bad43fb783$var$t($ec3de3bad43fb783$var$w); +const $ec3de3bad43fb783$var$c = new Array(29); +$ec3de3bad43fb783$var$t($ec3de3bad43fb783$var$c); +const $ec3de3bad43fb783$var$C = new Array($ec3de3bad43fb783$var$s); +function $ec3de3bad43fb783$var$I(A, t, e, i, s) { + this.static_tree = A, this.extra_bits = t, this.extra_base = e, this.elems = i, this.max_length = s, this.has_stree = A && A.length; +} +let $ec3de3bad43fb783$var$_, $ec3de3bad43fb783$var$l, $ec3de3bad43fb783$var$d; +function $ec3de3bad43fb783$var$M(A, t) { + this.dyn_tree = A, this.max_code = 0, this.stat_desc = t; +} +$ec3de3bad43fb783$var$t($ec3de3bad43fb783$var$C); +const $ec3de3bad43fb783$var$D = (A)=>A < 256 ? $ec3de3bad43fb783$var$B[A] : $ec3de3bad43fb783$var$B[256 + (A >>> 7)], $ec3de3bad43fb783$var$R = (A, t)=>{ + A.pending_buf[A.pending++] = 255 & t, A.pending_buf[A.pending++] = t >>> 8 & 255; +}, $ec3de3bad43fb783$var$S = (A, t, e)=>{ + A.bi_valid > 16 - e ? (A.bi_buf |= t << A.bi_valid & 65535, $ec3de3bad43fb783$var$R(A, A.bi_buf), A.bi_buf = t >> 16 - A.bi_valid, A.bi_valid += e - 16) : (A.bi_buf |= t << A.bi_valid & 65535, A.bi_valid += e); +}, $ec3de3bad43fb783$var$Q = (A, t, e)=>{ + $ec3de3bad43fb783$var$S(A, e[2 * t], e[2 * t + 1]); +}, $ec3de3bad43fb783$var$f = (A, t)=>{ + let e = 0; + do e |= 1 & A, A >>>= 1, e <<= 1; + while (--t > 0); + return e >>> 1; +}, $ec3de3bad43fb783$var$F = (A, t, e)=>{ + const i = new Array(16); + let s, n, E = 0; + for(s = 1; s <= $ec3de3bad43fb783$var$a; s++)E = E + e[s - 1] << 1, i[s] = E; + for(n = 0; n <= t; n++){ + let t = A[2 * n + 1]; + 0 !== t && (A[2 * n] = $ec3de3bad43fb783$var$f(i[t]++, t)); + } +}, $ec3de3bad43fb783$var$T = (A)=>{ + let t; + for(t = 0; t < $ec3de3bad43fb783$var$i; t++)A.dyn_ltree[2 * t] = 0; + for(t = 0; t < $ec3de3bad43fb783$var$s; t++)A.dyn_dtree[2 * t] = 0; + for(t = 0; t < 19; t++)A.bl_tree[2 * t] = 0; + A.dyn_ltree[512] = 1, A.opt_len = A.static_len = 0, A.sym_next = A.matches = 0; +}, $ec3de3bad43fb783$var$u = (A)=>{ + A.bi_valid > 8 ? $ec3de3bad43fb783$var$R(A, A.bi_buf) : A.bi_valid > 0 && (A.pending_buf[A.pending++] = A.bi_buf), A.bi_buf = 0, A.bi_valid = 0; +}, $ec3de3bad43fb783$var$p = (A, t, e, i)=>{ + const s = 2 * t, a = 2 * e; + return A[s] < A[a] || A[s] === A[a] && i[t] <= i[e]; +}, $ec3de3bad43fb783$var$y = (A, t, e)=>{ + const i = A.heap[e]; + let s = e << 1; + for(; s <= A.heap_len && (s < A.heap_len && $ec3de3bad43fb783$var$p(t, A.heap[s + 1], A.heap[s], A.depth) && s++, !$ec3de3bad43fb783$var$p(t, i, A.heap[s], A.depth));)A.heap[e] = A.heap[s], e = s, s <<= 1; + A.heap[e] = i; +}, $ec3de3bad43fb783$var$k = (A, t, i)=>{ + let s, a, h, r, g = 0; + if (0 !== A.sym_next) do s = 255 & A.pending_buf[A.sym_buf + g++], s += (255 & A.pending_buf[A.sym_buf + g++]) << 8, a = A.pending_buf[A.sym_buf + g++], 0 === s ? $ec3de3bad43fb783$var$Q(A, a, t) : (h = $ec3de3bad43fb783$var$w[a], $ec3de3bad43fb783$var$Q(A, h + $ec3de3bad43fb783$var$e + 1, t), r = $ec3de3bad43fb783$var$n[h], 0 !== r && (a -= $ec3de3bad43fb783$var$c[h], $ec3de3bad43fb783$var$S(A, a, r)), s--, h = $ec3de3bad43fb783$var$D(s), $ec3de3bad43fb783$var$Q(A, h, i), r = $ec3de3bad43fb783$var$E[h], 0 !== r && (s -= $ec3de3bad43fb783$var$C[h], $ec3de3bad43fb783$var$S(A, s, r))); + while (g < A.sym_next); + $ec3de3bad43fb783$var$Q(A, 256, t); +}, $ec3de3bad43fb783$var$H = (A, t)=>{ + const e = t.dyn_tree, i = t.stat_desc.static_tree, s = t.stat_desc.has_stree, n = t.stat_desc.elems; + let E, h, r, g = -1; + for(A.heap_len = 0, A.heap_max = 573, E = 0; E < n; E++)0 !== e[2 * E] ? (A.heap[++A.heap_len] = g = E, A.depth[E] = 0) : e[2 * E + 1] = 0; + for(; A.heap_len < 2;)r = A.heap[++A.heap_len] = g < 2 ? ++g : 0, e[2 * r] = 1, A.depth[r] = 0, A.opt_len--, s && (A.static_len -= i[2 * r + 1]); + for(t.max_code = g, E = A.heap_len >> 1; E >= 1; E--)$ec3de3bad43fb783$var$y(A, e, E); + r = n; + do E = A.heap[1], A.heap[1] = A.heap[A.heap_len--], $ec3de3bad43fb783$var$y(A, e, 1), h = A.heap[1], A.heap[--A.heap_max] = E, A.heap[--A.heap_max] = h, e[2 * r] = e[2 * E] + e[2 * h], A.depth[r] = (A.depth[E] >= A.depth[h] ? A.depth[E] : A.depth[h]) + 1, e[2 * E + 1] = e[2 * h + 1] = r, A.heap[1] = r++, $ec3de3bad43fb783$var$y(A, e, 1); + while (A.heap_len >= 2); + A.heap[--A.heap_max] = A.heap[1], ((A, t)=>{ + const e = t.dyn_tree, i = t.max_code, s = t.stat_desc.static_tree, n = t.stat_desc.has_stree, E = t.stat_desc.extra_bits, h = t.stat_desc.extra_base, r = t.stat_desc.max_length; + let g, o, B, w, c, C, I = 0; + for(w = 0; w <= $ec3de3bad43fb783$var$a; w++)A.bl_count[w] = 0; + for(e[2 * A.heap[A.heap_max] + 1] = 0, g = A.heap_max + 1; g < 573; g++)o = A.heap[g], w = e[2 * e[2 * o + 1] + 1] + 1, w > r && (w = r, I++), e[2 * o + 1] = w, o > i || (A.bl_count[w]++, c = 0, o >= h && (c = E[o - h]), C = e[2 * o], A.opt_len += C * (w + c), n && (A.static_len += C * (s[2 * o + 1] + c))); + if (0 !== I) { + do { + for(w = r - 1; 0 === A.bl_count[w];)w--; + A.bl_count[w]--, A.bl_count[w + 1] += 2, A.bl_count[r]--, I -= 2; + }while (I > 0); + for(w = r; 0 !== w; w--)for(o = A.bl_count[w]; 0 !== o;)B = A.heap[--g], B > i || (e[2 * B + 1] !== w && (A.opt_len += (w - e[2 * B + 1]) * e[2 * B], e[2 * B + 1] = w), o--); + } + })(A, t), $ec3de3bad43fb783$var$F(e, g, A.bl_count); +}, $ec3de3bad43fb783$var$P = (A, t, e)=>{ + let i, s, a = -1, n = t[1], E = 0, h = 7, r = 4; + for(0 === n && (h = 138, r = 3), t[2 * (e + 1) + 1] = 65535, i = 0; i <= e; i++)s = n, n = t[2 * (i + 1) + 1], ++E < h && s === n || (E < r ? A.bl_tree[2 * s] += E : 0 !== s ? (s !== a && A.bl_tree[2 * s]++, A.bl_tree[32]++) : E <= 10 ? A.bl_tree[34]++ : A.bl_tree[36]++, E = 0, a = s, 0 === n ? (h = 138, r = 3) : s === n ? (h = 6, r = 3) : (h = 7, r = 4)); +}, $ec3de3bad43fb783$var$O = (A, t, e)=>{ + let i, s, a = -1, n = t[1], E = 0, h = 7, r = 4; + for(0 === n && (h = 138, r = 3), i = 0; i <= e; i++)if (s = n, n = t[2 * (i + 1) + 1], !(++E < h && s === n)) { + if (E < r) do $ec3de3bad43fb783$var$Q(A, s, A.bl_tree); + while (0 != --E); + else 0 !== s ? (s !== a && ($ec3de3bad43fb783$var$Q(A, s, A.bl_tree), E--), $ec3de3bad43fb783$var$Q(A, 16, A.bl_tree), $ec3de3bad43fb783$var$S(A, E - 3, 2)) : E <= 10 ? ($ec3de3bad43fb783$var$Q(A, 17, A.bl_tree), $ec3de3bad43fb783$var$S(A, E - 3, 3)) : ($ec3de3bad43fb783$var$Q(A, 18, A.bl_tree), $ec3de3bad43fb783$var$S(A, E - 11, 7)); + E = 0, a = s, 0 === n ? (h = 138, r = 3) : s === n ? (h = 6, r = 3) : (h = 7, r = 4); + } +}; +let $ec3de3bad43fb783$var$U = !1; +const $ec3de3bad43fb783$var$G = (A, t, e, i)=>{ + $ec3de3bad43fb783$var$S(A, 0 + (i ? 1 : 0), 3), $ec3de3bad43fb783$var$u(A), $ec3de3bad43fb783$var$R(A, e), $ec3de3bad43fb783$var$R(A, ~e), e && A.pending_buf.set(A.window.subarray(t, t + e), A.pending), A.pending += e; +}; +var $ec3de3bad43fb783$var$m = (A, t, i, s)=>{ + let a, n, E = 0; + A.level > 0 ? (2 === A.strm.data_type && (A.strm.data_type = ((A)=>{ + let t, i = 4093624447; + for(t = 0; t <= 31; t++, i >>>= 1)if (1 & i && 0 !== A.dyn_ltree[2 * t]) return 0; + if (0 !== A.dyn_ltree[18] || 0 !== A.dyn_ltree[20] || 0 !== A.dyn_ltree[26]) return 1; + for(t = 32; t < $ec3de3bad43fb783$var$e; t++)if (0 !== A.dyn_ltree[2 * t]) return 1; + return 0; + })(A)), $ec3de3bad43fb783$var$H(A, A.l_desc), $ec3de3bad43fb783$var$H(A, A.d_desc), E = ((A)=>{ + let t; + for($ec3de3bad43fb783$var$P(A, A.dyn_ltree, A.l_desc.max_code), $ec3de3bad43fb783$var$P(A, A.dyn_dtree, A.d_desc.max_code), $ec3de3bad43fb783$var$H(A, A.bl_desc), t = 18; t >= 3 && 0 === A.bl_tree[2 * $ec3de3bad43fb783$var$r[t] + 1]; t--); + return A.opt_len += 3 * (t + 1) + 5 + 5 + 4, t; + })(A), a = A.opt_len + 3 + 7 >>> 3, n = A.static_len + 3 + 7 >>> 3, n <= a && (a = n)) : a = n = i + 5, i + 4 <= a && -1 !== t ? $ec3de3bad43fb783$var$G(A, t, i, s) : 4 === A.strategy || n === a ? ($ec3de3bad43fb783$var$S(A, 2 + (s ? 1 : 0), 3), $ec3de3bad43fb783$var$k(A, $ec3de3bad43fb783$var$g, $ec3de3bad43fb783$var$o)) : ($ec3de3bad43fb783$var$S(A, 4 + (s ? 1 : 0), 3), ((A, t, e, i)=>{ + let s; + for($ec3de3bad43fb783$var$S(A, t - 257, 5), $ec3de3bad43fb783$var$S(A, e - 1, 5), $ec3de3bad43fb783$var$S(A, i - 4, 4), s = 0; s < i; s++)$ec3de3bad43fb783$var$S(A, A.bl_tree[2 * $ec3de3bad43fb783$var$r[s] + 1], 3); + $ec3de3bad43fb783$var$O(A, A.dyn_ltree, t - 1), $ec3de3bad43fb783$var$O(A, A.dyn_dtree, e - 1); + })(A, A.l_desc.max_code + 1, A.d_desc.max_code + 1, E + 1), $ec3de3bad43fb783$var$k(A, A.dyn_ltree, A.dyn_dtree)), $ec3de3bad43fb783$var$T(A), s && $ec3de3bad43fb783$var$u(A); +}, $ec3de3bad43fb783$var$Y = { + _tr_init: (A)=>{ + $ec3de3bad43fb783$var$U || ((()=>{ + let A, t, e, r, M; + const D = new Array(16); + for(e = 0, r = 0; r < 28; r++)for($ec3de3bad43fb783$var$c[r] = e, A = 0; A < 1 << $ec3de3bad43fb783$var$n[r]; A++)$ec3de3bad43fb783$var$w[e++] = r; + for($ec3de3bad43fb783$var$w[e - 1] = r, M = 0, r = 0; r < 16; r++)for($ec3de3bad43fb783$var$C[r] = M, A = 0; A < 1 << $ec3de3bad43fb783$var$E[r]; A++)$ec3de3bad43fb783$var$B[M++] = r; + for(M >>= 7; r < $ec3de3bad43fb783$var$s; r++)for($ec3de3bad43fb783$var$C[r] = M << 7, A = 0; A < 1 << $ec3de3bad43fb783$var$E[r] - 7; A++)$ec3de3bad43fb783$var$B[256 + M++] = r; + for(t = 0; t <= $ec3de3bad43fb783$var$a; t++)D[t] = 0; + for(A = 0; A <= 143;)$ec3de3bad43fb783$var$g[2 * A + 1] = 8, A++, D[8]++; + for(; A <= 255;)$ec3de3bad43fb783$var$g[2 * A + 1] = 9, A++, D[9]++; + for(; A <= 279;)$ec3de3bad43fb783$var$g[2 * A + 1] = 7, A++, D[7]++; + for(; A <= 287;)$ec3de3bad43fb783$var$g[2 * A + 1] = 8, A++, D[8]++; + for($ec3de3bad43fb783$var$F($ec3de3bad43fb783$var$g, 287, D), A = 0; A < $ec3de3bad43fb783$var$s; A++)$ec3de3bad43fb783$var$o[2 * A + 1] = 5, $ec3de3bad43fb783$var$o[2 * A] = $ec3de3bad43fb783$var$f(A, 5); + $ec3de3bad43fb783$var$_ = new $ec3de3bad43fb783$var$I($ec3de3bad43fb783$var$g, $ec3de3bad43fb783$var$n, 257, $ec3de3bad43fb783$var$i, $ec3de3bad43fb783$var$a), $ec3de3bad43fb783$var$l = new $ec3de3bad43fb783$var$I($ec3de3bad43fb783$var$o, $ec3de3bad43fb783$var$E, 0, $ec3de3bad43fb783$var$s, $ec3de3bad43fb783$var$a), $ec3de3bad43fb783$var$d = new $ec3de3bad43fb783$var$I(new Array(0), $ec3de3bad43fb783$var$h, 0, 19, 7); + })(), $ec3de3bad43fb783$var$U = !0), A.l_desc = new $ec3de3bad43fb783$var$M(A.dyn_ltree, $ec3de3bad43fb783$var$_), A.d_desc = new $ec3de3bad43fb783$var$M(A.dyn_dtree, $ec3de3bad43fb783$var$l), A.bl_desc = new $ec3de3bad43fb783$var$M(A.bl_tree, $ec3de3bad43fb783$var$d), A.bi_buf = 0, A.bi_valid = 0, $ec3de3bad43fb783$var$T(A); + }, + _tr_stored_block: $ec3de3bad43fb783$var$G, + _tr_flush_block: $ec3de3bad43fb783$var$m, + _tr_tally: (A, t, i)=>(A.pending_buf[A.sym_buf + A.sym_next++] = t, A.pending_buf[A.sym_buf + A.sym_next++] = t >> 8, A.pending_buf[A.sym_buf + A.sym_next++] = i, 0 === t ? A.dyn_ltree[2 * i]++ : (A.matches++, t--, A.dyn_ltree[2 * ($ec3de3bad43fb783$var$w[i] + $ec3de3bad43fb783$var$e + 1)]++, A.dyn_dtree[2 * $ec3de3bad43fb783$var$D(t)]++), A.sym_next === A.sym_end), + _tr_align: (A)=>{ + $ec3de3bad43fb783$var$S(A, 2, 3), $ec3de3bad43fb783$var$Q(A, 256, $ec3de3bad43fb783$var$g), ((A)=>{ + 16 === A.bi_valid ? ($ec3de3bad43fb783$var$R(A, A.bi_buf), A.bi_buf = 0, A.bi_valid = 0) : A.bi_valid >= 8 && (A.pending_buf[A.pending++] = 255 & A.bi_buf, A.bi_buf >>= 8, A.bi_valid -= 8); + })(A); + } +}; +var $ec3de3bad43fb783$var$b = (A, t, e, i)=>{ + let s = 65535 & A | 0, a = A >>> 16 & 65535 | 0, n = 0; + for(; 0 !== e;){ + n = e > 2e3 ? 2e3 : e, e -= n; + do s = s + t[i++] | 0, a = a + s | 0; + while (--n); + s %= 65521, a %= 65521; + } + return s | a << 16 | 0; +}; +const $ec3de3bad43fb783$var$K = new Uint32Array((()=>{ + let A, t = []; + for(var e = 0; e < 256; e++){ + A = e; + for(var i = 0; i < 8; i++)A = 1 & A ? 3988292384 ^ A >>> 1 : A >>> 1; + t[e] = A; + } + return t; +})()); +var $ec3de3bad43fb783$var$x = (A, t, e, i)=>{ + const s = $ec3de3bad43fb783$var$K, a = i + e; + A ^= -1; + for(let e = i; e < a; e++)A = A >>> 8 ^ s[255 & (A ^ t[e])]; + return -1 ^ A; +}, $ec3de3bad43fb783$var$L = { + 2: "need dictionary", + 1: "stream end", + 0: "", + "-1": "file error", + "-2": "stream error", + "-3": "data error", + "-4": "insufficient memory", + "-5": "buffer error", + "-6": "incompatible version" +}, $ec3de3bad43fb783$var$J = { + Z_NO_FLUSH: 0, + Z_PARTIAL_FLUSH: 1, + Z_SYNC_FLUSH: 2, + Z_FULL_FLUSH: 3, + Z_FINISH: 4, + Z_BLOCK: 5, + Z_TREES: 6, + Z_OK: 0, + Z_STREAM_END: 1, + Z_NEED_DICT: 2, + Z_ERRNO: -1, + Z_STREAM_ERROR: -2, + Z_DATA_ERROR: -3, + Z_MEM_ERROR: -4, + Z_BUF_ERROR: -5, + Z_NO_COMPRESSION: 0, + Z_BEST_SPEED: 1, + Z_BEST_COMPRESSION: 9, + Z_DEFAULT_COMPRESSION: -1, + Z_FILTERED: 1, + Z_HUFFMAN_ONLY: 2, + Z_RLE: 3, + Z_FIXED: 4, + Z_DEFAULT_STRATEGY: 0, + Z_BINARY: 0, + Z_TEXT: 1, + Z_UNKNOWN: 2, + Z_DEFLATED: 8 +}; +const { _tr_init: $ec3de3bad43fb783$var$z, _tr_stored_block: $ec3de3bad43fb783$var$N, _tr_flush_block: $ec3de3bad43fb783$var$v, _tr_tally: $ec3de3bad43fb783$var$j, _tr_align: $ec3de3bad43fb783$var$Z } = $ec3de3bad43fb783$var$Y, { Z_NO_FLUSH: $ec3de3bad43fb783$var$W, Z_PARTIAL_FLUSH: $ec3de3bad43fb783$var$X, Z_FULL_FLUSH: $ec3de3bad43fb783$var$q, Z_FINISH: $ec3de3bad43fb783$var$V, Z_BLOCK: $ec3de3bad43fb783$var$$, Z_OK: $ec3de3bad43fb783$var$AA, Z_STREAM_END: $ec3de3bad43fb783$var$tA, Z_STREAM_ERROR: $ec3de3bad43fb783$var$eA, Z_DATA_ERROR: $ec3de3bad43fb783$var$iA, Z_BUF_ERROR: $ec3de3bad43fb783$var$sA, Z_DEFAULT_COMPRESSION: $ec3de3bad43fb783$var$aA, Z_FILTERED: $ec3de3bad43fb783$var$nA, Z_HUFFMAN_ONLY: $ec3de3bad43fb783$var$EA, Z_RLE: $ec3de3bad43fb783$var$hA, Z_FIXED: $ec3de3bad43fb783$var$rA, Z_DEFAULT_STRATEGY: $ec3de3bad43fb783$var$gA, Z_UNKNOWN: $ec3de3bad43fb783$var$oA, Z_DEFLATED: $ec3de3bad43fb783$var$BA } = $ec3de3bad43fb783$var$J, $ec3de3bad43fb783$var$wA = 258, $ec3de3bad43fb783$var$cA = 262, $ec3de3bad43fb783$var$CA = 42, $ec3de3bad43fb783$var$IA = 113, $ec3de3bad43fb783$var$_A = 666, $ec3de3bad43fb783$var$lA = (A, t)=>(A.msg = $ec3de3bad43fb783$var$L[t], t), $ec3de3bad43fb783$var$dA = (A)=>2 * A - (A > 4 ? 9 : 0), $ec3de3bad43fb783$var$MA = (A)=>{ + let t = A.length; + for(; --t >= 0;)A[t] = 0; +}, $ec3de3bad43fb783$var$DA = (A)=>{ + let t, e, i, s = A.w_size; + t = A.hash_size, i = t; + do e = A.head[--i], A.head[i] = e >= s ? e - s : 0; + while (--t); + t = s, i = t; + do e = A.prev[--i], A.prev[i] = e >= s ? e - s : 0; + while (--t); +}; +let $ec3de3bad43fb783$var$RA = (A, t, e)=>(t << A.hash_shift ^ e) & A.hash_mask; +const $ec3de3bad43fb783$var$SA = (A)=>{ + const t = A.state; + let e = t.pending; + e > A.avail_out && (e = A.avail_out), 0 !== e && (A.output.set(t.pending_buf.subarray(t.pending_out, t.pending_out + e), A.next_out), A.next_out += e, t.pending_out += e, A.total_out += e, A.avail_out -= e, t.pending -= e, 0 === t.pending && (t.pending_out = 0)); +}, $ec3de3bad43fb783$var$QA = (A, t)=>{ + $ec3de3bad43fb783$var$v(A, A.block_start >= 0 ? A.block_start : -1, A.strstart - A.block_start, t), A.block_start = A.strstart, $ec3de3bad43fb783$var$SA(A.strm); +}, $ec3de3bad43fb783$var$fA = (A, t)=>{ + A.pending_buf[A.pending++] = t; +}, $ec3de3bad43fb783$var$FA = (A, t)=>{ + A.pending_buf[A.pending++] = t >>> 8 & 255, A.pending_buf[A.pending++] = 255 & t; +}, $ec3de3bad43fb783$var$TA = (A, t, e, i)=>{ + let s = A.avail_in; + return s > i && (s = i), 0 === s ? 0 : (A.avail_in -= s, t.set(A.input.subarray(A.next_in, A.next_in + s), e), 1 === A.state.wrap ? A.adler = $ec3de3bad43fb783$var$b(A.adler, t, s, e) : 2 === A.state.wrap && (A.adler = $ec3de3bad43fb783$var$x(A.adler, t, s, e)), A.next_in += s, A.total_in += s, s); +}, $ec3de3bad43fb783$var$uA = (A, t)=>{ + let e, i, s = A.max_chain_length, a = A.strstart, n = A.prev_length, E = A.nice_match; + const h = A.strstart > A.w_size - $ec3de3bad43fb783$var$cA ? A.strstart - (A.w_size - $ec3de3bad43fb783$var$cA) : 0, r = A.window, g = A.w_mask, o = A.prev, B = A.strstart + $ec3de3bad43fb783$var$wA; + let w = r[a + n - 1], c = r[a + n]; + A.prev_length >= A.good_match && (s >>= 2), E > A.lookahead && (E = A.lookahead); + do if (e = t, r[e + n] === c && r[e + n - 1] === w && r[e] === r[a] && r[++e] === r[a + 1]) { + a += 2, e++; + do ; + while (r[++a] === r[++e] && r[++a] === r[++e] && r[++a] === r[++e] && r[++a] === r[++e] && r[++a] === r[++e] && r[++a] === r[++e] && r[++a] === r[++e] && r[++a] === r[++e] && a < B); + if (i = $ec3de3bad43fb783$var$wA - (B - a), a = B - $ec3de3bad43fb783$var$wA, i > n) { + if (A.match_start = t, n = i, i >= E) break; + w = r[a + n - 1], c = r[a + n]; + } + } + while ((t = o[t & g]) > h && 0 != --s); + return n <= A.lookahead ? n : A.lookahead; +}, $ec3de3bad43fb783$var$pA = (A)=>{ + const t = A.w_size; + let e, i, s; + do { + if (i = A.window_size - A.lookahead - A.strstart, A.strstart >= t + (t - $ec3de3bad43fb783$var$cA) && (A.window.set(A.window.subarray(t, t + t - i), 0), A.match_start -= t, A.strstart -= t, A.block_start -= t, A.insert > A.strstart && (A.insert = A.strstart), $ec3de3bad43fb783$var$DA(A), i += t), 0 === A.strm.avail_in) break; + if (e = $ec3de3bad43fb783$var$TA(A.strm, A.window, A.strstart + A.lookahead, i), A.lookahead += e, A.lookahead + A.insert >= 3) for(s = A.strstart - A.insert, A.ins_h = A.window[s], A.ins_h = $ec3de3bad43fb783$var$RA(A, A.ins_h, A.window[s + 1]); A.insert && (A.ins_h = $ec3de3bad43fb783$var$RA(A, A.ins_h, A.window[s + 3 - 1]), A.prev[s & A.w_mask] = A.head[A.ins_h], A.head[A.ins_h] = s, s++, A.insert--, !(A.lookahead + A.insert < 3));); + }while (A.lookahead < $ec3de3bad43fb783$var$cA && 0 !== A.strm.avail_in); +}, $ec3de3bad43fb783$var$yA = (A, t)=>{ + let e, i, s, a = A.pending_buf_size - 5 > A.w_size ? A.w_size : A.pending_buf_size - 5, n = 0, E = A.strm.avail_in; + do { + if (e = 65535, s = A.bi_valid + 42 >> 3, A.strm.avail_out < s) break; + if (s = A.strm.avail_out - s, i = A.strstart - A.block_start, e > i + A.strm.avail_in && (e = i + A.strm.avail_in), e > s && (e = s), e < a && (0 === e && t !== $ec3de3bad43fb783$var$V || t === $ec3de3bad43fb783$var$W || e !== i + A.strm.avail_in)) break; + n = t === $ec3de3bad43fb783$var$V && e === i + A.strm.avail_in ? 1 : 0, $ec3de3bad43fb783$var$N(A, 0, 0, n), A.pending_buf[A.pending - 4] = e, A.pending_buf[A.pending - 3] = e >> 8, A.pending_buf[A.pending - 2] = ~e, A.pending_buf[A.pending - 1] = ~e >> 8, $ec3de3bad43fb783$var$SA(A.strm), i && (i > e && (i = e), A.strm.output.set(A.window.subarray(A.block_start, A.block_start + i), A.strm.next_out), A.strm.next_out += i, A.strm.avail_out -= i, A.strm.total_out += i, A.block_start += i, e -= i), e && ($ec3de3bad43fb783$var$TA(A.strm, A.strm.output, A.strm.next_out, e), A.strm.next_out += e, A.strm.avail_out -= e, A.strm.total_out += e); + }while (0 === n); + return E -= A.strm.avail_in, E && (E >= A.w_size ? (A.matches = 2, A.window.set(A.strm.input.subarray(A.strm.next_in - A.w_size, A.strm.next_in), 0), A.strstart = A.w_size, A.insert = A.strstart) : (A.window_size - A.strstart <= E && (A.strstart -= A.w_size, A.window.set(A.window.subarray(A.w_size, A.w_size + A.strstart), 0), A.matches < 2 && A.matches++, A.insert > A.strstart && (A.insert = A.strstart)), A.window.set(A.strm.input.subarray(A.strm.next_in - E, A.strm.next_in), A.strstart), A.strstart += E, A.insert += E > A.w_size - A.insert ? A.w_size - A.insert : E), A.block_start = A.strstart), A.high_water < A.strstart && (A.high_water = A.strstart), n ? 4 : t !== $ec3de3bad43fb783$var$W && t !== $ec3de3bad43fb783$var$V && 0 === A.strm.avail_in && A.strstart === A.block_start ? 2 : (s = A.window_size - A.strstart, A.strm.avail_in > s && A.block_start >= A.w_size && (A.block_start -= A.w_size, A.strstart -= A.w_size, A.window.set(A.window.subarray(A.w_size, A.w_size + A.strstart), 0), A.matches < 2 && A.matches++, s += A.w_size, A.insert > A.strstart && (A.insert = A.strstart)), s > A.strm.avail_in && (s = A.strm.avail_in), s && ($ec3de3bad43fb783$var$TA(A.strm, A.window, A.strstart, s), A.strstart += s, A.insert += s > A.w_size - A.insert ? A.w_size - A.insert : s), A.high_water < A.strstart && (A.high_water = A.strstart), s = A.bi_valid + 42 >> 3, s = A.pending_buf_size - s > 65535 ? 65535 : A.pending_buf_size - s, a = s > A.w_size ? A.w_size : s, i = A.strstart - A.block_start, (i >= a || (i || t === $ec3de3bad43fb783$var$V) && t !== $ec3de3bad43fb783$var$W && 0 === A.strm.avail_in && i <= s) && (e = i > s ? s : i, n = t === $ec3de3bad43fb783$var$V && 0 === A.strm.avail_in && e === i ? 1 : 0, $ec3de3bad43fb783$var$N(A, A.block_start, e, n), A.block_start += e, $ec3de3bad43fb783$var$SA(A.strm)), n ? 3 : 1); +}, $ec3de3bad43fb783$var$kA = (A, t)=>{ + let e, i; + for(;;){ + if (A.lookahead < $ec3de3bad43fb783$var$cA) { + if ($ec3de3bad43fb783$var$pA(A), A.lookahead < $ec3de3bad43fb783$var$cA && t === $ec3de3bad43fb783$var$W) return 1; + if (0 === A.lookahead) break; + } + if (e = 0, A.lookahead >= 3 && (A.ins_h = $ec3de3bad43fb783$var$RA(A, A.ins_h, A.window[A.strstart + 3 - 1]), e = A.prev[A.strstart & A.w_mask] = A.head[A.ins_h], A.head[A.ins_h] = A.strstart), 0 !== e && A.strstart - e <= A.w_size - $ec3de3bad43fb783$var$cA && (A.match_length = $ec3de3bad43fb783$var$uA(A, e)), A.match_length >= 3) { + if (i = $ec3de3bad43fb783$var$j(A, A.strstart - A.match_start, A.match_length - 3), A.lookahead -= A.match_length, A.match_length <= A.max_lazy_match && A.lookahead >= 3) { + A.match_length--; + do A.strstart++, A.ins_h = $ec3de3bad43fb783$var$RA(A, A.ins_h, A.window[A.strstart + 3 - 1]), e = A.prev[A.strstart & A.w_mask] = A.head[A.ins_h], A.head[A.ins_h] = A.strstart; + while (0 != --A.match_length); + A.strstart++; + } else A.strstart += A.match_length, A.match_length = 0, A.ins_h = A.window[A.strstart], A.ins_h = $ec3de3bad43fb783$var$RA(A, A.ins_h, A.window[A.strstart + 1]); + } else i = $ec3de3bad43fb783$var$j(A, 0, A.window[A.strstart]), A.lookahead--, A.strstart++; + if (i && ($ec3de3bad43fb783$var$QA(A, !1), 0 === A.strm.avail_out)) return 1; + } + return A.insert = A.strstart < 2 ? A.strstart : 2, t === $ec3de3bad43fb783$var$V ? ($ec3de3bad43fb783$var$QA(A, !0), 0 === A.strm.avail_out ? 3 : 4) : A.sym_next && ($ec3de3bad43fb783$var$QA(A, !1), 0 === A.strm.avail_out) ? 1 : 2; +}, $ec3de3bad43fb783$var$HA = (A, t)=>{ + let e, i, s; + for(;;){ + if (A.lookahead < $ec3de3bad43fb783$var$cA) { + if ($ec3de3bad43fb783$var$pA(A), A.lookahead < $ec3de3bad43fb783$var$cA && t === $ec3de3bad43fb783$var$W) return 1; + if (0 === A.lookahead) break; + } + if (e = 0, A.lookahead >= 3 && (A.ins_h = $ec3de3bad43fb783$var$RA(A, A.ins_h, A.window[A.strstart + 3 - 1]), e = A.prev[A.strstart & A.w_mask] = A.head[A.ins_h], A.head[A.ins_h] = A.strstart), A.prev_length = A.match_length, A.prev_match = A.match_start, A.match_length = 2, 0 !== e && A.prev_length < A.max_lazy_match && A.strstart - e <= A.w_size - $ec3de3bad43fb783$var$cA && (A.match_length = $ec3de3bad43fb783$var$uA(A, e), A.match_length <= 5 && (A.strategy === $ec3de3bad43fb783$var$nA || 3 === A.match_length && A.strstart - A.match_start > 4096) && (A.match_length = 2)), A.prev_length >= 3 && A.match_length <= A.prev_length) { + s = A.strstart + A.lookahead - 3, i = $ec3de3bad43fb783$var$j(A, A.strstart - 1 - A.prev_match, A.prev_length - 3), A.lookahead -= A.prev_length - 1, A.prev_length -= 2; + do ++A.strstart <= s && (A.ins_h = $ec3de3bad43fb783$var$RA(A, A.ins_h, A.window[A.strstart + 3 - 1]), e = A.prev[A.strstart & A.w_mask] = A.head[A.ins_h], A.head[A.ins_h] = A.strstart); + while (0 != --A.prev_length); + if (A.match_available = 0, A.match_length = 2, A.strstart++, i && ($ec3de3bad43fb783$var$QA(A, !1), 0 === A.strm.avail_out)) return 1; + } else if (A.match_available) { + if (i = $ec3de3bad43fb783$var$j(A, 0, A.window[A.strstart - 1]), i && $ec3de3bad43fb783$var$QA(A, !1), A.strstart++, A.lookahead--, 0 === A.strm.avail_out) return 1; + } else A.match_available = 1, A.strstart++, A.lookahead--; + } + return A.match_available && (i = $ec3de3bad43fb783$var$j(A, 0, A.window[A.strstart - 1]), A.match_available = 0), A.insert = A.strstart < 2 ? A.strstart : 2, t === $ec3de3bad43fb783$var$V ? ($ec3de3bad43fb783$var$QA(A, !0), 0 === A.strm.avail_out ? 3 : 4) : A.sym_next && ($ec3de3bad43fb783$var$QA(A, !1), 0 === A.strm.avail_out) ? 1 : 2; +}; +function $ec3de3bad43fb783$var$PA(A, t, e, i, s) { + this.good_length = A, this.max_lazy = t, this.nice_length = e, this.max_chain = i, this.func = s; +} +const $ec3de3bad43fb783$var$OA = [ + new $ec3de3bad43fb783$var$PA(0, 0, 0, 0, $ec3de3bad43fb783$var$yA), + new $ec3de3bad43fb783$var$PA(4, 4, 8, 4, $ec3de3bad43fb783$var$kA), + new $ec3de3bad43fb783$var$PA(4, 5, 16, 8, $ec3de3bad43fb783$var$kA), + new $ec3de3bad43fb783$var$PA(4, 6, 32, 32, $ec3de3bad43fb783$var$kA), + new $ec3de3bad43fb783$var$PA(4, 4, 16, 16, $ec3de3bad43fb783$var$HA), + new $ec3de3bad43fb783$var$PA(8, 16, 32, 32, $ec3de3bad43fb783$var$HA), + new $ec3de3bad43fb783$var$PA(8, 16, 128, 128, $ec3de3bad43fb783$var$HA), + new $ec3de3bad43fb783$var$PA(8, 32, 128, 256, $ec3de3bad43fb783$var$HA), + new $ec3de3bad43fb783$var$PA(32, 128, 258, 1024, $ec3de3bad43fb783$var$HA), + new $ec3de3bad43fb783$var$PA(32, 258, 258, 4096, $ec3de3bad43fb783$var$HA) +]; +function $ec3de3bad43fb783$var$UA() { + this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = $ec3de3bad43fb783$var$BA, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new Uint16Array(1146), this.dyn_dtree = new Uint16Array(122), this.bl_tree = new Uint16Array(78), $ec3de3bad43fb783$var$MA(this.dyn_ltree), $ec3de3bad43fb783$var$MA(this.dyn_dtree), $ec3de3bad43fb783$var$MA(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new Uint16Array(16), this.heap = new Uint16Array(573), $ec3de3bad43fb783$var$MA(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new Uint16Array(573), $ec3de3bad43fb783$var$MA(this.depth), this.sym_buf = 0, this.lit_bufsize = 0, this.sym_next = 0, this.sym_end = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0; +} +const $ec3de3bad43fb783$var$GA = (A)=>{ + if (!A) return 1; + const t = A.state; + return !t || t.strm !== A || t.status !== $ec3de3bad43fb783$var$CA && 57 !== t.status && 69 !== t.status && 73 !== t.status && 91 !== t.status && 103 !== t.status && t.status !== $ec3de3bad43fb783$var$IA && t.status !== $ec3de3bad43fb783$var$_A ? 1 : 0; +}, $ec3de3bad43fb783$var$mA = (A)=>{ + if ($ec3de3bad43fb783$var$GA(A)) return $ec3de3bad43fb783$var$lA(A, $ec3de3bad43fb783$var$eA); + A.total_in = A.total_out = 0, A.data_type = $ec3de3bad43fb783$var$oA; + const t = A.state; + return t.pending = 0, t.pending_out = 0, t.wrap < 0 && (t.wrap = -t.wrap), t.status = 2 === t.wrap ? 57 : t.wrap ? $ec3de3bad43fb783$var$CA : $ec3de3bad43fb783$var$IA, A.adler = 2 === t.wrap ? 0 : 1, t.last_flush = -2, $ec3de3bad43fb783$var$z(t), $ec3de3bad43fb783$var$AA; +}, $ec3de3bad43fb783$var$YA = (A)=>{ + const t = $ec3de3bad43fb783$var$mA(A); + var e; + return t === $ec3de3bad43fb783$var$AA && ((e = A.state).window_size = 2 * e.w_size, $ec3de3bad43fb783$var$MA(e.head), e.max_lazy_match = $ec3de3bad43fb783$var$OA[e.level].max_lazy, e.good_match = $ec3de3bad43fb783$var$OA[e.level].good_length, e.nice_match = $ec3de3bad43fb783$var$OA[e.level].nice_length, e.max_chain_length = $ec3de3bad43fb783$var$OA[e.level].max_chain, e.strstart = 0, e.block_start = 0, e.lookahead = 0, e.insert = 0, e.match_length = e.prev_length = 2, e.match_available = 0, e.ins_h = 0), t; +}, $ec3de3bad43fb783$var$bA = (A, t, e, i, s, a)=>{ + if (!A) return $ec3de3bad43fb783$var$eA; + let n = 1; + if (t === $ec3de3bad43fb783$var$aA && (t = 6), i < 0 ? (n = 0, i = -i) : i > 15 && (n = 2, i -= 16), s < 1 || s > 9 || e !== $ec3de3bad43fb783$var$BA || i < 8 || i > 15 || t < 0 || t > 9 || a < 0 || a > $ec3de3bad43fb783$var$rA || 8 === i && 1 !== n) return $ec3de3bad43fb783$var$lA(A, $ec3de3bad43fb783$var$eA); + 8 === i && (i = 9); + const E = new $ec3de3bad43fb783$var$UA; + return A.state = E, E.strm = A, E.status = $ec3de3bad43fb783$var$CA, E.wrap = n, E.gzhead = null, E.w_bits = i, E.w_size = 1 << E.w_bits, E.w_mask = E.w_size - 1, E.hash_bits = s + 7, E.hash_size = 1 << E.hash_bits, E.hash_mask = E.hash_size - 1, E.hash_shift = ~~((E.hash_bits + 3 - 1) / 3), E.window = new Uint8Array(2 * E.w_size), E.head = new Uint16Array(E.hash_size), E.prev = new Uint16Array(E.w_size), E.lit_bufsize = 1 << s + 6, E.pending_buf_size = 4 * E.lit_bufsize, E.pending_buf = new Uint8Array(E.pending_buf_size), E.sym_buf = E.lit_bufsize, E.sym_end = 3 * (E.lit_bufsize - 1), E.level = t, E.strategy = a, E.method = e, $ec3de3bad43fb783$var$YA(A); +}; +var $ec3de3bad43fb783$var$KA = { + deflateInit: (A, t)=>$ec3de3bad43fb783$var$bA(A, t, $ec3de3bad43fb783$var$BA, 15, 8, $ec3de3bad43fb783$var$gA), + deflateInit2: $ec3de3bad43fb783$var$bA, + deflateReset: $ec3de3bad43fb783$var$YA, + deflateResetKeep: $ec3de3bad43fb783$var$mA, + deflateSetHeader: (A, t)=>$ec3de3bad43fb783$var$GA(A) || 2 !== A.state.wrap ? $ec3de3bad43fb783$var$eA : (A.state.gzhead = t, $ec3de3bad43fb783$var$AA), + deflate: (A, t)=>{ + if ($ec3de3bad43fb783$var$GA(A) || t > $ec3de3bad43fb783$var$$ || t < 0) return A ? $ec3de3bad43fb783$var$lA(A, $ec3de3bad43fb783$var$eA) : $ec3de3bad43fb783$var$eA; + const e = A.state; + if (!A.output || 0 !== A.avail_in && !A.input || e.status === $ec3de3bad43fb783$var$_A && t !== $ec3de3bad43fb783$var$V) return $ec3de3bad43fb783$var$lA(A, 0 === A.avail_out ? $ec3de3bad43fb783$var$sA : $ec3de3bad43fb783$var$eA); + const i = e.last_flush; + if (e.last_flush = t, 0 !== e.pending) { + if ($ec3de3bad43fb783$var$SA(A), 0 === A.avail_out) return e.last_flush = -1, $ec3de3bad43fb783$var$AA; + } else if (0 === A.avail_in && $ec3de3bad43fb783$var$dA(t) <= $ec3de3bad43fb783$var$dA(i) && t !== $ec3de3bad43fb783$var$V) return $ec3de3bad43fb783$var$lA(A, $ec3de3bad43fb783$var$sA); + if (e.status === $ec3de3bad43fb783$var$_A && 0 !== A.avail_in) return $ec3de3bad43fb783$var$lA(A, $ec3de3bad43fb783$var$sA); + if (e.status === $ec3de3bad43fb783$var$CA && 0 === e.wrap && (e.status = $ec3de3bad43fb783$var$IA), e.status === $ec3de3bad43fb783$var$CA) { + let t = $ec3de3bad43fb783$var$BA + (e.w_bits - 8 << 4) << 8, i = -1; + if (i = e.strategy >= $ec3de3bad43fb783$var$EA || e.level < 2 ? 0 : e.level < 6 ? 1 : 6 === e.level ? 2 : 3, t |= i << 6, 0 !== e.strstart && (t |= 32), t += 31 - t % 31, $ec3de3bad43fb783$var$FA(e, t), 0 !== e.strstart && ($ec3de3bad43fb783$var$FA(e, A.adler >>> 16), $ec3de3bad43fb783$var$FA(e, 65535 & A.adler)), A.adler = 1, e.status = $ec3de3bad43fb783$var$IA, $ec3de3bad43fb783$var$SA(A), 0 !== e.pending) return e.last_flush = -1, $ec3de3bad43fb783$var$AA; + } + if (57 === e.status) { + if (A.adler = 0, $ec3de3bad43fb783$var$fA(e, 31), $ec3de3bad43fb783$var$fA(e, 139), $ec3de3bad43fb783$var$fA(e, 8), e.gzhead) $ec3de3bad43fb783$var$fA(e, (e.gzhead.text ? 1 : 0) + (e.gzhead.hcrc ? 2 : 0) + (e.gzhead.extra ? 4 : 0) + (e.gzhead.name ? 8 : 0) + (e.gzhead.comment ? 16 : 0)), $ec3de3bad43fb783$var$fA(e, 255 & e.gzhead.time), $ec3de3bad43fb783$var$fA(e, e.gzhead.time >> 8 & 255), $ec3de3bad43fb783$var$fA(e, e.gzhead.time >> 16 & 255), $ec3de3bad43fb783$var$fA(e, e.gzhead.time >> 24 & 255), $ec3de3bad43fb783$var$fA(e, 9 === e.level ? 2 : e.strategy >= $ec3de3bad43fb783$var$EA || e.level < 2 ? 4 : 0), $ec3de3bad43fb783$var$fA(e, 255 & e.gzhead.os), e.gzhead.extra && e.gzhead.extra.length && ($ec3de3bad43fb783$var$fA(e, 255 & e.gzhead.extra.length), $ec3de3bad43fb783$var$fA(e, e.gzhead.extra.length >> 8 & 255)), e.gzhead.hcrc && (A.adler = $ec3de3bad43fb783$var$x(A.adler, e.pending_buf, e.pending, 0)), e.gzindex = 0, e.status = 69; + else if ($ec3de3bad43fb783$var$fA(e, 0), $ec3de3bad43fb783$var$fA(e, 0), $ec3de3bad43fb783$var$fA(e, 0), $ec3de3bad43fb783$var$fA(e, 0), $ec3de3bad43fb783$var$fA(e, 0), $ec3de3bad43fb783$var$fA(e, 9 === e.level ? 2 : e.strategy >= $ec3de3bad43fb783$var$EA || e.level < 2 ? 4 : 0), $ec3de3bad43fb783$var$fA(e, 3), e.status = $ec3de3bad43fb783$var$IA, $ec3de3bad43fb783$var$SA(A), 0 !== e.pending) return e.last_flush = -1, $ec3de3bad43fb783$var$AA; + } + if (69 === e.status) { + if (e.gzhead.extra) { + let t = e.pending, i = (65535 & e.gzhead.extra.length) - e.gzindex; + for(; e.pending + i > e.pending_buf_size;){ + let s = e.pending_buf_size - e.pending; + if (e.pending_buf.set(e.gzhead.extra.subarray(e.gzindex, e.gzindex + s), e.pending), e.pending = e.pending_buf_size, e.gzhead.hcrc && e.pending > t && (A.adler = $ec3de3bad43fb783$var$x(A.adler, e.pending_buf, e.pending - t, t)), e.gzindex += s, $ec3de3bad43fb783$var$SA(A), 0 !== e.pending) return e.last_flush = -1, $ec3de3bad43fb783$var$AA; + t = 0, i -= s; + } + let s = new Uint8Array(e.gzhead.extra); + e.pending_buf.set(s.subarray(e.gzindex, e.gzindex + i), e.pending), e.pending += i, e.gzhead.hcrc && e.pending > t && (A.adler = $ec3de3bad43fb783$var$x(A.adler, e.pending_buf, e.pending - t, t)), e.gzindex = 0; + } + e.status = 73; + } + if (73 === e.status) { + if (e.gzhead.name) { + let t, i = e.pending; + do { + if (e.pending === e.pending_buf_size) { + if (e.gzhead.hcrc && e.pending > i && (A.adler = $ec3de3bad43fb783$var$x(A.adler, e.pending_buf, e.pending - i, i)), $ec3de3bad43fb783$var$SA(A), 0 !== e.pending) return e.last_flush = -1, $ec3de3bad43fb783$var$AA; + i = 0; + } + t = e.gzindex < e.gzhead.name.length ? 255 & e.gzhead.name.charCodeAt(e.gzindex++) : 0, $ec3de3bad43fb783$var$fA(e, t); + }while (0 !== t); + e.gzhead.hcrc && e.pending > i && (A.adler = $ec3de3bad43fb783$var$x(A.adler, e.pending_buf, e.pending - i, i)), e.gzindex = 0; + } + e.status = 91; + } + if (91 === e.status) { + if (e.gzhead.comment) { + let t, i = e.pending; + do { + if (e.pending === e.pending_buf_size) { + if (e.gzhead.hcrc && e.pending > i && (A.adler = $ec3de3bad43fb783$var$x(A.adler, e.pending_buf, e.pending - i, i)), $ec3de3bad43fb783$var$SA(A), 0 !== e.pending) return e.last_flush = -1, $ec3de3bad43fb783$var$AA; + i = 0; + } + t = e.gzindex < e.gzhead.comment.length ? 255 & e.gzhead.comment.charCodeAt(e.gzindex++) : 0, $ec3de3bad43fb783$var$fA(e, t); + }while (0 !== t); + e.gzhead.hcrc && e.pending > i && (A.adler = $ec3de3bad43fb783$var$x(A.adler, e.pending_buf, e.pending - i, i)); + } + e.status = 103; + } + if (103 === e.status) { + if (e.gzhead.hcrc) { + if (e.pending + 2 > e.pending_buf_size && ($ec3de3bad43fb783$var$SA(A), 0 !== e.pending)) return e.last_flush = -1, $ec3de3bad43fb783$var$AA; + $ec3de3bad43fb783$var$fA(e, 255 & A.adler), $ec3de3bad43fb783$var$fA(e, A.adler >> 8 & 255), A.adler = 0; + } + if (e.status = $ec3de3bad43fb783$var$IA, $ec3de3bad43fb783$var$SA(A), 0 !== e.pending) return e.last_flush = -1, $ec3de3bad43fb783$var$AA; + } + if (0 !== A.avail_in || 0 !== e.lookahead || t !== $ec3de3bad43fb783$var$W && e.status !== $ec3de3bad43fb783$var$_A) { + let i = 0 === e.level ? $ec3de3bad43fb783$var$yA(e, t) : e.strategy === $ec3de3bad43fb783$var$EA ? ((A, t)=>{ + let e; + for(;;){ + if (0 === A.lookahead && ($ec3de3bad43fb783$var$pA(A), 0 === A.lookahead)) { + if (t === $ec3de3bad43fb783$var$W) return 1; + break; + } + if (A.match_length = 0, e = $ec3de3bad43fb783$var$j(A, 0, A.window[A.strstart]), A.lookahead--, A.strstart++, e && ($ec3de3bad43fb783$var$QA(A, !1), 0 === A.strm.avail_out)) return 1; + } + return A.insert = 0, t === $ec3de3bad43fb783$var$V ? ($ec3de3bad43fb783$var$QA(A, !0), 0 === A.strm.avail_out ? 3 : 4) : A.sym_next && ($ec3de3bad43fb783$var$QA(A, !1), 0 === A.strm.avail_out) ? 1 : 2; + })(e, t) : e.strategy === $ec3de3bad43fb783$var$hA ? ((A, t)=>{ + let e, i, s, a; + const n = A.window; + for(;;){ + if (A.lookahead <= $ec3de3bad43fb783$var$wA) { + if ($ec3de3bad43fb783$var$pA(A), A.lookahead <= $ec3de3bad43fb783$var$wA && t === $ec3de3bad43fb783$var$W) return 1; + if (0 === A.lookahead) break; + } + if (A.match_length = 0, A.lookahead >= 3 && A.strstart > 0 && (s = A.strstart - 1, i = n[s], i === n[++s] && i === n[++s] && i === n[++s])) { + a = A.strstart + $ec3de3bad43fb783$var$wA; + do ; + while (i === n[++s] && i === n[++s] && i === n[++s] && i === n[++s] && i === n[++s] && i === n[++s] && i === n[++s] && i === n[++s] && s < a); + A.match_length = $ec3de3bad43fb783$var$wA - (a - s), A.match_length > A.lookahead && (A.match_length = A.lookahead); + } + if (A.match_length >= 3 ? (e = $ec3de3bad43fb783$var$j(A, 1, A.match_length - 3), A.lookahead -= A.match_length, A.strstart += A.match_length, A.match_length = 0) : (e = $ec3de3bad43fb783$var$j(A, 0, A.window[A.strstart]), A.lookahead--, A.strstart++), e && ($ec3de3bad43fb783$var$QA(A, !1), 0 === A.strm.avail_out)) return 1; + } + return A.insert = 0, t === $ec3de3bad43fb783$var$V ? ($ec3de3bad43fb783$var$QA(A, !0), 0 === A.strm.avail_out ? 3 : 4) : A.sym_next && ($ec3de3bad43fb783$var$QA(A, !1), 0 === A.strm.avail_out) ? 1 : 2; + })(e, t) : $ec3de3bad43fb783$var$OA[e.level].func(e, t); + if (3 !== i && 4 !== i || (e.status = $ec3de3bad43fb783$var$_A), 1 === i || 3 === i) return 0 === A.avail_out && (e.last_flush = -1), $ec3de3bad43fb783$var$AA; + if (2 === i && (t === $ec3de3bad43fb783$var$X ? $ec3de3bad43fb783$var$Z(e) : t !== $ec3de3bad43fb783$var$$ && ($ec3de3bad43fb783$var$N(e, 0, 0, !1), t === $ec3de3bad43fb783$var$q && ($ec3de3bad43fb783$var$MA(e.head), 0 === e.lookahead && (e.strstart = 0, e.block_start = 0, e.insert = 0))), $ec3de3bad43fb783$var$SA(A), 0 === A.avail_out)) return e.last_flush = -1, $ec3de3bad43fb783$var$AA; + } + return t !== $ec3de3bad43fb783$var$V ? $ec3de3bad43fb783$var$AA : e.wrap <= 0 ? $ec3de3bad43fb783$var$tA : (2 === e.wrap ? ($ec3de3bad43fb783$var$fA(e, 255 & A.adler), $ec3de3bad43fb783$var$fA(e, A.adler >> 8 & 255), $ec3de3bad43fb783$var$fA(e, A.adler >> 16 & 255), $ec3de3bad43fb783$var$fA(e, A.adler >> 24 & 255), $ec3de3bad43fb783$var$fA(e, 255 & A.total_in), $ec3de3bad43fb783$var$fA(e, A.total_in >> 8 & 255), $ec3de3bad43fb783$var$fA(e, A.total_in >> 16 & 255), $ec3de3bad43fb783$var$fA(e, A.total_in >> 24 & 255)) : ($ec3de3bad43fb783$var$FA(e, A.adler >>> 16), $ec3de3bad43fb783$var$FA(e, 65535 & A.adler)), $ec3de3bad43fb783$var$SA(A), e.wrap > 0 && (e.wrap = -e.wrap), 0 !== e.pending ? $ec3de3bad43fb783$var$AA : $ec3de3bad43fb783$var$tA); + }, + deflateEnd: (A)=>{ + if ($ec3de3bad43fb783$var$GA(A)) return $ec3de3bad43fb783$var$eA; + const t = A.state.status; + return A.state = null, t === $ec3de3bad43fb783$var$IA ? $ec3de3bad43fb783$var$lA(A, $ec3de3bad43fb783$var$iA) : $ec3de3bad43fb783$var$AA; + }, + deflateSetDictionary: (A, t)=>{ + let e = t.length; + if ($ec3de3bad43fb783$var$GA(A)) return $ec3de3bad43fb783$var$eA; + const i = A.state, s = i.wrap; + if (2 === s || 1 === s && i.status !== $ec3de3bad43fb783$var$CA || i.lookahead) return $ec3de3bad43fb783$var$eA; + if (1 === s && (A.adler = $ec3de3bad43fb783$var$b(A.adler, t, e, 0)), i.wrap = 0, e >= i.w_size) { + 0 === s && ($ec3de3bad43fb783$var$MA(i.head), i.strstart = 0, i.block_start = 0, i.insert = 0); + let A = new Uint8Array(i.w_size); + A.set(t.subarray(e - i.w_size, e), 0), t = A, e = i.w_size; + } + const a = A.avail_in, n = A.next_in, E = A.input; + for(A.avail_in = e, A.next_in = 0, A.input = t, $ec3de3bad43fb783$var$pA(i); i.lookahead >= 3;){ + let A = i.strstart, t = i.lookahead - 2; + do i.ins_h = $ec3de3bad43fb783$var$RA(i, i.ins_h, i.window[A + 3 - 1]), i.prev[A & i.w_mask] = i.head[i.ins_h], i.head[i.ins_h] = A, A++; + while (--t); + i.strstart = A, i.lookahead = 2, $ec3de3bad43fb783$var$pA(i); + } + return i.strstart += i.lookahead, i.block_start = i.strstart, i.insert = i.lookahead, i.lookahead = 0, i.match_length = i.prev_length = 2, i.match_available = 0, A.next_in = n, A.input = E, A.avail_in = a, i.wrap = s, $ec3de3bad43fb783$var$AA; + }, + deflateInfo: "pako deflate (from Nodeca project)" +}; +const $ec3de3bad43fb783$var$xA = (A, t)=>Object.prototype.hasOwnProperty.call(A, t); +var $ec3de3bad43fb783$var$LA = { + assign: function(A) { + const t = Array.prototype.slice.call(arguments, 1); + for(; t.length;){ + const e = t.shift(); + if (e) { + if ("object" != typeof e) throw new TypeError(e + "must be non-object"); + for(const t in e)$ec3de3bad43fb783$var$xA(e, t) && (A[t] = e[t]); + } + } + return A; + }, + flattenChunks: (A)=>{ + let t = 0; + for(let e = 0, i = A.length; e < i; e++)t += A[e].length; + const e = new Uint8Array(t); + for(let t = 0, i = 0, s = A.length; t < s; t++){ + let s = A[t]; + e.set(s, i), i += s.length; + } + return e; + } +}; +let $ec3de3bad43fb783$var$JA = !0; +try { + String.fromCharCode.apply(null, new Uint8Array(1)); +} catch (A) { + $ec3de3bad43fb783$var$JA = !1; +} +const $ec3de3bad43fb783$var$zA = new Uint8Array(256); +for(let A = 0; A < 256; A++)$ec3de3bad43fb783$var$zA[A] = A >= 252 ? 6 : A >= 248 ? 5 : A >= 240 ? 4 : A >= 224 ? 3 : A >= 192 ? 2 : 1; +$ec3de3bad43fb783$var$zA[254] = $ec3de3bad43fb783$var$zA[254] = 1; +var $ec3de3bad43fb783$var$NA = { + string2buf: (A)=>{ + if ("function" == typeof TextEncoder && TextEncoder.prototype.encode) return (new TextEncoder).encode(A); + let t, e, i, s, a, n = A.length, E = 0; + for(s = 0; s < n; s++)e = A.charCodeAt(s), 55296 == (64512 & e) && s + 1 < n && (i = A.charCodeAt(s + 1), 56320 == (64512 & i) && (e = 65536 + (e - 55296 << 10) + (i - 56320), s++)), E += e < 128 ? 1 : e < 2048 ? 2 : e < 65536 ? 3 : 4; + for(t = new Uint8Array(E), a = 0, s = 0; a < E; s++)e = A.charCodeAt(s), 55296 == (64512 & e) && s + 1 < n && (i = A.charCodeAt(s + 1), 56320 == (64512 & i) && (e = 65536 + (e - 55296 << 10) + (i - 56320), s++)), e < 128 ? t[a++] = e : e < 2048 ? (t[a++] = 192 | e >>> 6, t[a++] = 128 | 63 & e) : e < 65536 ? (t[a++] = 224 | e >>> 12, t[a++] = 128 | e >>> 6 & 63, t[a++] = 128 | 63 & e) : (t[a++] = 240 | e >>> 18, t[a++] = 128 | e >>> 12 & 63, t[a++] = 128 | e >>> 6 & 63, t[a++] = 128 | 63 & e); + return t; + }, + buf2string: (A, t)=>{ + const e = t || A.length; + if ("function" == typeof TextDecoder && TextDecoder.prototype.decode) return (new TextDecoder).decode(A.subarray(0, t)); + let i, s; + const a = new Array(2 * e); + for(s = 0, i = 0; i < e;){ + let t = A[i++]; + if (t < 128) { + a[s++] = t; + continue; + } + let n = $ec3de3bad43fb783$var$zA[t]; + if (n > 4) a[s++] = 65533, i += n - 1; + else { + for(t &= 2 === n ? 31 : 3 === n ? 15 : 7; n > 1 && i < e;)t = t << 6 | 63 & A[i++], n--; + n > 1 ? a[s++] = 65533 : t < 65536 ? a[s++] = t : (t -= 65536, a[s++] = 55296 | t >> 10 & 1023, a[s++] = 56320 | 1023 & t); + } + } + return ((A, t)=>{ + if (t < 65534 && A.subarray && $ec3de3bad43fb783$var$JA) return String.fromCharCode.apply(null, A.length === t ? A : A.subarray(0, t)); + let e = ""; + for(let i = 0; i < t; i++)e += String.fromCharCode(A[i]); + return e; + })(a, s); + }, + utf8border: (A, t)=>{ + (t = t || A.length) > A.length && (t = A.length); + let e = t - 1; + for(; e >= 0 && 128 == (192 & A[e]);)e--; + return e < 0 || 0 === e ? t : e + $ec3de3bad43fb783$var$zA[A[e]] > t ? e : t; + } +}; +var $ec3de3bad43fb783$var$vA = function() { + this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = "", this.state = null, this.data_type = 2, this.adler = 0; +}; +const $ec3de3bad43fb783$var$jA = Object.prototype.toString, { Z_NO_FLUSH: $ec3de3bad43fb783$var$ZA, Z_SYNC_FLUSH: $ec3de3bad43fb783$var$WA, Z_FULL_FLUSH: $ec3de3bad43fb783$var$XA, Z_FINISH: $ec3de3bad43fb783$var$qA, Z_OK: $ec3de3bad43fb783$var$VA, Z_STREAM_END: $ec3de3bad43fb783$var$$A, Z_DEFAULT_COMPRESSION: $ec3de3bad43fb783$var$At, Z_DEFAULT_STRATEGY: $ec3de3bad43fb783$var$tt, Z_DEFLATED: $ec3de3bad43fb783$var$et } = $ec3de3bad43fb783$var$J; +function $ec3de3bad43fb783$var$it(A) { + this.options = $ec3de3bad43fb783$var$LA.assign({ + level: $ec3de3bad43fb783$var$At, + method: $ec3de3bad43fb783$var$et, + chunkSize: 16384, + windowBits: 15, + memLevel: 8, + strategy: $ec3de3bad43fb783$var$tt + }, A || {}); + let t = this.options; + t.raw && t.windowBits > 0 ? t.windowBits = -t.windowBits : t.gzip && t.windowBits > 0 && t.windowBits < 16 && (t.windowBits += 16), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new $ec3de3bad43fb783$var$vA, this.strm.avail_out = 0; + let e = $ec3de3bad43fb783$var$KA.deflateInit2(this.strm, t.level, t.method, t.windowBits, t.memLevel, t.strategy); + if (e !== $ec3de3bad43fb783$var$VA) throw new Error($ec3de3bad43fb783$var$L[e]); + if (t.header && $ec3de3bad43fb783$var$KA.deflateSetHeader(this.strm, t.header), t.dictionary) { + let A; + if (A = "string" == typeof t.dictionary ? $ec3de3bad43fb783$var$NA.string2buf(t.dictionary) : "[object ArrayBuffer]" === $ec3de3bad43fb783$var$jA.call(t.dictionary) ? new Uint8Array(t.dictionary) : t.dictionary, e = $ec3de3bad43fb783$var$KA.deflateSetDictionary(this.strm, A), e !== $ec3de3bad43fb783$var$VA) throw new Error($ec3de3bad43fb783$var$L[e]); + this._dict_set = !0; + } +} +function $ec3de3bad43fb783$var$st(A, t) { + const e = new $ec3de3bad43fb783$var$it(t); + if (e.push(A, !0), e.err) throw e.msg || $ec3de3bad43fb783$var$L[e.err]; + return e.result; +} +$ec3de3bad43fb783$var$it.prototype.push = function(A, t) { + const e = this.strm, i = this.options.chunkSize; + let s, a; + if (this.ended) return !1; + for(a = t === ~~t ? t : !0 === t ? $ec3de3bad43fb783$var$qA : $ec3de3bad43fb783$var$ZA, "string" == typeof A ? e.input = $ec3de3bad43fb783$var$NA.string2buf(A) : "[object ArrayBuffer]" === $ec3de3bad43fb783$var$jA.call(A) ? e.input = new Uint8Array(A) : e.input = A, e.next_in = 0, e.avail_in = e.input.length;;)if (0 === e.avail_out && (e.output = new Uint8Array(i), e.next_out = 0, e.avail_out = i), (a === $ec3de3bad43fb783$var$WA || a === $ec3de3bad43fb783$var$XA) && e.avail_out <= 6) this.onData(e.output.subarray(0, e.next_out)), e.avail_out = 0; + else { + if (s = $ec3de3bad43fb783$var$KA.deflate(e, a), s === $ec3de3bad43fb783$var$$A) return e.next_out > 0 && this.onData(e.output.subarray(0, e.next_out)), s = $ec3de3bad43fb783$var$KA.deflateEnd(this.strm), this.onEnd(s), this.ended = !0, s === $ec3de3bad43fb783$var$VA; + if (0 !== e.avail_out) { + if (a > 0 && e.next_out > 0) this.onData(e.output.subarray(0, e.next_out)), e.avail_out = 0; + else if (0 === e.avail_in) break; + } else this.onData(e.output); + } + return !0; +}, $ec3de3bad43fb783$var$it.prototype.onData = function(A) { + this.chunks.push(A); +}, $ec3de3bad43fb783$var$it.prototype.onEnd = function(A) { + A === $ec3de3bad43fb783$var$VA && (this.result = $ec3de3bad43fb783$var$LA.flattenChunks(this.chunks)), this.chunks = [], this.err = A, this.msg = this.strm.msg; +}; +var $ec3de3bad43fb783$var$at = { + Deflate: $ec3de3bad43fb783$var$it, + deflate: $ec3de3bad43fb783$var$st, + deflateRaw: function(A, t) { + return (t = t || {}).raw = !0, $ec3de3bad43fb783$var$st(A, t); + }, + gzip: function(A, t) { + return (t = t || {}).gzip = !0, $ec3de3bad43fb783$var$st(A, t); + }, + constants: $ec3de3bad43fb783$var$J +}; +const $ec3de3bad43fb783$var$nt = 16209; +var $ec3de3bad43fb783$var$Et = function(A, t) { + let e, i, s, a, n, E, h, r, g, o, B, w, c, C, I, _, l, d, M, D, R, S, Q, f; + const F = A.state; + e = A.next_in, Q = A.input, i = e + (A.avail_in - 5), s = A.next_out, f = A.output, a = s - (t - A.avail_out), n = s + (A.avail_out - 257), E = F.dmax, h = F.wsize, r = F.whave, g = F.wnext, o = F.window, B = F.hold, w = F.bits, c = F.lencode, C = F.distcode, I = (1 << F.lenbits) - 1, _ = (1 << F.distbits) - 1; + A: do { + w < 15 && (B += Q[e++] << w, w += 8, B += Q[e++] << w, w += 8), l = c[B & I]; + t: for(;;){ + if (d = l >>> 24, B >>>= d, w -= d, d = l >>> 16 & 255, 0 === d) f[s++] = 65535 & l; + else { + if (!(16 & d)) { + if (0 == (64 & d)) { + l = c[(65535 & l) + (B & (1 << d) - 1)]; + continue t; + } + if (32 & d) { + F.mode = 16191; + break A; + } + A.msg = "invalid literal/length code", F.mode = $ec3de3bad43fb783$var$nt; + break A; + } + M = 65535 & l, d &= 15, d && (w < d && (B += Q[e++] << w, w += 8), M += B & (1 << d) - 1, B >>>= d, w -= d), w < 15 && (B += Q[e++] << w, w += 8, B += Q[e++] << w, w += 8), l = C[B & _]; + e: for(;;){ + if (d = l >>> 24, B >>>= d, w -= d, d = l >>> 16 & 255, !(16 & d)) { + if (0 == (64 & d)) { + l = C[(65535 & l) + (B & (1 << d) - 1)]; + continue e; + } + A.msg = "invalid distance code", F.mode = $ec3de3bad43fb783$var$nt; + break A; + } + if (D = 65535 & l, d &= 15, w < d && (B += Q[e++] << w, w += 8, w < d && (B += Q[e++] << w, w += 8)), D += B & (1 << d) - 1, D > E) { + A.msg = "invalid distance too far back", F.mode = $ec3de3bad43fb783$var$nt; + break A; + } + if (B >>>= d, w -= d, d = s - a, D > d) { + if (d = D - d, d > r && F.sane) { + A.msg = "invalid distance too far back", F.mode = $ec3de3bad43fb783$var$nt; + break A; + } + if (R = 0, S = o, 0 === g) { + if (R += h - d, d < M) { + M -= d; + do f[s++] = o[R++]; + while (--d); + R = s - D, S = f; + } + } else if (g < d) { + if (R += h + g - d, d -= g, d < M) { + M -= d; + do f[s++] = o[R++]; + while (--d); + if (R = 0, g < M) { + d = g, M -= d; + do f[s++] = o[R++]; + while (--d); + R = s - D, S = f; + } + } + } else if (R += g - d, d < M) { + M -= d; + do f[s++] = o[R++]; + while (--d); + R = s - D, S = f; + } + for(; M > 2;)f[s++] = S[R++], f[s++] = S[R++], f[s++] = S[R++], M -= 3; + M && (f[s++] = S[R++], M > 1 && (f[s++] = S[R++])); + } else { + R = s - D; + do f[s++] = f[R++], f[s++] = f[R++], f[s++] = f[R++], M -= 3; + while (M > 2); + M && (f[s++] = f[R++], M > 1 && (f[s++] = f[R++])); + } + break; + } + } + break; + } + }while (e < i && s < n); + M = w >> 3, e -= M, w -= M << 3, B &= (1 << w) - 1, A.next_in = e, A.next_out = s, A.avail_in = e < i ? i - e + 5 : 5 - (e - i), A.avail_out = s < n ? n - s + 257 : 257 - (s - n), F.hold = B, F.bits = w; +}; +const $ec3de3bad43fb783$var$ht = 15, $ec3de3bad43fb783$var$rt = new Uint16Array([ + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 13, + 15, + 17, + 19, + 23, + 27, + 31, + 35, + 43, + 51, + 59, + 67, + 83, + 99, + 115, + 131, + 163, + 195, + 227, + 258, + 0, + 0 +]), $ec3de3bad43fb783$var$gt = new Uint8Array([ + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 16, + 17, + 17, + 17, + 17, + 18, + 18, + 18, + 18, + 19, + 19, + 19, + 19, + 20, + 20, + 20, + 20, + 21, + 21, + 21, + 21, + 16, + 72, + 78 +]), $ec3de3bad43fb783$var$ot = new Uint16Array([ + 1, + 2, + 3, + 4, + 5, + 7, + 9, + 13, + 17, + 25, + 33, + 49, + 65, + 97, + 129, + 193, + 257, + 385, + 513, + 769, + 1025, + 1537, + 2049, + 3073, + 4097, + 6145, + 8193, + 12289, + 16385, + 24577, + 0, + 0 +]), $ec3de3bad43fb783$var$Bt = new Uint8Array([ + 16, + 16, + 16, + 16, + 17, + 17, + 18, + 18, + 19, + 19, + 20, + 20, + 21, + 21, + 22, + 22, + 23, + 23, + 24, + 24, + 25, + 25, + 26, + 26, + 27, + 27, + 28, + 28, + 29, + 29, + 64, + 64 +]); +var $ec3de3bad43fb783$var$wt = (A, t, e, i, s, a, n, E)=>{ + const h = E.bits; + let r, g, o, B, w, c, C = 0, I = 0, _ = 0, l = 0, d = 0, M = 0, D = 0, R = 0, S = 0, Q = 0, f = null; + const F = new Uint16Array(16), T = new Uint16Array(16); + let u, p, y, k = null; + for(C = 0; C <= $ec3de3bad43fb783$var$ht; C++)F[C] = 0; + for(I = 0; I < i; I++)F[t[e + I]]++; + for(d = h, l = $ec3de3bad43fb783$var$ht; l >= 1 && 0 === F[l]; l--); + if (d > l && (d = l), 0 === l) return s[a++] = 20971520, s[a++] = 20971520, E.bits = 1, 0; + for(_ = 1; _ < l && 0 === F[_]; _++); + for(d < _ && (d = _), R = 1, C = 1; C <= $ec3de3bad43fb783$var$ht; C++)if (R <<= 1, R -= F[C], R < 0) return -1; + if (R > 0 && (0 === A || 1 !== l)) return -1; + for(T[1] = 0, C = 1; C < $ec3de3bad43fb783$var$ht; C++)T[C + 1] = T[C] + F[C]; + for(I = 0; I < i; I++)0 !== t[e + I] && (n[T[t[e + I]]++] = I); + if (0 === A ? (f = k = n, c = 20) : 1 === A ? (f = $ec3de3bad43fb783$var$rt, k = $ec3de3bad43fb783$var$gt, c = 257) : (f = $ec3de3bad43fb783$var$ot, k = $ec3de3bad43fb783$var$Bt, c = 0), Q = 0, I = 0, C = _, w = a, M = d, D = 0, o = -1, S = 1 << d, B = S - 1, 1 === A && S > 852 || 2 === A && S > 592) return 1; + for(;;){ + u = C - D, n[I] + 1 < c ? (p = 0, y = n[I]) : n[I] >= c ? (p = k[n[I] - c], y = f[n[I] - c]) : (p = 96, y = 0), r = 1 << C - D, g = 1 << M, _ = g; + do g -= r, s[w + (Q >> D) + g] = u << 24 | p << 16 | y | 0; + while (0 !== g); + for(r = 1 << C - 1; Q & r;)r >>= 1; + if (0 !== r ? (Q &= r - 1, Q += r) : Q = 0, I++, 0 == --F[C]) { + if (C === l) break; + C = t[e + n[I]]; + } + if (C > d && (Q & B) !== o) { + for(0 === D && (D = d), w += _, M = C - D, R = 1 << M; M + D < l && (R -= F[M + D], !(R <= 0));)M++, R <<= 1; + if (S += 1 << M, 1 === A && S > 852 || 2 === A && S > 592) return 1; + o = Q & B, s[o] = d << 24 | M << 16 | w - a | 0; + } + } + return 0 !== Q && (s[w + Q] = C - D << 24 | 4194304), E.bits = d, 0; +}; +const { Z_FINISH: $ec3de3bad43fb783$var$ct, Z_BLOCK: $ec3de3bad43fb783$var$Ct, Z_TREES: $ec3de3bad43fb783$var$It, Z_OK: $ec3de3bad43fb783$var$_t, Z_STREAM_END: $ec3de3bad43fb783$var$lt, Z_NEED_DICT: $ec3de3bad43fb783$var$dt, Z_STREAM_ERROR: $ec3de3bad43fb783$var$Mt, Z_DATA_ERROR: $ec3de3bad43fb783$var$Dt, Z_MEM_ERROR: $ec3de3bad43fb783$var$Rt, Z_BUF_ERROR: $ec3de3bad43fb783$var$St, Z_DEFLATED: $ec3de3bad43fb783$var$Qt } = $ec3de3bad43fb783$var$J, $ec3de3bad43fb783$var$ft = 16180, $ec3de3bad43fb783$var$Ft = 16190, $ec3de3bad43fb783$var$Tt = 16191, $ec3de3bad43fb783$var$ut = 16192, $ec3de3bad43fb783$var$pt = 16194, $ec3de3bad43fb783$var$yt = 16199, $ec3de3bad43fb783$var$kt = 16200, $ec3de3bad43fb783$var$Ht = 16206, $ec3de3bad43fb783$var$Pt = 16209, $ec3de3bad43fb783$var$Ot = (A)=>(A >>> 24 & 255) + (A >>> 8 & 65280) + ((65280 & A) << 8) + ((255 & A) << 24); +function $ec3de3bad43fb783$var$Ut() { + this.strm = null, this.mode = 0, this.last = !1, this.wrap = 0, this.havedict = !1, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new Uint16Array(320), this.work = new Uint16Array(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0; +} +const $ec3de3bad43fb783$var$Gt = (A)=>{ + if (!A) return 1; + const t = A.state; + return !t || t.strm !== A || t.mode < $ec3de3bad43fb783$var$ft || t.mode > 16211 ? 1 : 0; +}, $ec3de3bad43fb783$var$mt = (A)=>{ + if ($ec3de3bad43fb783$var$Gt(A)) return $ec3de3bad43fb783$var$Mt; + const t = A.state; + return A.total_in = A.total_out = t.total = 0, A.msg = "", t.wrap && (A.adler = 1 & t.wrap), t.mode = $ec3de3bad43fb783$var$ft, t.last = 0, t.havedict = 0, t.flags = -1, t.dmax = 32768, t.head = null, t.hold = 0, t.bits = 0, t.lencode = t.lendyn = new Int32Array(852), t.distcode = t.distdyn = new Int32Array(592), t.sane = 1, t.back = -1, $ec3de3bad43fb783$var$_t; +}, $ec3de3bad43fb783$var$Yt = (A)=>{ + if ($ec3de3bad43fb783$var$Gt(A)) return $ec3de3bad43fb783$var$Mt; + const t = A.state; + return t.wsize = 0, t.whave = 0, t.wnext = 0, $ec3de3bad43fb783$var$mt(A); +}, $ec3de3bad43fb783$var$bt = (A, t)=>{ + let e; + if ($ec3de3bad43fb783$var$Gt(A)) return $ec3de3bad43fb783$var$Mt; + const i = A.state; + return t < 0 ? (e = 0, t = -t) : (e = 5 + (t >> 4), t < 48 && (t &= 15)), t && (t < 8 || t > 15) ? $ec3de3bad43fb783$var$Mt : (null !== i.window && i.wbits !== t && (i.window = null), i.wrap = e, i.wbits = t, $ec3de3bad43fb783$var$Yt(A)); +}, $ec3de3bad43fb783$var$Kt = (A, t)=>{ + if (!A) return $ec3de3bad43fb783$var$Mt; + const e = new $ec3de3bad43fb783$var$Ut; + A.state = e, e.strm = A, e.window = null, e.mode = $ec3de3bad43fb783$var$ft; + const i = $ec3de3bad43fb783$var$bt(A, t); + return i !== $ec3de3bad43fb783$var$_t && (A.state = null), i; +}; +let $ec3de3bad43fb783$var$xt, $ec3de3bad43fb783$var$Lt, $ec3de3bad43fb783$var$Jt = !0; +const $ec3de3bad43fb783$var$zt = (A)=>{ + if ($ec3de3bad43fb783$var$Jt) { + $ec3de3bad43fb783$var$xt = new Int32Array(512), $ec3de3bad43fb783$var$Lt = new Int32Array(32); + let t = 0; + for(; t < 144;)A.lens[t++] = 8; + for(; t < 256;)A.lens[t++] = 9; + for(; t < 280;)A.lens[t++] = 7; + for(; t < 288;)A.lens[t++] = 8; + for($ec3de3bad43fb783$var$wt(1, A.lens, 0, 288, $ec3de3bad43fb783$var$xt, 0, A.work, { + bits: 9 + }), t = 0; t < 32;)A.lens[t++] = 5; + $ec3de3bad43fb783$var$wt(2, A.lens, 0, 32, $ec3de3bad43fb783$var$Lt, 0, A.work, { + bits: 5 + }), $ec3de3bad43fb783$var$Jt = !1; + } + A.lencode = $ec3de3bad43fb783$var$xt, A.lenbits = 9, A.distcode = $ec3de3bad43fb783$var$Lt, A.distbits = 5; +}, $ec3de3bad43fb783$var$Nt = (A, t, e, i)=>{ + let s; + const a = A.state; + return null === a.window && (a.wsize = 1 << a.wbits, a.wnext = 0, a.whave = 0, a.window = new Uint8Array(a.wsize)), i >= a.wsize ? (a.window.set(t.subarray(e - a.wsize, e), 0), a.wnext = 0, a.whave = a.wsize) : (s = a.wsize - a.wnext, s > i && (s = i), a.window.set(t.subarray(e - i, e - i + s), a.wnext), (i -= s) ? (a.window.set(t.subarray(e - i, e), 0), a.wnext = i, a.whave = a.wsize) : (a.wnext += s, a.wnext === a.wsize && (a.wnext = 0), a.whave < a.wsize && (a.whave += s))), 0; +}; +var $ec3de3bad43fb783$var$vt = { + inflateReset: $ec3de3bad43fb783$var$Yt, + inflateReset2: $ec3de3bad43fb783$var$bt, + inflateResetKeep: $ec3de3bad43fb783$var$mt, + inflateInit: (A)=>$ec3de3bad43fb783$var$Kt(A, 15), + inflateInit2: $ec3de3bad43fb783$var$Kt, + inflate: (A, t)=>{ + let e, i, s, a, n, E, h, r, g, o, B, w, c, C, I, _, l, d, M, D, R, S, Q = 0; + const f = new Uint8Array(4); + let F, T; + const u = new Uint8Array([ + 16, + 17, + 18, + 0, + 8, + 7, + 9, + 6, + 10, + 5, + 11, + 4, + 12, + 3, + 13, + 2, + 14, + 1, + 15 + ]); + if ($ec3de3bad43fb783$var$Gt(A) || !A.output || !A.input && 0 !== A.avail_in) return $ec3de3bad43fb783$var$Mt; + e = A.state, e.mode === $ec3de3bad43fb783$var$Tt && (e.mode = $ec3de3bad43fb783$var$ut), n = A.next_out, s = A.output, h = A.avail_out, a = A.next_in, i = A.input, E = A.avail_in, r = e.hold, g = e.bits, o = E, B = h, S = $ec3de3bad43fb783$var$_t; + A: for(;;)switch(e.mode){ + case $ec3de3bad43fb783$var$ft: + if (0 === e.wrap) { + e.mode = $ec3de3bad43fb783$var$ut; + break; + } + for(; g < 16;){ + if (0 === E) break A; + E--, r += i[a++] << g, g += 8; + } + if (2 & e.wrap && 35615 === r) { + 0 === e.wbits && (e.wbits = 15), e.check = 0, f[0] = 255 & r, f[1] = r >>> 8 & 255, e.check = $ec3de3bad43fb783$var$x(e.check, f, 2, 0), r = 0, g = 0, e.mode = 16181; + break; + } + if (e.head && (e.head.done = !1), !(1 & e.wrap) || (((255 & r) << 8) + (r >> 8)) % 31) { + A.msg = "incorrect header check", e.mode = $ec3de3bad43fb783$var$Pt; + break; + } + if ((15 & r) !== $ec3de3bad43fb783$var$Qt) { + A.msg = "unknown compression method", e.mode = $ec3de3bad43fb783$var$Pt; + break; + } + if (r >>>= 4, g -= 4, R = 8 + (15 & r), 0 === e.wbits && (e.wbits = R), R > 15 || R > e.wbits) { + A.msg = "invalid window size", e.mode = $ec3de3bad43fb783$var$Pt; + break; + } + e.dmax = 1 << e.wbits, e.flags = 0, A.adler = e.check = 1, e.mode = 512 & r ? 16189 : $ec3de3bad43fb783$var$Tt, r = 0, g = 0; + break; + case 16181: + for(; g < 16;){ + if (0 === E) break A; + E--, r += i[a++] << g, g += 8; + } + if (e.flags = r, (255 & e.flags) !== $ec3de3bad43fb783$var$Qt) { + A.msg = "unknown compression method", e.mode = $ec3de3bad43fb783$var$Pt; + break; + } + if (57344 & e.flags) { + A.msg = "unknown header flags set", e.mode = $ec3de3bad43fb783$var$Pt; + break; + } + e.head && (e.head.text = r >> 8 & 1), 512 & e.flags && 4 & e.wrap && (f[0] = 255 & r, f[1] = r >>> 8 & 255, e.check = $ec3de3bad43fb783$var$x(e.check, f, 2, 0)), r = 0, g = 0, e.mode = 16182; + case 16182: + for(; g < 32;){ + if (0 === E) break A; + E--, r += i[a++] << g, g += 8; + } + e.head && (e.head.time = r), 512 & e.flags && 4 & e.wrap && (f[0] = 255 & r, f[1] = r >>> 8 & 255, f[2] = r >>> 16 & 255, f[3] = r >>> 24 & 255, e.check = $ec3de3bad43fb783$var$x(e.check, f, 4, 0)), r = 0, g = 0, e.mode = 16183; + case 16183: + for(; g < 16;){ + if (0 === E) break A; + E--, r += i[a++] << g, g += 8; + } + e.head && (e.head.xflags = 255 & r, e.head.os = r >> 8), 512 & e.flags && 4 & e.wrap && (f[0] = 255 & r, f[1] = r >>> 8 & 255, e.check = $ec3de3bad43fb783$var$x(e.check, f, 2, 0)), r = 0, g = 0, e.mode = 16184; + case 16184: + if (1024 & e.flags) { + for(; g < 16;){ + if (0 === E) break A; + E--, r += i[a++] << g, g += 8; + } + e.length = r, e.head && (e.head.extra_len = r), 512 & e.flags && 4 & e.wrap && (f[0] = 255 & r, f[1] = r >>> 8 & 255, e.check = $ec3de3bad43fb783$var$x(e.check, f, 2, 0)), r = 0, g = 0; + } else e.head && (e.head.extra = null); + e.mode = 16185; + case 16185: + if (1024 & e.flags && (w = e.length, w > E && (w = E), w && (e.head && (R = e.head.extra_len - e.length, e.head.extra || (e.head.extra = new Uint8Array(e.head.extra_len)), e.head.extra.set(i.subarray(a, a + w), R)), 512 & e.flags && 4 & e.wrap && (e.check = $ec3de3bad43fb783$var$x(e.check, i, w, a)), E -= w, a += w, e.length -= w), e.length)) break A; + e.length = 0, e.mode = 16186; + case 16186: + if (2048 & e.flags) { + if (0 === E) break A; + w = 0; + do R = i[a + w++], e.head && R && e.length < 65536 && (e.head.name += String.fromCharCode(R)); + while (R && w < E); + if (512 & e.flags && 4 & e.wrap && (e.check = $ec3de3bad43fb783$var$x(e.check, i, w, a)), E -= w, a += w, R) break A; + } else e.head && (e.head.name = null); + e.length = 0, e.mode = 16187; + case 16187: + if (4096 & e.flags) { + if (0 === E) break A; + w = 0; + do R = i[a + w++], e.head && R && e.length < 65536 && (e.head.comment += String.fromCharCode(R)); + while (R && w < E); + if (512 & e.flags && 4 & e.wrap && (e.check = $ec3de3bad43fb783$var$x(e.check, i, w, a)), E -= w, a += w, R) break A; + } else e.head && (e.head.comment = null); + e.mode = 16188; + case 16188: + if (512 & e.flags) { + for(; g < 16;){ + if (0 === E) break A; + E--, r += i[a++] << g, g += 8; + } + if (4 & e.wrap && r !== (65535 & e.check)) { + A.msg = "header crc mismatch", e.mode = $ec3de3bad43fb783$var$Pt; + break; + } + r = 0, g = 0; + } + e.head && (e.head.hcrc = e.flags >> 9 & 1, e.head.done = !0), A.adler = e.check = 0, e.mode = $ec3de3bad43fb783$var$Tt; + break; + case 16189: + for(; g < 32;){ + if (0 === E) break A; + E--, r += i[a++] << g, g += 8; + } + A.adler = e.check = $ec3de3bad43fb783$var$Ot(r), r = 0, g = 0, e.mode = $ec3de3bad43fb783$var$Ft; + case $ec3de3bad43fb783$var$Ft: + if (0 === e.havedict) return A.next_out = n, A.avail_out = h, A.next_in = a, A.avail_in = E, e.hold = r, e.bits = g, $ec3de3bad43fb783$var$dt; + A.adler = e.check = 1, e.mode = $ec3de3bad43fb783$var$Tt; + case $ec3de3bad43fb783$var$Tt: + if (t === $ec3de3bad43fb783$var$Ct || t === $ec3de3bad43fb783$var$It) break A; + case $ec3de3bad43fb783$var$ut: + if (e.last) { + r >>>= 7 & g, g -= 7 & g, e.mode = $ec3de3bad43fb783$var$Ht; + break; + } + for(; g < 3;){ + if (0 === E) break A; + E--, r += i[a++] << g, g += 8; + } + switch(e.last = 1 & r, r >>>= 1, g -= 1, 3 & r){ + case 0: + e.mode = 16193; + break; + case 1: + if ($ec3de3bad43fb783$var$zt(e), e.mode = $ec3de3bad43fb783$var$yt, t === $ec3de3bad43fb783$var$It) { + r >>>= 2, g -= 2; + break A; + } + break; + case 2: + e.mode = 16196; + break; + case 3: + A.msg = "invalid block type", e.mode = $ec3de3bad43fb783$var$Pt; + } + r >>>= 2, g -= 2; + break; + case 16193: + for(r >>>= 7 & g, g -= 7 & g; g < 32;){ + if (0 === E) break A; + E--, r += i[a++] << g, g += 8; + } + if ((65535 & r) != (r >>> 16 ^ 65535)) { + A.msg = "invalid stored block lengths", e.mode = $ec3de3bad43fb783$var$Pt; + break; + } + if (e.length = 65535 & r, r = 0, g = 0, e.mode = $ec3de3bad43fb783$var$pt, t === $ec3de3bad43fb783$var$It) break A; + case $ec3de3bad43fb783$var$pt: + e.mode = 16195; + case 16195: + if (w = e.length, w) { + if (w > E && (w = E), w > h && (w = h), 0 === w) break A; + s.set(i.subarray(a, a + w), n), E -= w, a += w, h -= w, n += w, e.length -= w; + break; + } + e.mode = $ec3de3bad43fb783$var$Tt; + break; + case 16196: + for(; g < 14;){ + if (0 === E) break A; + E--, r += i[a++] << g, g += 8; + } + if (e.nlen = 257 + (31 & r), r >>>= 5, g -= 5, e.ndist = 1 + (31 & r), r >>>= 5, g -= 5, e.ncode = 4 + (15 & r), r >>>= 4, g -= 4, e.nlen > 286 || e.ndist > 30) { + A.msg = "too many length or distance symbols", e.mode = $ec3de3bad43fb783$var$Pt; + break; + } + e.have = 0, e.mode = 16197; + case 16197: + for(; e.have < e.ncode;){ + for(; g < 3;){ + if (0 === E) break A; + E--, r += i[a++] << g, g += 8; + } + e.lens[u[e.have++]] = 7 & r, r >>>= 3, g -= 3; + } + for(; e.have < 19;)e.lens[u[e.have++]] = 0; + if (e.lencode = e.lendyn, e.lenbits = 7, F = { + bits: e.lenbits + }, S = $ec3de3bad43fb783$var$wt(0, e.lens, 0, 19, e.lencode, 0, e.work, F), e.lenbits = F.bits, S) { + A.msg = "invalid code lengths set", e.mode = $ec3de3bad43fb783$var$Pt; + break; + } + e.have = 0, e.mode = 16198; + case 16198: + for(; e.have < e.nlen + e.ndist;){ + for(; Q = e.lencode[r & (1 << e.lenbits) - 1], I = Q >>> 24, _ = Q >>> 16 & 255, l = 65535 & Q, !(I <= g);){ + if (0 === E) break A; + E--, r += i[a++] << g, g += 8; + } + if (l < 16) r >>>= I, g -= I, e.lens[e.have++] = l; + else { + if (16 === l) { + for(T = I + 2; g < T;){ + if (0 === E) break A; + E--, r += i[a++] << g, g += 8; + } + if (r >>>= I, g -= I, 0 === e.have) { + A.msg = "invalid bit length repeat", e.mode = $ec3de3bad43fb783$var$Pt; + break; + } + R = e.lens[e.have - 1], w = 3 + (3 & r), r >>>= 2, g -= 2; + } else if (17 === l) { + for(T = I + 3; g < T;){ + if (0 === E) break A; + E--, r += i[a++] << g, g += 8; + } + r >>>= I, g -= I, R = 0, w = 3 + (7 & r), r >>>= 3, g -= 3; + } else { + for(T = I + 7; g < T;){ + if (0 === E) break A; + E--, r += i[a++] << g, g += 8; + } + r >>>= I, g -= I, R = 0, w = 11 + (127 & r), r >>>= 7, g -= 7; + } + if (e.have + w > e.nlen + e.ndist) { + A.msg = "invalid bit length repeat", e.mode = $ec3de3bad43fb783$var$Pt; + break; + } + for(; w--;)e.lens[e.have++] = R; + } + } + if (e.mode === $ec3de3bad43fb783$var$Pt) break; + if (0 === e.lens[256]) { + A.msg = "invalid code -- missing end-of-block", e.mode = $ec3de3bad43fb783$var$Pt; + break; + } + if (e.lenbits = 9, F = { + bits: e.lenbits + }, S = $ec3de3bad43fb783$var$wt(1, e.lens, 0, e.nlen, e.lencode, 0, e.work, F), e.lenbits = F.bits, S) { + A.msg = "invalid literal/lengths set", e.mode = $ec3de3bad43fb783$var$Pt; + break; + } + if (e.distbits = 6, e.distcode = e.distdyn, F = { + bits: e.distbits + }, S = $ec3de3bad43fb783$var$wt(2, e.lens, e.nlen, e.ndist, e.distcode, 0, e.work, F), e.distbits = F.bits, S) { + A.msg = "invalid distances set", e.mode = $ec3de3bad43fb783$var$Pt; + break; + } + if (e.mode = $ec3de3bad43fb783$var$yt, t === $ec3de3bad43fb783$var$It) break A; + case $ec3de3bad43fb783$var$yt: + e.mode = $ec3de3bad43fb783$var$kt; + case $ec3de3bad43fb783$var$kt: + if (E >= 6 && h >= 258) { + A.next_out = n, A.avail_out = h, A.next_in = a, A.avail_in = E, e.hold = r, e.bits = g, $ec3de3bad43fb783$var$Et(A, B), n = A.next_out, s = A.output, h = A.avail_out, a = A.next_in, i = A.input, E = A.avail_in, r = e.hold, g = e.bits, e.mode === $ec3de3bad43fb783$var$Tt && (e.back = -1); + break; + } + for(e.back = 0; Q = e.lencode[r & (1 << e.lenbits) - 1], I = Q >>> 24, _ = Q >>> 16 & 255, l = 65535 & Q, !(I <= g);){ + if (0 === E) break A; + E--, r += i[a++] << g, g += 8; + } + if (_ && 0 == (240 & _)) { + for(d = I, M = _, D = l; Q = e.lencode[D + ((r & (1 << d + M) - 1) >> d)], I = Q >>> 24, _ = Q >>> 16 & 255, l = 65535 & Q, !(d + I <= g);){ + if (0 === E) break A; + E--, r += i[a++] << g, g += 8; + } + r >>>= d, g -= d, e.back += d; + } + if (r >>>= I, g -= I, e.back += I, e.length = l, 0 === _) { + e.mode = 16205; + break; + } + if (32 & _) { + e.back = -1, e.mode = $ec3de3bad43fb783$var$Tt; + break; + } + if (64 & _) { + A.msg = "invalid literal/length code", e.mode = $ec3de3bad43fb783$var$Pt; + break; + } + e.extra = 15 & _, e.mode = 16201; + case 16201: + if (e.extra) { + for(T = e.extra; g < T;){ + if (0 === E) break A; + E--, r += i[a++] << g, g += 8; + } + e.length += r & (1 << e.extra) - 1, r >>>= e.extra, g -= e.extra, e.back += e.extra; + } + e.was = e.length, e.mode = 16202; + case 16202: + for(; Q = e.distcode[r & (1 << e.distbits) - 1], I = Q >>> 24, _ = Q >>> 16 & 255, l = 65535 & Q, !(I <= g);){ + if (0 === E) break A; + E--, r += i[a++] << g, g += 8; + } + if (0 == (240 & _)) { + for(d = I, M = _, D = l; Q = e.distcode[D + ((r & (1 << d + M) - 1) >> d)], I = Q >>> 24, _ = Q >>> 16 & 255, l = 65535 & Q, !(d + I <= g);){ + if (0 === E) break A; + E--, r += i[a++] << g, g += 8; + } + r >>>= d, g -= d, e.back += d; + } + if (r >>>= I, g -= I, e.back += I, 64 & _) { + A.msg = "invalid distance code", e.mode = $ec3de3bad43fb783$var$Pt; + break; + } + e.offset = l, e.extra = 15 & _, e.mode = 16203; + case 16203: + if (e.extra) { + for(T = e.extra; g < T;){ + if (0 === E) break A; + E--, r += i[a++] << g, g += 8; + } + e.offset += r & (1 << e.extra) - 1, r >>>= e.extra, g -= e.extra, e.back += e.extra; + } + if (e.offset > e.dmax) { + A.msg = "invalid distance too far back", e.mode = $ec3de3bad43fb783$var$Pt; + break; + } + e.mode = 16204; + case 16204: + if (0 === h) break A; + if (w = B - h, e.offset > w) { + if (w = e.offset - w, w > e.whave && e.sane) { + A.msg = "invalid distance too far back", e.mode = $ec3de3bad43fb783$var$Pt; + break; + } + w > e.wnext ? (w -= e.wnext, c = e.wsize - w) : c = e.wnext - w, w > e.length && (w = e.length), C = e.window; + } else C = s, c = n - e.offset, w = e.length; + w > h && (w = h), h -= w, e.length -= w; + do s[n++] = C[c++]; + while (--w); + 0 === e.length && (e.mode = $ec3de3bad43fb783$var$kt); + break; + case 16205: + if (0 === h) break A; + s[n++] = e.length, h--, e.mode = $ec3de3bad43fb783$var$kt; + break; + case $ec3de3bad43fb783$var$Ht: + if (e.wrap) { + for(; g < 32;){ + if (0 === E) break A; + E--, r |= i[a++] << g, g += 8; + } + if (B -= h, A.total_out += B, e.total += B, 4 & e.wrap && B && (A.adler = e.check = e.flags ? $ec3de3bad43fb783$var$x(e.check, s, B, n - B) : $ec3de3bad43fb783$var$b(e.check, s, B, n - B)), B = h, 4 & e.wrap && (e.flags ? r : $ec3de3bad43fb783$var$Ot(r)) !== e.check) { + A.msg = "incorrect data check", e.mode = $ec3de3bad43fb783$var$Pt; + break; + } + r = 0, g = 0; + } + e.mode = 16207; + case 16207: + if (e.wrap && e.flags) { + for(; g < 32;){ + if (0 === E) break A; + E--, r += i[a++] << g, g += 8; + } + if (4 & e.wrap && r !== (4294967295 & e.total)) { + A.msg = "incorrect length check", e.mode = $ec3de3bad43fb783$var$Pt; + break; + } + r = 0, g = 0; + } + e.mode = 16208; + case 16208: + S = $ec3de3bad43fb783$var$lt; + break A; + case $ec3de3bad43fb783$var$Pt: + S = $ec3de3bad43fb783$var$Dt; + break A; + case 16210: + return $ec3de3bad43fb783$var$Rt; + default: + return $ec3de3bad43fb783$var$Mt; + } + return A.next_out = n, A.avail_out = h, A.next_in = a, A.avail_in = E, e.hold = r, e.bits = g, (e.wsize || B !== A.avail_out && e.mode < $ec3de3bad43fb783$var$Pt && (e.mode < $ec3de3bad43fb783$var$Ht || t !== $ec3de3bad43fb783$var$ct)) && $ec3de3bad43fb783$var$Nt(A, A.output, A.next_out, B - A.avail_out), o -= A.avail_in, B -= A.avail_out, A.total_in += o, A.total_out += B, e.total += B, 4 & e.wrap && B && (A.adler = e.check = e.flags ? $ec3de3bad43fb783$var$x(e.check, s, B, A.next_out - B) : $ec3de3bad43fb783$var$b(e.check, s, B, A.next_out - B)), A.data_type = e.bits + (e.last ? 64 : 0) + (e.mode === $ec3de3bad43fb783$var$Tt ? 128 : 0) + (e.mode === $ec3de3bad43fb783$var$yt || e.mode === $ec3de3bad43fb783$var$pt ? 256 : 0), (0 === o && 0 === B || t === $ec3de3bad43fb783$var$ct) && S === $ec3de3bad43fb783$var$_t && (S = $ec3de3bad43fb783$var$St), S; + }, + inflateEnd: (A)=>{ + if ($ec3de3bad43fb783$var$Gt(A)) return $ec3de3bad43fb783$var$Mt; + let t = A.state; + return t.window && (t.window = null), A.state = null, $ec3de3bad43fb783$var$_t; + }, + inflateGetHeader: (A, t)=>{ + if ($ec3de3bad43fb783$var$Gt(A)) return $ec3de3bad43fb783$var$Mt; + const e = A.state; + return 0 == (2 & e.wrap) ? $ec3de3bad43fb783$var$Mt : (e.head = t, t.done = !1, $ec3de3bad43fb783$var$_t); + }, + inflateSetDictionary: (A, t)=>{ + const e = t.length; + let i, s, a; + return $ec3de3bad43fb783$var$Gt(A) ? $ec3de3bad43fb783$var$Mt : (i = A.state, 0 !== i.wrap && i.mode !== $ec3de3bad43fb783$var$Ft ? $ec3de3bad43fb783$var$Mt : i.mode === $ec3de3bad43fb783$var$Ft && (s = 1, s = $ec3de3bad43fb783$var$b(s, t, e, 0), s !== i.check) ? $ec3de3bad43fb783$var$Dt : (a = $ec3de3bad43fb783$var$Nt(A, t, e, e), a ? (i.mode = 16210, $ec3de3bad43fb783$var$Rt) : (i.havedict = 1, $ec3de3bad43fb783$var$_t))); + }, + inflateInfo: "pako inflate (from Nodeca project)" +}; +var $ec3de3bad43fb783$var$jt = function() { + this.text = 0, this.time = 0, this.xflags = 0, this.os = 0, this.extra = null, this.extra_len = 0, this.name = "", this.comment = "", this.hcrc = 0, this.done = !1; +}; +const $ec3de3bad43fb783$var$Zt = Object.prototype.toString, { Z_NO_FLUSH: $ec3de3bad43fb783$var$Wt, Z_FINISH: $ec3de3bad43fb783$var$Xt, Z_OK: $ec3de3bad43fb783$var$qt, Z_STREAM_END: $ec3de3bad43fb783$var$Vt, Z_NEED_DICT: $ec3de3bad43fb783$var$$t, Z_STREAM_ERROR: $ec3de3bad43fb783$var$Ae, Z_DATA_ERROR: $ec3de3bad43fb783$var$te, Z_MEM_ERROR: $ec3de3bad43fb783$var$ee } = $ec3de3bad43fb783$var$J; +function $ec3de3bad43fb783$var$ie(A) { + this.options = $ec3de3bad43fb783$var$LA.assign({ + chunkSize: 65536, + windowBits: 15, + to: "" + }, A || {}); + const t = this.options; + t.raw && t.windowBits >= 0 && t.windowBits < 16 && (t.windowBits = -t.windowBits, 0 === t.windowBits && (t.windowBits = -15)), !(t.windowBits >= 0 && t.windowBits < 16) || A && A.windowBits || (t.windowBits += 32), t.windowBits > 15 && t.windowBits < 48 && 0 == (15 & t.windowBits) && (t.windowBits |= 15), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new $ec3de3bad43fb783$var$vA, this.strm.avail_out = 0; + let e = $ec3de3bad43fb783$var$vt.inflateInit2(this.strm, t.windowBits); + if (e !== $ec3de3bad43fb783$var$qt) throw new Error($ec3de3bad43fb783$var$L[e]); + if (this.header = new $ec3de3bad43fb783$var$jt, $ec3de3bad43fb783$var$vt.inflateGetHeader(this.strm, this.header), t.dictionary && ("string" == typeof t.dictionary ? t.dictionary = $ec3de3bad43fb783$var$NA.string2buf(t.dictionary) : "[object ArrayBuffer]" === $ec3de3bad43fb783$var$Zt.call(t.dictionary) && (t.dictionary = new Uint8Array(t.dictionary)), t.raw && (e = $ec3de3bad43fb783$var$vt.inflateSetDictionary(this.strm, t.dictionary), e !== $ec3de3bad43fb783$var$qt))) throw new Error($ec3de3bad43fb783$var$L[e]); +} +function $ec3de3bad43fb783$var$se(A, t) { + const e = new $ec3de3bad43fb783$var$ie(t); + if (e.push(A), e.err) throw e.msg || $ec3de3bad43fb783$var$L[e.err]; + return e.result; +} +$ec3de3bad43fb783$var$ie.prototype.push = function(A, t) { + const e = this.strm, i = this.options.chunkSize, s = this.options.dictionary; + let a, n, E; + if (this.ended) return !1; + for(n = t === ~~t ? t : !0 === t ? $ec3de3bad43fb783$var$Xt : $ec3de3bad43fb783$var$Wt, "[object ArrayBuffer]" === $ec3de3bad43fb783$var$Zt.call(A) ? e.input = new Uint8Array(A) : e.input = A, e.next_in = 0, e.avail_in = e.input.length;;){ + for(0 === e.avail_out && (e.output = new Uint8Array(i), e.next_out = 0, e.avail_out = i), a = $ec3de3bad43fb783$var$vt.inflate(e, n), a === $ec3de3bad43fb783$var$$t && s && (a = $ec3de3bad43fb783$var$vt.inflateSetDictionary(e, s), a === $ec3de3bad43fb783$var$qt ? a = $ec3de3bad43fb783$var$vt.inflate(e, n) : a === $ec3de3bad43fb783$var$te && (a = $ec3de3bad43fb783$var$$t)); e.avail_in > 0 && a === $ec3de3bad43fb783$var$Vt && e.state.wrap > 0 && 0 !== A[e.next_in];)$ec3de3bad43fb783$var$vt.inflateReset(e), a = $ec3de3bad43fb783$var$vt.inflate(e, n); + switch(a){ + case $ec3de3bad43fb783$var$Ae: + case $ec3de3bad43fb783$var$te: + case $ec3de3bad43fb783$var$$t: + case $ec3de3bad43fb783$var$ee: + return this.onEnd(a), this.ended = !0, !1; + } + if (E = e.avail_out, e.next_out && (0 === e.avail_out || a === $ec3de3bad43fb783$var$Vt)) { + if ("string" === this.options.to) { + let A = $ec3de3bad43fb783$var$NA.utf8border(e.output, e.next_out), t = e.next_out - A, s = $ec3de3bad43fb783$var$NA.buf2string(e.output, A); + e.next_out = t, e.avail_out = i - t, t && e.output.set(e.output.subarray(A, A + t), 0), this.onData(s); + } else this.onData(e.output.length === e.next_out ? e.output : e.output.subarray(0, e.next_out)); + } + if (a !== $ec3de3bad43fb783$var$qt || 0 !== E) { + if (a === $ec3de3bad43fb783$var$Vt) return a = $ec3de3bad43fb783$var$vt.inflateEnd(this.strm), this.onEnd(a), this.ended = !0, !0; + if (0 === e.avail_in) break; + } + } + return !0; +}, $ec3de3bad43fb783$var$ie.prototype.onData = function(A) { + this.chunks.push(A); +}, $ec3de3bad43fb783$var$ie.prototype.onEnd = function(A) { + A === $ec3de3bad43fb783$var$qt && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = $ec3de3bad43fb783$var$LA.flattenChunks(this.chunks)), this.chunks = [], this.err = A, this.msg = this.strm.msg; +}; +var $ec3de3bad43fb783$var$ae = { + Inflate: $ec3de3bad43fb783$var$ie, + inflate: $ec3de3bad43fb783$var$se, + inflateRaw: function(A, t) { + return (t = t || {}).raw = !0, $ec3de3bad43fb783$var$se(A, t); + }, + ungzip: $ec3de3bad43fb783$var$se, + constants: $ec3de3bad43fb783$var$J +}; +const { Deflate: $ec3de3bad43fb783$var$ne, deflate: $ec3de3bad43fb783$var$Ee, deflateRaw: $ec3de3bad43fb783$var$he, gzip: $ec3de3bad43fb783$var$re } = $ec3de3bad43fb783$var$at, { Inflate: $ec3de3bad43fb783$var$ge, inflate: $ec3de3bad43fb783$var$oe, inflateRaw: $ec3de3bad43fb783$var$Be, ungzip: $ec3de3bad43fb783$var$we } = $ec3de3bad43fb783$var$ae; +var $ec3de3bad43fb783$var$ce = $ec3de3bad43fb783$var$Ee, $ec3de3bad43fb783$var$Ce = $ec3de3bad43fb783$var$ge; +class $ec3de3bad43fb783$export$86495b081fef8e52 { + constructor(A, t = !1, e = !0){ + this.device = A, this.tracing = t, this.slipReaderEnabled = !1, this.leftOver = new Uint8Array(0), this.baudrate = 0, this.traceLog = "", this.lastTraceTime = Date.now(), this._DTR_state = !1, this.slipReaderEnabled = e; + } + getInfo() { + const A = this.device.getInfo(); + return A.usbVendorId && A.usbProductId ? `WebSerial VendorID 0x${A.usbVendorId.toString(16)} ProductID 0x${A.usbProductId.toString(16)}` : ""; + } + getPid() { + return this.device.getInfo().usbProductId; + } + trace(A) { + const t = `${`TRACE ${(Date.now() - this.lastTraceTime).toFixed(3)}`} ${A}`; + console.log(t), this.traceLog += t + "\n"; + } + async returnTrace() { + try { + await navigator.clipboard.writeText(this.traceLog), console.log("Text copied to clipboard!"); + } catch (A) { + console.error("Failed to copy text:", A); + } + } + hexify(A) { + return Array.from(A).map((A)=>A.toString(16).padStart(2, "0")).join("").padEnd(16, " "); + } + hexConvert(A, t = !0) { + if (t && A.length > 16) { + let t = "", e = A; + for(; e.length > 0;){ + const A = e.slice(0, 16), i = String.fromCharCode(...A).split("").map((A)=>" " === A || A >= " " && A <= "~" && " " !== A ? A : ".").join(""); + e = e.slice(16), t += `\n ${this.hexify(A.slice(0, 8))} ${this.hexify(A.slice(8))} | ${i}`; + } + return t; + } + return this.hexify(A); + } + slipWriter(A) { + const t = []; + t.push(192); + for(let e = 0; e < A.length; e++)219 === A[e] ? t.push(219, 221) : 192 === A[e] ? t.push(219, 220) : t.push(A[e]); + return t.push(192), new Uint8Array(t); + } + async write(A) { + const t = this.slipWriter(A); + if (this.device.writable) { + const A = this.device.writable.getWriter(); + this.tracing && (console.log("Write bytes"), this.trace(`Write ${t.length} bytes: ${this.hexConvert(t)}`)), await A.write(t), A.releaseLock(); + } + } + _appendBuffer(A, t) { + const e = new Uint8Array(A.byteLength + t.byteLength); + return e.set(new Uint8Array(A), 0), e.set(new Uint8Array(t), A.byteLength), e.buffer; + } + slipReader(A) { + let t = 0, e = 0, i = 0, s = "init"; + for(; t < A.length;)if ("init" !== s || 192 != A[t]) { + if ("valid_data" === s && 192 == A[t]) { + i = t - 1, s = "packet_complete"; + break; + } + t++; + } else e = t + 1, s = "valid_data", t++; + if ("packet_complete" !== s) return this.leftOver = A, new Uint8Array(0); + this.leftOver = A.slice(i + 2); + const a = new Uint8Array(i - e + 1); + let n = 0; + for(t = e; t <= i; t++, n++)219 !== A[t] || 220 !== A[t + 1] ? 219 !== A[t] || 221 !== A[t + 1] ? a[n] = A[t] : (a[n] = 219, t++) : (a[n] = 192, t++); + return a.slice(0, n); + } + async read(A = 0, t = 12) { + let e, i = this.leftOver; + if (this.leftOver = new Uint8Array(0), this.slipReaderEnabled) { + const A = this.slipReader(i); + if (A.length > 0) return A; + i = this.leftOver, this.leftOver = new Uint8Array(0); + } + if (null == this.device.readable) return this.leftOver; + this.reader = this.device.readable.getReader(); + try { + A > 0 && (e = setTimeout(()=>{ + this.reader && this.reader.cancel(); + }, A)); + do { + const { value: A, done: t } = await this.reader.read(); + if (t) throw this.leftOver = i, new Error("Timeout"); + i = new Uint8Array(this._appendBuffer(i.buffer, A.buffer)); + }while (i.length < t); + } finally{ + A > 0 && clearTimeout(e), this.reader.releaseLock(); + } + if (this.tracing && (console.log("Read bytes"), this.trace(`Read ${i.length} bytes: ${this.hexConvert(i)}`)), this.slipReaderEnabled) { + const A = this.slipReader(i); + return this.tracing && (console.log("Slip reader results"), this.trace(`Read ${A.length} bytes: ${this.hexConvert(A)}`)), A; + } + return i; + } + async rawRead(A = 0) { + if (0 != this.leftOver.length) { + const A = this.leftOver; + return this.leftOver = new Uint8Array(0), A; + } + if (!this.device.readable) return this.leftOver; + let t; + this.reader = this.device.readable.getReader(); + try { + A > 0 && (t = setTimeout(()=>{ + this.reader && this.reader.cancel(); + }, A)); + const { value: e, done: i } = await this.reader.read(); + return i || this.tracing && (console.log("Raw Read bytes"), this.trace(`Read ${e.length} bytes: ${this.hexConvert(e)}`)), e; + } finally{ + A > 0 && clearTimeout(t), this.reader.releaseLock(); + } + } + async setRTS(A) { + await this.device.setSignals({ + requestToSend: A + }), await this.setDTR(this._DTR_state); + } + async setDTR(A) { + this._DTR_state = A, await this.device.setSignals({ + dataTerminalReady: A + }); + } + async connect(A = 115200, t = {}) { + await this.device.open({ + baudRate: A, + dataBits: null == t ? void 0 : t.dataBits, + stopBits: null == t ? void 0 : t.stopBits, + bufferSize: null == t ? void 0 : t.bufferSize, + parity: null == t ? void 0 : t.parity, + flowControl: null == t ? void 0 : t.flowControl + }), this.baudrate = A, this.leftOver = new Uint8Array(0); + } + async sleep(A) { + return new Promise((t)=>setTimeout(t, A)); + } + async waitForUnlock(A) { + for(; this.device.readable && this.device.readable.locked || this.device.writable && this.device.writable.locked;)await this.sleep(A); + } + async disconnect() { + var A, t; + (null === (A = this.device.readable) || void 0 === A ? void 0 : A.locked) && await (null === (t = this.reader) || void 0 === t ? void 0 : t.cancel()), await this.waitForUnlock(400), this.reader = void 0, await this.device.close(); + } +} +function $ec3de3bad43fb783$var$_e(A) { + return new Promise((t)=>setTimeout(t, A)); +} +async function $ec3de3bad43fb783$export$d3423661fbfd2b60(A, t = 50) { + await A.setDTR(!1), await A.setRTS(!0), await $ec3de3bad43fb783$var$_e(100), await A.setDTR(!0), await A.setRTS(!1), await $ec3de3bad43fb783$var$_e(t), await A.setDTR(!1); +} +async function $ec3de3bad43fb783$export$3252bdf5627aa8a3(A) { + await A.setRTS(!1), await A.setDTR(!1), await $ec3de3bad43fb783$var$_e(100), await A.setDTR(!0), await A.setRTS(!1), await $ec3de3bad43fb783$var$_e(100), await A.setRTS(!0), await A.setDTR(!1), await A.setRTS(!0), await $ec3de3bad43fb783$var$_e(100), await A.setRTS(!1), await A.setDTR(!1); +} +async function $ec3de3bad43fb783$export$4ff35e5b1175d6f6(A, t = !1) { + t ? (await $ec3de3bad43fb783$var$_e(200), await A.setRTS(!1), await $ec3de3bad43fb783$var$_e(200)) : (await $ec3de3bad43fb783$var$_e(100), await A.setRTS(!1)); +} +function $ec3de3bad43fb783$export$929a22f56823f4cb(A) { + const t = [ + "D", + "R", + "W" + ], e = A.split("|"); + for (const A of e){ + const e = A[0], i = A.slice(1); + if (!t.includes(e)) return !1; + if ("D" === e || "R" === e) { + if ("0" !== i && "1" !== i) return !1; + } else if ("W" === e) { + const A = parseInt(i); + if (isNaN(A) || A <= 0) return !1; + } + } + return !0; +} +async function $ec3de3bad43fb783$export$e5e6796b349bcc84(A, t) { + const e = { + D: async (t)=>await A.setDTR(t), + R: async (t)=>await A.setRTS(t), + W: async (A)=>await $ec3de3bad43fb783$var$_e(A) + }; + try { + if (!$ec3de3bad43fb783$export$929a22f56823f4cb(t)) return; + const A = t.split("|"); + for (const t of A){ + const A = t[0], i = t.slice(1); + "W" === A ? await e.W(Number(i)) : "D" !== A && "R" !== A || await e[A]("1" === i); + } + } catch (A) { + throw new Error("Invalid custom reset sequence"); + } +} +var $ec3de3bad43fb783$var$Se = function(A) { + return atob(A); +}; +class $ec3de3bad43fb783$export$b0f7a6c745790308 { + constructor(A){ + this.ESP_RAM_BLOCK = 6144, this.ESP_FLASH_BEGIN = 2, this.ESP_FLASH_DATA = 3, this.ESP_FLASH_END = 4, this.ESP_MEM_BEGIN = 5, this.ESP_MEM_END = 6, this.ESP_MEM_DATA = 7, this.ESP_WRITE_REG = 9, this.ESP_READ_REG = 10, this.ESP_SPI_ATTACH = 13, this.ESP_CHANGE_BAUDRATE = 15, this.ESP_FLASH_DEFL_BEGIN = 16, this.ESP_FLASH_DEFL_DATA = 17, this.ESP_FLASH_DEFL_END = 18, this.ESP_SPI_FLASH_MD5 = 19, this.ESP_ERASE_FLASH = 208, this.ESP_ERASE_REGION = 209, this.ESP_READ_FLASH = 210, this.ESP_RUN_USER_CODE = 211, this.ESP_IMAGE_MAGIC = 233, this.ESP_CHECKSUM_MAGIC = 239, this.ROM_INVALID_RECV_MSG = 5, this.ERASE_REGION_TIMEOUT_PER_MB = 3e4, this.ERASE_WRITE_TIMEOUT_PER_MB = 4e4, this.MD5_TIMEOUT_PER_MB = 8e3, this.CHIP_ERASE_TIMEOUT = 12e4, this.FLASH_READ_TIMEOUT = 1e5, this.MAX_TIMEOUT = 2 * this.CHIP_ERASE_TIMEOUT, this.CHIP_DETECT_MAGIC_REG_ADDR = 1073745920, this.DETECTED_FLASH_SIZES = { + 18: "256KB", + 19: "512KB", + 20: "1MB", + 21: "2MB", + 22: "4MB", + 23: "8MB", + 24: "16MB" + }, this.DETECTED_FLASH_SIZES_NUM = { + 18: 256, + 19: 512, + 20: 1024, + 21: 2048, + 22: 4096, + 23: 8192, + 24: 16384 + }, this.USB_JTAG_SERIAL_PID = 4097, this.romBaudrate = 115200, this.debugLogging = !1, this.syncStubDetected = !1, this.checksum = function(A) { + let t, e = 239; + for(t = 0; t < A.length; t++)e ^= A[t]; + return e; + }, this.timeoutPerMb = function(A, t) { + const e = A * (t / 1e6); + return e < 3e3 ? 3e3 : e; + }, this.flashSizeBytes = function(A) { + let t = -1; + return -1 !== A.indexOf("KB") ? t = 1024 * parseInt(A.slice(0, A.indexOf("KB"))) : -1 !== A.indexOf("MB") && (t = 1024 * parseInt(A.slice(0, A.indexOf("MB"))) * 1024), t; + }, this.IS_STUB = !1, this.FLASH_WRITE_SIZE = 16384, this.transport = A.transport, this.baudrate = A.baudrate, A.serialOptions && (this.serialOptions = A.serialOptions), A.romBaudrate && (this.romBaudrate = A.romBaudrate), A.terminal && (this.terminal = A.terminal, this.terminal.clean()), void 0 !== A.debugLogging && (this.debugLogging = A.debugLogging), A.port && (this.transport = new $ec3de3bad43fb783$export$86495b081fef8e52(A.port)), void 0 !== A.enableTracing && (this.transport.tracing = A.enableTracing), this.info("esptool.js"), this.info("Serial port " + this.transport.getInfo()); + } + _sleep(A) { + return new Promise((t)=>setTimeout(t, A)); + } + write(A, t = !0) { + this.terminal ? t ? this.terminal.writeLine(A) : this.terminal.write(A) : console.log(A); + } + error(A, t = !0) { + this.write(`Error: ${A}`, t); + } + info(A, t = !0) { + this.write(A, t); + } + debug(A, t = !0) { + this.debugLogging && this.write(`Debug: ${A}`, t); + } + _shortToBytearray(A) { + return new Uint8Array([ + 255 & A, + A >> 8 & 255 + ]); + } + _intToByteArray(A) { + return new Uint8Array([ + 255 & A, + A >> 8 & 255, + A >> 16 & 255, + A >> 24 & 255 + ]); + } + _byteArrayToShort(A, t) { + return A | t >> 8; + } + _byteArrayToInt(A, t, e, i) { + return A | t << 8 | e << 16 | i << 24; + } + _appendBuffer(A, t) { + const e = new Uint8Array(A.byteLength + t.byteLength); + return e.set(new Uint8Array(A), 0), e.set(new Uint8Array(t), A.byteLength), e.buffer; + } + _appendArray(A, t) { + const e = new Uint8Array(A.length + t.length); + return e.set(A, 0), e.set(t, A.length), e; + } + ui8ToBstr(A) { + let t = ""; + for(let e = 0; e < A.length; e++)t += String.fromCharCode(A[e]); + return t; + } + bstrToUi8(A) { + const t = new Uint8Array(A.length); + for(let e = 0; e < A.length; e++)t[e] = A.charCodeAt(e); + return t; + } + async flushInput() { + try { + await this.transport.rawRead(200); + } catch (A) { + this.error(A.message); + } + } + async readPacket(t = null, e = 3e3) { + for(let i = 0; i < 100; i++){ + const i = await this.transport.read(e), s = i[0], a = i[1], n = this._byteArrayToInt(i[4], i[5], i[6], i[7]), E = i.slice(8); + if (1 == s) { + if (null == t || a == t) return [ + n, + E + ]; + if (0 != E[0] && E[1] == this.ROM_INVALID_RECV_MSG) throw await this.flushInput(), new $ec3de3bad43fb783$var$A("unsupported command error"); + } + } + throw new $ec3de3bad43fb783$var$A("invalid response"); + } + async command(A = null, t = new Uint8Array(0), e = 0, i = !0, s = 3e3) { + if (null != A) { + this.transport.tracing && this.transport.trace(`command op:0x${A.toString(16).padStart(2, "0")} data len=${t.length} wait_response=${i ? 1 : 0} timeout=${(s / 1e3).toFixed(3)} data=${this.transport.hexConvert(t)}`); + const a = new Uint8Array(8 + t.length); + let n; + for(a[0] = 0, a[1] = A, a[2] = this._shortToBytearray(t.length)[0], a[3] = this._shortToBytearray(t.length)[1], a[4] = this._intToByteArray(e)[0], a[5] = this._intToByteArray(e)[1], a[6] = this._intToByteArray(e)[2], a[7] = this._intToByteArray(e)[3], n = 0; n < t.length; n++)a[8 + n] = t[n]; + await this.transport.write(a); + } + return i ? this.readPacket(A, s) : [ + 0, + new Uint8Array(0) + ]; + } + async readReg(A, t = 3e3) { + const e = this._intToByteArray(A); + return (await this.command(this.ESP_READ_REG, e, void 0, void 0, t))[0]; + } + async writeReg(A, t, e = 4294967295, i = 0, s = 0) { + let a = this._appendArray(this._intToByteArray(A), this._intToByteArray(t)); + a = this._appendArray(a, this._intToByteArray(e)), a = this._appendArray(a, this._intToByteArray(i)), s > 0 && (a = this._appendArray(a, this._intToByteArray(this.chip.UART_DATE_REG_ADDR)), a = this._appendArray(a, this._intToByteArray(0)), a = this._appendArray(a, this._intToByteArray(0)), a = this._appendArray(a, this._intToByteArray(s))), await this.checkCommand("write target memory", this.ESP_WRITE_REG, a); + } + async sync() { + this.debug("Sync"); + const A = new Uint8Array(36); + let t; + for(A[0] = 7, A[1] = 7, A[2] = 18, A[3] = 32, t = 0; t < 32; t++)A[4 + t] = 85; + try { + const t = await this.command(8, A, void 0, void 0, 100); + return this.syncStubDetected = this.syncStubDetected && 0 === t[0], t; + } catch (A) { + throw this.debug("Sync err " + A), A; + } + } + async _connectAttempt(A = "default_reset", t = !1) { + if (this.debug("_connect_attempt " + A + " " + t), "no_reset" !== A) { + if (this.transport.getPid() === this.USB_JTAG_SERIAL_PID) await $ec3de3bad43fb783$export$3252bdf5627aa8a3(this.transport); + else { + const A = t ? "D0|R1|W100|W2000|D1|R0|W50|D0" : "D0|R1|W100|D1|R0|W50|D0"; + await $ec3de3bad43fb783$export$e5e6796b349bcc84(this.transport, A); + } + } + let e = 0, i = !0; + for(; i;){ + try { + e += (await this.transport.read(1e3)).length; + } catch (A) { + if (this.debug(A.message), A instanceof Error) { + i = !1; + break; + } + } + await this._sleep(50); + } + for(this.transport.slipReaderEnabled = !0, this.syncStubDetected = !0, e = 7; e--;){ + try { + const A = await this.sync(); + return this.debug(A[0].toString()), "success"; + } catch (A) { + A instanceof Error && (t ? this.info("_", !1) : this.info(".", !1)); + } + await this._sleep(50); + } + return "error"; + } + async connect(t = "default_reset", e = 7, i = !1) { + let s, a; + for(this.info("Connecting...", !1), await this.transport.connect(this.romBaudrate, this.serialOptions), s = 0; s < e && (a = await this._connectAttempt(t, !1), "success" !== a) && (a = await this._connectAttempt(t, !0), "success" !== a); s++); + if ("success" !== a) throw new $ec3de3bad43fb783$var$A("Failed to connect with the device"); + if (this.info("\n\r", !1), !i) { + const t = await this.readReg(1073745920) >>> 0; + this.debug("Chip Magic " + t.toString(16)); + const e = await async function(A) { + switch(A){ + case 15736195: + { + const { ESP32ROM: A } = await Promise.resolve().then(function() { + return $ec3de3bad43fb783$var$He; + }); + return new A; + } + case 1867591791: + case 2084675695: + { + const { ESP32C2ROM: A } = await Promise.resolve().then(function() { + return $ec3de3bad43fb783$var$Ne; + }); + return new A; + } + case 1763790959: + case 456216687: + case 1216438383: + case 1130455151: + { + const { ESP32C3ROM: A } = await Promise.resolve().then(function() { + return $ec3de3bad43fb783$var$be; + }); + return new A; + } + case 752910447: + { + const { ESP32C6ROM: A } = await Promise.resolve().then(function() { + return $ec3de3bad43fb783$var$Ve; + }); + return new A; + } + case 285294703: + { + const { ESP32C5ROM: A } = await Promise.resolve().then(function() { + return $ec3de3bad43fb783$var$si; + }); + return new A; + } + case 3619110528: + { + const { ESP32H2ROM: A } = await Promise.resolve().then(function() { + return $ec3de3bad43fb783$var$gi; + }); + return new A; + } + case 9: + { + const { ESP32S3ROM: A } = await Promise.resolve().then(function() { + return $ec3de3bad43fb783$var$Ii; + }); + return new A; + } + case 1990: + { + const { ESP32S2ROM: A } = await Promise.resolve().then(function() { + return $ec3de3bad43fb783$var$Ri; + }); + return new A; + } + case 4293968129: + { + const { ESP8266ROM: A } = await Promise.resolve().then(function() { + return $ec3de3bad43fb783$var$ui; + }); + return new A; + } + case 0: + case 182303440: + case 117676761: + { + const { ESP32P4ROM: A } = await Promise.resolve().then(function() { + return $ec3de3bad43fb783$var$Oi; + }); + return new A; + } + default: + return null; + } + }(t); + if (null === this.chip) throw new $ec3de3bad43fb783$var$A(`Unexpected CHIP magic value ${t}. Failed to autodetect chip type.`); + this.chip = e; + } + } + async detectChip(A = "default_reset") { + await this.connect(A), this.info("Detecting chip type... ", !1), null != this.chip ? this.info(this.chip.CHIP_NAME) : this.info("unknown!"); + } + async checkCommand(A = "", t = null, e = new Uint8Array(0), i = 0, s = 3e3) { + this.debug("check_command " + A); + const a = await this.command(t, e, i, void 0, s); + return a[1].length > 4 ? a[1] : a[0]; + } + async memBegin(A, t, e, i) { + this.debug("mem_begin " + A + " " + t + " " + e + " " + i.toString(16)); + let s = this._appendArray(this._intToByteArray(A), this._intToByteArray(t)); + s = this._appendArray(s, this._intToByteArray(e)), s = this._appendArray(s, this._intToByteArray(i)), await this.checkCommand("enter RAM download mode", this.ESP_MEM_BEGIN, s); + } + async memBlock(A, t) { + let e = this._appendArray(this._intToByteArray(A.length), this._intToByteArray(t)); + e = this._appendArray(e, this._intToByteArray(0)), e = this._appendArray(e, this._intToByteArray(0)), e = this._appendArray(e, A); + const i = this.checksum(A); + await this.checkCommand("write to target RAM", this.ESP_MEM_DATA, e, i); + } + async memFinish(A) { + const t = 0 === A ? 1 : 0, e = this._appendArray(this._intToByteArray(t), this._intToByteArray(A)); + await this.checkCommand("leave RAM download mode", this.ESP_MEM_END, e, void 0, 50); + } + async flashSpiAttach(A) { + const t = this._intToByteArray(A); + await this.checkCommand("configure SPI flash pins", this.ESP_SPI_ATTACH, t); + } + async flashBegin(A, t) { + const e = Math.floor((A + this.FLASH_WRITE_SIZE - 1) / this.FLASH_WRITE_SIZE), i = this.chip.getEraseSize(t, A), s = new Date, a = s.getTime(); + let n = 3e3; + 0 == this.IS_STUB && (n = this.timeoutPerMb(this.ERASE_REGION_TIMEOUT_PER_MB, A)), this.debug("flash begin " + i + " " + e + " " + this.FLASH_WRITE_SIZE + " " + t + " " + A); + let E = this._appendArray(this._intToByteArray(i), this._intToByteArray(e)); + E = this._appendArray(E, this._intToByteArray(this.FLASH_WRITE_SIZE)), E = this._appendArray(E, this._intToByteArray(t)), 0 == this.IS_STUB && (E = this._appendArray(E, this._intToByteArray(0))), await this.checkCommand("enter Flash download mode", this.ESP_FLASH_BEGIN, E, void 0, n); + const h = s.getTime(); + return 0 != A && 0 == this.IS_STUB && this.info("Took " + (h - a) / 1e3 + "." + (h - a) % 1e3 + "s to erase flash block"), e; + } + async flashDeflBegin(A, t, e) { + const i = Math.floor((t + this.FLASH_WRITE_SIZE - 1) / this.FLASH_WRITE_SIZE), s = Math.floor((A + this.FLASH_WRITE_SIZE - 1) / this.FLASH_WRITE_SIZE), a = new Date, n = a.getTime(); + let E, h; + this.IS_STUB ? (E = A, h = 3e3) : (E = s * this.FLASH_WRITE_SIZE, h = this.timeoutPerMb(this.ERASE_REGION_TIMEOUT_PER_MB, E)), this.info("Compressed " + A + " bytes to " + t + "..."); + let r = this._appendArray(this._intToByteArray(E), this._intToByteArray(i)); + r = this._appendArray(r, this._intToByteArray(this.FLASH_WRITE_SIZE)), r = this._appendArray(r, this._intToByteArray(e)), "ESP32-S2" !== this.chip.CHIP_NAME && "ESP32-S3" !== this.chip.CHIP_NAME && "ESP32-C3" !== this.chip.CHIP_NAME && "ESP32-C2" !== this.chip.CHIP_NAME || !1 !== this.IS_STUB || (r = this._appendArray(r, this._intToByteArray(0))), await this.checkCommand("enter compressed flash mode", this.ESP_FLASH_DEFL_BEGIN, r, void 0, h); + const g = a.getTime(); + return 0 != A && !1 === this.IS_STUB && this.info("Took " + (g - n) / 1e3 + "." + (g - n) % 1e3 + "s to erase flash block"), i; + } + async flashBlock(A, t, e) { + let i = this._appendArray(this._intToByteArray(A.length), this._intToByteArray(t)); + i = this._appendArray(i, this._intToByteArray(0)), i = this._appendArray(i, this._intToByteArray(0)), i = this._appendArray(i, A); + const s = this.checksum(A); + await this.checkCommand("write to target Flash after seq " + t, this.ESP_FLASH_DATA, i, s, e); + } + async flashDeflBlock(A, t, e) { + let i = this._appendArray(this._intToByteArray(A.length), this._intToByteArray(t)); + i = this._appendArray(i, this._intToByteArray(0)), i = this._appendArray(i, this._intToByteArray(0)), i = this._appendArray(i, A); + const s = this.checksum(A); + this.debug("flash_defl_block " + A[0].toString(16) + " " + A[1].toString(16)), await this.checkCommand("write compressed data to flash after seq " + t, this.ESP_FLASH_DEFL_DATA, i, s, e); + } + async flashFinish(A = !1) { + const t = A ? 0 : 1, e = this._intToByteArray(t); + await this.checkCommand("leave Flash mode", this.ESP_FLASH_END, e); + } + async flashDeflFinish(A = !1) { + const t = A ? 0 : 1, e = this._intToByteArray(t); + await this.checkCommand("leave compressed flash mode", this.ESP_FLASH_DEFL_END, e); + } + async runSpiflashCommand(t, e, i) { + const s = this.chip.SPI_REG_BASE, a = s + 0, n = s + this.chip.SPI_USR_OFFS, E = s + this.chip.SPI_USR1_OFFS, h = s + this.chip.SPI_USR2_OFFS, r = s + this.chip.SPI_W0_OFFS; + let g; + g = null != this.chip.SPI_MOSI_DLEN_OFFS ? async (A, t)=>{ + const e = s + this.chip.SPI_MOSI_DLEN_OFFS, i = s + this.chip.SPI_MISO_DLEN_OFFS; + A > 0 && await this.writeReg(e, A - 1), t > 0 && await this.writeReg(i, t - 1); + } : async (A, t)=>{ + const e = E, i = (0 === t ? 0 : t - 1) << 8 | (0 === A ? 0 : A - 1) << 17; + await this.writeReg(e, i); + }; + const o = 262144; + if (i > 32) throw new $ec3de3bad43fb783$var$A("Reading more than 32 bits back from a SPI flash operation is unsupported"); + if (e.length > 64) throw new $ec3de3bad43fb783$var$A("Writing more than 64 bytes of data with one SPI command is unsupported"); + const B = 8 * e.length, w = await this.readReg(n), c = await this.readReg(h); + let C, I = -2147483648; + i > 0 && (I |= 268435456), B > 0 && (I |= 134217728), await g(B, i), await this.writeReg(n, I); + let _ = 1879048192 | t; + if (await this.writeReg(h, _), 0 == B) await this.writeReg(r, 0); + else { + if (e.length % 4 != 0) { + const A = new Uint8Array(e.length % 4); + e = this._appendArray(e, A); + } + let A = r; + for(C = 0; C < e.length - 4; C += 4)_ = this._byteArrayToInt(e[C], e[C + 1], e[C + 2], e[C + 3]), await this.writeReg(A, _), A += 4; + } + for(await this.writeReg(a, o), C = 0; C < 10 && (_ = await this.readReg(a) & o, 0 != _); C++); + if (10 === C) throw new $ec3de3bad43fb783$var$A("SPI command did not complete in time"); + const l = await this.readReg(r); + return await this.writeReg(n, w), await this.writeReg(h, c), l; + } + async readFlashId() { + const A = new Uint8Array(0); + return await this.runSpiflashCommand(159, A, 24); + } + async eraseFlash() { + this.info("Erasing flash (this may take a while)..."); + let A = new Date; + const t = A.getTime(), e = await this.checkCommand("erase flash", this.ESP_ERASE_FLASH, void 0, void 0, this.CHIP_ERASE_TIMEOUT); + A = new Date; + const i = A.getTime(); + return this.info("Chip erase completed successfully in " + (i - t) / 1e3 + "s"), e; + } + toHex(A) { + return Array.prototype.map.call(A, (A)=>("00" + A.toString(16)).slice(-2)).join(""); + } + async flashMd5sum(A, t) { + const e = this.timeoutPerMb(this.MD5_TIMEOUT_PER_MB, t); + let i = this._appendArray(this._intToByteArray(A), this._intToByteArray(t)); + i = this._appendArray(i, this._intToByteArray(0)), i = this._appendArray(i, this._intToByteArray(0)); + let s = await this.checkCommand("calculate md5sum", this.ESP_SPI_FLASH_MD5, i, void 0, e); + s instanceof Uint8Array && s.length > 16 && (s = s.slice(0, 16)); + return this.toHex(s); + } + async readFlash(t, e, i = null) { + let s = this._appendArray(this._intToByteArray(t), this._intToByteArray(e)); + s = this._appendArray(s, this._intToByteArray(4096)), s = this._appendArray(s, this._intToByteArray(1024)); + const a = await this.checkCommand("read flash", this.ESP_READ_FLASH, s); + if (0 != a) throw new $ec3de3bad43fb783$var$A("Failed to read memory: " + a); + let n = new Uint8Array(0); + for(; n.length < e;){ + const t = await this.transport.read(this.FLASH_READ_TIMEOUT); + if (!(t instanceof Uint8Array)) throw new $ec3de3bad43fb783$var$A("Failed to read memory: " + t); + t.length > 0 && (n = this._appendArray(n, t), await this.transport.write(this._intToByteArray(n.length)), i && i(t, n.length, e)); + } + return n; + } + async runStub() { + if (this.syncStubDetected) return this.info("Stub is already running. No upload is necessary."), this.chip; + this.info("Uploading stub..."); + let t = $ec3de3bad43fb783$var$Se(this.chip.ROM_TEXT), e = t.split("").map(function(A) { + return A.charCodeAt(0); + }); + const i = new Uint8Array(e); + t = $ec3de3bad43fb783$var$Se(this.chip.ROM_DATA), e = t.split("").map(function(A) { + return A.charCodeAt(0); + }); + const s = new Uint8Array(e); + let a, n = Math.floor((i.length + this.ESP_RAM_BLOCK - 1) / this.ESP_RAM_BLOCK); + for(await this.memBegin(i.length, n, this.ESP_RAM_BLOCK, this.chip.TEXT_START), a = 0; a < n; a++){ + const A = a * this.ESP_RAM_BLOCK, t = A + this.ESP_RAM_BLOCK; + await this.memBlock(i.slice(A, t), a); + } + for(n = Math.floor((s.length + this.ESP_RAM_BLOCK - 1) / this.ESP_RAM_BLOCK), await this.memBegin(s.length, n, this.ESP_RAM_BLOCK, this.chip.DATA_START), a = 0; a < n; a++){ + const A = a * this.ESP_RAM_BLOCK, t = A + this.ESP_RAM_BLOCK; + await this.memBlock(s.slice(A, t), a); + } + this.info("Running stub..."), await this.memFinish(this.chip.ENTRY); + for(let A = 0; A < 100; A++){ + const A = await this.transport.read(1e3, 6); + if (79 === A[0] && 72 === A[1] && 65 === A[2] && 73 === A[3]) return this.info("Stub running..."), this.IS_STUB = !0, this.FLASH_WRITE_SIZE = 16384, this.chip; + } + throw new $ec3de3bad43fb783$var$A("Failed to start stub. Unexpected response"); + } + async changeBaud() { + this.info("Changing baudrate to " + this.baudrate); + const A = this.IS_STUB ? this.transport.baudrate : 0, t = this._appendArray(this._intToByteArray(this.baudrate), this._intToByteArray(A)), e = await this.command(this.ESP_CHANGE_BAUDRATE, t); + this.debug(e[0].toString()), this.info("Changed"), await this.transport.disconnect(), await this._sleep(50), await this.transport.connect(this.baudrate, this.serialOptions); + try { + let A = 64; + for(; A--;){ + try { + await this.sync(); + break; + } catch (A) { + this.debug(A.message); + } + await this._sleep(10); + } + } catch (A) { + this.debug(A.message); + } + } + async main(A = "default_reset") { + await this.detectChip(A); + const t = await this.chip.getChipDescription(this); + return this.info("Chip is " + t), this.info("Features: " + await this.chip.getChipFeatures(this)), this.info("Crystal is " + await this.chip.getCrystalFreq(this) + "MHz"), this.info("MAC: " + await this.chip.readMac(this)), await this.chip.readMac(this), void 0 !== this.chip.postConnect && await this.chip.postConnect(this), await this.runStub(), this.romBaudrate !== this.baudrate && await this.changeBaud(), t; + } + parseFlashSizeArg(t) { + if (void 0 === this.chip.FLASH_SIZES[t]) throw new $ec3de3bad43fb783$var$A("Flash size " + t + " is not supported by this chip type. Supported sizes: " + this.chip.FLASH_SIZES); + return this.chip.FLASH_SIZES[t]; + } + _updateImageFlashParams(A, t, e, i, s) { + if (this.debug("_update_image_flash_params " + e + " " + i + " " + s), A.length < 8) return A; + if (t != this.chip.BOOTLOADER_FLASH_OFFSET) return A; + if ("keep" === e && "keep" === i && "keep" === s) return this.info("Not changing the image"), A; + const a = parseInt(A[0]); + let n = parseInt(A[2]); + const E = parseInt(A[3]); + if (a !== this.ESP_IMAGE_MAGIC) return this.info("Warning: Image file at 0x" + t.toString(16) + " doesn't look like an image file, so not changing any flash settings."), A; + if ("keep" !== i) n = ({ + qio: 0, + qout: 1, + dio: 2, + dout: 3 + })[i]; + let h = 15 & E; + if ("keep" !== s) h = ({ + "40m": 0, + "26m": 1, + "20m": 2, + "80m": 15 + })[s]; + let r = 240 & E; + "keep" !== e && (r = this.parseFlashSizeArg(e)); + const g = n << 8 | h + r; + return this.info("Flash params set to " + g.toString(16)), parseInt(A[2]) !== n << 8 && (A = A.substring(0, 2) + (n << 8).toString() + A.substring(3)), parseInt(A[3]) !== h + r && (A = A.substring(0, 3) + (h + r).toString() + A.substring(4)), A; + } + async writeFlash(t) { + if (this.debug("EspLoader program"), "keep" !== t.flashSize) { + const e = this.flashSizeBytes(t.flashSize); + for(let i = 0; i < t.fileArray.length; i++)if (t.fileArray[i].data.length + t.fileArray[i].address > e) throw new $ec3de3bad43fb783$var$A(`File ${i + 1} doesn't fit in the available flash`); + } + let e, i; + !0 === this.IS_STUB && !0 === t.eraseAll && await this.eraseFlash(); + for(let s = 0; s < t.fileArray.length; s++){ + this.debug("Data Length " + t.fileArray[s].data.length), e = t.fileArray[s].data; + const a = t.fileArray[s].data.length % 4; + if (a > 0 && (e += "\xff\xff\xff\xff".substring(4 - a)), i = t.fileArray[s].address, this.debug("Image Length " + e.length), 0 === e.length) { + this.debug("Warning: File is empty"); + continue; + } + e = this._updateImageFlashParams(e, i, t.flashSize, t.flashMode, t.flashFreq); + let n = null; + t.calculateMD5Hash && (n = t.calculateMD5Hash(e), this.debug("Image MD5 " + n)); + const E = e.length; + let h; + if (t.compress) { + const A = this.bstrToUi8(e); + e = this.ui8ToBstr($ec3de3bad43fb783$var$ce(A, { + level: 9 + })), h = await this.flashDeflBegin(E, e.length, i); + } else h = await this.flashBegin(E, i); + let r = 0, g = 0; + const o = e.length; + t.reportProgress && t.reportProgress(s, 0, o); + let B = new Date; + const w = B.getTime(); + let c = 5e3; + const C = new $ec3de3bad43fb783$var$Ce({ + chunkSize: 1 + }); + let I = 0; + for(C.onData = function(A) { + I += A.byteLength; + }; e.length > 0;){ + this.debug("Write loop " + i + " " + r + " " + h), this.info("Writing at 0x" + (i + I).toString(16) + "... (" + Math.floor(100 * (r + 1) / h) + "%)"); + const a = this.bstrToUi8(e.slice(0, this.FLASH_WRITE_SIZE)); + if (!t.compress) throw new $ec3de3bad43fb783$var$A("Yet to handle Non Compressed writes"); + { + const A = I; + C.push(a, !1); + const t = I - A; + let e = 3e3; + this.timeoutPerMb(this.ERASE_WRITE_TIMEOUT_PER_MB, t) > 3e3 && (e = this.timeoutPerMb(this.ERASE_WRITE_TIMEOUT_PER_MB, t)), !1 === this.IS_STUB && (c = e), await this.flashDeflBlock(a, r, c), this.IS_STUB && (c = e); + } + g += a.length, e = e.slice(this.FLASH_WRITE_SIZE, e.length), r++, t.reportProgress && t.reportProgress(s, g, o); + } + this.IS_STUB && await this.readReg(this.CHIP_DETECT_MAGIC_REG_ADDR, c), B = new Date; + const _ = B.getTime() - w; + if (t.compress && this.info("Wrote " + E + " bytes (" + g + " compressed) at 0x" + i.toString(16) + " in " + _ / 1e3 + " seconds."), n) { + const t = await this.flashMd5sum(i, E); + if (new String(t).valueOf() != new String(n).valueOf()) throw this.info("File md5: " + n), this.info("Flash md5: " + t), new $ec3de3bad43fb783$var$A("MD5 of file does not match data in flash!"); + this.info("Hash of data verified."); + } + } + this.info("Leaving..."), this.IS_STUB && (await this.flashBegin(0, 0), t.compress ? await this.flashDeflFinish() : await this.flashFinish()); + } + async flashId() { + this.debug("flash_id"); + const A = await this.readFlashId(); + this.info("Manufacturer: " + (255 & A).toString(16)); + const t = A >> 16 & 255; + this.info("Device: " + (A >> 8 & 255).toString(16) + t.toString(16)), this.info("Detected flash size: " + this.DETECTED_FLASH_SIZES[t]); + } + async getFlashSize() { + this.debug("flash_id"); + const A = await this.readFlashId() >> 16 & 255; + return this.DETECTED_FLASH_SIZES_NUM[A]; + } + async hardReset() { + await this.transport.setRTS(!0), await this._sleep(100), await this.transport.setRTS(!1); + } + async softReset() { + if (this.IS_STUB) { + if ("ESP8266" != this.chip.CHIP_NAME) throw new $ec3de3bad43fb783$var$A("Soft resetting is currently only supported on ESP8266"); + await this.command(this.ESP_RUN_USER_CODE, void 0, void 0, !1); + } else await this.flashBegin(0, 0), await this.flashFinish(!1); + } +} +class $ec3de3bad43fb783$export$c643cc54d6326a6f { + getEraseSize(A, t) { + return t; + } +} +var $ec3de3bad43fb783$var$Fe = 1074521560, $ec3de3bad43fb783$var$Te = "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", $ec3de3bad43fb783$var$ue = 1074520064, $ec3de3bad43fb783$var$pe = "GOv8P9jnC0Bx6AtA8+wLQO3oC0CP6AtA7egLQEnpC0AG6gtAeOoLQCHqC0CB5wtAo+kLQPjpC0Bn6QtAmuoLQI7pC0Ca6gtAXegLQLPoC0Dt6AtASekLQHfoC0BM6wtAs+wLQKXmC0DX7AtApeYLQKXmC0Cl5gtApeYLQKXmC0Cl5gtApeYLQKXmC0Dz6gtApeYLQM3rC0Cz7AtA", $ec3de3bad43fb783$var$ye = 1073605544; +class $ec3de3bad43fb783$var$ke extends $ec3de3bad43fb783$export$c643cc54d6326a6f { + constructor(){ + super(...arguments), this.CHIP_NAME = "ESP32", this.IMAGE_CHIP_ID = 0, this.EFUSE_RD_REG_BASE = 1073061888, this.DR_REG_SYSCON_BASE = 1073111040, this.UART_CLKDIV_REG = 1072955412, this.UART_CLKDIV_MASK = 1048575, this.UART_DATE_REG_ADDR = 1610612856, this.XTAL_CLK_DIVIDER = 1, this.FLASH_SIZES = { + "1MB": 0, + "2MB": 16, + "4MB": 32, + "8MB": 48, + "16MB": 64 + }, this.FLASH_WRITE_SIZE = 1024, this.BOOTLOADER_FLASH_OFFSET = 4096, this.SPI_REG_BASE = 1072963584, this.SPI_USR_OFFS = 28, this.SPI_USR1_OFFS = 32, this.SPI_USR2_OFFS = 36, this.SPI_W0_OFFS = 128, this.SPI_MOSI_DLEN_OFFS = 40, this.SPI_MISO_DLEN_OFFS = 44, this.TEXT_START = $ec3de3bad43fb783$var$ue, this.ENTRY = $ec3de3bad43fb783$var$Fe, this.DATA_START = $ec3de3bad43fb783$var$ye, this.ROM_DATA = $ec3de3bad43fb783$var$pe, this.ROM_TEXT = $ec3de3bad43fb783$var$Te; + } + async readEfuse(A, t) { + const e = this.EFUSE_RD_REG_BASE + 4 * t; + return A.debug("Read efuse " + e), await A.readReg(e); + } + async getPkgVersion(A) { + const t = await this.readEfuse(A, 3); + let e = t >> 9 & 7; + return e += (t >> 2 & 1) << 3, e; + } + async getChipRevision(A) { + const t = await this.readEfuse(A, 3), e = await this.readEfuse(A, 5), i = await A.readReg(this.DR_REG_SYSCON_BASE + 124); + return 0 != (t >> 15 & 1) ? 0 != (e >> 20 & 1) ? 0 != (i >> 31 & 1) ? 3 : 2 : 1 : 0; + } + async getChipDescription(A) { + const t = [ + "ESP32-D0WDQ6", + "ESP32-D0WD", + "ESP32-D2WD", + "", + "ESP32-U4WDH", + "ESP32-PICO-D4", + "ESP32-PICO-V3-02" + ]; + let e = ""; + const i = await this.getPkgVersion(A), s = await this.getChipRevision(A), a = 3 == s; + return 0 != (1 & await this.readEfuse(A, 3)) && (t[0] = "ESP32-S0WDQ6", t[1] = "ESP32-S0WD"), a && (t[5] = "ESP32-PICO-V3"), e = i >= 0 && i <= 6 ? t[i] : "Unknown ESP32", !a || 0 !== i && 1 !== i || (e += "-V3"), e + " (revision " + s + ")"; + } + async getChipFeatures(A) { + const t = [ + "Wi-Fi" + ], e = await this.readEfuse(A, 3); + 0 === (2 & e) && t.push(" BT"); + 0 !== (1 & e) ? t.push(" Single Core") : t.push(" Dual Core"); + if (0 !== (8192 & e)) 0 !== (4096 & e) ? t.push(" 160MHz") : t.push(" 240MHz"); + const i = await this.getPkgVersion(A); + -1 !== [ + 2, + 4, + 5, + 6 + ].indexOf(i) && t.push(" Embedded Flash"), 6 === i && t.push(" Embedded PSRAM"); + 0 !== (await this.readEfuse(A, 4) >> 8 & 31) && t.push(" VRef calibration in efuse"); + 0 !== (e >> 14 & 1) && t.push(" BLK3 partially reserved"); + const s = 3 & await this.readEfuse(A, 6); + return t.push(" Coding Scheme " + [ + "None", + "3/4", + "Repeat (UNSUPPORTED)", + "Invalid" + ][s]), t; + } + async getCrystalFreq(A) { + const t = await A.readReg(this.UART_CLKDIV_REG) & this.UART_CLKDIV_MASK, e = A.transport.baudrate * t / 1e6 / this.XTAL_CLK_DIVIDER; + let i; + return i = e > 33 ? 40 : 26, Math.abs(i - e) > 1 && A.info("WARNING: Unsupported crystal in use"), i; + } + _d2h(A) { + const t = (+A).toString(16); + return 1 === t.length ? "0" + t : t; + } + async readMac(A) { + let t = await this.readEfuse(A, 1); + t >>>= 0; + let e = await this.readEfuse(A, 2); + e >>>= 0; + const i = new Uint8Array(6); + return i[0] = e >> 8 & 255, i[1] = 255 & e, i[2] = t >> 24 & 255, i[3] = t >> 16 & 255, i[4] = t >> 8 & 255, i[5] = 255 & t, this._d2h(i[0]) + ":" + this._d2h(i[1]) + ":" + this._d2h(i[2]) + ":" + this._d2h(i[3]) + ":" + this._d2h(i[4]) + ":" + this._d2h(i[5]); + } +} +var $ec3de3bad43fb783$var$He = Object.freeze({ + __proto__: null, + ESP32ROM: $ec3de3bad43fb783$var$ke +}), $ec3de3bad43fb783$var$Pe = 1077413532, $ec3de3bad43fb783$var$Oe = "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", $ec3de3bad43fb783$var$Ue = 1077411840, $ec3de3bad43fb783$var$Ge = "IGvIP3YKOEDGCjhAHgs4QMILOEAuDDhA3As4QEIJOEB+CzhAvgs4QDILOEDyCDhAZgs4QPIIOEBQCjhAlgo4QMYKOEAeCzhAYgo4QKYJOEDWCThAXgo4QIAOOEDGCjhARg04QDgOOEAyCDhAYA44QDIIOEAyCDhAMgg4QDIIOEAyCDhAMgg4QDIIOEAyCDhA4gw4QDIIOEBkDThAOA44QA==", $ec3de3bad43fb783$var$me = 1070164912; +class $ec3de3bad43fb783$var$Ye extends $ec3de3bad43fb783$export$c643cc54d6326a6f { + constructor(){ + super(...arguments), this.CHIP_NAME = "ESP32-C3", this.IMAGE_CHIP_ID = 5, this.EFUSE_BASE = 1610647552, this.MAC_EFUSE_REG = this.EFUSE_BASE + 68, this.UART_CLKDIV_REG = 1072955412, this.UART_CLKDIV_MASK = 1048575, this.UART_DATE_REG_ADDR = 1610612860, this.FLASH_WRITE_SIZE = 1024, this.BOOTLOADER_FLASH_OFFSET = 0, this.FLASH_SIZES = { + "1MB": 0, + "2MB": 16, + "4MB": 32, + "8MB": 48, + "16MB": 64 + }, this.SPI_REG_BASE = 1610620928, this.SPI_USR_OFFS = 24, this.SPI_USR1_OFFS = 28, this.SPI_USR2_OFFS = 32, this.SPI_MOSI_DLEN_OFFS = 36, this.SPI_MISO_DLEN_OFFS = 40, this.SPI_W0_OFFS = 88, this.TEXT_START = $ec3de3bad43fb783$var$Ue, this.ENTRY = $ec3de3bad43fb783$var$Pe, this.DATA_START = $ec3de3bad43fb783$var$me, this.ROM_DATA = $ec3de3bad43fb783$var$Ge, this.ROM_TEXT = $ec3de3bad43fb783$var$Oe; + } + async getPkgVersion(A) { + const t = this.EFUSE_BASE + 68 + 12; + return await A.readReg(t) >> 21 & 7; + } + async getChipRevision(A) { + const t = this.EFUSE_BASE + 68 + 12; + return (await A.readReg(t) & 1835008) >> 18; + } + async getChipDescription(A) { + let t; + t = 0 === await this.getPkgVersion(A) ? "ESP32-C3" : "unknown ESP32-C3"; + return t += " (revision " + await this.getChipRevision(A) + ")", t; + } + async getFlashCap(A) { + const t = this.EFUSE_BASE + 68 + 12; + return await A.readReg(t) >> 27 & 7; + } + async getFlashVendor(A) { + const t = this.EFUSE_BASE + 68 + 16; + return ({ + 1: "XMC", + 2: "GD", + 3: "FM", + 4: "TT", + 5: "ZBIT" + })[await A.readReg(t) >> 0 & 7] || ""; + } + async getChipFeatures(A) { + const t = [ + "Wi-Fi", + "BLE" + ], e = await this.getFlashCap(A), i = await this.getFlashVendor(A), s = { + 0: null, + 1: "Embedded Flash 4MB", + 2: "Embedded Flash 2MB", + 3: "Embedded Flash 1MB", + 4: "Embedded Flash 8MB" + }[e], a = void 0 !== s ? s : "Unknown Embedded Flash"; + return null !== s && t.push(`${a} (${i})`), t; + } + async getCrystalFreq(A) { + return 40; + } + _d2h(A) { + const t = (+A).toString(16); + return 1 === t.length ? "0" + t : t; + } + async readMac(A) { + let t = await A.readReg(this.MAC_EFUSE_REG); + t >>>= 0; + let e = await A.readReg(this.MAC_EFUSE_REG + 4); + e = e >>> 0 & 65535; + const i = new Uint8Array(6); + return i[0] = e >> 8 & 255, i[1] = 255 & e, i[2] = t >> 24 & 255, i[3] = t >> 16 & 255, i[4] = t >> 8 & 255, i[5] = 255 & t, this._d2h(i[0]) + ":" + this._d2h(i[1]) + ":" + this._d2h(i[2]) + ":" + this._d2h(i[3]) + ":" + this._d2h(i[4]) + ":" + this._d2h(i[5]); + } + getEraseSize(A, t) { + return t; + } +} +var $ec3de3bad43fb783$var$be = Object.freeze({ + __proto__: null, + ESP32C3ROM: $ec3de3bad43fb783$var$Ye +}), $ec3de3bad43fb783$var$Ke = 1077413304, $ec3de3bad43fb783$var$xe = "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", $ec3de3bad43fb783$var$Le = 1077411840, $ec3de3bad43fb783$var$Je = "DEDKP+AIOEAsCThAhAk4QFIKOEC+CjhAbAo4QKgHOEAOCjhATgo4QJgJOEBYBzhAzAk4QFgHOEC6CDhA/gg4QCwJOECECThAzAg4QBIIOEBCCDhAyAg4QBYNOEAsCThA1gs4QMoMOECkBjhA9Aw4QKQGOECkBjhApAY4QKQGOECkBjhApAY4QKQGOECkBjhAcgs4QKQGOEDyCzhAygw4QA==", $ec3de3bad43fb783$var$ze = 1070295976; +var $ec3de3bad43fb783$var$Ne = Object.freeze({ + __proto__: null, + ESP32C2ROM: class extends $ec3de3bad43fb783$var$Ye { + constructor(){ + super(...arguments), this.CHIP_NAME = "ESP32-C2", this.IMAGE_CHIP_ID = 12, this.EFUSE_BASE = 1610647552, this.MAC_EFUSE_REG = this.EFUSE_BASE + 64, this.UART_CLKDIV_REG = 1610612756, this.UART_CLKDIV_MASK = 1048575, this.UART_DATE_REG_ADDR = 1610612860, this.XTAL_CLK_DIVIDER = 1, this.FLASH_WRITE_SIZE = 1024, this.BOOTLOADER_FLASH_OFFSET = 0, this.FLASH_SIZES = { + "1MB": 0, + "2MB": 16, + "4MB": 32, + "8MB": 48, + "16MB": 64 + }, this.SPI_REG_BASE = 1610620928, this.SPI_USR_OFFS = 24, this.SPI_USR1_OFFS = 28, this.SPI_USR2_OFFS = 32, this.SPI_MOSI_DLEN_OFFS = 36, this.SPI_MISO_DLEN_OFFS = 40, this.SPI_W0_OFFS = 88, this.TEXT_START = $ec3de3bad43fb783$var$Le, this.ENTRY = $ec3de3bad43fb783$var$Ke, this.DATA_START = $ec3de3bad43fb783$var$ze, this.ROM_DATA = $ec3de3bad43fb783$var$Je, this.ROM_TEXT = $ec3de3bad43fb783$var$xe; + } + async getPkgVersion(A) { + const t = this.EFUSE_BASE + 64 + 4; + return await A.readReg(t) >> 22 & 7; + } + async getChipRevision(A) { + const t = this.EFUSE_BASE + 64 + 4; + return (await A.readReg(t) & 3145728) >> 20; + } + async getChipDescription(A) { + let t; + const e = await this.getPkgVersion(A); + t = 0 === e || 1 === e ? "ESP32-C2" : "unknown ESP32-C2"; + return t += " (revision " + await this.getChipRevision(A) + ")", t; + } + async getChipFeatures(A) { + return [ + "Wi-Fi", + "BLE" + ]; + } + async getCrystalFreq(A) { + const t = await A.readReg(this.UART_CLKDIV_REG) & this.UART_CLKDIV_MASK, e = A.transport.baudrate * t / 1e6 / this.XTAL_CLK_DIVIDER; + let i; + return i = e > 33 ? 40 : 26, Math.abs(i - e) > 1 && A.info("WARNING: Unsupported crystal in use"), i; + } + async changeBaudRate(A) { + 26 === await this.getCrystalFreq(A) && A.changeBaud(); + } + _d2h(A) { + const t = (+A).toString(16); + return 1 === t.length ? "0" + t : t; + } + async readMac(A) { + let t = await A.readReg(this.MAC_EFUSE_REG); + t >>>= 0; + let e = await A.readReg(this.MAC_EFUSE_REG + 4); + e = e >>> 0 & 65535; + const i = new Uint8Array(6); + return i[0] = e >> 8 & 255, i[1] = 255 & e, i[2] = t >> 24 & 255, i[3] = t >> 16 & 255, i[4] = t >> 8 & 255, i[5] = 255 & t, this._d2h(i[0]) + ":" + this._d2h(i[1]) + ":" + this._d2h(i[2]) + ":" + this._d2h(i[3]) + ":" + this._d2h(i[4]) + ":" + this._d2h(i[5]); + } + getEraseSize(A, t) { + return t; + } + } +}), $ec3de3bad43fb783$var$ve = 1082132112, $ec3de3bad43fb783$var$je = "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", $ec3de3bad43fb783$var$Ze = 1082130432, $ec3de3bad43fb783$var$We = "HCuEQEIKgECSCoBA6gqAQI4LgED6C4BAqAuAQA4JgEBKC4BAiguAQP4KgEC+CIBAMguAQL4IgEAcCoBAYgqAQJIKgEDqCoBALgqAQHIJgECiCYBAKgqAQEwOgECSCoBAEg2AQAQOgED+B4BALA6AQP4HgED+B4BA/geAQP4HgED+B4BA/geAQP4HgED+B4BArgyAQP4HgEAwDYBABA6AQA==", $ec3de3bad43fb783$var$Xe = 1082469292; +class $ec3de3bad43fb783$var$qe extends $ec3de3bad43fb783$export$c643cc54d6326a6f { + constructor(){ + super(...arguments), this.CHIP_NAME = "ESP32-C6", this.IMAGE_CHIP_ID = 13, this.EFUSE_BASE = 1611335680, this.MAC_EFUSE_REG = this.EFUSE_BASE + 68, this.UART_CLKDIV_REG = 1072955412, this.UART_CLKDIV_MASK = 1048575, this.UART_DATE_REG_ADDR = 1610612860, this.FLASH_WRITE_SIZE = 1024, this.BOOTLOADER_FLASH_OFFSET = 0, this.FLASH_SIZES = { + "1MB": 0, + "2MB": 16, + "4MB": 32, + "8MB": 48, + "16MB": 64 + }, this.SPI_REG_BASE = 1610620928, this.SPI_USR_OFFS = 24, this.SPI_USR1_OFFS = 28, this.SPI_USR2_OFFS = 32, this.SPI_MOSI_DLEN_OFFS = 36, this.SPI_MISO_DLEN_OFFS = 40, this.SPI_W0_OFFS = 88, this.TEXT_START = $ec3de3bad43fb783$var$Ze, this.ENTRY = $ec3de3bad43fb783$var$ve, this.DATA_START = $ec3de3bad43fb783$var$Xe, this.ROM_DATA = $ec3de3bad43fb783$var$We, this.ROM_TEXT = $ec3de3bad43fb783$var$je; + } + async getPkgVersion(A) { + const t = this.EFUSE_BASE + 68 + 12; + return await A.readReg(t) >> 21 & 7; + } + async getChipRevision(A) { + const t = this.EFUSE_BASE + 68 + 12; + return (await A.readReg(t) & 1835008) >> 18; + } + async getChipDescription(A) { + let t; + t = 0 === await this.getPkgVersion(A) ? "ESP32-C6" : "unknown ESP32-C6"; + return t += " (revision " + await this.getChipRevision(A) + ")", t; + } + async getChipFeatures(A) { + return [ + "Wi-Fi 6", + "BT 5", + "IEEE802.15.4" + ]; + } + async getCrystalFreq(A) { + return 40; + } + _d2h(A) { + const t = (+A).toString(16); + return 1 === t.length ? "0" + t : t; + } + async readMac(A) { + let t = await A.readReg(this.MAC_EFUSE_REG); + t >>>= 0; + let e = await A.readReg(this.MAC_EFUSE_REG + 4); + e = e >>> 0 & 65535; + const i = new Uint8Array(6); + return i[0] = e >> 8 & 255, i[1] = 255 & e, i[2] = t >> 24 & 255, i[3] = t >> 16 & 255, i[4] = t >> 8 & 255, i[5] = 255 & t, this._d2h(i[0]) + ":" + this._d2h(i[1]) + ":" + this._d2h(i[2]) + ":" + this._d2h(i[3]) + ":" + this._d2h(i[4]) + ":" + this._d2h(i[5]); + } + getEraseSize(A, t) { + return t; + } +} +var $ec3de3bad43fb783$var$Ve = Object.freeze({ + __proto__: null, + ESP32C6ROM: $ec3de3bad43fb783$var$qe +}), $ec3de3bad43fb783$var$$e = 1082132164, $ec3de3bad43fb783$var$Ai = "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", $ec3de3bad43fb783$var$ti = 1082130432, $ec3de3bad43fb783$var$ei = "FACEQG4KgEC+CoBAFguAQOQLgEBQDIBA/guAQDoJgECgC4BA4AuAQCoLgEDqCIBAXguAQOoIgEBICoBAjgqAQL4KgEAWC4BAWgqAQJ4JgEDOCYBAVgqAQKgOgEC+CoBAaA2AQGAOgEAqCIBAiA6AQCoIgEAqCIBAKgiAQCoIgEAqCIBAKgiAQCoIgEAqCIBABA2AQCoIgECGDYBAYA6AQA==", $ec3de3bad43fb783$var$ii = 1082469296; +var $ec3de3bad43fb783$var$si = Object.freeze({ + __proto__: null, + ESP32C5ROM: class extends $ec3de3bad43fb783$var$qe { + constructor(){ + super(...arguments), this.CHIP_NAME = "ESP32-C5", this.IMAGE_CHIP_ID = 23, this.EFUSE_BASE = 1611352064, this.EFUSE_BLOCK1_ADDR = this.EFUSE_BASE + 68, this.MAC_EFUSE_REG = this.EFUSE_BASE + 68, this.UART_CLKDIV_REG = 1610612756, this.TEXT_START = $ec3de3bad43fb783$var$ti, this.ENTRY = $ec3de3bad43fb783$var$$e, this.DATA_START = $ec3de3bad43fb783$var$ii, this.ROM_DATA = $ec3de3bad43fb783$var$ei, this.ROM_TEXT = $ec3de3bad43fb783$var$Ai, this.EFUSE_RD_REG_BASE = this.EFUSE_BASE + 48, this.EFUSE_PURPOSE_KEY0_REG = this.EFUSE_BASE + 52, this.EFUSE_PURPOSE_KEY0_SHIFT = 24, this.EFUSE_PURPOSE_KEY1_REG = this.EFUSE_BASE + 52, this.EFUSE_PURPOSE_KEY1_SHIFT = 28, this.EFUSE_PURPOSE_KEY2_REG = this.EFUSE_BASE + 56, this.EFUSE_PURPOSE_KEY2_SHIFT = 0, this.EFUSE_PURPOSE_KEY3_REG = this.EFUSE_BASE + 56, this.EFUSE_PURPOSE_KEY3_SHIFT = 4, this.EFUSE_PURPOSE_KEY4_REG = this.EFUSE_BASE + 56, this.EFUSE_PURPOSE_KEY4_SHIFT = 8, this.EFUSE_PURPOSE_KEY5_REG = this.EFUSE_BASE + 56, this.EFUSE_PURPOSE_KEY5_SHIFT = 12, this.EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT_REG = this.EFUSE_RD_REG_BASE, this.EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT = 1048576, this.EFUSE_SPI_BOOT_CRYPT_CNT_REG = this.EFUSE_BASE + 52, this.EFUSE_SPI_BOOT_CRYPT_CNT_MASK = 1835008, this.EFUSE_SECURE_BOOT_EN_REG = this.EFUSE_BASE + 56, this.EFUSE_SECURE_BOOT_EN_MASK = 1048576, this.IROM_MAP_START = 1107296256, this.IROM_MAP_END = 1115684864, this.DROM_MAP_START = 1115684864, this.DROM_MAP_END = 1124073472, this.PCR_SYSCLK_CONF_REG = 1611227408, this.PCR_SYSCLK_XTAL_FREQ_V = 2130706432, this.PCR_SYSCLK_XTAL_FREQ_S = 24, this.XTAL_CLK_DIVIDER = 1, this.UARTDEV_BUF_NO = 1082520860, this.CHIP_DETECT_MAGIC_VALUE = [ + 285294703 + ], this.FLASH_FREQUENCY = { + "80m": 15, + "40m": 0, + "20m": 2 + }, this.MEMORY_MAP = [ + [ + 0, + 65536, + "PADDING" + ], + [ + 1115684864, + 1124073472, + "DROM" + ], + [ + 1082130432, + 1082523648, + "DRAM" + ], + [ + 1082130432, + 1082523648, + "BYTE_ACCESSIBLE" + ], + [ + 1073979392, + 1074003968, + "DROM_MASK" + ], + [ + 1073741824, + 1073979392, + "IROM_MASK" + ], + [ + 1107296256, + 1115684864, + "IROM" + ], + [ + 1082130432, + 1082523648, + "IRAM" + ], + [ + 1342177280, + 1342193664, + "RTC_IRAM" + ], + [ + 1342177280, + 1342193664, + "RTC_DRAM" + ], + [ + 1611653120, + 1611661312, + "MEM_INTERNAL2" + ] + ], this.UF2_FAMILY_ID = 4145808195, this.EFUSE_MAX_KEY = 5, this.KEY_PURPOSES = { + 0: "USER/EMPTY", + 1: "ECDSA_KEY", + 2: "XTS_AES_256_KEY_1", + 3: "XTS_AES_256_KEY_2", + 4: "XTS_AES_128_KEY", + 5: "HMAC_DOWN_ALL", + 6: "HMAC_DOWN_JTAG", + 7: "HMAC_DOWN_DIGITAL_SIGNATURE", + 8: "HMAC_UP", + 9: "SECURE_BOOT_DIGEST0", + 10: "SECURE_BOOT_DIGEST1", + 11: "SECURE_BOOT_DIGEST2", + 12: "KM_INIT_KEY" + }; + } + async getPkgVersion(A) { + return await A.readReg(this.EFUSE_BLOCK1_ADDR + 8) >> 26 & 7; + } + async getMinorChipVersion(A) { + return await A.readReg(this.EFUSE_BLOCK1_ADDR + 8) >> 0 & 15; + } + async getMajorChipVersion(A) { + return await A.readReg(this.EFUSE_BLOCK1_ADDR + 8) >> 4 & 3; + } + async getChipDescription(A) { + let t; + t = 0 === await this.getPkgVersion(A) ? "ESP32-C5" : "unknown ESP32-C5"; + return `${t} (revision v${await this.getMajorChipVersion(A)}.${await this.getMinorChipVersion(A)})`; + } + async getCrystalFreq(A) { + const t = await A.readReg(this.UART_CLKDIV_REG) & this.UART_CLKDIV_MASK, e = A.transport.baudrate * t / 1e6 / this.XTAL_CLK_DIVIDER; + let i; + return i = e > 45 ? 48 : e > 33 ? 40 : 26, Math.abs(i - e) > 1 && A.info("WARNING: Unsupported crystal in use"), i; + } + async getCrystalFreqRomExpect(A) { + return (await A.readReg(this.PCR_SYSCLK_CONF_REG) & this.PCR_SYSCLK_XTAL_FREQ_V) >> this.PCR_SYSCLK_XTAL_FREQ_S; + } + } +}), $ec3de3bad43fb783$var$ai = 1082132112, $ec3de3bad43fb783$var$ni = "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", $ec3de3bad43fb783$var$Ei = 1082130432, $ec3de3bad43fb783$var$hi = "EACDQEIKgECSCoBA6gqAQI4LgED6C4BAqAuAQA4JgEBKC4BAiguAQP4KgEC+CIBAMguAQL4IgEAcCoBAYgqAQJIKgEDqCoBALgqAQHIJgECiCYBAKgqAQFIOgECSCoBAEg2AQAoOgED+B4BAMg6AQP4HgED+B4BA/geAQP4HgED+B4BA/geAQP4HgED+B4BArgyAQP4HgEAwDYBACg6AQA==", $ec3de3bad43fb783$var$ri = 1082403756; +var $ec3de3bad43fb783$var$gi = Object.freeze({ + __proto__: null, + ESP32H2ROM: class extends $ec3de3bad43fb783$export$c643cc54d6326a6f { + constructor(){ + super(...arguments), this.CHIP_NAME = "ESP32-H2", this.IMAGE_CHIP_ID = 16, this.EFUSE_BASE = 1610647552, this.MAC_EFUSE_REG = this.EFUSE_BASE + 68, this.UART_CLKDIV_REG = 1072955412, this.UART_CLKDIV_MASK = 1048575, this.UART_DATE_REG_ADDR = 1610612860, this.FLASH_WRITE_SIZE = 1024, this.BOOTLOADER_FLASH_OFFSET = 0, this.FLASH_SIZES = { + "1MB": 0, + "2MB": 16, + "4MB": 32, + "8MB": 48, + "16MB": 64 + }, this.SPI_REG_BASE = 1610620928, this.SPI_USR_OFFS = 24, this.SPI_USR1_OFFS = 28, this.SPI_USR2_OFFS = 32, this.SPI_MOSI_DLEN_OFFS = 36, this.SPI_MISO_DLEN_OFFS = 40, this.SPI_W0_OFFS = 88, this.USB_RAM_BLOCK = 2048, this.UARTDEV_BUF_NO_USB = 3, this.UARTDEV_BUF_NO = 1070526796, this.TEXT_START = $ec3de3bad43fb783$var$Ei, this.ENTRY = $ec3de3bad43fb783$var$ai, this.DATA_START = $ec3de3bad43fb783$var$ri, this.ROM_DATA = $ec3de3bad43fb783$var$hi, this.ROM_TEXT = $ec3de3bad43fb783$var$ni; + } + async getChipDescription(A) { + return this.CHIP_NAME; + } + async getChipFeatures(A) { + return [ + "BLE", + "IEEE802.15.4" + ]; + } + async getCrystalFreq(A) { + return 32; + } + _d2h(A) { + const t = (+A).toString(16); + return 1 === t.length ? "0" + t : t; + } + async postConnect(A) { + const t = 255 & await A.readReg(this.UARTDEV_BUF_NO); + A.debug("In _post_connect " + t), t == this.UARTDEV_BUF_NO_USB && (A.ESP_RAM_BLOCK = this.USB_RAM_BLOCK); + } + async readMac(A) { + let t = await A.readReg(this.MAC_EFUSE_REG); + t >>>= 0; + let e = await A.readReg(this.MAC_EFUSE_REG + 4); + e = e >>> 0 & 65535; + const i = new Uint8Array(6); + return i[0] = e >> 8 & 255, i[1] = 255 & e, i[2] = t >> 24 & 255, i[3] = t >> 16 & 255, i[4] = t >> 8 & 255, i[5] = 255 & t, this._d2h(i[0]) + ":" + this._d2h(i[1]) + ":" + this._d2h(i[2]) + ":" + this._d2h(i[3]) + ":" + this._d2h(i[4]) + ":" + this._d2h(i[5]); + } + getEraseSize(A, t) { + return t; + } + } +}), $ec3de3bad43fb783$var$oi = 1077381696, $ec3de3bad43fb783$var$Bi = "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", $ec3de3bad43fb783$var$wi = 1077379072, $ec3de3bad43fb783$var$ci = "ZCvKP8qNN0CvjjdAcJM3QDqPN0DPjjdAOo83QJmPN0BmkDdA2ZA3QIGQN0BVjTdA/I83QFiQN0C8jzdA+5A3QOaPN0D7kDdAnY43QPqON0A6jzdAmY83QLWON0CWjTdAvJE3QDaTN0ByjDdAVpM3QHKMN0ByjDdAcow3QHKMN0ByjDdAcow3QHKMN0ByjDdAVpE3QHKMN0BRkjdANpM3QAQInwAAAAAAAAAYAQQIBQAAAAAAAAAIAQQIBgAAAAAAAAAAAQQIIQAAAAAAIAAAEQQI3AAAAAAAIAAAEQQIDAAAAAAAIAAAAQQIEgAAAAAAIAAAESAoDAAQAQAA", $ec3de3bad43fb783$var$Ci = 1070279668; +var $ec3de3bad43fb783$var$Ii = Object.freeze({ + __proto__: null, + ESP32S3ROM: class extends $ec3de3bad43fb783$export$c643cc54d6326a6f { + constructor(){ + super(...arguments), this.CHIP_NAME = "ESP32-S3", this.IMAGE_CHIP_ID = 9, this.EFUSE_BASE = 1610641408, this.MAC_EFUSE_REG = this.EFUSE_BASE + 68, this.UART_CLKDIV_REG = 1610612756, this.UART_CLKDIV_MASK = 1048575, this.UART_DATE_REG_ADDR = 1610612864, this.FLASH_WRITE_SIZE = 1024, this.BOOTLOADER_FLASH_OFFSET = 0, this.FLASH_SIZES = { + "1MB": 0, + "2MB": 16, + "4MB": 32, + "8MB": 48, + "16MB": 64 + }, this.SPI_REG_BASE = 1610620928, this.SPI_USR_OFFS = 24, this.SPI_USR1_OFFS = 28, this.SPI_USR2_OFFS = 32, this.SPI_MOSI_DLEN_OFFS = 36, this.SPI_MISO_DLEN_OFFS = 40, this.SPI_W0_OFFS = 88, this.USB_RAM_BLOCK = 2048, this.UARTDEV_BUF_NO_USB = 3, this.UARTDEV_BUF_NO = 1070526796, this.TEXT_START = $ec3de3bad43fb783$var$wi, this.ENTRY = $ec3de3bad43fb783$var$oi, this.DATA_START = $ec3de3bad43fb783$var$Ci, this.ROM_DATA = $ec3de3bad43fb783$var$ci, this.ROM_TEXT = $ec3de3bad43fb783$var$Bi; + } + async getChipDescription(A) { + return "ESP32-S3"; + } + async getFlashCap(A) { + const t = this.EFUSE_BASE + 68 + 12; + return await A.readReg(t) >> 27 & 7; + } + async getFlashVendor(A) { + const t = this.EFUSE_BASE + 68 + 16; + return ({ + 1: "XMC", + 2: "GD", + 3: "FM", + 4: "TT", + 5: "BY" + })[await A.readReg(t) >> 0 & 7] || ""; + } + async getPsramCap(A) { + const t = this.EFUSE_BASE + 68 + 16; + return await A.readReg(t) >> 3 & 3; + } + async getPsramVendor(A) { + const t = this.EFUSE_BASE + 68 + 16; + return ({ + 1: "AP_3v3", + 2: "AP_1v8" + })[await A.readReg(t) >> 7 & 3] || ""; + } + async getChipFeatures(A) { + const t = [ + "Wi-Fi", + "BLE" + ], e = await this.getFlashCap(A), i = await this.getFlashVendor(A), s = { + 0: null, + 1: "Embedded Flash 8MB", + 2: "Embedded Flash 4MB" + }[e], a = void 0 !== s ? s : "Unknown Embedded Flash"; + null !== s && t.push(`${a} (${i})`); + const n = await this.getPsramCap(A), E = await this.getPsramVendor(A), h = { + 0: null, + 1: "Embedded PSRAM 8MB", + 2: "Embedded PSRAM 2MB" + }[n], r = void 0 !== h ? h : "Unknown Embedded PSRAM"; + return null !== h && t.push(`${r} (${E})`), t; + } + async getCrystalFreq(A) { + return 40; + } + _d2h(A) { + const t = (+A).toString(16); + return 1 === t.length ? "0" + t : t; + } + async postConnect(A) { + const t = 255 & await A.readReg(this.UARTDEV_BUF_NO); + A.debug("In _post_connect " + t), t == this.UARTDEV_BUF_NO_USB && (A.ESP_RAM_BLOCK = this.USB_RAM_BLOCK); + } + async readMac(A) { + let t = await A.readReg(this.MAC_EFUSE_REG); + t >>>= 0; + let e = await A.readReg(this.MAC_EFUSE_REG + 4); + e = e >>> 0 & 65535; + const i = new Uint8Array(6); + return i[0] = e >> 8 & 255, i[1] = 255 & e, i[2] = t >> 24 & 255, i[3] = t >> 16 & 255, i[4] = t >> 8 & 255, i[5] = 255 & t, this._d2h(i[0]) + ":" + this._d2h(i[1]) + ":" + this._d2h(i[2]) + ":" + this._d2h(i[3]) + ":" + this._d2h(i[4]) + ":" + this._d2h(i[5]); + } + getEraseSize(A, t) { + return t; + } + } +}), $ec3de3bad43fb783$var$_i = 1073907696, $ec3de3bad43fb783$var$li = "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", $ec3de3bad43fb783$var$di = 1073905664, $ec3de3bad43fb783$var$Mi = "ZCv9PzaLAkDBiwJAhpACQEqMAkDjiwJASowCQKmMAkByjQJA5Y0CQI2NAkDAigJAC40CQGSNAkDMjAJACI4CQPaMAkAIjgJAr4sCQA6MAkBKjAJAqYwCQMeLAkACiwJAx44CQD2QAkDYiQJAZZACQNiJAkDYiQJA2IkCQNiJAkDYiQJA2IkCQNiJAkDYiQJAZI4CQNiJAkBZjwJAPZACQA==", $ec3de3bad43fb783$var$Di = 1073622012; +var $ec3de3bad43fb783$var$Ri = Object.freeze({ + __proto__: null, + ESP32S2ROM: class extends $ec3de3bad43fb783$export$c643cc54d6326a6f { + constructor(){ + super(...arguments), this.CHIP_NAME = "ESP32-S2", this.IMAGE_CHIP_ID = 2, this.MAC_EFUSE_REG = 1061265476, this.EFUSE_BASE = 1061265408, this.UART_CLKDIV_REG = 1061158932, this.UART_CLKDIV_MASK = 1048575, this.UART_DATE_REG_ADDR = 1610612856, this.FLASH_WRITE_SIZE = 1024, this.BOOTLOADER_FLASH_OFFSET = 4096, this.FLASH_SIZES = { + "1MB": 0, + "2MB": 16, + "4MB": 32, + "8MB": 48, + "16MB": 64 + }, this.SPI_REG_BASE = 1061167104, this.SPI_USR_OFFS = 24, this.SPI_USR1_OFFS = 28, this.SPI_USR2_OFFS = 32, this.SPI_W0_OFFS = 88, this.SPI_MOSI_DLEN_OFFS = 36, this.SPI_MISO_DLEN_OFFS = 40, this.TEXT_START = $ec3de3bad43fb783$var$di, this.ENTRY = $ec3de3bad43fb783$var$_i, this.DATA_START = $ec3de3bad43fb783$var$Di, this.ROM_DATA = $ec3de3bad43fb783$var$Mi, this.ROM_TEXT = $ec3de3bad43fb783$var$li; + } + async getPkgVersion(A) { + const t = this.EFUSE_BASE + 68 + 12; + return await A.readReg(t) >> 21 & 15; + } + async getChipDescription(A) { + const t = [ + "ESP32-S2", + "ESP32-S2FH16", + "ESP32-S2FH32" + ], e = await this.getPkgVersion(A); + return e >= 0 && e <= 2 ? t[e] : "unknown ESP32-S2"; + } + async getFlashCap(A) { + const t = this.EFUSE_BASE + 68 + 12; + return await A.readReg(t) >> 21 & 15; + } + async getPsramCap(A) { + const t = this.EFUSE_BASE + 68 + 12; + return await A.readReg(t) >> 28 & 15; + } + async getBlock2Version(A) { + const t = this.EFUSE_BASE + 92 + 16; + return await A.readReg(t) >> 4 & 7; + } + async getChipFeatures(A) { + const t = [ + "Wi-Fi" + ], e = { + 0: "No Embedded Flash", + 1: "Embedded Flash 2MB", + 2: "Embedded Flash 4MB" + }[await this.getFlashCap(A)] || "Unknown Embedded Flash"; + t.push(e); + const i = { + 0: "No Embedded Flash", + 1: "Embedded PSRAM 2MB", + 2: "Embedded PSRAM 4MB" + }[await this.getPsramCap(A)] || "Unknown Embedded PSRAM"; + t.push(i); + const s = { + 0: "No calibration in BLK2 of efuse", + 1: "ADC and temperature sensor calibration in BLK2 of efuse V1", + 2: "ADC and temperature sensor calibration in BLK2 of efuse V2" + }[await this.getBlock2Version(A)] || "Unknown Calibration in BLK2"; + return t.push(s), t; + } + async getCrystalFreq(A) { + return 40; + } + _d2h(A) { + const t = (+A).toString(16); + return 1 === t.length ? "0" + t : t; + } + async readMac(A) { + let t = await A.readReg(this.MAC_EFUSE_REG); + t >>>= 0; + let e = await A.readReg(this.MAC_EFUSE_REG + 4); + e = e >>> 0 & 65535; + const i = new Uint8Array(6); + return i[0] = e >> 8 & 255, i[1] = 255 & e, i[2] = t >> 24 & 255, i[3] = t >> 16 & 255, i[4] = t >> 8 & 255, i[5] = 255 & t, this._d2h(i[0]) + ":" + this._d2h(i[1]) + ":" + this._d2h(i[2]) + ":" + this._d2h(i[3]) + ":" + this._d2h(i[4]) + ":" + this._d2h(i[5]); + } + getEraseSize(A, t) { + return t; + } + } +}), $ec3de3bad43fb783$var$Si = 1074843652, $ec3de3bad43fb783$var$Qi = "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", $ec3de3bad43fb783$var$fi = 1074843648, $ec3de3bad43fb783$var$Fi = "CIH+PwUFBAACAwcAAwMLALnXEEDv1xBAHdgQQLrYEEBo5xBAHtkQQHTZEEDA2RBAaOcQQILaEED/2hBAwNsQQGjnEEBo5xBAWNwQQGjnEEA33xBAAOAQQDvgEEBo5xBAaOcQQNfgEEBo5xBAv+EQQGXiEECj4xBAY+QQQDTlEEBo5xBAaOcQQGjnEEBo5xBAYuYQQGjnEEBX5xBAkN0QQI/YEECm5RBAq9oQQPzZEEBo5xBA7OYQQDHnEEBo5xBAaOcQQGjnEEBo5xBAaOcQQGjnEEBo5xBAaOcQQCLaEEBf2hBAvuUQQAEAAAACAAAAAwAAAAQAAAAFAAAABwAAAAkAAAANAAAAEQAAABkAAAAhAAAAMQAAAEEAAABhAAAAgQAAAMEAAAABAQAAgQEAAAECAAABAwAAAQQAAAEGAAABCAAAAQwAAAEQAAABGAAAASAAAAEwAAABQAAAAWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAUAAAAGAAAABgAAAAcAAAAHAAAACAAAAAgAAAAJAAAACQAAAAoAAAAKAAAACwAAAAsAAAAMAAAADAAAAA0AAAANAAAAAAAAAAAAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAANAAAADwAAABEAAAATAAAAFwAAABsAAAAfAAAAIwAAACsAAAAzAAAAOwAAAEMAAABTAAAAYwAAAHMAAACDAAAAowAAAMMAAADjAAAAAgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAABAAAAAgAAAAIAAAACAAAAAgAAAAMAAAADAAAAAwAAAAMAAAAEAAAABAAAAAQAAAAEAAAABQAAAAUAAAAFAAAABQAAAAAAAAAAAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AAQEAAAEAAAAEAAAA", $ec3de3bad43fb783$var$Ti = 1073720488; +var $ec3de3bad43fb783$var$ui = Object.freeze({ + __proto__: null, + ESP8266ROM: class extends $ec3de3bad43fb783$export$c643cc54d6326a6f { + constructor(){ + super(...arguments), this.CHIP_NAME = "ESP8266", this.CHIP_DETECT_MAGIC_VALUE = [ + 4293968129 + ], this.EFUSE_RD_REG_BASE = 1072693328, this.UART_CLKDIV_REG = 1610612756, this.UART_CLKDIV_MASK = 1048575, this.XTAL_CLK_DIVIDER = 2, this.FLASH_WRITE_SIZE = 16384, this.BOOTLOADER_FLASH_OFFSET = 0, this.UART_DATE_REG_ADDR = 0, this.FLASH_SIZES = { + "512KB": 0, + "256KB": 16, + "1MB": 32, + "2MB": 48, + "4MB": 64, + "2MB-c1": 80, + "4MB-c1": 96, + "8MB": 128, + "16MB": 144 + }, this.SPI_REG_BASE = 1610613248, this.SPI_USR_OFFS = 28, this.SPI_USR1_OFFS = 32, this.SPI_USR2_OFFS = 36, this.SPI_MOSI_DLEN_OFFS = 0, this.SPI_MISO_DLEN_OFFS = 0, this.SPI_W0_OFFS = 64, this.TEXT_START = $ec3de3bad43fb783$var$fi, this.ENTRY = $ec3de3bad43fb783$var$Si, this.DATA_START = $ec3de3bad43fb783$var$Ti, this.ROM_DATA = $ec3de3bad43fb783$var$Fi, this.ROM_TEXT = $ec3de3bad43fb783$var$Qi, this.getChipFeatures = async (A)=>{ + const t = [ + "WiFi" + ]; + return "ESP8285" == await this.getChipDescription(A) && t.push("Embedded Flash"), t; + }; + } + async readEfuse(A, t) { + const e = this.EFUSE_RD_REG_BASE + 4 * t; + return A.debug("Read efuse " + e), await A.readReg(e); + } + async getChipDescription(A) { + const t = await this.readEfuse(A, 2); + return 0 != (16 & await this.readEfuse(A, 0) | 65536 & t) ? "ESP8285" : "ESP8266EX"; + } + async getCrystalFreq(A) { + const t = await A.readReg(this.UART_CLKDIV_REG) & this.UART_CLKDIV_MASK, e = A.transport.baudrate * t / 1e6 / this.XTAL_CLK_DIVIDER; + let i; + return i = e > 33 ? 40 : 26, Math.abs(i - e) > 1 && A.info("WARNING: Detected crystal freq " + e + "MHz is quite different to normalized freq " + i + "MHz. Unsupported crystal in use?"), i; + } + _d2h(A) { + const t = (+A).toString(16); + return 1 === t.length ? "0" + t : t; + } + async readMac(A) { + let t = await this.readEfuse(A, 0); + t >>>= 0; + let e = await this.readEfuse(A, 1); + e >>>= 0; + let i = await this.readEfuse(A, 3); + i >>>= 0; + const s = new Uint8Array(6); + return 0 != i ? (s[0] = i >> 16 & 255, s[1] = i >> 8 & 255, s[2] = 255 & i) : 0 == (e >> 16 & 255) ? (s[0] = 24, s[1] = 254, s[2] = 52) : 1 == (e >> 16 & 255) ? (s[0] = 172, s[1] = 208, s[2] = 116) : A.error("Unknown OUI"), s[3] = e >> 8 & 255, s[4] = 255 & e, s[5] = t >> 24 & 255, this._d2h(s[0]) + ":" + this._d2h(s[1]) + ":" + this._d2h(s[2]) + ":" + this._d2h(s[3]) + ":" + this._d2h(s[4]) + ":" + this._d2h(s[5]); + } + getEraseSize(A, t) { + return t; + } + } +}), $ec3de3bad43fb783$var$pi = 1341195918, $ec3de3bad43fb783$var$yi = "QREixCbCBsa3Jw1QEUc3BPVP2Mu3JA1QEwQEANxAkYuR57JAIkSSREEBgoCIQBxAE3X1D4KX3bcBEbenDFBOxoOphwBKyDcJ9U8mylLEBs4izLekDFB9WhMJCQDATBN09D8N4PJAYkQjqDQBQknSRLJJIkoFYYKAiECDJwkAE3X1D4KXfRTjGUT/yb8TBwAMlEGqh2MY5QCFR4XGI6AFAHlVgoAFR2OH5gAJRmONxgB9VYKAQgUTB7ANQYVjlecCiUecwfW3kwbADWMW1QCYwRMFAAyCgJMG0A19VWOV1wCYwRMFsA2CgLc19k9BEZOFRboGxmE/Y0UFBrc39k+Th8exA6cHCAPWRwgTdfUPkwYWAMIGwYIjktcIMpcjAKcAA9dHCJFnk4cHBGMe9wI3t/VPEwfHsaFnupcDpgcIt/b1T7c39k+Th8exk4bGtWMf5gAjpscII6DXCCOSBwghoPlX4wb1/LJAQQGCgCOm1wgjoOcI3bc31whQfEudi/X/N8cIUHxLnYv1/4KAQREGxt03t9cIUCOmBwI3BwAImMOYQ33/yFeyQBNF9f8FiUEBgoBBEQbG2T993TcHAEC31whQmMM31whQHEP9/7JAQQGCgEERIsQ3hPVPkwcEAUrAA6kHAQbGJsJjCgkERTc5xb1HEwQEAYFEY9YnAQREvYiTtBQAfTeFPxxENwaAABOXxwCZ4DcGAAG39v8AdY+31ghQ2MKQwphCff9BR5HgBUczCelAupcjKCQBHMSyQCJEkkQCSUEBgoABEQbOIswlNzcE9E9sABMFxP6XAM//54Ag86qHBUWV57JHk/cHID7GiTc31whQHEe3BkAAEwXE/tWPHMeyRZcAz//ngKDwMzWgAPJAYkQFYYKAQRG3h/VPBsaThwcBBUcjgOcAE9fFAJjHBWd9F8zDyMf5jTqVqpWxgYzLI6oHAEE3GcETBVAMskBBAYKAAREizDeE9U+TBwQBJsrER07GBs5KyKqJEwQEAWPzlQCuhKnAAylEACaZE1nJABxIY1XwABxEY175ArU9fd1IQCaGzoWXAM//54Cg4xN19Q8BxZMHQAxcyFxAppdcwFxEhY9cxPJAYkTSREJJskkFYYKAaTVtv0ERBsaXAM//54BA1gNFhQGyQGkVEzUVAEEBgoBBEQbGxTcRwRlFskBBARcDz/9nAOPPQREGxibCIsSqhJcAz//ngADNdT8NyTcH9U+TBgcAg9dGABMEBwCFB8IHwYMjkvYAkwYADGOG1AATB+ADY3X3AG03IxIEALJAIkSSREEBgoBBEQbGEwcADGMa5QATBbANRTcTBcANskBBAVm/EwewDeMb5f5xNxMF0A31t0ERIsQmwgbGKoSzBLUAYxeUALJAIkSSREEBgoADRQQABQRNP+23NXEmy07H/XKFaf10Is1KyVLFVsMGz5OEhPoWkZOHCQemlxgIs4TnACqJJoUuhJcAz//ngOAZk4cJBxgIBWq6l7OKR0Ex5AVnfXWTBYX6kwcHBxMFhfkUCKqXM4XXAJMHBweul7OF1wAqxpcAz//ngKAWMkXBRZU3AUWFYhaR+kBqRNpESkm6SSpKmkoNYYKAooljc4oAhWlOhtaFSoWXAM//54CgyRN19Q8B7U6G1oUmhZcAz//ngOARTpkzBDRBUbcTBTAGVb8TBQAMSb0xcf1yBWdO11LVVtNezwbfIt0m20rZWtFizWbLaslux/13FpETBwcHPpccCLqXPsYjqgf4qokuirKKtosNNZMHAAIZwbcHAgA+hZcAz//ngIAKhWdj5VcTBWR9eRMJifqTBwQHypcYCDOJ5wBKhZcAz//ngAAJfXsTDDv5kwyL+RMHBAeTBwQHFAhil+aXgUQzDNcAs4zXAFJNY3xNCWPxpANBqJk/ooUIAY01uTcihgwBSoWXAM//54DgBKKZopRj9UQDs4ekQWPxdwMzBJpAY/OKAFaEIoYMAU6FlwDP/+eA4LgTdfUPVd0CzAFEeV2NTaMJAQBihZcAz//ngKCnffkDRTEB5oVZPGNPBQDj4o3+hWeThwcHopcYCLqX2pcjiqf4BQTxt+MVpf2RR+MF9PYFZ311kwcHB5MFhfoTBYX5FAiqlzOF1wCTBwcHrpezhdcAKsaXAM//54AA+3E9MkXBRWUzUT3dObcHAgAZ4ZMHAAI+hZcAz//ngAD4hWIWkfpQalTaVEpZulkqWppaClv6S2pM2kxKTbpNKWGCgLdXQUkZcZOH94QBRYbeotym2srYztbS1NbS2tDezuLM5srqyO7GPs6XAM//54DgoHkxBcU3R9hQt2cRUBMHF6qYzyOgBwAjrAcAmNPYT7cGBABVj9jPI6AHArcH9U83N/ZPk4cHABMHx7ohoCOgBwCRB+Pt5/7VM5FFaAjFOfE7t7f1T5OHx7EhZz6XIyD3CLcH8U83CfVPk4eHDiMg+QC3OfZPKTmTicmxEwkJAGMFBRC3Zw1QEwcQArjPhUVFRZcAz//ngKDmtwXxTwFGk4UFAEVFlwDP/+eAoOe3Jw1QEUeYyzcFAgCXAM//54Dg5rcHDlCIX4FFt4T1T3GJYRUTNRUAlwDP/+eAYKXBZ/0XEwcAEIVmQWa3BQABAUWThAQBtwr1Tw1qlwDP/+eAIJsTiwoBJpqDp8kI9d+Dq8kIhUcjpgkIIwLxAoPHGwAJRyMT4QKjAvECAtRNR2OB5whRR2OP5wYpR2Of5wCDxzsAA8crAKIH2Y8RR2OW5wCDp4sAnEM+1NE5oUVIEMU2g8c7AAPHKwCiB9mPEWdBB2N09wQTBbANqTYTBcANkTYTBeAOPT5dMUG3twXxTwFGk4WFAxVFlwDP/+eAoNg3pwxQXEcTBQACk+cXEFzHMbfJRyMT8QJNtwPHGwDRRmPn5gKFRmPm5gABTBME8A+FqHkXE3f3D8lG4+jm/rc29k8KB5OGBrs2lxhDAoeTBgcDk/b2DxFG42nW/BMH9wITd/cPjUZj6+YItzb2TwoHk4bGvzaXGEMChxMHQAJjl+cQAtQdRAFFcTwBReU0ATH9PqFFSBB9FCE2dfQBTAFEE3X0D8E8E3X8D+k0zTbjHgTqg8cbAElHY2v3MAlH43b36vUXk/f3Dz1H42D36jc39k+KBxMHx8C6l5xDgocFRJ3rcBCBRQFFl/DO/+eAoHcd4dFFaBBtNAFEMagFRIHvl/DO/+eAIH0zNKAAKaAhR2OF5wAFRAFMYbcDrIsAA6TLALNnjADSB/X30TBl9cFsIpz9HH19MwWMQF3cs3eVAZXjwWwzBYxAY+aMAv18MwWMQF3QMYGX8M7/54DAeV35ZpT1tzGBl/DO/+eAwHhd8WqU0bdBgZfwzv/ngAB4WfkzBJRBwbchR+OK5/ABTBMEAAw5t0FHzb9BRwVE453n9oOlywADpYsAOTy5v0FHBUTjk+f2A6cLAZFnY+7nHoOlSwEDpYsA7/C/hz2/QUcFROOT5/SDpwsBEWdjbvccA6fLAIOlSwEDpYsAM4TnAu/wP4UjrAQAIySKsDm3A8cEAGMHBxQDp4sAwRcTBAAMYxP3AMBIAUeTBvAOY0b3AoPHWwADx0sAAUyiB9mPA8drAEIHXY+Dx3sA4gfZj+OC9uYTBBAMsb0zhusAA0aGAQUHsY7ht4PHBAD9y9xEY5EHFsBII4AEAEW9YUdjlucCg6fLAQOniwGDpksBA6YLAYOlywADpYsAl/DO/+eAgGgqjDM0oAAxtQFMBUQZtRFHBUTjm+fmtxcOUPRfZXd9FwVm+Y7RjgOliwCThQcI9N+UQfmO0Y6UwZOFRwiUQfmO0Y6UwbRfgUV1j1GPuN+X8M7/54AgaxG9E/f3AOMRB+qT3EcAE4SLAAFMfV3jcZzbSESX8M7/54AgThhEVEAQQPmOYwenARxCE0f3/32P2Y4UwgUMQQTZvxFHhbVBRwVE45Tn3oOniwADp0sBIyb5ACMk6QBdu4MliQDBF5Hlic8BTBMEYAyxswMnyQBjZvcGE/c3AOMVB+IDKMkAAUYBRzMF6ECzhuUAY2n3AOMBBtIjJqkAIyTZABm7M4brABBOEQeQwgVG6b8hRwVE457n1gMkyQAZwBMEgAwjJgkAIyQJADM0gACNswFMEwQgDNWxAUwTBIAM8bkBTBMEkAzRuRMHIA1jg+cMEwdADeOY57gDxDsAg8crACIEXYyX8M7/54AATgOsxABBFGNzhAEijOMGDLbAQGKUMYCcSGNV8ACcRGNb9Arv8O/Rdd3IQGKGk4WLAZfwzv/ngABKAcWTB0AM3MjcQOKX3MDcRLOHh0HcxJfwzv/ngOBIDbYJZRMFBXEDrMsAA6SLAJfwzv/ngKA4t6cMUNhLtwYAAcEWk1dHARIHdY+9i9mPs4eHAwFFs9WHApfwzv/ngAA6EwWAPpfwzv/ngEA10byDpksBA6YLAYOlywADpYsA7/DP/n28g8U7AIPHKwAThYsBogXdjcEV7/DP21207/Avyz2/A8Q7AIPHKwATjIsBIgRdjNxEQRTN45FHhUtj/4cIkweQDNzIrbwDpw0AItAFSLOH7EA+1oMnirBjc/QADUhCxjrE7/CvxiJHMkg3hfVP4oV8EJOGCgEQEBMFhQKX8M7/54BgNze39U+TCAcBglcDp4iwg6UNAB2MHY8+nLJXI6TosKqLvpUjoL0Ak4cKAZ2NAcWhZ2OX9QBahe/wb9EjoG0BCcTcRJnD409w92PfCwCTB3AMvbeFS7c99k+3jPVPk43NupOMDAHpv+OaC5zcROOHB5yTB4AMqbeDp4sA45AHnO/wD9YJZRMFBXGX8M7/54CgIpfwzv/ngKAnTbIDpMsA4w4EmO/wz9MTBYA+l/DO/+eAgCAClFmy9lBmVNZURlm2WSZalloGW/ZLZkzWTEZNtk0JYYKAAAA=", $ec3de3bad43fb783$var$ki = 1341194240, $ec3de3bad43fb783$var$Hi = "EAD1TwYK8U9WCvFPrgrxT4QL8U/wC/FPngvxT9QI8U9AC/FPgAvxT8IK8U+ECPFP9grxT4QI8U/gCfFPJgrxT1YK8U+uCvFP8gnxTzgJ8U9oCfFP7gnxT0AO8U9WCvFPCA3xTwAO8U/EB/FPJA7xT8QH8U/EB/FPxAfxT8QH8U/EB/FPxAfxT8QH8U/EB/FPpAzxT8QH8U8mDfFPAA7xTw==", $ec3de3bad43fb783$var$Pi = 1341533100; +var $ec3de3bad43fb783$var$Oi = Object.freeze({ + __proto__: null, + ESP32P4ROM: class extends $ec3de3bad43fb783$var$ke { + constructor(){ + super(...arguments), this.CHIP_NAME = "ESP32-P4", this.IMAGE_CHIP_ID = 18, this.IROM_MAP_START = 1073741824, this.IROM_MAP_END = 1275068416, this.DROM_MAP_START = 1073741824, this.DROM_MAP_END = 1275068416, this.BOOTLOADER_FLASH_OFFSET = 8192, this.CHIP_DETECT_MAGIC_VALUE = [ + 0, + 182303440 + ], this.UART_DATE_REG_ADDR = 1343004812, this.EFUSE_BASE = 1343410176, this.EFUSE_BLOCK1_ADDR = this.EFUSE_BASE + 68, this.MAC_EFUSE_REG = this.EFUSE_BASE + 68, this.SPI_REG_BASE = 1342754816, this.SPI_USR_OFFS = 24, this.SPI_USR1_OFFS = 28, this.SPI_USR2_OFFS = 32, this.SPI_MOSI_DLEN_OFFS = 36, this.SPI_MISO_DLEN_OFFS = 40, this.SPI_W0_OFFS = 88, this.EFUSE_RD_REG_BASE = this.EFUSE_BASE + 48, this.EFUSE_PURPOSE_KEY0_REG = this.EFUSE_BASE + 52, this.EFUSE_PURPOSE_KEY0_SHIFT = 24, this.EFUSE_PURPOSE_KEY1_REG = this.EFUSE_BASE + 52, this.EFUSE_PURPOSE_KEY1_SHIFT = 28, this.EFUSE_PURPOSE_KEY2_REG = this.EFUSE_BASE + 56, this.EFUSE_PURPOSE_KEY2_SHIFT = 0, this.EFUSE_PURPOSE_KEY3_REG = this.EFUSE_BASE + 56, this.EFUSE_PURPOSE_KEY3_SHIFT = 4, this.EFUSE_PURPOSE_KEY4_REG = this.EFUSE_BASE + 56, this.EFUSE_PURPOSE_KEY4_SHIFT = 8, this.EFUSE_PURPOSE_KEY5_REG = this.EFUSE_BASE + 56, this.EFUSE_PURPOSE_KEY5_SHIFT = 12, this.EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT_REG = this.EFUSE_RD_REG_BASE, this.EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT = 1048576, this.EFUSE_SPI_BOOT_CRYPT_CNT_REG = this.EFUSE_BASE + 52, this.EFUSE_SPI_BOOT_CRYPT_CNT_MASK = 1835008, this.EFUSE_SECURE_BOOT_EN_REG = this.EFUSE_BASE + 56, this.EFUSE_SECURE_BOOT_EN_MASK = 1048576, this.PURPOSE_VAL_XTS_AES256_KEY_1 = 2, this.PURPOSE_VAL_XTS_AES256_KEY_2 = 3, this.PURPOSE_VAL_XTS_AES128_KEY = 4, this.SUPPORTS_ENCRYPTED_FLASH = !0, this.FLASH_ENCRYPTED_WRITE_ALIGN = 16, this.MEMORY_MAP = [ + [ + 0, + 65536, + "PADDING" + ], + [ + 1073741824, + 1275068416, + "DROM" + ], + [ + 1341128704, + 1341784064, + "DRAM" + ], + [ + 1341128704, + 1341784064, + "BYTE_ACCESSIBLE" + ], + [ + 1337982976, + 1338114048, + "DROM_MASK" + ], + [ + 1337982976, + 1338114048, + "IROM_MASK" + ], + [ + 1073741824, + 1275068416, + "IROM" + ], + [ + 1341128704, + 1341784064, + "IRAM" + ], + [ + 1343258624, + 1343291392, + "RTC_IRAM" + ], + [ + 1343258624, + 1343291392, + "RTC_DRAM" + ], + [ + 1611653120, + 1611661312, + "MEM_INTERNAL2" + ] + ], this.UF2_FAMILY_ID = 1026592404, this.EFUSE_MAX_KEY = 5, this.KEY_PURPOSES = { + 0: "USER/EMPTY", + 1: "ECDSA_KEY", + 2: "XTS_AES_256_KEY_1", + 3: "XTS_AES_256_KEY_2", + 4: "XTS_AES_128_KEY", + 5: "HMAC_DOWN_ALL", + 6: "HMAC_DOWN_JTAG", + 7: "HMAC_DOWN_DIGITAL_SIGNATURE", + 8: "HMAC_UP", + 9: "SECURE_BOOT_DIGEST0", + 10: "SECURE_BOOT_DIGEST1", + 11: "SECURE_BOOT_DIGEST2", + 12: "KM_INIT_KEY" + }, this.TEXT_START = $ec3de3bad43fb783$var$ki, this.ENTRY = $ec3de3bad43fb783$var$pi, this.DATA_START = $ec3de3bad43fb783$var$Pi, this.ROM_DATA = $ec3de3bad43fb783$var$Hi, this.ROM_TEXT = $ec3de3bad43fb783$var$yi; + } + async getPkgVersion(A) { + const t = this.EFUSE_BLOCK1_ADDR + 8; + return await A.readReg(t) >> 27 & 7; + } + async getMinorChipVersion(A) { + const t = this.EFUSE_BLOCK1_ADDR + 8; + return await A.readReg(t) >> 0 & 15; + } + async getMajorChipVersion(A) { + const t = this.EFUSE_BLOCK1_ADDR + 8; + return await A.readReg(t) >> 4 & 3; + } + async getChipDescription(A) { + return `${0 === await this.getPkgVersion(A) ? "ESP32-P4" : "unknown ESP32-P4"} (revision v${await this.getMajorChipVersion(A)}.${await this.getMinorChipVersion(A)})`; + } + async getChipFeatures(A) { + return [ + "High-Performance MCU" + ]; + } + async getCrystalFreq(A) { + return 40; + } + async getFlashVoltage(A) {} + async overrideVddsdio(A) { + A.debug("VDD_SDIO overrides are not supported for ESP32-P4"); + } + async readMac(A) { + let t = await A.readReg(this.MAC_EFUSE_REG); + t >>>= 0; + let e = await A.readReg(this.MAC_EFUSE_REG + 4); + e = e >>> 0 & 65535; + const i = new Uint8Array(6); + return i[0] = e >> 8 & 255, i[1] = 255 & e, i[2] = t >> 24 & 255, i[3] = t >> 16 & 255, i[4] = t >> 8 & 255, i[5] = 255 & t, this._d2h(i[0]) + ":" + this._d2h(i[1]) + ":" + this._d2h(i[2]) + ":" + this._d2h(i[3]) + ":" + this._d2h(i[4]) + ":" + this._d2h(i[5]); + } + async getFlashCryptConfig(A) {} + async getSecureBootEnabled(A) { + return await A.readReg(this.EFUSE_SECURE_BOOT_EN_REG) & this.EFUSE_SECURE_BOOT_EN_MASK; + } + async getKeyBlockPurpose(A, t) { + if (t < 0 || t > this.EFUSE_MAX_KEY) return void A.debug(`Valid key block numbers must be in range 0-${this.EFUSE_MAX_KEY}`); + const e = [ + [ + this.EFUSE_PURPOSE_KEY0_REG, + this.EFUSE_PURPOSE_KEY0_SHIFT + ], + [ + this.EFUSE_PURPOSE_KEY1_REG, + this.EFUSE_PURPOSE_KEY1_SHIFT + ], + [ + this.EFUSE_PURPOSE_KEY2_REG, + this.EFUSE_PURPOSE_KEY2_SHIFT + ], + [ + this.EFUSE_PURPOSE_KEY3_REG, + this.EFUSE_PURPOSE_KEY3_SHIFT + ], + [ + this.EFUSE_PURPOSE_KEY4_REG, + this.EFUSE_PURPOSE_KEY4_SHIFT + ], + [ + this.EFUSE_PURPOSE_KEY5_REG, + this.EFUSE_PURPOSE_KEY5_SHIFT + ] + ], [i, s] = e[t]; + return await A.readReg(i) >> s & 15; + } + async isFlashEncryptionKeyValid(A) { + const t = []; + for(let e = 0; e <= this.EFUSE_MAX_KEY; e++){ + const i = await this.getKeyBlockPurpose(A, e); + t.push(i); + } + t.find((A)=>A === this.PURPOSE_VAL_XTS_AES128_KEY); + return !0; + const e = t.find((A)=>A === this.PURPOSE_VAL_XTS_AES256_KEY_1), i = t.find((A)=>A === this.PURPOSE_VAL_XTS_AES256_KEY_2); + return true; + } + } +}); + + +/* + * Copyright 2019 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in + * compliance with the License. You may obtain a copy of + * the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in + * writing, software distributed under the License is + * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES + * OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing + * permissions and limitations under the License. + */ "use strict"; +var $d2bbb828b377f05f$export$24d5ae9391ffe6e0; +(function(SerialPolyfillProtocol) { + SerialPolyfillProtocol[SerialPolyfillProtocol["UsbCdcAcm"] = 0] = "UsbCdcAcm"; +})($d2bbb828b377f05f$export$24d5ae9391ffe6e0 || ($d2bbb828b377f05f$export$24d5ae9391ffe6e0 = {})); +const $d2bbb828b377f05f$var$kSetLineCoding = 0x20; +const $d2bbb828b377f05f$var$kSetControlLineState = 0x22; +const $d2bbb828b377f05f$var$kSendBreak = 0x23; +const $d2bbb828b377f05f$var$kDefaultBufferSize = 255; +const $d2bbb828b377f05f$var$kDefaultDataBits = 8; +const $d2bbb828b377f05f$var$kDefaultParity = "none"; +const $d2bbb828b377f05f$var$kDefaultStopBits = 1; +const $d2bbb828b377f05f$var$kAcceptableDataBits = [ + 16, + 8, + 7, + 6, + 5 +]; +const $d2bbb828b377f05f$var$kAcceptableStopBits = [ + 1, + 2 +]; +const $d2bbb828b377f05f$var$kAcceptableParity = [ + "none", + "even", + "odd" +]; +const $d2bbb828b377f05f$var$kParityIndexMapping = [ + "none", + "odd", + "even" +]; +const $d2bbb828b377f05f$var$kStopBitsIndexMapping = [ + 1, + 1.5, + 2 +]; +const $d2bbb828b377f05f$var$kDefaultPolyfillOptions = { + protocol: $d2bbb828b377f05f$export$24d5ae9391ffe6e0.UsbCdcAcm, + usbControlInterfaceClass: 2, + usbTransferInterfaceClass: 10 +}; +/** + * Utility function to get the interface implementing a desired class. + * @param {USBDevice} device The USB device. + * @param {number} classCode The desired interface class. + * @return {USBInterface} The first interface found that implements the desired + * class. + * @throws TypeError if no interface is found. + */ function $d2bbb828b377f05f$var$findInterface(device, classCode) { + const configuration = device.configurations[0]; + for (const iface of configuration.interfaces){ + const alternate = iface.alternates[0]; + if (alternate.interfaceClass === classCode) return iface; + } + throw new TypeError(`Unable to find interface with class ${classCode}.`); +} +/** + * Utility function to get an endpoint with a particular direction. + * @param {USBInterface} iface The interface to search. + * @param {USBDirection} direction The desired transfer direction. + * @return {USBEndpoint} The first endpoint with the desired transfer direction. + * @throws TypeError if no endpoint is found. + */ function $d2bbb828b377f05f$var$findEndpoint(iface, direction) { + const alternate = iface.alternates[0]; + for (const endpoint of alternate.endpoints){ + if (endpoint.direction == direction) return endpoint; + } + throw new TypeError(`Interface ${iface.interfaceNumber} does not have an ` + `${direction} endpoint.`); +} +/** + * Implementation of the underlying source API[1] which reads data from a USB + * endpoint. This can be used to construct a ReadableStream. + * + * [1]: https://streams.spec.whatwg.org/#underlying-source-api + */ class $d2bbb828b377f05f$var$UsbEndpointUnderlyingSource { + /** + * Constructs a new UnderlyingSource that will pull data from the specified + * endpoint on the given USB device. + * + * @param {USBDevice} device + * @param {USBEndpoint} endpoint + * @param {function} onError function to be called on error + */ constructor(device, endpoint, onError){ + this.type = "bytes"; + this.device_ = device; + this.endpoint_ = endpoint; + this.onError_ = onError; + } + /** + * Reads a chunk of data from the device. + * + * @param {ReadableByteStreamController} controller + */ pull(controller) { + (async ()=>{ + var _a; + let chunkSize; + if (controller.desiredSize) { + const d = controller.desiredSize / this.endpoint_.packetSize; + chunkSize = Math.ceil(d) * this.endpoint_.packetSize; + } else chunkSize = this.endpoint_.packetSize; + try { + const result = await this.device_.transferIn(this.endpoint_.endpointNumber, chunkSize); + if (result.status != "ok") { + controller.error(`USB error: ${result.status}`); + this.onError_(); + } + if ((_a = result.data) === null || _a === void 0 ? void 0 : _a.buffer) { + const chunk = new Uint8Array(result.data.buffer, result.data.byteOffset, result.data.byteLength); + controller.enqueue(chunk); + } + } catch (error) { + controller.error(error.toString()); + this.onError_(); + } + })(); + } +} +/** + * Implementation of the underlying sink API[2] which writes data to a USB + * endpoint. This can be used to construct a WritableStream. + * + * [2]: https://streams.spec.whatwg.org/#underlying-sink-api + */ class $d2bbb828b377f05f$var$UsbEndpointUnderlyingSink { + /** + * Constructs a new UnderlyingSink that will write data to the specified + * endpoint on the given USB device. + * + * @param {USBDevice} device + * @param {USBEndpoint} endpoint + * @param {function} onError function to be called on error + */ constructor(device, endpoint, onError){ + this.device_ = device; + this.endpoint_ = endpoint; + this.onError_ = onError; + } + /** + * Writes a chunk to the device. + * + * @param {Uint8Array} chunk + * @param {WritableStreamDefaultController} controller + */ async write(chunk, controller) { + try { + const result = await this.device_.transferOut(this.endpoint_.endpointNumber, chunk); + if (result.status != "ok") { + controller.error(result.status); + this.onError_(); + } + } catch (error) { + controller.error(error.toString()); + this.onError_(); + } + } +} +class $d2bbb828b377f05f$export$237d90817cb05a2f { + /** + * constructor taking a WebUSB device that creates a SerialPort instance. + * @param {USBDevice} device A device acquired from the WebUSB API + * @param {SerialPolyfillOptions} polyfillOptions Optional options to + * configure the polyfill. + */ constructor(device, polyfillOptions){ + this.polyfillOptions_ = Object.assign(Object.assign({}, $d2bbb828b377f05f$var$kDefaultPolyfillOptions), polyfillOptions); + this.outputSignals_ = { + dataTerminalReady: false, + requestToSend: false, + break: false + }; + this.device_ = device; + this.controlInterface_ = $d2bbb828b377f05f$var$findInterface(this.device_, this.polyfillOptions_.usbControlInterfaceClass); + this.transferInterface_ = $d2bbb828b377f05f$var$findInterface(this.device_, this.polyfillOptions_.usbTransferInterfaceClass); + this.inEndpoint_ = $d2bbb828b377f05f$var$findEndpoint(this.transferInterface_, "in"); + this.outEndpoint_ = $d2bbb828b377f05f$var$findEndpoint(this.transferInterface_, "out"); + } + /** + * Getter for the readable attribute. Constructs a new ReadableStream as + * necessary. + * @return {ReadableStream} the current readable stream + */ get readable() { + var _a; + if (!this.readable_ && this.device_.opened) this.readable_ = new ReadableStream(new $d2bbb828b377f05f$var$UsbEndpointUnderlyingSource(this.device_, this.inEndpoint_, ()=>{ + this.readable_ = null; + }), { + highWaterMark: (_a = this.serialOptions_.bufferSize) !== null && _a !== void 0 ? _a : $d2bbb828b377f05f$var$kDefaultBufferSize + }); + return this.readable_; + } + /** + * Getter for the writable attribute. Constructs a new WritableStream as + * necessary. + * @return {WritableStream} the current writable stream + */ get writable() { + var _a; + if (!this.writable_ && this.device_.opened) this.writable_ = new WritableStream(new $d2bbb828b377f05f$var$UsbEndpointUnderlyingSink(this.device_, this.outEndpoint_, ()=>{ + this.writable_ = null; + }), new ByteLengthQueuingStrategy({ + highWaterMark: (_a = this.serialOptions_.bufferSize) !== null && _a !== void 0 ? _a : $d2bbb828b377f05f$var$kDefaultBufferSize + })); + return this.writable_; + } + /** + * a function that opens the device and claims all interfaces needed to + * control and communicate to and from the serial device + * @param {SerialOptions} options Object containing serial options + * @return {Promise<void>} A promise that will resolve when device is ready + * for communication + */ async open(options) { + this.serialOptions_ = options; + this.validateOptions(); + try { + await this.device_.open(); + if (this.device_.configuration === null) await this.device_.selectConfiguration(1); + await this.device_.claimInterface(this.controlInterface_.interfaceNumber); + if (this.controlInterface_ !== this.transferInterface_) await this.device_.claimInterface(this.transferInterface_.interfaceNumber); + await this.setLineCoding(); + await this.setSignals({ + dataTerminalReady: true + }); + } catch (error) { + if (this.device_.opened) await this.device_.close(); + throw new Error("Error setting up device: " + error.toString()); + } + } + /** + * Closes the port. + * + * @return {Promise<void>} A promise that will resolve when the port is + * closed. + */ async close() { + const promises = []; + if (this.readable_) promises.push(this.readable_.cancel()); + if (this.writable_) promises.push(this.writable_.abort()); + await Promise.all(promises); + this.readable_ = null; + this.writable_ = null; + if (this.device_.opened) { + await this.setSignals({ + dataTerminalReady: false, + requestToSend: false + }); + await this.device_.close(); + } + } + /** + * Forgets the port. + * + * @return {Promise<void>} A promise that will resolve when the port is + * forgotten. + */ async forget() { + return this.device_.forget(); + } + /** + * A function that returns properties of the device. + * @return {SerialPortInfo} Device properties. + */ getInfo() { + return { + usbVendorId: this.device_.vendorId, + usbProductId: this.device_.productId + }; + } + /** + * A function used to change the serial settings of the device + * @param {object} options the object which carries serial settings data + * @return {Promise<void>} A promise that will resolve when the options are + * set + */ reconfigure(options) { + this.serialOptions_ = Object.assign(Object.assign({}, this.serialOptions_), options); + this.validateOptions(); + return this.setLineCoding(); + } + /** + * Sets control signal state for the port. + * @param {SerialOutputSignals} signals The signals to enable or disable. + * @return {Promise<void>} a promise that is resolved when the signal state + * has been changed. + */ async setSignals(signals) { + this.outputSignals_ = Object.assign(Object.assign({}, this.outputSignals_), signals); + if (signals.dataTerminalReady !== undefined || signals.requestToSend !== undefined) { + // The Set_Control_Line_State command expects a bitmap containing the + // values of all output signals that should be enabled or disabled. + // + // Ref: USB CDC specification version 1.1 §6.2.14. + const value = (this.outputSignals_.dataTerminalReady ? 1 : 0) | (this.outputSignals_.requestToSend ? 2 : 0); + await this.device_.controlTransferOut({ + "requestType": "class", + "recipient": "interface", + "request": $d2bbb828b377f05f$var$kSetControlLineState, + "value": value, + "index": this.controlInterface_.interfaceNumber + }); + } + if (signals.break !== undefined) { + // The SendBreak command expects to be given a duration for how long the + // break signal should be asserted. Passing 0xFFFF enables the signal + // until 0x0000 is send. + // + // Ref: USB CDC specification version 1.1 §6.2.15. + const value = this.outputSignals_.break ? 0xFFFF : 0x0000; + await this.device_.controlTransferOut({ + "requestType": "class", + "recipient": "interface", + "request": $d2bbb828b377f05f$var$kSendBreak, + "value": value, + "index": this.controlInterface_.interfaceNumber + }); + } + } + /** + * Checks the serial options for validity and throws an error if it is + * not valid + */ validateOptions() { + if (!this.isValidBaudRate(this.serialOptions_.baudRate)) throw new RangeError("invalid Baud Rate " + this.serialOptions_.baudRate); + if (!this.isValidDataBits(this.serialOptions_.dataBits)) throw new RangeError("invalid dataBits " + this.serialOptions_.dataBits); + if (!this.isValidStopBits(this.serialOptions_.stopBits)) throw new RangeError("invalid stopBits " + this.serialOptions_.stopBits); + if (!this.isValidParity(this.serialOptions_.parity)) throw new RangeError("invalid parity " + this.serialOptions_.parity); + } + /** + * Checks the baud rate for validity + * @param {number} baudRate the baud rate to check + * @return {boolean} A boolean that reflects whether the baud rate is valid + */ isValidBaudRate(baudRate) { + return baudRate % 1 === 0; + } + /** + * Checks the data bits for validity + * @param {number} dataBits the data bits to check + * @return {boolean} A boolean that reflects whether the data bits setting is + * valid + */ isValidDataBits(dataBits) { + if (typeof dataBits === "undefined") return true; + return $d2bbb828b377f05f$var$kAcceptableDataBits.includes(dataBits); + } + /** + * Checks the stop bits for validity + * @param {number} stopBits the stop bits to check + * @return {boolean} A boolean that reflects whether the stop bits setting is + * valid + */ isValidStopBits(stopBits) { + if (typeof stopBits === "undefined") return true; + return $d2bbb828b377f05f$var$kAcceptableStopBits.includes(stopBits); + } + /** + * Checks the parity for validity + * @param {string} parity the parity to check + * @return {boolean} A boolean that reflects whether the parity is valid + */ isValidParity(parity) { + if (typeof parity === "undefined") return true; + return $d2bbb828b377f05f$var$kAcceptableParity.includes(parity); + } + /** + * sends the options alog the control interface to set them on the device + * @return {Promise} a promise that will resolve when the options are set + */ async setLineCoding() { + var _a, _b, _c; + // Ref: USB CDC specification version 1.1 §6.2.12. + const buffer = new ArrayBuffer(7); + const view = new DataView(buffer); + view.setUint32(0, this.serialOptions_.baudRate, true); + view.setUint8(4, $d2bbb828b377f05f$var$kStopBitsIndexMapping.indexOf((_a = this.serialOptions_.stopBits) !== null && _a !== void 0 ? _a : $d2bbb828b377f05f$var$kDefaultStopBits)); + view.setUint8(5, $d2bbb828b377f05f$var$kParityIndexMapping.indexOf((_b = this.serialOptions_.parity) !== null && _b !== void 0 ? _b : $d2bbb828b377f05f$var$kDefaultParity)); + view.setUint8(6, (_c = this.serialOptions_.dataBits) !== null && _c !== void 0 ? _c : $d2bbb828b377f05f$var$kDefaultDataBits); + const result = await this.device_.controlTransferOut({ + "requestType": "class", + "recipient": "interface", + "request": $d2bbb828b377f05f$var$kSetLineCoding, + "value": 0x00, + "index": this.controlInterface_.interfaceNumber + }, buffer); + if (result.status != "ok") throw new DOMException("NetworkError", "Failed to set line coding."); + } +} +/** implementation of the global navigator.serial object */ class $d2bbb828b377f05f$var$Serial { + /** + * Requests permission to access a new port. + * + * @param {SerialPortRequestOptions} options + * @param {SerialPolyfillOptions} polyfillOptions + * @return {Promise<SerialPort>} + */ async requestPort(options, polyfillOptions) { + polyfillOptions = Object.assign(Object.assign({}, $d2bbb828b377f05f$var$kDefaultPolyfillOptions), polyfillOptions); + const usbFilters = []; + if (options && options.filters) for (const filter of options.filters){ + const usbFilter = { + classCode: polyfillOptions.usbControlInterfaceClass + }; + if (filter.usbVendorId !== undefined) usbFilter.vendorId = filter.usbVendorId; + if (filter.usbProductId !== undefined) usbFilter.productId = filter.usbProductId; + usbFilters.push(usbFilter); + } + if (usbFilters.length === 0) usbFilters.push({ + classCode: polyfillOptions.usbControlInterfaceClass + }); + const device = await navigator.usb.requestDevice({ + "filters": usbFilters + }); + const port = new $d2bbb828b377f05f$export$237d90817cb05a2f(device, polyfillOptions); + return port; + } + /** + * Get the set of currently available ports. + * + * @param {SerialPolyfillOptions} polyfillOptions Polyfill configuration that + * should be applied to these ports. + * @return {Promise<SerialPort[]>} a promise that is resolved with a list of + * ports. + */ async getPorts(polyfillOptions) { + polyfillOptions = Object.assign(Object.assign({}, $d2bbb828b377f05f$var$kDefaultPolyfillOptions), polyfillOptions); + const devices = await navigator.usb.getDevices(); + const ports = []; + devices.forEach((device)=>{ + try { + const port = new $d2bbb828b377f05f$export$237d90817cb05a2f(device, polyfillOptions); + ports.push(port); + } catch (e) { + // Skip unrecognized port. + } + }); + return ports; + } +} +const $d2bbb828b377f05f$export$6c2c9a00e27c07e8 = new $d2bbb828b377f05f$var$Serial(); + + +const $382e02c9bbd5d50b$var$baudrates = document.getElementById("baudrates"); +const $382e02c9bbd5d50b$var$connectButton = document.getElementById("connectButton"); +const $382e02c9bbd5d50b$var$traceButton = document.getElementById("copyTraceButton"); +const $382e02c9bbd5d50b$var$disconnectButton = document.getElementById("disconnectButton"); +const $382e02c9bbd5d50b$var$resetButton = document.getElementById("resetButton"); +const $382e02c9bbd5d50b$var$eraseButton = document.getElementById("eraseButton"); +const $382e02c9bbd5d50b$var$programButton = document.getElementById("programButton"); +const $382e02c9bbd5d50b$var$filesDiv = document.getElementById("files"); +const $382e02c9bbd5d50b$var$terminal = document.getElementById("terminal"); +const $382e02c9bbd5d50b$var$programDiv = document.getElementById("program"); +const $382e02c9bbd5d50b$var$lblBaudrate = document.getElementById("lblBaudrate"); +const $382e02c9bbd5d50b$var$lblConnTo = document.getElementById("lblConnTo"); +const $382e02c9bbd5d50b$var$table = document.getElementById("fileTable"); +if (!navigator.serial && navigator.usb) navigator.serial = (0, $d2bbb828b377f05f$export$6c2c9a00e27c07e8); +const $382e02c9bbd5d50b$var$term = new Terminal({ + cols: 120, + rows: 40 +}); +$382e02c9bbd5d50b$var$term.open($382e02c9bbd5d50b$var$terminal); +let $382e02c9bbd5d50b$var$device = null; +let $382e02c9bbd5d50b$var$transport; +let $382e02c9bbd5d50b$var$chip = null; +let $382e02c9bbd5d50b$var$esploader; +const $382e02c9bbd5d50b$var$fileArray = []; +$382e02c9bbd5d50b$var$disconnectButton.style.display = "none"; +$382e02c9bbd5d50b$var$traceButton.style.display = "none"; +$382e02c9bbd5d50b$var$eraseButton.style.display = "none"; +$382e02c9bbd5d50b$var$resetButton.style.display = "none"; +$382e02c9bbd5d50b$var$filesDiv.style.display = "none"; +const $382e02c9bbd5d50b$var$espLoaderTerminal = { + clean () { + $382e02c9bbd5d50b$var$term.clear(); + }, + writeLine (data) { + $382e02c9bbd5d50b$var$term.writeln(data); + }, + write (data) { + $382e02c9bbd5d50b$var$term.write(data); + } +}; +function $382e02c9bbd5d50b$var$cleanUp() { + $382e02c9bbd5d50b$var$device = null; + $382e02c9bbd5d50b$var$transport = null; + $382e02c9bbd5d50b$var$chip = null; +} +$382e02c9bbd5d50b$var$traceButton.onclick = async ()=>{ + if ($382e02c9bbd5d50b$var$transport) $382e02c9bbd5d50b$var$transport.returnTrace(); +}; +$382e02c9bbd5d50b$var$resetButton.onclick = async ()=>{ + if ($382e02c9bbd5d50b$var$transport) { + await $382e02c9bbd5d50b$var$transport.setDTR(false); + await new Promise((resolve)=>setTimeout(resolve, 100)); + await $382e02c9bbd5d50b$var$transport.setDTR(true); + } +}; +$382e02c9bbd5d50b$var$eraseButton.onclick = async ()=>{ + $382e02c9bbd5d50b$var$eraseButton.disabled = true; + try { + await $382e02c9bbd5d50b$var$esploader.eraseFlash(); + } catch (e) { + console.error(e); + $382e02c9bbd5d50b$var$term.writeln(`Error: ${e.message}`); + } finally{ + $382e02c9bbd5d50b$var$eraseButton.disabled = false; + } +}; +$382e02c9bbd5d50b$var$connectButton.onclick = async ()=>{ + if ($382e02c9bbd5d50b$var$device === null) { + $382e02c9bbd5d50b$var$device = await navigator.serial.requestPort({}); + $382e02c9bbd5d50b$var$transport = new (0, $ec3de3bad43fb783$export$86495b081fef8e52)($382e02c9bbd5d50b$var$device, true); + } + try { + const flashOptions = { + transport: $382e02c9bbd5d50b$var$transport, + baudrate: parseInt($382e02c9bbd5d50b$var$baudrates.value), + terminal: $382e02c9bbd5d50b$var$espLoaderTerminal + }; + $382e02c9bbd5d50b$var$esploader = new (0, $ec3de3bad43fb783$export$b0f7a6c745790308)(flashOptions); + $382e02c9bbd5d50b$var$lblBaudrate.style.display = "none"; + $382e02c9bbd5d50b$var$baudrates.style.display = "none"; + $382e02c9bbd5d50b$var$connectButton.style.display = "none"; + $382e02c9bbd5d50b$var$chip = await $382e02c9bbd5d50b$var$esploader.main(); + if (!$382e02c9bbd5d50b$var$chip.startsWith("ESP32-C6")) { + $382e02c9bbd5d50b$var$term.writeln("Error! Wrong chip connected. Expected is ESP32-C6"); + await $382e02c9bbd5d50b$var$transport.disconnect(); + $382e02c9bbd5d50b$var$cleanUp(); + $382e02c9bbd5d50b$var$lblBaudrate.style.display = "initial"; + $382e02c9bbd5d50b$var$baudrates.style.display = "initial"; + $382e02c9bbd5d50b$var$connectButton.style.display = "initial"; + return; + } + } catch (e) { + console.error(e); + $382e02c9bbd5d50b$var$term.writeln(""); + $382e02c9bbd5d50b$var$term.writeln(`Error: ${e.message}`); + await $382e02c9bbd5d50b$var$transport.disconnect(); + $382e02c9bbd5d50b$var$cleanUp(); + $382e02c9bbd5d50b$var$lblBaudrate.style.display = "initial"; + $382e02c9bbd5d50b$var$baudrates.style.display = "initial"; + $382e02c9bbd5d50b$var$connectButton.style.display = "initial"; + return; + } + console.log("Settings done for :" + $382e02c9bbd5d50b$var$chip); + $382e02c9bbd5d50b$var$lblBaudrate.style.display = "none"; + $382e02c9bbd5d50b$var$baudrates.style.display = "none"; + $382e02c9bbd5d50b$var$lblConnTo.innerHTML = "Connected to device: " + $382e02c9bbd5d50b$var$chip; + $382e02c9bbd5d50b$var$lblConnTo.style.display = "block"; + $382e02c9bbd5d50b$var$connectButton.style.display = "none"; + $382e02c9bbd5d50b$var$disconnectButton.style.display = "initial"; + $382e02c9bbd5d50b$var$traceButton.style.display = "initial"; + $382e02c9bbd5d50b$var$eraseButton.style.display = "initial"; + $382e02c9bbd5d50b$var$filesDiv.style.display = "initial"; +}; +$382e02c9bbd5d50b$var$disconnectButton.onclick = async ()=>{ + if ($382e02c9bbd5d50b$var$transport) await $382e02c9bbd5d50b$var$transport.disconnect(); + $382e02c9bbd5d50b$var$term.reset(); + $382e02c9bbd5d50b$var$lblBaudrate.style.display = "initial"; + $382e02c9bbd5d50b$var$baudrates.style.display = "initial"; + $382e02c9bbd5d50b$var$connectButton.style.display = "initial"; + $382e02c9bbd5d50b$var$disconnectButton.style.display = "none"; + $382e02c9bbd5d50b$var$traceButton.style.display = "none"; + $382e02c9bbd5d50b$var$eraseButton.style.display = "none"; + $382e02c9bbd5d50b$var$lblConnTo.style.display = "none"; + $382e02c9bbd5d50b$var$filesDiv.style.display = "none"; + $382e02c9bbd5d50b$var$programButton.style.display = "initial"; + $382e02c9bbd5d50b$var$resetButton.style.display = "none"; + for(let index = 1; index < $382e02c9bbd5d50b$var$table.rows.length; index++)$382e02c9bbd5d50b$var$table.rows[index].cells[3].childNodes[0].value = "0"; + $382e02c9bbd5d50b$var$cleanUp(); +}; +$382e02c9bbd5d50b$var$programButton.onclick = async ()=>{ + const progressBars = []; + for(let index = 1; index < $382e02c9bbd5d50b$var$table.rows.length; index++){ + const row = $382e02c9bbd5d50b$var$table.rows[index]; + const progressBar = row.cells[3].childNodes[0]; + progressBar.textContent = "0"; + progressBars.push(progressBar); + } + try { + const flashOptions = { + fileArray: $382e02c9bbd5d50b$var$fileArray, + eraseAll: false, + compress: true, + flashSize: "keep", + flashFreq: "80MHz", + flashMode: "DIO", + reportProgress: (fileIndex, written, total)=>{ + progressBars[fileIndex].value = written / total * 100; + }, + calculateMD5Hash: (image)=>CryptoJS.MD5(CryptoJS.enc.Latin1.parse(image)) + }; + $382e02c9bbd5d50b$var$programButton.style.display = "none"; + $382e02c9bbd5d50b$var$eraseButton.style.display = "none"; + await $382e02c9bbd5d50b$var$esploader.writeFlash(flashOptions); + } catch (e) { + console.error(e); + $382e02c9bbd5d50b$var$programButton.style.display = "initial"; + $382e02c9bbd5d50b$var$term.writeln(`Error: ${e.message}`); + } finally{ + // Switch to console + await $382e02c9bbd5d50b$var$transport.disconnect(); + await $382e02c9bbd5d50b$var$transport.connect(115200); + await $382e02c9bbd5d50b$var$transport.setDTR(false); + await new Promise((resolve)=>setTimeout(resolve, 100)); + await $382e02c9bbd5d50b$var$transport.setDTR(true); + $382e02c9bbd5d50b$var$resetButton.style.display = "initial"; + while(true){ + const val = await $382e02c9bbd5d50b$var$transport.rawRead(); + if (typeof val !== "undefined") $382e02c9bbd5d50b$var$term.write(val); + else { + console.log("Leaving monitor"); + break; + } + } + } +}; +// addFileButton.onclick = () => { +function $382e02c9bbd5d50b$var$addFileRow(addr, path, size) { + const rowCount = $382e02c9bbd5d50b$var$table.rows.length; + const row = $382e02c9bbd5d50b$var$table.insertRow(rowCount); + //Column 1 - Offset + const cell1 = row.insertCell(0); + const element1 = document.createElement("span"); + element1.innerHTML = addr; + cell1.appendChild(element1); + // Column 2 - File selector + const cell2 = row.insertCell(1); + const element2 = document.createElement("span"); + element2.innerHTML = path; + cell2.appendChild(element2); + // Column 3 - File Size + const cell3 = row.insertCell(2); + const element3 = document.createElement("span"); + element3.innerHTML = size + " B"; + cell3.appendChild(element3); + // Column 4 - Progress + const cell4 = row.insertCell(3); + cell4.classList.add("progress-cell"); + cell4.innerHTML = `<progress value="0" max="100" style="width:100%"'></progress>`; +} +function $382e02c9bbd5d50b$var$addFileForFlashing(outArray, addr, path) { + console.log("load", addr, path); + var request = new XMLHttpRequest(); + request.open("GET", path, true); + request.responseType = "blob"; + request.onload = function() { + console.log("blob", addr, path, request.response); + var size = request.response.size; + var reader = new FileReader(); + reader.onload = function(e) { + outArray.push({ + data: e.target.result, + address: parseInt(addr) + }); + console.log("push", addr, path); + $382e02c9bbd5d50b$var$addFileRow(addr, path, size); + }; + reader.readAsBinaryString(request.response); + }; + request.send(); +} +$382e02c9bbd5d50b$var$addFileForFlashing($382e02c9bbd5d50b$var$fileArray, "0x0", "bootloader.bin"); +$382e02c9bbd5d50b$var$addFileForFlashing($382e02c9bbd5d50b$var$fileArray, "0x8000", "partition-table.bin"); +$382e02c9bbd5d50b$var$addFileForFlashing($382e02c9bbd5d50b$var$fileArray, "0xd000", "ota_data_initial.bin"); +$382e02c9bbd5d50b$var$addFileForFlashing($382e02c9bbd5d50b$var$fileArray, "0x10000", "network_adapter.bin"); + + +//# sourceMappingURL=index.82fa246c.js.map diff --git a/c6-hosted/index.82fa246c.js.map b/c6-hosted/index.82fa246c.js.map new file mode 100644 index 00000000000..13f35cd9afc --- /dev/null +++ b/c6-hosted/index.82fa246c.js.map @@ -0,0 +1 @@ +{"mappings":"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","sources":["src/index.ts","assets/bundle.js","node_modules/web-serial-polyfill/dist/serial.js","node_modules/web-serial-polyfill/serial.ts"],"sourcesContent":["const baudrates = document.getElementById(\"baudrates\") as HTMLSelectElement;\nconst connectButton = document.getElementById(\"connectButton\") as HTMLButtonElement;\nconst traceButton = document.getElementById(\"copyTraceButton\") as HTMLButtonElement;\nconst disconnectButton = document.getElementById(\"disconnectButton\") as HTMLButtonElement;\nconst resetButton = document.getElementById(\"resetButton\") as HTMLButtonElement;\nconst eraseButton = document.getElementById(\"eraseButton\") as HTMLButtonElement;\nconst programButton = document.getElementById(\"programButton\");\nconst filesDiv = document.getElementById(\"files\");\nconst terminal = document.getElementById(\"terminal\");\nconst programDiv = document.getElementById(\"program\");\nconst lblBaudrate = document.getElementById(\"lblBaudrate\");\nconst lblConnTo = document.getElementById(\"lblConnTo\");\nconst table = document.getElementById(\"fileTable\") as HTMLTableElement;\n\nimport { ESPLoader, FlashOptions, LoaderOptions, Transport } from \"../assets/bundle.js\";\nimport { serial } from \"web-serial-polyfill\";\nif (!navigator.serial && navigator.usb) navigator.serial = serial;\n\ndeclare let Terminal; // Terminal is imported in HTML script\ndeclare let CryptoJS; // CryptoJS is imported in HTML script\n\nconst term = new Terminal({ cols: 120, rows: 40 });\nterm.open(terminal);\n\nlet device = null;\nlet transport: Transport;\nlet chip: string = null;\nlet esploader: ESPLoader;\n\nconst fileArray = [];\n\ndisconnectButton.style.display = \"none\";\ntraceButton.style.display = \"none\";\neraseButton.style.display = \"none\";\nresetButton.style.display = \"none\";\nfilesDiv.style.display = \"none\";\n\nconst espLoaderTerminal = {\n clean() {\n term.clear();\n },\n writeLine(data) {\n term.writeln(data);\n },\n write(data) {\n term.write(data);\n },\n};\n\nfunction cleanUp() {\n device = null;\n transport = null;\n chip = null;\n}\n\ntraceButton.onclick = async () => {\n if (transport) {\n transport.returnTrace();\n }\n};\n\nresetButton.onclick = async () => {\n if (transport) {\n await transport.setDTR(false);\n await new Promise((resolve) => setTimeout(resolve, 100));\n await transport.setDTR(true);\n }\n};\n\neraseButton.onclick = async () => {\n eraseButton.disabled = true;\n try {\n await esploader.eraseFlash();\n } catch (e) {\n console.error(e);\n term.writeln(`Error: ${e.message}`);\n } finally {\n eraseButton.disabled = false;\n }\n};\n\nconnectButton.onclick = async () => {\n if (device === null) {\n device = await navigator.serial.requestPort({});\n transport = new Transport(device, true);\n }\n\n try {\n const flashOptions = {\n transport,\n baudrate: parseInt(baudrates.value),\n terminal: espLoaderTerminal,\n } as LoaderOptions;\n esploader = new ESPLoader(flashOptions);\n\n lblBaudrate.style.display = \"none\";\n baudrates.style.display = \"none\";\n connectButton.style.display = \"none\";\n\n chip = await esploader.main();\n\n if(!chip.startsWith(\"ESP32-C6\")){\n term.writeln(\"Error! Wrong chip connected. Expected is ESP32-C6\");\n await transport.disconnect();\n cleanUp();\n lblBaudrate.style.display = \"initial\";\n baudrates.style.display = \"initial\";\n connectButton.style.display = \"initial\";\n return;\n }\n } catch (e) {\n console.error(e);\n term.writeln(\"\");\n term.writeln(`Error: ${e.message}`);\n await transport.disconnect();\n cleanUp();\n lblBaudrate.style.display = \"initial\";\n baudrates.style.display = \"initial\";\n connectButton.style.display = \"initial\";\n return;\n }\n\n console.log(\"Settings done for :\" + chip);\n lblBaudrate.style.display = \"none\";\n baudrates.style.display = \"none\";\n lblConnTo.innerHTML = \"Connected to device: \" + chip;\n lblConnTo.style.display = \"block\";\n connectButton.style.display = \"none\";\n disconnectButton.style.display = \"initial\";\n traceButton.style.display = \"initial\";\n eraseButton.style.display = \"initial\";\n filesDiv.style.display = \"initial\";\n};\n\ndisconnectButton.onclick = async () => {\n if (transport) await transport.disconnect();\n\n term.reset();\n lblBaudrate.style.display = \"initial\";\n baudrates.style.display = \"initial\";\n connectButton.style.display = \"initial\";\n disconnectButton.style.display = \"none\";\n traceButton.style.display = \"none\";\n eraseButton.style.display = \"none\";\n lblConnTo.style.display = \"none\";\n filesDiv.style.display = \"none\";\n programButton.style.display = \"initial\";\n resetButton.style.display = \"none\";\n for (let index = 1; index < table.rows.length; index++) {\n table.rows[index].cells[3].childNodes[0].value = \"0\";\n }\n cleanUp();\n};\n\nprogramButton.onclick = async () => {\n const progressBars = [];\n\n for (let index = 1; index < table.rows.length; index++) {\n const row = table.rows[index];\n const progressBar = row.cells[3].childNodes[0];\n\n progressBar.textContent = \"0\";\n progressBars.push(progressBar);\n }\n\n try {\n const flashOptions: FlashOptions = {\n fileArray: fileArray,\n eraseAll: false,\n compress: true,\n flashSize: \"keep\",\n flashFreq: \"80MHz\",\n flashMode: \"DIO\",\n reportProgress: (fileIndex, written, total) => {\n progressBars[fileIndex].value = (written / total) * 100;\n },\n calculateMD5Hash: (image) => CryptoJS.MD5(CryptoJS.enc.Latin1.parse(image)),\n } as FlashOptions;\n programButton.style.display = \"none\";\n eraseButton.style.display = \"none\";\n await esploader.writeFlash(flashOptions);\n } catch (e) {\n console.error(e);\n programButton.style.display = \"initial\";\n term.writeln(`Error: ${e.message}`);\n } finally {\n // Switch to console\n await transport.disconnect();\n await transport.connect(115200);\n await transport.setDTR(false);\n await new Promise((resolve) => setTimeout(resolve, 100));\n await transport.setDTR(true);\n resetButton.style.display = \"initial\";\n while (true) {\n const val = await transport.rawRead();\n if (typeof val !== \"undefined\") {\n term.write(val);\n } else {\n console.log(\"Leaving monitor\");\n break;\n }\n }\n }\n};\n\n// addFileButton.onclick = () => {\nfunction addFileRow(addr, path, size) {\n const rowCount = table.rows.length;\n const row = table.insertRow(rowCount);\n\n //Column 1 - Offset\n const cell1 = row.insertCell(0);\n const element1 = document.createElement(\"span\");\n element1.innerHTML = addr;\n cell1.appendChild(element1);\n\n // Column 2 - File selector\n const cell2 = row.insertCell(1);\n const element2 = document.createElement(\"span\");\n element2.innerHTML = path;\n cell2.appendChild(element2);\n\n // Column 3 - File Size\n const cell3 = row.insertCell(2);\n const element3 = document.createElement(\"span\");\n element3.innerHTML = size+\" B\";\n cell3.appendChild(element3);\n\n // Column 4 - Progress\n const cell4 = row.insertCell(3);\n cell4.classList.add(\"progress-cell\");\n cell4.innerHTML = `<progress value=\"0\" max=\"100\" style=\"width:100%\"'></progress>`;\n};\n\nfunction addFileForFlashing(outArray, addr, path) {\n console.log(\"load\", addr, path);\n var request = new XMLHttpRequest();\n request.open('GET', path, true);\n request.responseType = 'blob';\n request.onload = function() {\n console.log(\"blob\", addr, path, request.response);\n var size = request.response.size;\n var reader = new FileReader();\n reader.onload = function(e){\n outArray.push({ data: e.target.result, address: parseInt(addr) });\n console.log(\"push\", addr, path);\n addFileRow(addr, path, size);\n };\n reader.readAsBinaryString(request.response);\n };\n request.send();\n}\n\naddFileForFlashing(fileArray, \"0x0\", \"bootloader.bin\");\naddFileForFlashing(fileArray, \"0x8000\", \"partition-table.bin\");\naddFileForFlashing(fileArray, \"0xd000\", \"ota_data_initial.bin\");\naddFileForFlashing(fileArray, \"0x10000\", \"network_adapter.bin\");\n","class A extends Error{}\n/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */function t(A){let t=A.length;for(;--t>=0;)A[t]=0}const e=256,i=286,s=30,a=15,n=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),E=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),h=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),r=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),g=new Array(576);t(g);const o=new Array(60);t(o);const B=new Array(512);t(B);const w=new Array(256);t(w);const c=new Array(29);t(c);const C=new Array(s);function I(A,t,e,i,s){this.static_tree=A,this.extra_bits=t,this.extra_base=e,this.elems=i,this.max_length=s,this.has_stree=A&&A.length}let _,l,d;function M(A,t){this.dyn_tree=A,this.max_code=0,this.stat_desc=t}t(C);const D=A=>A<256?B[A]:B[256+(A>>>7)],R=(A,t)=>{A.pending_buf[A.pending++]=255&t,A.pending_buf[A.pending++]=t>>>8&255},S=(A,t,e)=>{A.bi_valid>16-e?(A.bi_buf|=t<<A.bi_valid&65535,R(A,A.bi_buf),A.bi_buf=t>>16-A.bi_valid,A.bi_valid+=e-16):(A.bi_buf|=t<<A.bi_valid&65535,A.bi_valid+=e)},Q=(A,t,e)=>{S(A,e[2*t],e[2*t+1])},f=(A,t)=>{let e=0;do{e|=1&A,A>>>=1,e<<=1}while(--t>0);return e>>>1},F=(A,t,e)=>{const i=new Array(16);let s,n,E=0;for(s=1;s<=a;s++)E=E+e[s-1]<<1,i[s]=E;for(n=0;n<=t;n++){let t=A[2*n+1];0!==t&&(A[2*n]=f(i[t]++,t))}},T=A=>{let t;for(t=0;t<i;t++)A.dyn_ltree[2*t]=0;for(t=0;t<s;t++)A.dyn_dtree[2*t]=0;for(t=0;t<19;t++)A.bl_tree[2*t]=0;A.dyn_ltree[512]=1,A.opt_len=A.static_len=0,A.sym_next=A.matches=0},u=A=>{A.bi_valid>8?R(A,A.bi_buf):A.bi_valid>0&&(A.pending_buf[A.pending++]=A.bi_buf),A.bi_buf=0,A.bi_valid=0},p=(A,t,e,i)=>{const s=2*t,a=2*e;return A[s]<A[a]||A[s]===A[a]&&i[t]<=i[e]},y=(A,t,e)=>{const i=A.heap[e];let s=e<<1;for(;s<=A.heap_len&&(s<A.heap_len&&p(t,A.heap[s+1],A.heap[s],A.depth)&&s++,!p(t,i,A.heap[s],A.depth));)A.heap[e]=A.heap[s],e=s,s<<=1;A.heap[e]=i},k=(A,t,i)=>{let s,a,h,r,g=0;if(0!==A.sym_next)do{s=255&A.pending_buf[A.sym_buf+g++],s+=(255&A.pending_buf[A.sym_buf+g++])<<8,a=A.pending_buf[A.sym_buf+g++],0===s?Q(A,a,t):(h=w[a],Q(A,h+e+1,t),r=n[h],0!==r&&(a-=c[h],S(A,a,r)),s--,h=D(s),Q(A,h,i),r=E[h],0!==r&&(s-=C[h],S(A,s,r)))}while(g<A.sym_next);Q(A,256,t)},H=(A,t)=>{const e=t.dyn_tree,i=t.stat_desc.static_tree,s=t.stat_desc.has_stree,n=t.stat_desc.elems;let E,h,r,g=-1;for(A.heap_len=0,A.heap_max=573,E=0;E<n;E++)0!==e[2*E]?(A.heap[++A.heap_len]=g=E,A.depth[E]=0):e[2*E+1]=0;for(;A.heap_len<2;)r=A.heap[++A.heap_len]=g<2?++g:0,e[2*r]=1,A.depth[r]=0,A.opt_len--,s&&(A.static_len-=i[2*r+1]);for(t.max_code=g,E=A.heap_len>>1;E>=1;E--)y(A,e,E);r=n;do{E=A.heap[1],A.heap[1]=A.heap[A.heap_len--],y(A,e,1),h=A.heap[1],A.heap[--A.heap_max]=E,A.heap[--A.heap_max]=h,e[2*r]=e[2*E]+e[2*h],A.depth[r]=(A.depth[E]>=A.depth[h]?A.depth[E]:A.depth[h])+1,e[2*E+1]=e[2*h+1]=r,A.heap[1]=r++,y(A,e,1)}while(A.heap_len>=2);A.heap[--A.heap_max]=A.heap[1],((A,t)=>{const e=t.dyn_tree,i=t.max_code,s=t.stat_desc.static_tree,n=t.stat_desc.has_stree,E=t.stat_desc.extra_bits,h=t.stat_desc.extra_base,r=t.stat_desc.max_length;let g,o,B,w,c,C,I=0;for(w=0;w<=a;w++)A.bl_count[w]=0;for(e[2*A.heap[A.heap_max]+1]=0,g=A.heap_max+1;g<573;g++)o=A.heap[g],w=e[2*e[2*o+1]+1]+1,w>r&&(w=r,I++),e[2*o+1]=w,o>i||(A.bl_count[w]++,c=0,o>=h&&(c=E[o-h]),C=e[2*o],A.opt_len+=C*(w+c),n&&(A.static_len+=C*(s[2*o+1]+c)));if(0!==I){do{for(w=r-1;0===A.bl_count[w];)w--;A.bl_count[w]--,A.bl_count[w+1]+=2,A.bl_count[r]--,I-=2}while(I>0);for(w=r;0!==w;w--)for(o=A.bl_count[w];0!==o;)B=A.heap[--g],B>i||(e[2*B+1]!==w&&(A.opt_len+=(w-e[2*B+1])*e[2*B],e[2*B+1]=w),o--)}})(A,t),F(e,g,A.bl_count)},P=(A,t,e)=>{let i,s,a=-1,n=t[1],E=0,h=7,r=4;for(0===n&&(h=138,r=3),t[2*(e+1)+1]=65535,i=0;i<=e;i++)s=n,n=t[2*(i+1)+1],++E<h&&s===n||(E<r?A.bl_tree[2*s]+=E:0!==s?(s!==a&&A.bl_tree[2*s]++,A.bl_tree[32]++):E<=10?A.bl_tree[34]++:A.bl_tree[36]++,E=0,a=s,0===n?(h=138,r=3):s===n?(h=6,r=3):(h=7,r=4))},O=(A,t,e)=>{let i,s,a=-1,n=t[1],E=0,h=7,r=4;for(0===n&&(h=138,r=3),i=0;i<=e;i++)if(s=n,n=t[2*(i+1)+1],!(++E<h&&s===n)){if(E<r)do{Q(A,s,A.bl_tree)}while(0!=--E);else 0!==s?(s!==a&&(Q(A,s,A.bl_tree),E--),Q(A,16,A.bl_tree),S(A,E-3,2)):E<=10?(Q(A,17,A.bl_tree),S(A,E-3,3)):(Q(A,18,A.bl_tree),S(A,E-11,7));E=0,a=s,0===n?(h=138,r=3):s===n?(h=6,r=3):(h=7,r=4)}};let U=!1;const G=(A,t,e,i)=>{S(A,0+(i?1:0),3),u(A),R(A,e),R(A,~e),e&&A.pending_buf.set(A.window.subarray(t,t+e),A.pending),A.pending+=e};var m=(A,t,i,s)=>{let a,n,E=0;A.level>0?(2===A.strm.data_type&&(A.strm.data_type=(A=>{let t,i=4093624447;for(t=0;t<=31;t++,i>>>=1)if(1&i&&0!==A.dyn_ltree[2*t])return 0;if(0!==A.dyn_ltree[18]||0!==A.dyn_ltree[20]||0!==A.dyn_ltree[26])return 1;for(t=32;t<e;t++)if(0!==A.dyn_ltree[2*t])return 1;return 0})(A)),H(A,A.l_desc),H(A,A.d_desc),E=(A=>{let t;for(P(A,A.dyn_ltree,A.l_desc.max_code),P(A,A.dyn_dtree,A.d_desc.max_code),H(A,A.bl_desc),t=18;t>=3&&0===A.bl_tree[2*r[t]+1];t--);return A.opt_len+=3*(t+1)+5+5+4,t})(A),a=A.opt_len+3+7>>>3,n=A.static_len+3+7>>>3,n<=a&&(a=n)):a=n=i+5,i+4<=a&&-1!==t?G(A,t,i,s):4===A.strategy||n===a?(S(A,2+(s?1:0),3),k(A,g,o)):(S(A,4+(s?1:0),3),((A,t,e,i)=>{let s;for(S(A,t-257,5),S(A,e-1,5),S(A,i-4,4),s=0;s<i;s++)S(A,A.bl_tree[2*r[s]+1],3);O(A,A.dyn_ltree,t-1),O(A,A.dyn_dtree,e-1)})(A,A.l_desc.max_code+1,A.d_desc.max_code+1,E+1),k(A,A.dyn_ltree,A.dyn_dtree)),T(A),s&&u(A)},Y={_tr_init:A=>{U||((()=>{let A,t,e,r,M;const D=new Array(16);for(e=0,r=0;r<28;r++)for(c[r]=e,A=0;A<1<<n[r];A++)w[e++]=r;for(w[e-1]=r,M=0,r=0;r<16;r++)for(C[r]=M,A=0;A<1<<E[r];A++)B[M++]=r;for(M>>=7;r<s;r++)for(C[r]=M<<7,A=0;A<1<<E[r]-7;A++)B[256+M++]=r;for(t=0;t<=a;t++)D[t]=0;for(A=0;A<=143;)g[2*A+1]=8,A++,D[8]++;for(;A<=255;)g[2*A+1]=9,A++,D[9]++;for(;A<=279;)g[2*A+1]=7,A++,D[7]++;for(;A<=287;)g[2*A+1]=8,A++,D[8]++;for(F(g,287,D),A=0;A<s;A++)o[2*A+1]=5,o[2*A]=f(A,5);_=new I(g,n,257,i,a),l=new I(o,E,0,s,a),d=new I(new Array(0),h,0,19,7)})(),U=!0),A.l_desc=new M(A.dyn_ltree,_),A.d_desc=new M(A.dyn_dtree,l),A.bl_desc=new M(A.bl_tree,d),A.bi_buf=0,A.bi_valid=0,T(A)},_tr_stored_block:G,_tr_flush_block:m,_tr_tally:(A,t,i)=>(A.pending_buf[A.sym_buf+A.sym_next++]=t,A.pending_buf[A.sym_buf+A.sym_next++]=t>>8,A.pending_buf[A.sym_buf+A.sym_next++]=i,0===t?A.dyn_ltree[2*i]++:(A.matches++,t--,A.dyn_ltree[2*(w[i]+e+1)]++,A.dyn_dtree[2*D(t)]++),A.sym_next===A.sym_end),_tr_align:A=>{S(A,2,3),Q(A,256,g),(A=>{16===A.bi_valid?(R(A,A.bi_buf),A.bi_buf=0,A.bi_valid=0):A.bi_valid>=8&&(A.pending_buf[A.pending++]=255&A.bi_buf,A.bi_buf>>=8,A.bi_valid-=8)})(A)}};var b=(A,t,e,i)=>{let s=65535&A|0,a=A>>>16&65535|0,n=0;for(;0!==e;){n=e>2e3?2e3:e,e-=n;do{s=s+t[i++]|0,a=a+s|0}while(--n);s%=65521,a%=65521}return s|a<<16|0};const K=new Uint32Array((()=>{let A,t=[];for(var e=0;e<256;e++){A=e;for(var i=0;i<8;i++)A=1&A?3988292384^A>>>1:A>>>1;t[e]=A}return t})());var x=(A,t,e,i)=>{const s=K,a=i+e;A^=-1;for(let e=i;e<a;e++)A=A>>>8^s[255&(A^t[e])];return-1^A},L={2:\"need dictionary\",1:\"stream end\",0:\"\",\"-1\":\"file error\",\"-2\":\"stream error\",\"-3\":\"data error\",\"-4\":\"insufficient memory\",\"-5\":\"buffer error\",\"-6\":\"incompatible version\"},J={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:z,_tr_stored_block:N,_tr_flush_block:v,_tr_tally:j,_tr_align:Z}=Y,{Z_NO_FLUSH:W,Z_PARTIAL_FLUSH:X,Z_FULL_FLUSH:q,Z_FINISH:V,Z_BLOCK:$,Z_OK:AA,Z_STREAM_END:tA,Z_STREAM_ERROR:eA,Z_DATA_ERROR:iA,Z_BUF_ERROR:sA,Z_DEFAULT_COMPRESSION:aA,Z_FILTERED:nA,Z_HUFFMAN_ONLY:EA,Z_RLE:hA,Z_FIXED:rA,Z_DEFAULT_STRATEGY:gA,Z_UNKNOWN:oA,Z_DEFLATED:BA}=J,wA=258,cA=262,CA=42,IA=113,_A=666,lA=(A,t)=>(A.msg=L[t],t),dA=A=>2*A-(A>4?9:0),MA=A=>{let t=A.length;for(;--t>=0;)A[t]=0},DA=A=>{let t,e,i,s=A.w_size;t=A.hash_size,i=t;do{e=A.head[--i],A.head[i]=e>=s?e-s:0}while(--t);t=s,i=t;do{e=A.prev[--i],A.prev[i]=e>=s?e-s:0}while(--t)};let RA=(A,t,e)=>(t<<A.hash_shift^e)&A.hash_mask;const SA=A=>{const t=A.state;let e=t.pending;e>A.avail_out&&(e=A.avail_out),0!==e&&(A.output.set(t.pending_buf.subarray(t.pending_out,t.pending_out+e),A.next_out),A.next_out+=e,t.pending_out+=e,A.total_out+=e,A.avail_out-=e,t.pending-=e,0===t.pending&&(t.pending_out=0))},QA=(A,t)=>{v(A,A.block_start>=0?A.block_start:-1,A.strstart-A.block_start,t),A.block_start=A.strstart,SA(A.strm)},fA=(A,t)=>{A.pending_buf[A.pending++]=t},FA=(A,t)=>{A.pending_buf[A.pending++]=t>>>8&255,A.pending_buf[A.pending++]=255&t},TA=(A,t,e,i)=>{let s=A.avail_in;return s>i&&(s=i),0===s?0:(A.avail_in-=s,t.set(A.input.subarray(A.next_in,A.next_in+s),e),1===A.state.wrap?A.adler=b(A.adler,t,s,e):2===A.state.wrap&&(A.adler=x(A.adler,t,s,e)),A.next_in+=s,A.total_in+=s,s)},uA=(A,t)=>{let e,i,s=A.max_chain_length,a=A.strstart,n=A.prev_length,E=A.nice_match;const h=A.strstart>A.w_size-cA?A.strstart-(A.w_size-cA):0,r=A.window,g=A.w_mask,o=A.prev,B=A.strstart+wA;let w=r[a+n-1],c=r[a+n];A.prev_length>=A.good_match&&(s>>=2),E>A.lookahead&&(E=A.lookahead);do{if(e=t,r[e+n]===c&&r[e+n-1]===w&&r[e]===r[a]&&r[++e]===r[a+1]){a+=2,e++;do{}while(r[++a]===r[++e]&&r[++a]===r[++e]&&r[++a]===r[++e]&&r[++a]===r[++e]&&r[++a]===r[++e]&&r[++a]===r[++e]&&r[++a]===r[++e]&&r[++a]===r[++e]&&a<B);if(i=wA-(B-a),a=B-wA,i>n){if(A.match_start=t,n=i,i>=E)break;w=r[a+n-1],c=r[a+n]}}}while((t=o[t&g])>h&&0!=--s);return n<=A.lookahead?n:A.lookahead},pA=A=>{const t=A.w_size;let e,i,s;do{if(i=A.window_size-A.lookahead-A.strstart,A.strstart>=t+(t-cA)&&(A.window.set(A.window.subarray(t,t+t-i),0),A.match_start-=t,A.strstart-=t,A.block_start-=t,A.insert>A.strstart&&(A.insert=A.strstart),DA(A),i+=t),0===A.strm.avail_in)break;if(e=TA(A.strm,A.window,A.strstart+A.lookahead,i),A.lookahead+=e,A.lookahead+A.insert>=3)for(s=A.strstart-A.insert,A.ins_h=A.window[s],A.ins_h=RA(A,A.ins_h,A.window[s+1]);A.insert&&(A.ins_h=RA(A,A.ins_h,A.window[s+3-1]),A.prev[s&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=s,s++,A.insert--,!(A.lookahead+A.insert<3)););}while(A.lookahead<cA&&0!==A.strm.avail_in)},yA=(A,t)=>{let e,i,s,a=A.pending_buf_size-5>A.w_size?A.w_size:A.pending_buf_size-5,n=0,E=A.strm.avail_in;do{if(e=65535,s=A.bi_valid+42>>3,A.strm.avail_out<s)break;if(s=A.strm.avail_out-s,i=A.strstart-A.block_start,e>i+A.strm.avail_in&&(e=i+A.strm.avail_in),e>s&&(e=s),e<a&&(0===e&&t!==V||t===W||e!==i+A.strm.avail_in))break;n=t===V&&e===i+A.strm.avail_in?1:0,N(A,0,0,n),A.pending_buf[A.pending-4]=e,A.pending_buf[A.pending-3]=e>>8,A.pending_buf[A.pending-2]=~e,A.pending_buf[A.pending-1]=~e>>8,SA(A.strm),i&&(i>e&&(i=e),A.strm.output.set(A.window.subarray(A.block_start,A.block_start+i),A.strm.next_out),A.strm.next_out+=i,A.strm.avail_out-=i,A.strm.total_out+=i,A.block_start+=i,e-=i),e&&(TA(A.strm,A.strm.output,A.strm.next_out,e),A.strm.next_out+=e,A.strm.avail_out-=e,A.strm.total_out+=e)}while(0===n);return E-=A.strm.avail_in,E&&(E>=A.w_size?(A.matches=2,A.window.set(A.strm.input.subarray(A.strm.next_in-A.w_size,A.strm.next_in),0),A.strstart=A.w_size,A.insert=A.strstart):(A.window_size-A.strstart<=E&&(A.strstart-=A.w_size,A.window.set(A.window.subarray(A.w_size,A.w_size+A.strstart),0),A.matches<2&&A.matches++,A.insert>A.strstart&&(A.insert=A.strstart)),A.window.set(A.strm.input.subarray(A.strm.next_in-E,A.strm.next_in),A.strstart),A.strstart+=E,A.insert+=E>A.w_size-A.insert?A.w_size-A.insert:E),A.block_start=A.strstart),A.high_water<A.strstart&&(A.high_water=A.strstart),n?4:t!==W&&t!==V&&0===A.strm.avail_in&&A.strstart===A.block_start?2:(s=A.window_size-A.strstart,A.strm.avail_in>s&&A.block_start>=A.w_size&&(A.block_start-=A.w_size,A.strstart-=A.w_size,A.window.set(A.window.subarray(A.w_size,A.w_size+A.strstart),0),A.matches<2&&A.matches++,s+=A.w_size,A.insert>A.strstart&&(A.insert=A.strstart)),s>A.strm.avail_in&&(s=A.strm.avail_in),s&&(TA(A.strm,A.window,A.strstart,s),A.strstart+=s,A.insert+=s>A.w_size-A.insert?A.w_size-A.insert:s),A.high_water<A.strstart&&(A.high_water=A.strstart),s=A.bi_valid+42>>3,s=A.pending_buf_size-s>65535?65535:A.pending_buf_size-s,a=s>A.w_size?A.w_size:s,i=A.strstart-A.block_start,(i>=a||(i||t===V)&&t!==W&&0===A.strm.avail_in&&i<=s)&&(e=i>s?s:i,n=t===V&&0===A.strm.avail_in&&e===i?1:0,N(A,A.block_start,e,n),A.block_start+=e,SA(A.strm)),n?3:1)},kA=(A,t)=>{let e,i;for(;;){if(A.lookahead<cA){if(pA(A),A.lookahead<cA&&t===W)return 1;if(0===A.lookahead)break}if(e=0,A.lookahead>=3&&(A.ins_h=RA(A,A.ins_h,A.window[A.strstart+3-1]),e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart),0!==e&&A.strstart-e<=A.w_size-cA&&(A.match_length=uA(A,e)),A.match_length>=3)if(i=j(A,A.strstart-A.match_start,A.match_length-3),A.lookahead-=A.match_length,A.match_length<=A.max_lazy_match&&A.lookahead>=3){A.match_length--;do{A.strstart++,A.ins_h=RA(A,A.ins_h,A.window[A.strstart+3-1]),e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart}while(0!=--A.match_length);A.strstart++}else A.strstart+=A.match_length,A.match_length=0,A.ins_h=A.window[A.strstart],A.ins_h=RA(A,A.ins_h,A.window[A.strstart+1]);else i=j(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++;if(i&&(QA(A,!1),0===A.strm.avail_out))return 1}return A.insert=A.strstart<2?A.strstart:2,t===V?(QA(A,!0),0===A.strm.avail_out?3:4):A.sym_next&&(QA(A,!1),0===A.strm.avail_out)?1:2},HA=(A,t)=>{let e,i,s;for(;;){if(A.lookahead<cA){if(pA(A),A.lookahead<cA&&t===W)return 1;if(0===A.lookahead)break}if(e=0,A.lookahead>=3&&(A.ins_h=RA(A,A.ins_h,A.window[A.strstart+3-1]),e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart),A.prev_length=A.match_length,A.prev_match=A.match_start,A.match_length=2,0!==e&&A.prev_length<A.max_lazy_match&&A.strstart-e<=A.w_size-cA&&(A.match_length=uA(A,e),A.match_length<=5&&(A.strategy===nA||3===A.match_length&&A.strstart-A.match_start>4096)&&(A.match_length=2)),A.prev_length>=3&&A.match_length<=A.prev_length){s=A.strstart+A.lookahead-3,i=j(A,A.strstart-1-A.prev_match,A.prev_length-3),A.lookahead-=A.prev_length-1,A.prev_length-=2;do{++A.strstart<=s&&(A.ins_h=RA(A,A.ins_h,A.window[A.strstart+3-1]),e=A.prev[A.strstart&A.w_mask]=A.head[A.ins_h],A.head[A.ins_h]=A.strstart)}while(0!=--A.prev_length);if(A.match_available=0,A.match_length=2,A.strstart++,i&&(QA(A,!1),0===A.strm.avail_out))return 1}else if(A.match_available){if(i=j(A,0,A.window[A.strstart-1]),i&&QA(A,!1),A.strstart++,A.lookahead--,0===A.strm.avail_out)return 1}else A.match_available=1,A.strstart++,A.lookahead--}return A.match_available&&(i=j(A,0,A.window[A.strstart-1]),A.match_available=0),A.insert=A.strstart<2?A.strstart:2,t===V?(QA(A,!0),0===A.strm.avail_out?3:4):A.sym_next&&(QA(A,!1),0===A.strm.avail_out)?1:2};function PA(A,t,e,i,s){this.good_length=A,this.max_lazy=t,this.nice_length=e,this.max_chain=i,this.func=s}const OA=[new PA(0,0,0,0,yA),new PA(4,4,8,4,kA),new PA(4,5,16,8,kA),new PA(4,6,32,32,kA),new PA(4,4,16,16,HA),new PA(8,16,32,32,HA),new PA(8,16,128,128,HA),new PA(8,32,128,256,HA),new PA(32,128,258,1024,HA),new PA(32,258,258,4096,HA)];function UA(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=BA,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),MA(this.dyn_ltree),MA(this.dyn_dtree),MA(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),MA(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),MA(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const GA=A=>{if(!A)return 1;const t=A.state;return!t||t.strm!==A||t.status!==CA&&57!==t.status&&69!==t.status&&73!==t.status&&91!==t.status&&103!==t.status&&t.status!==IA&&t.status!==_A?1:0},mA=A=>{if(GA(A))return lA(A,eA);A.total_in=A.total_out=0,A.data_type=oA;const t=A.state;return t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=2===t.wrap?57:t.wrap?CA:IA,A.adler=2===t.wrap?0:1,t.last_flush=-2,z(t),AA},YA=A=>{const t=mA(A);var e;return t===AA&&((e=A.state).window_size=2*e.w_size,MA(e.head),e.max_lazy_match=OA[e.level].max_lazy,e.good_match=OA[e.level].good_length,e.nice_match=OA[e.level].nice_length,e.max_chain_length=OA[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=2,e.match_available=0,e.ins_h=0),t},bA=(A,t,e,i,s,a)=>{if(!A)return eA;let n=1;if(t===aA&&(t=6),i<0?(n=0,i=-i):i>15&&(n=2,i-=16),s<1||s>9||e!==BA||i<8||i>15||t<0||t>9||a<0||a>rA||8===i&&1!==n)return lA(A,eA);8===i&&(i=9);const E=new UA;return A.state=E,E.strm=A,E.status=CA,E.wrap=n,E.gzhead=null,E.w_bits=i,E.w_size=1<<E.w_bits,E.w_mask=E.w_size-1,E.hash_bits=s+7,E.hash_size=1<<E.hash_bits,E.hash_mask=E.hash_size-1,E.hash_shift=~~((E.hash_bits+3-1)/3),E.window=new Uint8Array(2*E.w_size),E.head=new Uint16Array(E.hash_size),E.prev=new Uint16Array(E.w_size),E.lit_bufsize=1<<s+6,E.pending_buf_size=4*E.lit_bufsize,E.pending_buf=new Uint8Array(E.pending_buf_size),E.sym_buf=E.lit_bufsize,E.sym_end=3*(E.lit_bufsize-1),E.level=t,E.strategy=a,E.method=e,YA(A)};var KA={deflateInit:(A,t)=>bA(A,t,BA,15,8,gA),deflateInit2:bA,deflateReset:YA,deflateResetKeep:mA,deflateSetHeader:(A,t)=>GA(A)||2!==A.state.wrap?eA:(A.state.gzhead=t,AA),deflate:(A,t)=>{if(GA(A)||t>$||t<0)return A?lA(A,eA):eA;const e=A.state;if(!A.output||0!==A.avail_in&&!A.input||e.status===_A&&t!==V)return lA(A,0===A.avail_out?sA:eA);const i=e.last_flush;if(e.last_flush=t,0!==e.pending){if(SA(A),0===A.avail_out)return e.last_flush=-1,AA}else if(0===A.avail_in&&dA(t)<=dA(i)&&t!==V)return lA(A,sA);if(e.status===_A&&0!==A.avail_in)return lA(A,sA);if(e.status===CA&&0===e.wrap&&(e.status=IA),e.status===CA){let t=BA+(e.w_bits-8<<4)<<8,i=-1;if(i=e.strategy>=EA||e.level<2?0:e.level<6?1:6===e.level?2:3,t|=i<<6,0!==e.strstart&&(t|=32),t+=31-t%31,FA(e,t),0!==e.strstart&&(FA(e,A.adler>>>16),FA(e,65535&A.adler)),A.adler=1,e.status=IA,SA(A),0!==e.pending)return e.last_flush=-1,AA}if(57===e.status)if(A.adler=0,fA(e,31),fA(e,139),fA(e,8),e.gzhead)fA(e,(e.gzhead.text?1:0)+(e.gzhead.hcrc?2:0)+(e.gzhead.extra?4:0)+(e.gzhead.name?8:0)+(e.gzhead.comment?16:0)),fA(e,255&e.gzhead.time),fA(e,e.gzhead.time>>8&255),fA(e,e.gzhead.time>>16&255),fA(e,e.gzhead.time>>24&255),fA(e,9===e.level?2:e.strategy>=EA||e.level<2?4:0),fA(e,255&e.gzhead.os),e.gzhead.extra&&e.gzhead.extra.length&&(fA(e,255&e.gzhead.extra.length),fA(e,e.gzhead.extra.length>>8&255)),e.gzhead.hcrc&&(A.adler=x(A.adler,e.pending_buf,e.pending,0)),e.gzindex=0,e.status=69;else if(fA(e,0),fA(e,0),fA(e,0),fA(e,0),fA(e,0),fA(e,9===e.level?2:e.strategy>=EA||e.level<2?4:0),fA(e,3),e.status=IA,SA(A),0!==e.pending)return e.last_flush=-1,AA;if(69===e.status){if(e.gzhead.extra){let t=e.pending,i=(65535&e.gzhead.extra.length)-e.gzindex;for(;e.pending+i>e.pending_buf_size;){let s=e.pending_buf_size-e.pending;if(e.pending_buf.set(e.gzhead.extra.subarray(e.gzindex,e.gzindex+s),e.pending),e.pending=e.pending_buf_size,e.gzhead.hcrc&&e.pending>t&&(A.adler=x(A.adler,e.pending_buf,e.pending-t,t)),e.gzindex+=s,SA(A),0!==e.pending)return e.last_flush=-1,AA;t=0,i-=s}let s=new Uint8Array(e.gzhead.extra);e.pending_buf.set(s.subarray(e.gzindex,e.gzindex+i),e.pending),e.pending+=i,e.gzhead.hcrc&&e.pending>t&&(A.adler=x(A.adler,e.pending_buf,e.pending-t,t)),e.gzindex=0}e.status=73}if(73===e.status){if(e.gzhead.name){let t,i=e.pending;do{if(e.pending===e.pending_buf_size){if(e.gzhead.hcrc&&e.pending>i&&(A.adler=x(A.adler,e.pending_buf,e.pending-i,i)),SA(A),0!==e.pending)return e.last_flush=-1,AA;i=0}t=e.gzindex<e.gzhead.name.length?255&e.gzhead.name.charCodeAt(e.gzindex++):0,fA(e,t)}while(0!==t);e.gzhead.hcrc&&e.pending>i&&(A.adler=x(A.adler,e.pending_buf,e.pending-i,i)),e.gzindex=0}e.status=91}if(91===e.status){if(e.gzhead.comment){let t,i=e.pending;do{if(e.pending===e.pending_buf_size){if(e.gzhead.hcrc&&e.pending>i&&(A.adler=x(A.adler,e.pending_buf,e.pending-i,i)),SA(A),0!==e.pending)return e.last_flush=-1,AA;i=0}t=e.gzindex<e.gzhead.comment.length?255&e.gzhead.comment.charCodeAt(e.gzindex++):0,fA(e,t)}while(0!==t);e.gzhead.hcrc&&e.pending>i&&(A.adler=x(A.adler,e.pending_buf,e.pending-i,i))}e.status=103}if(103===e.status){if(e.gzhead.hcrc){if(e.pending+2>e.pending_buf_size&&(SA(A),0!==e.pending))return e.last_flush=-1,AA;fA(e,255&A.adler),fA(e,A.adler>>8&255),A.adler=0}if(e.status=IA,SA(A),0!==e.pending)return e.last_flush=-1,AA}if(0!==A.avail_in||0!==e.lookahead||t!==W&&e.status!==_A){let i=0===e.level?yA(e,t):e.strategy===EA?((A,t)=>{let e;for(;;){if(0===A.lookahead&&(pA(A),0===A.lookahead)){if(t===W)return 1;break}if(A.match_length=0,e=j(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++,e&&(QA(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,t===V?(QA(A,!0),0===A.strm.avail_out?3:4):A.sym_next&&(QA(A,!1),0===A.strm.avail_out)?1:2})(e,t):e.strategy===hA?((A,t)=>{let e,i,s,a;const n=A.window;for(;;){if(A.lookahead<=wA){if(pA(A),A.lookahead<=wA&&t===W)return 1;if(0===A.lookahead)break}if(A.match_length=0,A.lookahead>=3&&A.strstart>0&&(s=A.strstart-1,i=n[s],i===n[++s]&&i===n[++s]&&i===n[++s])){a=A.strstart+wA;do{}while(i===n[++s]&&i===n[++s]&&i===n[++s]&&i===n[++s]&&i===n[++s]&&i===n[++s]&&i===n[++s]&&i===n[++s]&&s<a);A.match_length=wA-(a-s),A.match_length>A.lookahead&&(A.match_length=A.lookahead)}if(A.match_length>=3?(e=j(A,1,A.match_length-3),A.lookahead-=A.match_length,A.strstart+=A.match_length,A.match_length=0):(e=j(A,0,A.window[A.strstart]),A.lookahead--,A.strstart++),e&&(QA(A,!1),0===A.strm.avail_out))return 1}return A.insert=0,t===V?(QA(A,!0),0===A.strm.avail_out?3:4):A.sym_next&&(QA(A,!1),0===A.strm.avail_out)?1:2})(e,t):OA[e.level].func(e,t);if(3!==i&&4!==i||(e.status=_A),1===i||3===i)return 0===A.avail_out&&(e.last_flush=-1),AA;if(2===i&&(t===X?Z(e):t!==$&&(N(e,0,0,!1),t===q&&(MA(e.head),0===e.lookahead&&(e.strstart=0,e.block_start=0,e.insert=0))),SA(A),0===A.avail_out))return e.last_flush=-1,AA}return t!==V?AA:e.wrap<=0?tA:(2===e.wrap?(fA(e,255&A.adler),fA(e,A.adler>>8&255),fA(e,A.adler>>16&255),fA(e,A.adler>>24&255),fA(e,255&A.total_in),fA(e,A.total_in>>8&255),fA(e,A.total_in>>16&255),fA(e,A.total_in>>24&255)):(FA(e,A.adler>>>16),FA(e,65535&A.adler)),SA(A),e.wrap>0&&(e.wrap=-e.wrap),0!==e.pending?AA:tA)},deflateEnd:A=>{if(GA(A))return eA;const t=A.state.status;return A.state=null,t===IA?lA(A,iA):AA},deflateSetDictionary:(A,t)=>{let e=t.length;if(GA(A))return eA;const i=A.state,s=i.wrap;if(2===s||1===s&&i.status!==CA||i.lookahead)return eA;if(1===s&&(A.adler=b(A.adler,t,e,0)),i.wrap=0,e>=i.w_size){0===s&&(MA(i.head),i.strstart=0,i.block_start=0,i.insert=0);let A=new Uint8Array(i.w_size);A.set(t.subarray(e-i.w_size,e),0),t=A,e=i.w_size}const a=A.avail_in,n=A.next_in,E=A.input;for(A.avail_in=e,A.next_in=0,A.input=t,pA(i);i.lookahead>=3;){let A=i.strstart,t=i.lookahead-2;do{i.ins_h=RA(i,i.ins_h,i.window[A+3-1]),i.prev[A&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=A,A++}while(--t);i.strstart=A,i.lookahead=2,pA(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=2,i.match_available=0,A.next_in=n,A.input=E,A.avail_in=a,i.wrap=s,AA},deflateInfo:\"pako deflate (from Nodeca project)\"};const xA=(A,t)=>Object.prototype.hasOwnProperty.call(A,t);var LA={assign:function(A){const t=Array.prototype.slice.call(arguments,1);for(;t.length;){const e=t.shift();if(e){if(\"object\"!=typeof e)throw new TypeError(e+\"must be non-object\");for(const t in e)xA(e,t)&&(A[t]=e[t])}}return A},flattenChunks:A=>{let t=0;for(let e=0,i=A.length;e<i;e++)t+=A[e].length;const e=new Uint8Array(t);for(let t=0,i=0,s=A.length;t<s;t++){let s=A[t];e.set(s,i),i+=s.length}return e}};let JA=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(A){JA=!1}const zA=new Uint8Array(256);for(let A=0;A<256;A++)zA[A]=A>=252?6:A>=248?5:A>=240?4:A>=224?3:A>=192?2:1;zA[254]=zA[254]=1;var NA={string2buf:A=>{if(\"function\"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(A);let t,e,i,s,a,n=A.length,E=0;for(s=0;s<n;s++)e=A.charCodeAt(s),55296==(64512&e)&&s+1<n&&(i=A.charCodeAt(s+1),56320==(64512&i)&&(e=65536+(e-55296<<10)+(i-56320),s++)),E+=e<128?1:e<2048?2:e<65536?3:4;for(t=new Uint8Array(E),a=0,s=0;a<E;s++)e=A.charCodeAt(s),55296==(64512&e)&&s+1<n&&(i=A.charCodeAt(s+1),56320==(64512&i)&&(e=65536+(e-55296<<10)+(i-56320),s++)),e<128?t[a++]=e:e<2048?(t[a++]=192|e>>>6,t[a++]=128|63&e):e<65536?(t[a++]=224|e>>>12,t[a++]=128|e>>>6&63,t[a++]=128|63&e):(t[a++]=240|e>>>18,t[a++]=128|e>>>12&63,t[a++]=128|e>>>6&63,t[a++]=128|63&e);return t},buf2string:(A,t)=>{const e=t||A.length;if(\"function\"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(A.subarray(0,t));let i,s;const a=new Array(2*e);for(s=0,i=0;i<e;){let t=A[i++];if(t<128){a[s++]=t;continue}let n=zA[t];if(n>4)a[s++]=65533,i+=n-1;else{for(t&=2===n?31:3===n?15:7;n>1&&i<e;)t=t<<6|63&A[i++],n--;n>1?a[s++]=65533:t<65536?a[s++]=t:(t-=65536,a[s++]=55296|t>>10&1023,a[s++]=56320|1023&t)}}return((A,t)=>{if(t<65534&&A.subarray&&JA)return String.fromCharCode.apply(null,A.length===t?A:A.subarray(0,t));let e=\"\";for(let i=0;i<t;i++)e+=String.fromCharCode(A[i]);return e})(a,s)},utf8border:(A,t)=>{(t=t||A.length)>A.length&&(t=A.length);let e=t-1;for(;e>=0&&128==(192&A[e]);)e--;return e<0||0===e?t:e+zA[A[e]]>t?e:t}};var vA=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0};const jA=Object.prototype.toString,{Z_NO_FLUSH:ZA,Z_SYNC_FLUSH:WA,Z_FULL_FLUSH:XA,Z_FINISH:qA,Z_OK:VA,Z_STREAM_END:$A,Z_DEFAULT_COMPRESSION:At,Z_DEFAULT_STRATEGY:tt,Z_DEFLATED:et}=J;function it(A){this.options=LA.assign({level:At,method:et,chunkSize:16384,windowBits:15,memLevel:8,strategy:tt},A||{});let t=this.options;t.raw&&t.windowBits>0?t.windowBits=-t.windowBits:t.gzip&&t.windowBits>0&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new vA,this.strm.avail_out=0;let e=KA.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(e!==VA)throw new Error(L[e]);if(t.header&&KA.deflateSetHeader(this.strm,t.header),t.dictionary){let A;if(A=\"string\"==typeof t.dictionary?NA.string2buf(t.dictionary):\"[object ArrayBuffer]\"===jA.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,e=KA.deflateSetDictionary(this.strm,A),e!==VA)throw new Error(L[e]);this._dict_set=!0}}function st(A,t){const e=new it(t);if(e.push(A,!0),e.err)throw e.msg||L[e.err];return e.result}it.prototype.push=function(A,t){const e=this.strm,i=this.options.chunkSize;let s,a;if(this.ended)return!1;for(a=t===~~t?t:!0===t?qA:ZA,\"string\"==typeof A?e.input=NA.string2buf(A):\"[object ArrayBuffer]\"===jA.call(A)?e.input=new Uint8Array(A):e.input=A,e.next_in=0,e.avail_in=e.input.length;;)if(0===e.avail_out&&(e.output=new Uint8Array(i),e.next_out=0,e.avail_out=i),(a===WA||a===XA)&&e.avail_out<=6)this.onData(e.output.subarray(0,e.next_out)),e.avail_out=0;else{if(s=KA.deflate(e,a),s===$A)return e.next_out>0&&this.onData(e.output.subarray(0,e.next_out)),s=KA.deflateEnd(this.strm),this.onEnd(s),this.ended=!0,s===VA;if(0!==e.avail_out){if(a>0&&e.next_out>0)this.onData(e.output.subarray(0,e.next_out)),e.avail_out=0;else if(0===e.avail_in)break}else this.onData(e.output)}return!0},it.prototype.onData=function(A){this.chunks.push(A)},it.prototype.onEnd=function(A){A===VA&&(this.result=LA.flattenChunks(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg};var at={Deflate:it,deflate:st,deflateRaw:function(A,t){return(t=t||{}).raw=!0,st(A,t)},gzip:function(A,t){return(t=t||{}).gzip=!0,st(A,t)},constants:J};const nt=16209;var Et=function(A,t){let e,i,s,a,n,E,h,r,g,o,B,w,c,C,I,_,l,d,M,D,R,S,Q,f;const F=A.state;e=A.next_in,Q=A.input,i=e+(A.avail_in-5),s=A.next_out,f=A.output,a=s-(t-A.avail_out),n=s+(A.avail_out-257),E=F.dmax,h=F.wsize,r=F.whave,g=F.wnext,o=F.window,B=F.hold,w=F.bits,c=F.lencode,C=F.distcode,I=(1<<F.lenbits)-1,_=(1<<F.distbits)-1;A:do{w<15&&(B+=Q[e++]<<w,w+=8,B+=Q[e++]<<w,w+=8),l=c[B&I];t:for(;;){if(d=l>>>24,B>>>=d,w-=d,d=l>>>16&255,0===d)f[s++]=65535&l;else{if(!(16&d)){if(0==(64&d)){l=c[(65535&l)+(B&(1<<d)-1)];continue t}if(32&d){F.mode=16191;break A}A.msg=\"invalid literal/length code\",F.mode=nt;break A}M=65535&l,d&=15,d&&(w<d&&(B+=Q[e++]<<w,w+=8),M+=B&(1<<d)-1,B>>>=d,w-=d),w<15&&(B+=Q[e++]<<w,w+=8,B+=Q[e++]<<w,w+=8),l=C[B&_];e:for(;;){if(d=l>>>24,B>>>=d,w-=d,d=l>>>16&255,!(16&d)){if(0==(64&d)){l=C[(65535&l)+(B&(1<<d)-1)];continue e}A.msg=\"invalid distance code\",F.mode=nt;break A}if(D=65535&l,d&=15,w<d&&(B+=Q[e++]<<w,w+=8,w<d&&(B+=Q[e++]<<w,w+=8)),D+=B&(1<<d)-1,D>E){A.msg=\"invalid distance too far back\",F.mode=nt;break A}if(B>>>=d,w-=d,d=s-a,D>d){if(d=D-d,d>r&&F.sane){A.msg=\"invalid distance too far back\",F.mode=nt;break A}if(R=0,S=o,0===g){if(R+=h-d,d<M){M-=d;do{f[s++]=o[R++]}while(--d);R=s-D,S=f}}else if(g<d){if(R+=h+g-d,d-=g,d<M){M-=d;do{f[s++]=o[R++]}while(--d);if(R=0,g<M){d=g,M-=d;do{f[s++]=o[R++]}while(--d);R=s-D,S=f}}}else if(R+=g-d,d<M){M-=d;do{f[s++]=o[R++]}while(--d);R=s-D,S=f}for(;M>2;)f[s++]=S[R++],f[s++]=S[R++],f[s++]=S[R++],M-=3;M&&(f[s++]=S[R++],M>1&&(f[s++]=S[R++]))}else{R=s-D;do{f[s++]=f[R++],f[s++]=f[R++],f[s++]=f[R++],M-=3}while(M>2);M&&(f[s++]=f[R++],M>1&&(f[s++]=f[R++]))}break}}break}}while(e<i&&s<n);M=w>>3,e-=M,w-=M<<3,B&=(1<<w)-1,A.next_in=e,A.next_out=s,A.avail_in=e<i?i-e+5:5-(e-i),A.avail_out=s<n?n-s+257:257-(s-n),F.hold=B,F.bits=w};const ht=15,rt=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),gt=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),ot=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),Bt=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var wt=(A,t,e,i,s,a,n,E)=>{const h=E.bits;let r,g,o,B,w,c,C=0,I=0,_=0,l=0,d=0,M=0,D=0,R=0,S=0,Q=0,f=null;const F=new Uint16Array(16),T=new Uint16Array(16);let u,p,y,k=null;for(C=0;C<=ht;C++)F[C]=0;for(I=0;I<i;I++)F[t[e+I]]++;for(d=h,l=ht;l>=1&&0===F[l];l--);if(d>l&&(d=l),0===l)return s[a++]=20971520,s[a++]=20971520,E.bits=1,0;for(_=1;_<l&&0===F[_];_++);for(d<_&&(d=_),R=1,C=1;C<=ht;C++)if(R<<=1,R-=F[C],R<0)return-1;if(R>0&&(0===A||1!==l))return-1;for(T[1]=0,C=1;C<ht;C++)T[C+1]=T[C]+F[C];for(I=0;I<i;I++)0!==t[e+I]&&(n[T[t[e+I]]++]=I);if(0===A?(f=k=n,c=20):1===A?(f=rt,k=gt,c=257):(f=ot,k=Bt,c=0),Q=0,I=0,C=_,w=a,M=d,D=0,o=-1,S=1<<d,B=S-1,1===A&&S>852||2===A&&S>592)return 1;for(;;){u=C-D,n[I]+1<c?(p=0,y=n[I]):n[I]>=c?(p=k[n[I]-c],y=f[n[I]-c]):(p=96,y=0),r=1<<C-D,g=1<<M,_=g;do{g-=r,s[w+(Q>>D)+g]=u<<24|p<<16|y|0}while(0!==g);for(r=1<<C-1;Q&r;)r>>=1;if(0!==r?(Q&=r-1,Q+=r):Q=0,I++,0==--F[C]){if(C===l)break;C=t[e+n[I]]}if(C>d&&(Q&B)!==o){for(0===D&&(D=d),w+=_,M=C-D,R=1<<M;M+D<l&&(R-=F[M+D],!(R<=0));)M++,R<<=1;if(S+=1<<M,1===A&&S>852||2===A&&S>592)return 1;o=Q&B,s[o]=d<<24|M<<16|w-a|0}}return 0!==Q&&(s[w+Q]=C-D<<24|64<<16|0),E.bits=d,0};const{Z_FINISH:ct,Z_BLOCK:Ct,Z_TREES:It,Z_OK:_t,Z_STREAM_END:lt,Z_NEED_DICT:dt,Z_STREAM_ERROR:Mt,Z_DATA_ERROR:Dt,Z_MEM_ERROR:Rt,Z_BUF_ERROR:St,Z_DEFLATED:Qt}=J,ft=16180,Ft=16190,Tt=16191,ut=16192,pt=16194,yt=16199,kt=16200,Ht=16206,Pt=16209,Ot=A=>(A>>>24&255)+(A>>>8&65280)+((65280&A)<<8)+((255&A)<<24);function Ut(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const Gt=A=>{if(!A)return 1;const t=A.state;return!t||t.strm!==A||t.mode<ft||t.mode>16211?1:0},mt=A=>{if(Gt(A))return Mt;const t=A.state;return A.total_in=A.total_out=t.total=0,A.msg=\"\",t.wrap&&(A.adler=1&t.wrap),t.mode=ft,t.last=0,t.havedict=0,t.flags=-1,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new Int32Array(852),t.distcode=t.distdyn=new Int32Array(592),t.sane=1,t.back=-1,_t},Yt=A=>{if(Gt(A))return Mt;const t=A.state;return t.wsize=0,t.whave=0,t.wnext=0,mt(A)},bt=(A,t)=>{let e;if(Gt(A))return Mt;const i=A.state;return t<0?(e=0,t=-t):(e=5+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?Mt:(null!==i.window&&i.wbits!==t&&(i.window=null),i.wrap=e,i.wbits=t,Yt(A))},Kt=(A,t)=>{if(!A)return Mt;const e=new Ut;A.state=e,e.strm=A,e.window=null,e.mode=ft;const i=bt(A,t);return i!==_t&&(A.state=null),i};let xt,Lt,Jt=!0;const zt=A=>{if(Jt){xt=new Int32Array(512),Lt=new Int32Array(32);let t=0;for(;t<144;)A.lens[t++]=8;for(;t<256;)A.lens[t++]=9;for(;t<280;)A.lens[t++]=7;for(;t<288;)A.lens[t++]=8;for(wt(1,A.lens,0,288,xt,0,A.work,{bits:9}),t=0;t<32;)A.lens[t++]=5;wt(2,A.lens,0,32,Lt,0,A.work,{bits:5}),Jt=!1}A.lencode=xt,A.lenbits=9,A.distcode=Lt,A.distbits=5},Nt=(A,t,e,i)=>{let s;const a=A.state;return null===a.window&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new Uint8Array(a.wsize)),i>=a.wsize?(a.window.set(t.subarray(e-a.wsize,e),0),a.wnext=0,a.whave=a.wsize):(s=a.wsize-a.wnext,s>i&&(s=i),a.window.set(t.subarray(e-i,e-i+s),a.wnext),(i-=s)?(a.window.set(t.subarray(e-i,e),0),a.wnext=i,a.whave=a.wsize):(a.wnext+=s,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=s))),0};var vt={inflateReset:Yt,inflateReset2:bt,inflateResetKeep:mt,inflateInit:A=>Kt(A,15),inflateInit2:Kt,inflate:(A,t)=>{let e,i,s,a,n,E,h,r,g,o,B,w,c,C,I,_,l,d,M,D,R,S,Q=0;const f=new Uint8Array(4);let F,T;const u=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(Gt(A)||!A.output||!A.input&&0!==A.avail_in)return Mt;e=A.state,e.mode===Tt&&(e.mode=ut),n=A.next_out,s=A.output,h=A.avail_out,a=A.next_in,i=A.input,E=A.avail_in,r=e.hold,g=e.bits,o=E,B=h,S=_t;A:for(;;)switch(e.mode){case ft:if(0===e.wrap){e.mode=ut;break}for(;g<16;){if(0===E)break A;E--,r+=i[a++]<<g,g+=8}if(2&e.wrap&&35615===r){0===e.wbits&&(e.wbits=15),e.check=0,f[0]=255&r,f[1]=r>>>8&255,e.check=x(e.check,f,2,0),r=0,g=0,e.mode=16181;break}if(e.head&&(e.head.done=!1),!(1&e.wrap)||(((255&r)<<8)+(r>>8))%31){A.msg=\"incorrect header check\",e.mode=Pt;break}if((15&r)!==Qt){A.msg=\"unknown compression method\",e.mode=Pt;break}if(r>>>=4,g-=4,R=8+(15&r),0===e.wbits&&(e.wbits=R),R>15||R>e.wbits){A.msg=\"invalid window size\",e.mode=Pt;break}e.dmax=1<<e.wbits,e.flags=0,A.adler=e.check=1,e.mode=512&r?16189:Tt,r=0,g=0;break;case 16181:for(;g<16;){if(0===E)break A;E--,r+=i[a++]<<g,g+=8}if(e.flags=r,(255&e.flags)!==Qt){A.msg=\"unknown compression method\",e.mode=Pt;break}if(57344&e.flags){A.msg=\"unknown header flags set\",e.mode=Pt;break}e.head&&(e.head.text=r>>8&1),512&e.flags&&4&e.wrap&&(f[0]=255&r,f[1]=r>>>8&255,e.check=x(e.check,f,2,0)),r=0,g=0,e.mode=16182;case 16182:for(;g<32;){if(0===E)break A;E--,r+=i[a++]<<g,g+=8}e.head&&(e.head.time=r),512&e.flags&&4&e.wrap&&(f[0]=255&r,f[1]=r>>>8&255,f[2]=r>>>16&255,f[3]=r>>>24&255,e.check=x(e.check,f,4,0)),r=0,g=0,e.mode=16183;case 16183:for(;g<16;){if(0===E)break A;E--,r+=i[a++]<<g,g+=8}e.head&&(e.head.xflags=255&r,e.head.os=r>>8),512&e.flags&&4&e.wrap&&(f[0]=255&r,f[1]=r>>>8&255,e.check=x(e.check,f,2,0)),r=0,g=0,e.mode=16184;case 16184:if(1024&e.flags){for(;g<16;){if(0===E)break A;E--,r+=i[a++]<<g,g+=8}e.length=r,e.head&&(e.head.extra_len=r),512&e.flags&&4&e.wrap&&(f[0]=255&r,f[1]=r>>>8&255,e.check=x(e.check,f,2,0)),r=0,g=0}else e.head&&(e.head.extra=null);e.mode=16185;case 16185:if(1024&e.flags&&(w=e.length,w>E&&(w=E),w&&(e.head&&(R=e.head.extra_len-e.length,e.head.extra||(e.head.extra=new Uint8Array(e.head.extra_len)),e.head.extra.set(i.subarray(a,a+w),R)),512&e.flags&&4&e.wrap&&(e.check=x(e.check,i,w,a)),E-=w,a+=w,e.length-=w),e.length))break A;e.length=0,e.mode=16186;case 16186:if(2048&e.flags){if(0===E)break A;w=0;do{R=i[a+w++],e.head&&R&&e.length<65536&&(e.head.name+=String.fromCharCode(R))}while(R&&w<E);if(512&e.flags&&4&e.wrap&&(e.check=x(e.check,i,w,a)),E-=w,a+=w,R)break A}else e.head&&(e.head.name=null);e.length=0,e.mode=16187;case 16187:if(4096&e.flags){if(0===E)break A;w=0;do{R=i[a+w++],e.head&&R&&e.length<65536&&(e.head.comment+=String.fromCharCode(R))}while(R&&w<E);if(512&e.flags&&4&e.wrap&&(e.check=x(e.check,i,w,a)),E-=w,a+=w,R)break A}else e.head&&(e.head.comment=null);e.mode=16188;case 16188:if(512&e.flags){for(;g<16;){if(0===E)break A;E--,r+=i[a++]<<g,g+=8}if(4&e.wrap&&r!==(65535&e.check)){A.msg=\"header crc mismatch\",e.mode=Pt;break}r=0,g=0}e.head&&(e.head.hcrc=e.flags>>9&1,e.head.done=!0),A.adler=e.check=0,e.mode=Tt;break;case 16189:for(;g<32;){if(0===E)break A;E--,r+=i[a++]<<g,g+=8}A.adler=e.check=Ot(r),r=0,g=0,e.mode=Ft;case Ft:if(0===e.havedict)return A.next_out=n,A.avail_out=h,A.next_in=a,A.avail_in=E,e.hold=r,e.bits=g,dt;A.adler=e.check=1,e.mode=Tt;case Tt:if(t===Ct||t===It)break A;case ut:if(e.last){r>>>=7&g,g-=7&g,e.mode=Ht;break}for(;g<3;){if(0===E)break A;E--,r+=i[a++]<<g,g+=8}switch(e.last=1&r,r>>>=1,g-=1,3&r){case 0:e.mode=16193;break;case 1:if(zt(e),e.mode=yt,t===It){r>>>=2,g-=2;break A}break;case 2:e.mode=16196;break;case 3:A.msg=\"invalid block type\",e.mode=Pt}r>>>=2,g-=2;break;case 16193:for(r>>>=7&g,g-=7&g;g<32;){if(0===E)break A;E--,r+=i[a++]<<g,g+=8}if((65535&r)!=(r>>>16^65535)){A.msg=\"invalid stored block lengths\",e.mode=Pt;break}if(e.length=65535&r,r=0,g=0,e.mode=pt,t===It)break A;case pt:e.mode=16195;case 16195:if(w=e.length,w){if(w>E&&(w=E),w>h&&(w=h),0===w)break A;s.set(i.subarray(a,a+w),n),E-=w,a+=w,h-=w,n+=w,e.length-=w;break}e.mode=Tt;break;case 16196:for(;g<14;){if(0===E)break A;E--,r+=i[a++]<<g,g+=8}if(e.nlen=257+(31&r),r>>>=5,g-=5,e.ndist=1+(31&r),r>>>=5,g-=5,e.ncode=4+(15&r),r>>>=4,g-=4,e.nlen>286||e.ndist>30){A.msg=\"too many length or distance symbols\",e.mode=Pt;break}e.have=0,e.mode=16197;case 16197:for(;e.have<e.ncode;){for(;g<3;){if(0===E)break A;E--,r+=i[a++]<<g,g+=8}e.lens[u[e.have++]]=7&r,r>>>=3,g-=3}for(;e.have<19;)e.lens[u[e.have++]]=0;if(e.lencode=e.lendyn,e.lenbits=7,F={bits:e.lenbits},S=wt(0,e.lens,0,19,e.lencode,0,e.work,F),e.lenbits=F.bits,S){A.msg=\"invalid code lengths set\",e.mode=Pt;break}e.have=0,e.mode=16198;case 16198:for(;e.have<e.nlen+e.ndist;){for(;Q=e.lencode[r&(1<<e.lenbits)-1],I=Q>>>24,_=Q>>>16&255,l=65535&Q,!(I<=g);){if(0===E)break A;E--,r+=i[a++]<<g,g+=8}if(l<16)r>>>=I,g-=I,e.lens[e.have++]=l;else{if(16===l){for(T=I+2;g<T;){if(0===E)break A;E--,r+=i[a++]<<g,g+=8}if(r>>>=I,g-=I,0===e.have){A.msg=\"invalid bit length repeat\",e.mode=Pt;break}R=e.lens[e.have-1],w=3+(3&r),r>>>=2,g-=2}else if(17===l){for(T=I+3;g<T;){if(0===E)break A;E--,r+=i[a++]<<g,g+=8}r>>>=I,g-=I,R=0,w=3+(7&r),r>>>=3,g-=3}else{for(T=I+7;g<T;){if(0===E)break A;E--,r+=i[a++]<<g,g+=8}r>>>=I,g-=I,R=0,w=11+(127&r),r>>>=7,g-=7}if(e.have+w>e.nlen+e.ndist){A.msg=\"invalid bit length repeat\",e.mode=Pt;break}for(;w--;)e.lens[e.have++]=R}}if(e.mode===Pt)break;if(0===e.lens[256]){A.msg=\"invalid code -- missing end-of-block\",e.mode=Pt;break}if(e.lenbits=9,F={bits:e.lenbits},S=wt(1,e.lens,0,e.nlen,e.lencode,0,e.work,F),e.lenbits=F.bits,S){A.msg=\"invalid literal/lengths set\",e.mode=Pt;break}if(e.distbits=6,e.distcode=e.distdyn,F={bits:e.distbits},S=wt(2,e.lens,e.nlen,e.ndist,e.distcode,0,e.work,F),e.distbits=F.bits,S){A.msg=\"invalid distances set\",e.mode=Pt;break}if(e.mode=yt,t===It)break A;case yt:e.mode=kt;case kt:if(E>=6&&h>=258){A.next_out=n,A.avail_out=h,A.next_in=a,A.avail_in=E,e.hold=r,e.bits=g,Et(A,B),n=A.next_out,s=A.output,h=A.avail_out,a=A.next_in,i=A.input,E=A.avail_in,r=e.hold,g=e.bits,e.mode===Tt&&(e.back=-1);break}for(e.back=0;Q=e.lencode[r&(1<<e.lenbits)-1],I=Q>>>24,_=Q>>>16&255,l=65535&Q,!(I<=g);){if(0===E)break A;E--,r+=i[a++]<<g,g+=8}if(_&&0==(240&_)){for(d=I,M=_,D=l;Q=e.lencode[D+((r&(1<<d+M)-1)>>d)],I=Q>>>24,_=Q>>>16&255,l=65535&Q,!(d+I<=g);){if(0===E)break A;E--,r+=i[a++]<<g,g+=8}r>>>=d,g-=d,e.back+=d}if(r>>>=I,g-=I,e.back+=I,e.length=l,0===_){e.mode=16205;break}if(32&_){e.back=-1,e.mode=Tt;break}if(64&_){A.msg=\"invalid literal/length code\",e.mode=Pt;break}e.extra=15&_,e.mode=16201;case 16201:if(e.extra){for(T=e.extra;g<T;){if(0===E)break A;E--,r+=i[a++]<<g,g+=8}e.length+=r&(1<<e.extra)-1,r>>>=e.extra,g-=e.extra,e.back+=e.extra}e.was=e.length,e.mode=16202;case 16202:for(;Q=e.distcode[r&(1<<e.distbits)-1],I=Q>>>24,_=Q>>>16&255,l=65535&Q,!(I<=g);){if(0===E)break A;E--,r+=i[a++]<<g,g+=8}if(0==(240&_)){for(d=I,M=_,D=l;Q=e.distcode[D+((r&(1<<d+M)-1)>>d)],I=Q>>>24,_=Q>>>16&255,l=65535&Q,!(d+I<=g);){if(0===E)break A;E--,r+=i[a++]<<g,g+=8}r>>>=d,g-=d,e.back+=d}if(r>>>=I,g-=I,e.back+=I,64&_){A.msg=\"invalid distance code\",e.mode=Pt;break}e.offset=l,e.extra=15&_,e.mode=16203;case 16203:if(e.extra){for(T=e.extra;g<T;){if(0===E)break A;E--,r+=i[a++]<<g,g+=8}e.offset+=r&(1<<e.extra)-1,r>>>=e.extra,g-=e.extra,e.back+=e.extra}if(e.offset>e.dmax){A.msg=\"invalid distance too far back\",e.mode=Pt;break}e.mode=16204;case 16204:if(0===h)break A;if(w=B-h,e.offset>w){if(w=e.offset-w,w>e.whave&&e.sane){A.msg=\"invalid distance too far back\",e.mode=Pt;break}w>e.wnext?(w-=e.wnext,c=e.wsize-w):c=e.wnext-w,w>e.length&&(w=e.length),C=e.window}else C=s,c=n-e.offset,w=e.length;w>h&&(w=h),h-=w,e.length-=w;do{s[n++]=C[c++]}while(--w);0===e.length&&(e.mode=kt);break;case 16205:if(0===h)break A;s[n++]=e.length,h--,e.mode=kt;break;case Ht:if(e.wrap){for(;g<32;){if(0===E)break A;E--,r|=i[a++]<<g,g+=8}if(B-=h,A.total_out+=B,e.total+=B,4&e.wrap&&B&&(A.adler=e.check=e.flags?x(e.check,s,B,n-B):b(e.check,s,B,n-B)),B=h,4&e.wrap&&(e.flags?r:Ot(r))!==e.check){A.msg=\"incorrect data check\",e.mode=Pt;break}r=0,g=0}e.mode=16207;case 16207:if(e.wrap&&e.flags){for(;g<32;){if(0===E)break A;E--,r+=i[a++]<<g,g+=8}if(4&e.wrap&&r!==(4294967295&e.total)){A.msg=\"incorrect length check\",e.mode=Pt;break}r=0,g=0}e.mode=16208;case 16208:S=lt;break A;case Pt:S=Dt;break A;case 16210:return Rt;default:return Mt}return A.next_out=n,A.avail_out=h,A.next_in=a,A.avail_in=E,e.hold=r,e.bits=g,(e.wsize||B!==A.avail_out&&e.mode<Pt&&(e.mode<Ht||t!==ct))&&Nt(A,A.output,A.next_out,B-A.avail_out),o-=A.avail_in,B-=A.avail_out,A.total_in+=o,A.total_out+=B,e.total+=B,4&e.wrap&&B&&(A.adler=e.check=e.flags?x(e.check,s,B,A.next_out-B):b(e.check,s,B,A.next_out-B)),A.data_type=e.bits+(e.last?64:0)+(e.mode===Tt?128:0)+(e.mode===yt||e.mode===pt?256:0),(0===o&&0===B||t===ct)&&S===_t&&(S=St),S},inflateEnd:A=>{if(Gt(A))return Mt;let t=A.state;return t.window&&(t.window=null),A.state=null,_t},inflateGetHeader:(A,t)=>{if(Gt(A))return Mt;const e=A.state;return 0==(2&e.wrap)?Mt:(e.head=t,t.done=!1,_t)},inflateSetDictionary:(A,t)=>{const e=t.length;let i,s,a;return Gt(A)?Mt:(i=A.state,0!==i.wrap&&i.mode!==Ft?Mt:i.mode===Ft&&(s=1,s=b(s,t,e,0),s!==i.check)?Dt:(a=Nt(A,t,e,e),a?(i.mode=16210,Rt):(i.havedict=1,_t)))},inflateInfo:\"pako inflate (from Nodeca project)\"};var jt=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name=\"\",this.comment=\"\",this.hcrc=0,this.done=!1};const Zt=Object.prototype.toString,{Z_NO_FLUSH:Wt,Z_FINISH:Xt,Z_OK:qt,Z_STREAM_END:Vt,Z_NEED_DICT:$t,Z_STREAM_ERROR:Ae,Z_DATA_ERROR:te,Z_MEM_ERROR:ee}=J;function ie(A){this.options=LA.assign({chunkSize:65536,windowBits:15,to:\"\"},A||{});const t=this.options;t.raw&&t.windowBits>=0&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(t.windowBits>=0&&t.windowBits<16)||A&&A.windowBits||(t.windowBits+=32),t.windowBits>15&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg=\"\",this.ended=!1,this.chunks=[],this.strm=new vA,this.strm.avail_out=0;let e=vt.inflateInit2(this.strm,t.windowBits);if(e!==qt)throw new Error(L[e]);if(this.header=new jt,vt.inflateGetHeader(this.strm,this.header),t.dictionary&&(\"string\"==typeof t.dictionary?t.dictionary=NA.string2buf(t.dictionary):\"[object ArrayBuffer]\"===Zt.call(t.dictionary)&&(t.dictionary=new Uint8Array(t.dictionary)),t.raw&&(e=vt.inflateSetDictionary(this.strm,t.dictionary),e!==qt)))throw new Error(L[e])}function se(A,t){const e=new ie(t);if(e.push(A),e.err)throw e.msg||L[e.err];return e.result}ie.prototype.push=function(A,t){const e=this.strm,i=this.options.chunkSize,s=this.options.dictionary;let a,n,E;if(this.ended)return!1;for(n=t===~~t?t:!0===t?Xt:Wt,\"[object ArrayBuffer]\"===Zt.call(A)?e.input=new Uint8Array(A):e.input=A,e.next_in=0,e.avail_in=e.input.length;;){for(0===e.avail_out&&(e.output=new Uint8Array(i),e.next_out=0,e.avail_out=i),a=vt.inflate(e,n),a===$t&&s&&(a=vt.inflateSetDictionary(e,s),a===qt?a=vt.inflate(e,n):a===te&&(a=$t));e.avail_in>0&&a===Vt&&e.state.wrap>0&&0!==A[e.next_in];)vt.inflateReset(e),a=vt.inflate(e,n);switch(a){case Ae:case te:case $t:case ee:return this.onEnd(a),this.ended=!0,!1}if(E=e.avail_out,e.next_out&&(0===e.avail_out||a===Vt))if(\"string\"===this.options.to){let A=NA.utf8border(e.output,e.next_out),t=e.next_out-A,s=NA.buf2string(e.output,A);e.next_out=t,e.avail_out=i-t,t&&e.output.set(e.output.subarray(A,A+t),0),this.onData(s)}else this.onData(e.output.length===e.next_out?e.output:e.output.subarray(0,e.next_out));if(a!==qt||0!==E){if(a===Vt)return a=vt.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,!0;if(0===e.avail_in)break}}return!0},ie.prototype.onData=function(A){this.chunks.push(A)},ie.prototype.onEnd=function(A){A===qt&&(\"string\"===this.options.to?this.result=this.chunks.join(\"\"):this.result=LA.flattenChunks(this.chunks)),this.chunks=[],this.err=A,this.msg=this.strm.msg};var ae={Inflate:ie,inflate:se,inflateRaw:function(A,t){return(t=t||{}).raw=!0,se(A,t)},ungzip:se,constants:J};const{Deflate:ne,deflate:Ee,deflateRaw:he,gzip:re}=at,{Inflate:ge,inflate:oe,inflateRaw:Be,ungzip:we}=ae;var ce=Ee,Ce=ge;class Ie{constructor(A,t=!1,e=!0){this.device=A,this.tracing=t,this.slipReaderEnabled=!1,this.leftOver=new Uint8Array(0),this.baudrate=0,this.traceLog=\"\",this.lastTraceTime=Date.now(),this._DTR_state=!1,this.slipReaderEnabled=e}getInfo(){const A=this.device.getInfo();return A.usbVendorId&&A.usbProductId?`WebSerial VendorID 0x${A.usbVendorId.toString(16)} ProductID 0x${A.usbProductId.toString(16)}`:\"\"}getPid(){return this.device.getInfo().usbProductId}trace(A){const t=`${`TRACE ${(Date.now()-this.lastTraceTime).toFixed(3)}`} ${A}`;console.log(t),this.traceLog+=t+\"\\n\"}async returnTrace(){try{await navigator.clipboard.writeText(this.traceLog),console.log(\"Text copied to clipboard!\")}catch(A){console.error(\"Failed to copy text:\",A)}}hexify(A){return Array.from(A).map((A=>A.toString(16).padStart(2,\"0\"))).join(\"\").padEnd(16,\" \")}hexConvert(A,t=!0){if(t&&A.length>16){let t=\"\",e=A;for(;e.length>0;){const A=e.slice(0,16),i=String.fromCharCode(...A).split(\"\").map((A=>\" \"===A||A>=\" \"&&A<=\"~\"&&\" \"!==A?A:\".\")).join(\"\");e=e.slice(16),t+=`\\n ${this.hexify(A.slice(0,8))} ${this.hexify(A.slice(8))} | ${i}`}return t}return this.hexify(A)}slipWriter(A){const t=[];t.push(192);for(let e=0;e<A.length;e++)219===A[e]?t.push(219,221):192===A[e]?t.push(219,220):t.push(A[e]);return t.push(192),new Uint8Array(t)}async write(A){const t=this.slipWriter(A);if(this.device.writable){const A=this.device.writable.getWriter();this.tracing&&(console.log(\"Write bytes\"),this.trace(`Write ${t.length} bytes: ${this.hexConvert(t)}`)),await A.write(t),A.releaseLock()}}_appendBuffer(A,t){const e=new Uint8Array(A.byteLength+t.byteLength);return e.set(new Uint8Array(A),0),e.set(new Uint8Array(t),A.byteLength),e.buffer}slipReader(A){let t=0,e=0,i=0,s=\"init\";for(;t<A.length;)if(\"init\"!==s||192!=A[t]){if(\"valid_data\"===s&&192==A[t]){i=t-1,s=\"packet_complete\";break}t++}else e=t+1,s=\"valid_data\",t++;if(\"packet_complete\"!==s)return this.leftOver=A,new Uint8Array(0);this.leftOver=A.slice(i+2);const a=new Uint8Array(i-e+1);let n=0;for(t=e;t<=i;t++,n++)219!==A[t]||220!==A[t+1]?219!==A[t]||221!==A[t+1]?a[n]=A[t]:(a[n]=219,t++):(a[n]=192,t++);return a.slice(0,n)}async read(A=0,t=12){let e,i=this.leftOver;if(this.leftOver=new Uint8Array(0),this.slipReaderEnabled){const A=this.slipReader(i);if(A.length>0)return A;i=this.leftOver,this.leftOver=new Uint8Array(0)}if(null==this.device.readable)return this.leftOver;this.reader=this.device.readable.getReader();try{A>0&&(e=setTimeout((()=>{this.reader&&this.reader.cancel()}),A));do{const{value:A,done:t}=await this.reader.read();if(t)throw this.leftOver=i,new Error(\"Timeout\");i=new Uint8Array(this._appendBuffer(i.buffer,A.buffer))}while(i.length<t)}finally{A>0&&clearTimeout(e),this.reader.releaseLock()}if(this.tracing&&(console.log(\"Read bytes\"),this.trace(`Read ${i.length} bytes: ${this.hexConvert(i)}`)),this.slipReaderEnabled){const A=this.slipReader(i);return this.tracing&&(console.log(\"Slip reader results\"),this.trace(`Read ${A.length} bytes: ${this.hexConvert(A)}`)),A}return i}async rawRead(A=0){if(0!=this.leftOver.length){const A=this.leftOver;return this.leftOver=new Uint8Array(0),A}if(!this.device.readable)return this.leftOver;let t;this.reader=this.device.readable.getReader();try{A>0&&(t=setTimeout((()=>{this.reader&&this.reader.cancel()}),A));const{value:e,done:i}=await this.reader.read();return i||this.tracing&&(console.log(\"Raw Read bytes\"),this.trace(`Read ${e.length} bytes: ${this.hexConvert(e)}`)),e}finally{A>0&&clearTimeout(t),this.reader.releaseLock()}}async setRTS(A){await this.device.setSignals({requestToSend:A}),await this.setDTR(this._DTR_state)}async setDTR(A){this._DTR_state=A,await this.device.setSignals({dataTerminalReady:A})}async connect(A=115200,t={}){await this.device.open({baudRate:A,dataBits:null==t?void 0:t.dataBits,stopBits:null==t?void 0:t.stopBits,bufferSize:null==t?void 0:t.bufferSize,parity:null==t?void 0:t.parity,flowControl:null==t?void 0:t.flowControl}),this.baudrate=A,this.leftOver=new Uint8Array(0)}async sleep(A){return new Promise((t=>setTimeout(t,A)))}async waitForUnlock(A){for(;this.device.readable&&this.device.readable.locked||this.device.writable&&this.device.writable.locked;)await this.sleep(A)}async disconnect(){var A,t;(null===(A=this.device.readable)||void 0===A?void 0:A.locked)&&await(null===(t=this.reader)||void 0===t?void 0:t.cancel()),await this.waitForUnlock(400),this.reader=void 0,await this.device.close()}}function _e(A){return new Promise((t=>setTimeout(t,A)))}async function le(A,t=50){await A.setDTR(!1),await A.setRTS(!0),await _e(100),await A.setDTR(!0),await A.setRTS(!1),await _e(t),await A.setDTR(!1)}async function de(A){await A.setRTS(!1),await A.setDTR(!1),await _e(100),await A.setDTR(!0),await A.setRTS(!1),await _e(100),await A.setRTS(!0),await A.setDTR(!1),await A.setRTS(!0),await _e(100),await A.setRTS(!1),await A.setDTR(!1)}async function Me(A,t=!1){t?(await _e(200),await A.setRTS(!1),await _e(200)):(await _e(100),await A.setRTS(!1))}function De(A){const t=[\"D\",\"R\",\"W\"],e=A.split(\"|\");for(const A of e){const e=A[0],i=A.slice(1);if(!t.includes(e))return!1;if(\"D\"===e||\"R\"===e){if(\"0\"!==i&&\"1\"!==i)return!1}else if(\"W\"===e){const A=parseInt(i);if(isNaN(A)||A<=0)return!1}}return!0}async function Re(A,t){const e={D:async t=>await A.setDTR(t),R:async t=>await A.setRTS(t),W:async A=>await _e(A)};try{if(!De(t))return;const A=t.split(\"|\");for(const t of A){const A=t[0],i=t.slice(1);\"W\"===A?await e.W(Number(i)):\"D\"!==A&&\"R\"!==A||await e[A](\"1\"===i)}}catch(A){throw new Error(\"Invalid custom reset sequence\")}}var Se=function(A){return atob(A)};class Qe{constructor(A){this.ESP_RAM_BLOCK=6144,this.ESP_FLASH_BEGIN=2,this.ESP_FLASH_DATA=3,this.ESP_FLASH_END=4,this.ESP_MEM_BEGIN=5,this.ESP_MEM_END=6,this.ESP_MEM_DATA=7,this.ESP_WRITE_REG=9,this.ESP_READ_REG=10,this.ESP_SPI_ATTACH=13,this.ESP_CHANGE_BAUDRATE=15,this.ESP_FLASH_DEFL_BEGIN=16,this.ESP_FLASH_DEFL_DATA=17,this.ESP_FLASH_DEFL_END=18,this.ESP_SPI_FLASH_MD5=19,this.ESP_ERASE_FLASH=208,this.ESP_ERASE_REGION=209,this.ESP_READ_FLASH=210,this.ESP_RUN_USER_CODE=211,this.ESP_IMAGE_MAGIC=233,this.ESP_CHECKSUM_MAGIC=239,this.ROM_INVALID_RECV_MSG=5,this.ERASE_REGION_TIMEOUT_PER_MB=3e4,this.ERASE_WRITE_TIMEOUT_PER_MB=4e4,this.MD5_TIMEOUT_PER_MB=8e3,this.CHIP_ERASE_TIMEOUT=12e4,this.FLASH_READ_TIMEOUT=1e5,this.MAX_TIMEOUT=2*this.CHIP_ERASE_TIMEOUT,this.CHIP_DETECT_MAGIC_REG_ADDR=1073745920,this.DETECTED_FLASH_SIZES={18:\"256KB\",19:\"512KB\",20:\"1MB\",21:\"2MB\",22:\"4MB\",23:\"8MB\",24:\"16MB\"},this.DETECTED_FLASH_SIZES_NUM={18:256,19:512,20:1024,21:2048,22:4096,23:8192,24:16384},this.USB_JTAG_SERIAL_PID=4097,this.romBaudrate=115200,this.debugLogging=!1,this.syncStubDetected=!1,this.checksum=function(A){let t,e=239;for(t=0;t<A.length;t++)e^=A[t];return e},this.timeoutPerMb=function(A,t){const e=A*(t/1e6);return e<3e3?3e3:e},this.flashSizeBytes=function(A){let t=-1;return-1!==A.indexOf(\"KB\")?t=1024*parseInt(A.slice(0,A.indexOf(\"KB\"))):-1!==A.indexOf(\"MB\")&&(t=1024*parseInt(A.slice(0,A.indexOf(\"MB\")))*1024),t},this.IS_STUB=!1,this.FLASH_WRITE_SIZE=16384,this.transport=A.transport,this.baudrate=A.baudrate,A.serialOptions&&(this.serialOptions=A.serialOptions),A.romBaudrate&&(this.romBaudrate=A.romBaudrate),A.terminal&&(this.terminal=A.terminal,this.terminal.clean()),void 0!==A.debugLogging&&(this.debugLogging=A.debugLogging),A.port&&(this.transport=new Ie(A.port)),void 0!==A.enableTracing&&(this.transport.tracing=A.enableTracing),this.info(\"esptool.js\"),this.info(\"Serial port \"+this.transport.getInfo())}_sleep(A){return new Promise((t=>setTimeout(t,A)))}write(A,t=!0){this.terminal?t?this.terminal.writeLine(A):this.terminal.write(A):console.log(A)}error(A,t=!0){this.write(`Error: ${A}`,t)}info(A,t=!0){this.write(A,t)}debug(A,t=!0){this.debugLogging&&this.write(`Debug: ${A}`,t)}_shortToBytearray(A){return new Uint8Array([255&A,A>>8&255])}_intToByteArray(A){return new Uint8Array([255&A,A>>8&255,A>>16&255,A>>24&255])}_byteArrayToShort(A,t){return A|t>>8}_byteArrayToInt(A,t,e,i){return A|t<<8|e<<16|i<<24}_appendBuffer(A,t){const e=new Uint8Array(A.byteLength+t.byteLength);return e.set(new Uint8Array(A),0),e.set(new Uint8Array(t),A.byteLength),e.buffer}_appendArray(A,t){const e=new Uint8Array(A.length+t.length);return e.set(A,0),e.set(t,A.length),e}ui8ToBstr(A){let t=\"\";for(let e=0;e<A.length;e++)t+=String.fromCharCode(A[e]);return t}bstrToUi8(A){const t=new Uint8Array(A.length);for(let e=0;e<A.length;e++)t[e]=A.charCodeAt(e);return t}async flushInput(){try{await this.transport.rawRead(200)}catch(A){this.error(A.message)}}async readPacket(t=null,e=3e3){for(let i=0;i<100;i++){const i=await this.transport.read(e),s=i[0],a=i[1],n=this._byteArrayToInt(i[4],i[5],i[6],i[7]),E=i.slice(8);if(1==s){if(null==t||a==t)return[n,E];if(0!=E[0]&&E[1]==this.ROM_INVALID_RECV_MSG)throw await this.flushInput(),new A(\"unsupported command error\")}}throw new A(\"invalid response\")}async command(A=null,t=new Uint8Array(0),e=0,i=!0,s=3e3){if(null!=A){this.transport.tracing&&this.transport.trace(`command op:0x${A.toString(16).padStart(2,\"0\")} data len=${t.length} wait_response=${i?1:0} timeout=${(s/1e3).toFixed(3)} data=${this.transport.hexConvert(t)}`);const a=new Uint8Array(8+t.length);let n;for(a[0]=0,a[1]=A,a[2]=this._shortToBytearray(t.length)[0],a[3]=this._shortToBytearray(t.length)[1],a[4]=this._intToByteArray(e)[0],a[5]=this._intToByteArray(e)[1],a[6]=this._intToByteArray(e)[2],a[7]=this._intToByteArray(e)[3],n=0;n<t.length;n++)a[8+n]=t[n];await this.transport.write(a)}return i?this.readPacket(A,s):[0,new Uint8Array(0)]}async readReg(A,t=3e3){const e=this._intToByteArray(A);return(await this.command(this.ESP_READ_REG,e,void 0,void 0,t))[0]}async writeReg(A,t,e=4294967295,i=0,s=0){let a=this._appendArray(this._intToByteArray(A),this._intToByteArray(t));a=this._appendArray(a,this._intToByteArray(e)),a=this._appendArray(a,this._intToByteArray(i)),s>0&&(a=this._appendArray(a,this._intToByteArray(this.chip.UART_DATE_REG_ADDR)),a=this._appendArray(a,this._intToByteArray(0)),a=this._appendArray(a,this._intToByteArray(0)),a=this._appendArray(a,this._intToByteArray(s))),await this.checkCommand(\"write target memory\",this.ESP_WRITE_REG,a)}async sync(){this.debug(\"Sync\");const A=new Uint8Array(36);let t;for(A[0]=7,A[1]=7,A[2]=18,A[3]=32,t=0;t<32;t++)A[4+t]=85;try{const t=await this.command(8,A,void 0,void 0,100);return this.syncStubDetected=this.syncStubDetected&&0===t[0],t}catch(A){throw this.debug(\"Sync err \"+A),A}}async _connectAttempt(A=\"default_reset\",t=!1){if(this.debug(\"_connect_attempt \"+A+\" \"+t),\"no_reset\"!==A)if(this.transport.getPid()===this.USB_JTAG_SERIAL_PID)await de(this.transport);else{const A=t?\"D0|R1|W100|W2000|D1|R0|W50|D0\":\"D0|R1|W100|D1|R0|W50|D0\";await Re(this.transport,A)}let e=0,i=!0;for(;i;){try{e+=(await this.transport.read(1e3)).length}catch(A){if(this.debug(A.message),A instanceof Error){i=!1;break}}await this._sleep(50)}for(this.transport.slipReaderEnabled=!0,this.syncStubDetected=!0,e=7;e--;){try{const A=await this.sync();return this.debug(A[0].toString()),\"success\"}catch(A){A instanceof Error&&(t?this.info(\"_\",!1):this.info(\".\",!1))}await this._sleep(50)}return\"error\"}async connect(t=\"default_reset\",e=7,i=!1){let s,a;for(this.info(\"Connecting...\",!1),await this.transport.connect(this.romBaudrate,this.serialOptions),s=0;s<e&&(a=await this._connectAttempt(t,!1),\"success\"!==a)&&(a=await this._connectAttempt(t,!0),\"success\"!==a);s++);if(\"success\"!==a)throw new A(\"Failed to connect with the device\");if(this.info(\"\\n\\r\",!1),!i){const t=await this.readReg(1073745920)>>>0;this.debug(\"Chip Magic \"+t.toString(16));const e=await async function(A){switch(A){case 15736195:{const{ESP32ROM:A}=await Promise.resolve().then((function(){return He}));return new A}case 1867591791:case 2084675695:{const{ESP32C2ROM:A}=await Promise.resolve().then((function(){return Ne}));return new A}case 1763790959:case 456216687:case 1216438383:case 1130455151:{const{ESP32C3ROM:A}=await Promise.resolve().then((function(){return be}));return new A}case 752910447:{const{ESP32C6ROM:A}=await Promise.resolve().then((function(){return Ve}));return new A}case 285294703:{const{ESP32C5ROM:A}=await Promise.resolve().then((function(){return si}));return new A}case 3619110528:{const{ESP32H2ROM:A}=await Promise.resolve().then((function(){return gi}));return new A}case 9:{const{ESP32S3ROM:A}=await Promise.resolve().then((function(){return Ii}));return new A}case 1990:{const{ESP32S2ROM:A}=await Promise.resolve().then((function(){return Ri}));return new A}case 4293968129:{const{ESP8266ROM:A}=await Promise.resolve().then((function(){return ui}));return new A}case 0:case 182303440:case 117676761:{const{ESP32P4ROM:A}=await Promise.resolve().then((function(){return Oi}));return new A}default:return null}}(t);if(null===this.chip)throw new A(`Unexpected CHIP magic value ${t}. Failed to autodetect chip type.`);this.chip=e}}async detectChip(A=\"default_reset\"){await this.connect(A),this.info(\"Detecting chip type... \",!1),null!=this.chip?this.info(this.chip.CHIP_NAME):this.info(\"unknown!\")}async checkCommand(A=\"\",t=null,e=new Uint8Array(0),i=0,s=3e3){this.debug(\"check_command \"+A);const a=await this.command(t,e,i,void 0,s);return a[1].length>4?a[1]:a[0]}async memBegin(A,t,e,i){this.debug(\"mem_begin \"+A+\" \"+t+\" \"+e+\" \"+i.toString(16));let s=this._appendArray(this._intToByteArray(A),this._intToByteArray(t));s=this._appendArray(s,this._intToByteArray(e)),s=this._appendArray(s,this._intToByteArray(i)),await this.checkCommand(\"enter RAM download mode\",this.ESP_MEM_BEGIN,s)}async memBlock(A,t){let e=this._appendArray(this._intToByteArray(A.length),this._intToByteArray(t));e=this._appendArray(e,this._intToByteArray(0)),e=this._appendArray(e,this._intToByteArray(0)),e=this._appendArray(e,A);const i=this.checksum(A);await this.checkCommand(\"write to target RAM\",this.ESP_MEM_DATA,e,i)}async memFinish(A){const t=0===A?1:0,e=this._appendArray(this._intToByteArray(t),this._intToByteArray(A));await this.checkCommand(\"leave RAM download mode\",this.ESP_MEM_END,e,void 0,50)}async flashSpiAttach(A){const t=this._intToByteArray(A);await this.checkCommand(\"configure SPI flash pins\",this.ESP_SPI_ATTACH,t)}async flashBegin(A,t){const e=Math.floor((A+this.FLASH_WRITE_SIZE-1)/this.FLASH_WRITE_SIZE),i=this.chip.getEraseSize(t,A),s=new Date,a=s.getTime();let n=3e3;0==this.IS_STUB&&(n=this.timeoutPerMb(this.ERASE_REGION_TIMEOUT_PER_MB,A)),this.debug(\"flash begin \"+i+\" \"+e+\" \"+this.FLASH_WRITE_SIZE+\" \"+t+\" \"+A);let E=this._appendArray(this._intToByteArray(i),this._intToByteArray(e));E=this._appendArray(E,this._intToByteArray(this.FLASH_WRITE_SIZE)),E=this._appendArray(E,this._intToByteArray(t)),0==this.IS_STUB&&(E=this._appendArray(E,this._intToByteArray(0))),await this.checkCommand(\"enter Flash download mode\",this.ESP_FLASH_BEGIN,E,void 0,n);const h=s.getTime();return 0!=A&&0==this.IS_STUB&&this.info(\"Took \"+(h-a)/1e3+\".\"+(h-a)%1e3+\"s to erase flash block\"),e}async flashDeflBegin(A,t,e){const i=Math.floor((t+this.FLASH_WRITE_SIZE-1)/this.FLASH_WRITE_SIZE),s=Math.floor((A+this.FLASH_WRITE_SIZE-1)/this.FLASH_WRITE_SIZE),a=new Date,n=a.getTime();let E,h;this.IS_STUB?(E=A,h=3e3):(E=s*this.FLASH_WRITE_SIZE,h=this.timeoutPerMb(this.ERASE_REGION_TIMEOUT_PER_MB,E)),this.info(\"Compressed \"+A+\" bytes to \"+t+\"...\");let r=this._appendArray(this._intToByteArray(E),this._intToByteArray(i));r=this._appendArray(r,this._intToByteArray(this.FLASH_WRITE_SIZE)),r=this._appendArray(r,this._intToByteArray(e)),\"ESP32-S2\"!==this.chip.CHIP_NAME&&\"ESP32-S3\"!==this.chip.CHIP_NAME&&\"ESP32-C3\"!==this.chip.CHIP_NAME&&\"ESP32-C2\"!==this.chip.CHIP_NAME||!1!==this.IS_STUB||(r=this._appendArray(r,this._intToByteArray(0))),await this.checkCommand(\"enter compressed flash mode\",this.ESP_FLASH_DEFL_BEGIN,r,void 0,h);const g=a.getTime();return 0!=A&&!1===this.IS_STUB&&this.info(\"Took \"+(g-n)/1e3+\".\"+(g-n)%1e3+\"s to erase flash block\"),i}async flashBlock(A,t,e){let i=this._appendArray(this._intToByteArray(A.length),this._intToByteArray(t));i=this._appendArray(i,this._intToByteArray(0)),i=this._appendArray(i,this._intToByteArray(0)),i=this._appendArray(i,A);const s=this.checksum(A);await this.checkCommand(\"write to target Flash after seq \"+t,this.ESP_FLASH_DATA,i,s,e)}async flashDeflBlock(A,t,e){let i=this._appendArray(this._intToByteArray(A.length),this._intToByteArray(t));i=this._appendArray(i,this._intToByteArray(0)),i=this._appendArray(i,this._intToByteArray(0)),i=this._appendArray(i,A);const s=this.checksum(A);this.debug(\"flash_defl_block \"+A[0].toString(16)+\" \"+A[1].toString(16)),await this.checkCommand(\"write compressed data to flash after seq \"+t,this.ESP_FLASH_DEFL_DATA,i,s,e)}async flashFinish(A=!1){const t=A?0:1,e=this._intToByteArray(t);await this.checkCommand(\"leave Flash mode\",this.ESP_FLASH_END,e)}async flashDeflFinish(A=!1){const t=A?0:1,e=this._intToByteArray(t);await this.checkCommand(\"leave compressed flash mode\",this.ESP_FLASH_DEFL_END,e)}async runSpiflashCommand(t,e,i){const s=this.chip.SPI_REG_BASE,a=s+0,n=s+this.chip.SPI_USR_OFFS,E=s+this.chip.SPI_USR1_OFFS,h=s+this.chip.SPI_USR2_OFFS,r=s+this.chip.SPI_W0_OFFS;let g;g=null!=this.chip.SPI_MOSI_DLEN_OFFS?async(A,t)=>{const e=s+this.chip.SPI_MOSI_DLEN_OFFS,i=s+this.chip.SPI_MISO_DLEN_OFFS;A>0&&await this.writeReg(e,A-1),t>0&&await this.writeReg(i,t-1)}:async(A,t)=>{const e=E,i=(0===t?0:t-1)<<8|(0===A?0:A-1)<<17;await this.writeReg(e,i)};const o=1<<18;if(i>32)throw new A(\"Reading more than 32 bits back from a SPI flash operation is unsupported\");if(e.length>64)throw new A(\"Writing more than 64 bytes of data with one SPI command is unsupported\");const B=8*e.length,w=await this.readReg(n),c=await this.readReg(h);let C,I=1<<31;i>0&&(I|=268435456),B>0&&(I|=134217728),await g(B,i),await this.writeReg(n,I);let _=7<<28|t;if(await this.writeReg(h,_),0==B)await this.writeReg(r,0);else{if(e.length%4!=0){const A=new Uint8Array(e.length%4);e=this._appendArray(e,A)}let A=r;for(C=0;C<e.length-4;C+=4)_=this._byteArrayToInt(e[C],e[C+1],e[C+2],e[C+3]),await this.writeReg(A,_),A+=4}for(await this.writeReg(a,o),C=0;C<10&&(_=await this.readReg(a)&o,0!=_);C++);if(10===C)throw new A(\"SPI command did not complete in time\");const l=await this.readReg(r);return await this.writeReg(n,w),await this.writeReg(h,c),l}async readFlashId(){const A=new Uint8Array(0);return await this.runSpiflashCommand(159,A,24)}async eraseFlash(){this.info(\"Erasing flash (this may take a while)...\");let A=new Date;const t=A.getTime(),e=await this.checkCommand(\"erase flash\",this.ESP_ERASE_FLASH,void 0,void 0,this.CHIP_ERASE_TIMEOUT);A=new Date;const i=A.getTime();return this.info(\"Chip erase completed successfully in \"+(i-t)/1e3+\"s\"),e}toHex(A){return Array.prototype.map.call(A,(A=>(\"00\"+A.toString(16)).slice(-2))).join(\"\")}async flashMd5sum(A,t){const e=this.timeoutPerMb(this.MD5_TIMEOUT_PER_MB,t);let i=this._appendArray(this._intToByteArray(A),this._intToByteArray(t));i=this._appendArray(i,this._intToByteArray(0)),i=this._appendArray(i,this._intToByteArray(0));let s=await this.checkCommand(\"calculate md5sum\",this.ESP_SPI_FLASH_MD5,i,void 0,e);s instanceof Uint8Array&&s.length>16&&(s=s.slice(0,16));return this.toHex(s)}async readFlash(t,e,i=null){let s=this._appendArray(this._intToByteArray(t),this._intToByteArray(e));s=this._appendArray(s,this._intToByteArray(4096)),s=this._appendArray(s,this._intToByteArray(1024));const a=await this.checkCommand(\"read flash\",this.ESP_READ_FLASH,s);if(0!=a)throw new A(\"Failed to read memory: \"+a);let n=new Uint8Array(0);for(;n.length<e;){const t=await this.transport.read(this.FLASH_READ_TIMEOUT);if(!(t instanceof Uint8Array))throw new A(\"Failed to read memory: \"+t);t.length>0&&(n=this._appendArray(n,t),await this.transport.write(this._intToByteArray(n.length)),i&&i(t,n.length,e))}return n}async runStub(){if(this.syncStubDetected)return this.info(\"Stub is already running. No upload is necessary.\"),this.chip;this.info(\"Uploading stub...\");let t=Se(this.chip.ROM_TEXT),e=t.split(\"\").map((function(A){return A.charCodeAt(0)}));const i=new Uint8Array(e);t=Se(this.chip.ROM_DATA),e=t.split(\"\").map((function(A){return A.charCodeAt(0)}));const s=new Uint8Array(e);let a,n=Math.floor((i.length+this.ESP_RAM_BLOCK-1)/this.ESP_RAM_BLOCK);for(await this.memBegin(i.length,n,this.ESP_RAM_BLOCK,this.chip.TEXT_START),a=0;a<n;a++){const A=a*this.ESP_RAM_BLOCK,t=A+this.ESP_RAM_BLOCK;await this.memBlock(i.slice(A,t),a)}for(n=Math.floor((s.length+this.ESP_RAM_BLOCK-1)/this.ESP_RAM_BLOCK),await this.memBegin(s.length,n,this.ESP_RAM_BLOCK,this.chip.DATA_START),a=0;a<n;a++){const A=a*this.ESP_RAM_BLOCK,t=A+this.ESP_RAM_BLOCK;await this.memBlock(s.slice(A,t),a)}this.info(\"Running stub...\"),await this.memFinish(this.chip.ENTRY);for(let A=0;A<100;A++){const A=await this.transport.read(1e3,6);if(79===A[0]&&72===A[1]&&65===A[2]&&73===A[3])return this.info(\"Stub running...\"),this.IS_STUB=!0,this.FLASH_WRITE_SIZE=16384,this.chip}throw new A(\"Failed to start stub. Unexpected response\")}async changeBaud(){this.info(\"Changing baudrate to \"+this.baudrate);const A=this.IS_STUB?this.transport.baudrate:0,t=this._appendArray(this._intToByteArray(this.baudrate),this._intToByteArray(A)),e=await this.command(this.ESP_CHANGE_BAUDRATE,t);this.debug(e[0].toString()),this.info(\"Changed\"),await this.transport.disconnect(),await this._sleep(50),await this.transport.connect(this.baudrate,this.serialOptions);try{let A=64;for(;A--;){try{await this.sync();break}catch(A){this.debug(A.message)}await this._sleep(10)}}catch(A){this.debug(A.message)}}async main(A=\"default_reset\"){await this.detectChip(A);const t=await this.chip.getChipDescription(this);return this.info(\"Chip is \"+t),this.info(\"Features: \"+await this.chip.getChipFeatures(this)),this.info(\"Crystal is \"+await this.chip.getCrystalFreq(this)+\"MHz\"),this.info(\"MAC: \"+await this.chip.readMac(this)),await this.chip.readMac(this),void 0!==this.chip.postConnect&&await this.chip.postConnect(this),await this.runStub(),this.romBaudrate!==this.baudrate&&await this.changeBaud(),t}parseFlashSizeArg(t){if(void 0===this.chip.FLASH_SIZES[t])throw new A(\"Flash size \"+t+\" is not supported by this chip type. Supported sizes: \"+this.chip.FLASH_SIZES);return this.chip.FLASH_SIZES[t]}_updateImageFlashParams(A,t,e,i,s){if(this.debug(\"_update_image_flash_params \"+e+\" \"+i+\" \"+s),A.length<8)return A;if(t!=this.chip.BOOTLOADER_FLASH_OFFSET)return A;if(\"keep\"===e&&\"keep\"===i&&\"keep\"===s)return this.info(\"Not changing the image\"),A;const a=parseInt(A[0]);let n=parseInt(A[2]);const E=parseInt(A[3]);if(a!==this.ESP_IMAGE_MAGIC)return this.info(\"Warning: Image file at 0x\"+t.toString(16)+\" doesn't look like an image file, so not changing any flash settings.\"),A;if(\"keep\"!==i){n={qio:0,qout:1,dio:2,dout:3}[i]}let h=15&E;if(\"keep\"!==s){h={\"40m\":0,\"26m\":1,\"20m\":2,\"80m\":15}[s]}let r=240&E;\"keep\"!==e&&(r=this.parseFlashSizeArg(e));const g=n<<8|h+r;return this.info(\"Flash params set to \"+g.toString(16)),parseInt(A[2])!==n<<8&&(A=A.substring(0,2)+(n<<8).toString()+A.substring(3)),parseInt(A[3])!==h+r&&(A=A.substring(0,3)+(h+r).toString()+A.substring(4)),A}async writeFlash(t){if(this.debug(\"EspLoader program\"),\"keep\"!==t.flashSize){const e=this.flashSizeBytes(t.flashSize);for(let i=0;i<t.fileArray.length;i++)if(t.fileArray[i].data.length+t.fileArray[i].address>e)throw new A(`File ${i+1} doesn't fit in the available flash`)}let e,i;!0===this.IS_STUB&&!0===t.eraseAll&&await this.eraseFlash();for(let s=0;s<t.fileArray.length;s++){this.debug(\"Data Length \"+t.fileArray[s].data.length),e=t.fileArray[s].data;const a=t.fileArray[s].data.length%4;if(a>0&&(e+=\"ÿÿÿÿ\".substring(4-a)),i=t.fileArray[s].address,this.debug(\"Image Length \"+e.length),0===e.length){this.debug(\"Warning: File is empty\");continue}e=this._updateImageFlashParams(e,i,t.flashSize,t.flashMode,t.flashFreq);let n=null;t.calculateMD5Hash&&(n=t.calculateMD5Hash(e),this.debug(\"Image MD5 \"+n));const E=e.length;let h;if(t.compress){const A=this.bstrToUi8(e);e=this.ui8ToBstr(ce(A,{level:9})),h=await this.flashDeflBegin(E,e.length,i)}else h=await this.flashBegin(E,i);let r=0,g=0;const o=e.length;t.reportProgress&&t.reportProgress(s,0,o);let B=new Date;const w=B.getTime();let c=5e3;const C=new Ce({chunkSize:1});let I=0;for(C.onData=function(A){I+=A.byteLength};e.length>0;){this.debug(\"Write loop \"+i+\" \"+r+\" \"+h),this.info(\"Writing at 0x\"+(i+I).toString(16)+\"... (\"+Math.floor(100*(r+1)/h)+\"%)\");const a=this.bstrToUi8(e.slice(0,this.FLASH_WRITE_SIZE));if(!t.compress)throw new A(\"Yet to handle Non Compressed writes\");{const A=I;C.push(a,!1);const t=I-A;let e=3e3;this.timeoutPerMb(this.ERASE_WRITE_TIMEOUT_PER_MB,t)>3e3&&(e=this.timeoutPerMb(this.ERASE_WRITE_TIMEOUT_PER_MB,t)),!1===this.IS_STUB&&(c=e),await this.flashDeflBlock(a,r,c),this.IS_STUB&&(c=e)}g+=a.length,e=e.slice(this.FLASH_WRITE_SIZE,e.length),r++,t.reportProgress&&t.reportProgress(s,g,o)}this.IS_STUB&&await this.readReg(this.CHIP_DETECT_MAGIC_REG_ADDR,c),B=new Date;const _=B.getTime()-w;if(t.compress&&this.info(\"Wrote \"+E+\" bytes (\"+g+\" compressed) at 0x\"+i.toString(16)+\" in \"+_/1e3+\" seconds.\"),n){const t=await this.flashMd5sum(i,E);if(new String(t).valueOf()!=new String(n).valueOf())throw this.info(\"File md5: \"+n),this.info(\"Flash md5: \"+t),new A(\"MD5 of file does not match data in flash!\");this.info(\"Hash of data verified.\")}}this.info(\"Leaving...\"),this.IS_STUB&&(await this.flashBegin(0,0),t.compress?await this.flashDeflFinish():await this.flashFinish())}async flashId(){this.debug(\"flash_id\");const A=await this.readFlashId();this.info(\"Manufacturer: \"+(255&A).toString(16));const t=A>>16&255;this.info(\"Device: \"+(A>>8&255).toString(16)+t.toString(16)),this.info(\"Detected flash size: \"+this.DETECTED_FLASH_SIZES[t])}async getFlashSize(){this.debug(\"flash_id\");const A=await this.readFlashId()>>16&255;return this.DETECTED_FLASH_SIZES_NUM[A]}async hardReset(){await this.transport.setRTS(!0),await this._sleep(100),await this.transport.setRTS(!1)}async softReset(){if(this.IS_STUB){if(\"ESP8266\"!=this.chip.CHIP_NAME)throw new A(\"Soft resetting is currently only supported on ESP8266\");await this.command(this.ESP_RUN_USER_CODE,void 0,void 0,!1)}else await this.flashBegin(0,0),await this.flashFinish(!1)}}class fe{getEraseSize(A,t){return t}}var Fe=1074521560,Te=\"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\",ue=1074520064,pe=\"GOv8P9jnC0Bx6AtA8+wLQO3oC0CP6AtA7egLQEnpC0AG6gtAeOoLQCHqC0CB5wtAo+kLQPjpC0Bn6QtAmuoLQI7pC0Ca6gtAXegLQLPoC0Dt6AtASekLQHfoC0BM6wtAs+wLQKXmC0DX7AtApeYLQKXmC0Cl5gtApeYLQKXmC0Cl5gtApeYLQKXmC0Dz6gtApeYLQM3rC0Cz7AtA\",ye=1073605544;class ke extends fe{constructor(){super(...arguments),this.CHIP_NAME=\"ESP32\",this.IMAGE_CHIP_ID=0,this.EFUSE_RD_REG_BASE=1073061888,this.DR_REG_SYSCON_BASE=1073111040,this.UART_CLKDIV_REG=1072955412,this.UART_CLKDIV_MASK=1048575,this.UART_DATE_REG_ADDR=1610612856,this.XTAL_CLK_DIVIDER=1,this.FLASH_SIZES={\"1MB\":0,\"2MB\":16,\"4MB\":32,\"8MB\":48,\"16MB\":64},this.FLASH_WRITE_SIZE=1024,this.BOOTLOADER_FLASH_OFFSET=4096,this.SPI_REG_BASE=1072963584,this.SPI_USR_OFFS=28,this.SPI_USR1_OFFS=32,this.SPI_USR2_OFFS=36,this.SPI_W0_OFFS=128,this.SPI_MOSI_DLEN_OFFS=40,this.SPI_MISO_DLEN_OFFS=44,this.TEXT_START=ue,this.ENTRY=Fe,this.DATA_START=ye,this.ROM_DATA=pe,this.ROM_TEXT=Te}async readEfuse(A,t){const e=this.EFUSE_RD_REG_BASE+4*t;return A.debug(\"Read efuse \"+e),await A.readReg(e)}async getPkgVersion(A){const t=await this.readEfuse(A,3);let e=t>>9&7;return e+=(t>>2&1)<<3,e}async getChipRevision(A){const t=await this.readEfuse(A,3),e=await this.readEfuse(A,5),i=await A.readReg(this.DR_REG_SYSCON_BASE+124);return 0!=(t>>15&1)?0!=(e>>20&1)?0!=(i>>31&1)?3:2:1:0}async getChipDescription(A){const t=[\"ESP32-D0WDQ6\",\"ESP32-D0WD\",\"ESP32-D2WD\",\"\",\"ESP32-U4WDH\",\"ESP32-PICO-D4\",\"ESP32-PICO-V3-02\"];let e=\"\";const i=await this.getPkgVersion(A),s=await this.getChipRevision(A),a=3==s;return 0!=(1&await this.readEfuse(A,3))&&(t[0]=\"ESP32-S0WDQ6\",t[1]=\"ESP32-S0WD\"),a&&(t[5]=\"ESP32-PICO-V3\"),e=i>=0&&i<=6?t[i]:\"Unknown ESP32\",!a||0!==i&&1!==i||(e+=\"-V3\"),e+\" (revision \"+s+\")\"}async getChipFeatures(A){const t=[\"Wi-Fi\"],e=await this.readEfuse(A,3);0===(2&e)&&t.push(\" BT\");0!==(1&e)?t.push(\" Single Core\"):t.push(\" Dual Core\");if(0!==(8192&e)){0!==(4096&e)?t.push(\" 160MHz\"):t.push(\" 240MHz\")}const i=await this.getPkgVersion(A);-1!==[2,4,5,6].indexOf(i)&&t.push(\" Embedded Flash\"),6===i&&t.push(\" Embedded PSRAM\");0!==(await this.readEfuse(A,4)>>8&31)&&t.push(\" VRef calibration in efuse\");0!==(e>>14&1)&&t.push(\" BLK3 partially reserved\");const s=3&await this.readEfuse(A,6);return t.push(\" Coding Scheme \"+[\"None\",\"3/4\",\"Repeat (UNSUPPORTED)\",\"Invalid\"][s]),t}async getCrystalFreq(A){const t=await A.readReg(this.UART_CLKDIV_REG)&this.UART_CLKDIV_MASK,e=A.transport.baudrate*t/1e6/this.XTAL_CLK_DIVIDER;let i;return i=e>33?40:26,Math.abs(i-e)>1&&A.info(\"WARNING: Unsupported crystal in use\"),i}_d2h(A){const t=(+A).toString(16);return 1===t.length?\"0\"+t:t}async readMac(A){let t=await this.readEfuse(A,1);t>>>=0;let e=await this.readEfuse(A,2);e>>>=0;const i=new Uint8Array(6);return i[0]=e>>8&255,i[1]=255&e,i[2]=t>>24&255,i[3]=t>>16&255,i[4]=t>>8&255,i[5]=255&t,this._d2h(i[0])+\":\"+this._d2h(i[1])+\":\"+this._d2h(i[2])+\":\"+this._d2h(i[3])+\":\"+this._d2h(i[4])+\":\"+this._d2h(i[5])}}var He=Object.freeze({__proto__:null,ESP32ROM:ke}),Pe=1077413532,Oe=\"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\",Ue=1077411840,Ge=\"IGvIP3YKOEDGCjhAHgs4QMILOEAuDDhA3As4QEIJOEB+CzhAvgs4QDILOEDyCDhAZgs4QPIIOEBQCjhAlgo4QMYKOEAeCzhAYgo4QKYJOEDWCThAXgo4QIAOOEDGCjhARg04QDgOOEAyCDhAYA44QDIIOEAyCDhAMgg4QDIIOEAyCDhAMgg4QDIIOEAyCDhA4gw4QDIIOEBkDThAOA44QA==\",me=1070164912;class Ye extends fe{constructor(){super(...arguments),this.CHIP_NAME=\"ESP32-C3\",this.IMAGE_CHIP_ID=5,this.EFUSE_BASE=1610647552,this.MAC_EFUSE_REG=this.EFUSE_BASE+68,this.UART_CLKDIV_REG=1072955412,this.UART_CLKDIV_MASK=1048575,this.UART_DATE_REG_ADDR=1610612860,this.FLASH_WRITE_SIZE=1024,this.BOOTLOADER_FLASH_OFFSET=0,this.FLASH_SIZES={\"1MB\":0,\"2MB\":16,\"4MB\":32,\"8MB\":48,\"16MB\":64},this.SPI_REG_BASE=1610620928,this.SPI_USR_OFFS=24,this.SPI_USR1_OFFS=28,this.SPI_USR2_OFFS=32,this.SPI_MOSI_DLEN_OFFS=36,this.SPI_MISO_DLEN_OFFS=40,this.SPI_W0_OFFS=88,this.TEXT_START=Ue,this.ENTRY=Pe,this.DATA_START=me,this.ROM_DATA=Ge,this.ROM_TEXT=Oe}async getPkgVersion(A){const t=this.EFUSE_BASE+68+12;return await A.readReg(t)>>21&7}async getChipRevision(A){const t=this.EFUSE_BASE+68+12;return(await A.readReg(t)&7<<18)>>18}async getChipDescription(A){let t;t=0===await this.getPkgVersion(A)?\"ESP32-C3\":\"unknown ESP32-C3\";return t+=\" (revision \"+await this.getChipRevision(A)+\")\",t}async getFlashCap(A){const t=this.EFUSE_BASE+68+12;return await A.readReg(t)>>27&7}async getFlashVendor(A){const t=this.EFUSE_BASE+68+16;return{1:\"XMC\",2:\"GD\",3:\"FM\",4:\"TT\",5:\"ZBIT\"}[await A.readReg(t)>>0&7]||\"\"}async getChipFeatures(A){const t=[\"Wi-Fi\",\"BLE\"],e=await this.getFlashCap(A),i=await this.getFlashVendor(A),s={0:null,1:\"Embedded Flash 4MB\",2:\"Embedded Flash 2MB\",3:\"Embedded Flash 1MB\",4:\"Embedded Flash 8MB\"}[e],a=void 0!==s?s:\"Unknown Embedded Flash\";return null!==s&&t.push(`${a} (${i})`),t}async getCrystalFreq(A){return 40}_d2h(A){const t=(+A).toString(16);return 1===t.length?\"0\"+t:t}async readMac(A){let t=await A.readReg(this.MAC_EFUSE_REG);t>>>=0;let e=await A.readReg(this.MAC_EFUSE_REG+4);e=e>>>0&65535;const i=new Uint8Array(6);return i[0]=e>>8&255,i[1]=255&e,i[2]=t>>24&255,i[3]=t>>16&255,i[4]=t>>8&255,i[5]=255&t,this._d2h(i[0])+\":\"+this._d2h(i[1])+\":\"+this._d2h(i[2])+\":\"+this._d2h(i[3])+\":\"+this._d2h(i[4])+\":\"+this._d2h(i[5])}getEraseSize(A,t){return t}}var be=Object.freeze({__proto__:null,ESP32C3ROM:Ye}),Ke=1077413304,xe=\"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\",Le=1077411840,Je=\"DEDKP+AIOEAsCThAhAk4QFIKOEC+CjhAbAo4QKgHOEAOCjhATgo4QJgJOEBYBzhAzAk4QFgHOEC6CDhA/gg4QCwJOECECThAzAg4QBIIOEBCCDhAyAg4QBYNOEAsCThA1gs4QMoMOECkBjhA9Aw4QKQGOECkBjhApAY4QKQGOECkBjhApAY4QKQGOECkBjhAcgs4QKQGOEDyCzhAygw4QA==\",ze=1070295976;var Ne=Object.freeze({__proto__:null,ESP32C2ROM:class extends Ye{constructor(){super(...arguments),this.CHIP_NAME=\"ESP32-C2\",this.IMAGE_CHIP_ID=12,this.EFUSE_BASE=1610647552,this.MAC_EFUSE_REG=this.EFUSE_BASE+64,this.UART_CLKDIV_REG=1610612756,this.UART_CLKDIV_MASK=1048575,this.UART_DATE_REG_ADDR=1610612860,this.XTAL_CLK_DIVIDER=1,this.FLASH_WRITE_SIZE=1024,this.BOOTLOADER_FLASH_OFFSET=0,this.FLASH_SIZES={\"1MB\":0,\"2MB\":16,\"4MB\":32,\"8MB\":48,\"16MB\":64},this.SPI_REG_BASE=1610620928,this.SPI_USR_OFFS=24,this.SPI_USR1_OFFS=28,this.SPI_USR2_OFFS=32,this.SPI_MOSI_DLEN_OFFS=36,this.SPI_MISO_DLEN_OFFS=40,this.SPI_W0_OFFS=88,this.TEXT_START=Le,this.ENTRY=Ke,this.DATA_START=ze,this.ROM_DATA=Je,this.ROM_TEXT=xe}async getPkgVersion(A){const t=this.EFUSE_BASE+64+4;return await A.readReg(t)>>22&7}async getChipRevision(A){const t=this.EFUSE_BASE+64+4;return(await A.readReg(t)&3<<20)>>20}async getChipDescription(A){let t;const e=await this.getPkgVersion(A);t=0===e||1===e?\"ESP32-C2\":\"unknown ESP32-C2\";return t+=\" (revision \"+await this.getChipRevision(A)+\")\",t}async getChipFeatures(A){return[\"Wi-Fi\",\"BLE\"]}async getCrystalFreq(A){const t=await A.readReg(this.UART_CLKDIV_REG)&this.UART_CLKDIV_MASK,e=A.transport.baudrate*t/1e6/this.XTAL_CLK_DIVIDER;let i;return i=e>33?40:26,Math.abs(i-e)>1&&A.info(\"WARNING: Unsupported crystal in use\"),i}async changeBaudRate(A){26===await this.getCrystalFreq(A)&&A.changeBaud()}_d2h(A){const t=(+A).toString(16);return 1===t.length?\"0\"+t:t}async readMac(A){let t=await A.readReg(this.MAC_EFUSE_REG);t>>>=0;let e=await A.readReg(this.MAC_EFUSE_REG+4);e=e>>>0&65535;const i=new Uint8Array(6);return i[0]=e>>8&255,i[1]=255&e,i[2]=t>>24&255,i[3]=t>>16&255,i[4]=t>>8&255,i[5]=255&t,this._d2h(i[0])+\":\"+this._d2h(i[1])+\":\"+this._d2h(i[2])+\":\"+this._d2h(i[3])+\":\"+this._d2h(i[4])+\":\"+this._d2h(i[5])}getEraseSize(A,t){return t}}}),ve=1082132112,je=\"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\",Ze=1082130432,We=\"HCuEQEIKgECSCoBA6gqAQI4LgED6C4BAqAuAQA4JgEBKC4BAiguAQP4KgEC+CIBAMguAQL4IgEAcCoBAYgqAQJIKgEDqCoBALgqAQHIJgECiCYBAKgqAQEwOgECSCoBAEg2AQAQOgED+B4BALA6AQP4HgED+B4BA/geAQP4HgED+B4BA/geAQP4HgED+B4BArgyAQP4HgEAwDYBABA6AQA==\",Xe=1082469292;class qe extends fe{constructor(){super(...arguments),this.CHIP_NAME=\"ESP32-C6\",this.IMAGE_CHIP_ID=13,this.EFUSE_BASE=1611335680,this.MAC_EFUSE_REG=this.EFUSE_BASE+68,this.UART_CLKDIV_REG=1072955412,this.UART_CLKDIV_MASK=1048575,this.UART_DATE_REG_ADDR=1610612860,this.FLASH_WRITE_SIZE=1024,this.BOOTLOADER_FLASH_OFFSET=0,this.FLASH_SIZES={\"1MB\":0,\"2MB\":16,\"4MB\":32,\"8MB\":48,\"16MB\":64},this.SPI_REG_BASE=1610620928,this.SPI_USR_OFFS=24,this.SPI_USR1_OFFS=28,this.SPI_USR2_OFFS=32,this.SPI_MOSI_DLEN_OFFS=36,this.SPI_MISO_DLEN_OFFS=40,this.SPI_W0_OFFS=88,this.TEXT_START=Ze,this.ENTRY=ve,this.DATA_START=Xe,this.ROM_DATA=We,this.ROM_TEXT=je}async getPkgVersion(A){const t=this.EFUSE_BASE+68+12;return await A.readReg(t)>>21&7}async getChipRevision(A){const t=this.EFUSE_BASE+68+12;return(await A.readReg(t)&7<<18)>>18}async getChipDescription(A){let t;t=0===await this.getPkgVersion(A)?\"ESP32-C6\":\"unknown ESP32-C6\";return t+=\" (revision \"+await this.getChipRevision(A)+\")\",t}async getChipFeatures(A){return[\"Wi-Fi 6\",\"BT 5\",\"IEEE802.15.4\"]}async getCrystalFreq(A){return 40}_d2h(A){const t=(+A).toString(16);return 1===t.length?\"0\"+t:t}async readMac(A){let t=await A.readReg(this.MAC_EFUSE_REG);t>>>=0;let e=await A.readReg(this.MAC_EFUSE_REG+4);e=e>>>0&65535;const i=new Uint8Array(6);return i[0]=e>>8&255,i[1]=255&e,i[2]=t>>24&255,i[3]=t>>16&255,i[4]=t>>8&255,i[5]=255&t,this._d2h(i[0])+\":\"+this._d2h(i[1])+\":\"+this._d2h(i[2])+\":\"+this._d2h(i[3])+\":\"+this._d2h(i[4])+\":\"+this._d2h(i[5])}getEraseSize(A,t){return t}}var Ve=Object.freeze({__proto__:null,ESP32C6ROM:qe}),$e=1082132164,Ai=\"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\",ti=1082130432,ei=\"FACEQG4KgEC+CoBAFguAQOQLgEBQDIBA/guAQDoJgECgC4BA4AuAQCoLgEDqCIBAXguAQOoIgEBICoBAjgqAQL4KgEAWC4BAWgqAQJ4JgEDOCYBAVgqAQKgOgEC+CoBAaA2AQGAOgEAqCIBAiA6AQCoIgEAqCIBAKgiAQCoIgEAqCIBAKgiAQCoIgEAqCIBABA2AQCoIgECGDYBAYA6AQA==\",ii=1082469296;var si=Object.freeze({__proto__:null,ESP32C5ROM:class extends qe{constructor(){super(...arguments),this.CHIP_NAME=\"ESP32-C5\",this.IMAGE_CHIP_ID=23,this.EFUSE_BASE=1611352064,this.EFUSE_BLOCK1_ADDR=this.EFUSE_BASE+68,this.MAC_EFUSE_REG=this.EFUSE_BASE+68,this.UART_CLKDIV_REG=1610612756,this.TEXT_START=ti,this.ENTRY=$e,this.DATA_START=ii,this.ROM_DATA=ei,this.ROM_TEXT=Ai,this.EFUSE_RD_REG_BASE=this.EFUSE_BASE+48,this.EFUSE_PURPOSE_KEY0_REG=this.EFUSE_BASE+52,this.EFUSE_PURPOSE_KEY0_SHIFT=24,this.EFUSE_PURPOSE_KEY1_REG=this.EFUSE_BASE+52,this.EFUSE_PURPOSE_KEY1_SHIFT=28,this.EFUSE_PURPOSE_KEY2_REG=this.EFUSE_BASE+56,this.EFUSE_PURPOSE_KEY2_SHIFT=0,this.EFUSE_PURPOSE_KEY3_REG=this.EFUSE_BASE+56,this.EFUSE_PURPOSE_KEY3_SHIFT=4,this.EFUSE_PURPOSE_KEY4_REG=this.EFUSE_BASE+56,this.EFUSE_PURPOSE_KEY4_SHIFT=8,this.EFUSE_PURPOSE_KEY5_REG=this.EFUSE_BASE+56,this.EFUSE_PURPOSE_KEY5_SHIFT=12,this.EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT_REG=this.EFUSE_RD_REG_BASE,this.EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT=1<<20,this.EFUSE_SPI_BOOT_CRYPT_CNT_REG=this.EFUSE_BASE+52,this.EFUSE_SPI_BOOT_CRYPT_CNT_MASK=7<<18,this.EFUSE_SECURE_BOOT_EN_REG=this.EFUSE_BASE+56,this.EFUSE_SECURE_BOOT_EN_MASK=1<<20,this.IROM_MAP_START=1107296256,this.IROM_MAP_END=1115684864,this.DROM_MAP_START=1115684864,this.DROM_MAP_END=1124073472,this.PCR_SYSCLK_CONF_REG=1611227408,this.PCR_SYSCLK_XTAL_FREQ_V=127<<24,this.PCR_SYSCLK_XTAL_FREQ_S=24,this.XTAL_CLK_DIVIDER=1,this.UARTDEV_BUF_NO=1082520860,this.CHIP_DETECT_MAGIC_VALUE=[285294703],this.FLASH_FREQUENCY={\"80m\":15,\"40m\":0,\"20m\":2},this.MEMORY_MAP=[[0,65536,\"PADDING\"],[1115684864,1124073472,\"DROM\"],[1082130432,1082523648,\"DRAM\"],[1082130432,1082523648,\"BYTE_ACCESSIBLE\"],[1073979392,1074003968,\"DROM_MASK\"],[1073741824,1073979392,\"IROM_MASK\"],[1107296256,1115684864,\"IROM\"],[1082130432,1082523648,\"IRAM\"],[1342177280,1342193664,\"RTC_IRAM\"],[1342177280,1342193664,\"RTC_DRAM\"],[1611653120,1611661312,\"MEM_INTERNAL2\"]],this.UF2_FAMILY_ID=4145808195,this.EFUSE_MAX_KEY=5,this.KEY_PURPOSES={0:\"USER/EMPTY\",1:\"ECDSA_KEY\",2:\"XTS_AES_256_KEY_1\",3:\"XTS_AES_256_KEY_2\",4:\"XTS_AES_128_KEY\",5:\"HMAC_DOWN_ALL\",6:\"HMAC_DOWN_JTAG\",7:\"HMAC_DOWN_DIGITAL_SIGNATURE\",8:\"HMAC_UP\",9:\"SECURE_BOOT_DIGEST0\",10:\"SECURE_BOOT_DIGEST1\",11:\"SECURE_BOOT_DIGEST2\",12:\"KM_INIT_KEY\"}}async getPkgVersion(A){return await A.readReg(this.EFUSE_BLOCK1_ADDR+8)>>26&7}async getMinorChipVersion(A){return await A.readReg(this.EFUSE_BLOCK1_ADDR+8)>>0&15}async getMajorChipVersion(A){return await A.readReg(this.EFUSE_BLOCK1_ADDR+8)>>4&3}async getChipDescription(A){let t;t=0===await this.getPkgVersion(A)?\"ESP32-C5\":\"unknown ESP32-C5\";return`${t} (revision v${await this.getMajorChipVersion(A)}.${await this.getMinorChipVersion(A)})`}async getCrystalFreq(A){const t=await A.readReg(this.UART_CLKDIV_REG)&this.UART_CLKDIV_MASK,e=A.transport.baudrate*t/1e6/this.XTAL_CLK_DIVIDER;let i;return i=e>45?48:e>33?40:26,Math.abs(i-e)>1&&A.info(\"WARNING: Unsupported crystal in use\"),i}async getCrystalFreqRomExpect(A){return(await A.readReg(this.PCR_SYSCLK_CONF_REG)&this.PCR_SYSCLK_XTAL_FREQ_V)>>this.PCR_SYSCLK_XTAL_FREQ_S}}}),ai=1082132112,ni=\"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\",Ei=1082130432,hi=\"EACDQEIKgECSCoBA6gqAQI4LgED6C4BAqAuAQA4JgEBKC4BAiguAQP4KgEC+CIBAMguAQL4IgEAcCoBAYgqAQJIKgEDqCoBALgqAQHIJgECiCYBAKgqAQFIOgECSCoBAEg2AQAoOgED+B4BAMg6AQP4HgED+B4BA/geAQP4HgED+B4BA/geAQP4HgED+B4BArgyAQP4HgEAwDYBACg6AQA==\",ri=1082403756;var gi=Object.freeze({__proto__:null,ESP32H2ROM:class extends fe{constructor(){super(...arguments),this.CHIP_NAME=\"ESP32-H2\",this.IMAGE_CHIP_ID=16,this.EFUSE_BASE=1610647552,this.MAC_EFUSE_REG=this.EFUSE_BASE+68,this.UART_CLKDIV_REG=1072955412,this.UART_CLKDIV_MASK=1048575,this.UART_DATE_REG_ADDR=1610612860,this.FLASH_WRITE_SIZE=1024,this.BOOTLOADER_FLASH_OFFSET=0,this.FLASH_SIZES={\"1MB\":0,\"2MB\":16,\"4MB\":32,\"8MB\":48,\"16MB\":64},this.SPI_REG_BASE=1610620928,this.SPI_USR_OFFS=24,this.SPI_USR1_OFFS=28,this.SPI_USR2_OFFS=32,this.SPI_MOSI_DLEN_OFFS=36,this.SPI_MISO_DLEN_OFFS=40,this.SPI_W0_OFFS=88,this.USB_RAM_BLOCK=2048,this.UARTDEV_BUF_NO_USB=3,this.UARTDEV_BUF_NO=1070526796,this.TEXT_START=Ei,this.ENTRY=ai,this.DATA_START=ri,this.ROM_DATA=hi,this.ROM_TEXT=ni}async getChipDescription(A){return this.CHIP_NAME}async getChipFeatures(A){return[\"BLE\",\"IEEE802.15.4\"]}async getCrystalFreq(A){return 32}_d2h(A){const t=(+A).toString(16);return 1===t.length?\"0\"+t:t}async postConnect(A){const t=255&await A.readReg(this.UARTDEV_BUF_NO);A.debug(\"In _post_connect \"+t),t==this.UARTDEV_BUF_NO_USB&&(A.ESP_RAM_BLOCK=this.USB_RAM_BLOCK)}async readMac(A){let t=await A.readReg(this.MAC_EFUSE_REG);t>>>=0;let e=await A.readReg(this.MAC_EFUSE_REG+4);e=e>>>0&65535;const i=new Uint8Array(6);return i[0]=e>>8&255,i[1]=255&e,i[2]=t>>24&255,i[3]=t>>16&255,i[4]=t>>8&255,i[5]=255&t,this._d2h(i[0])+\":\"+this._d2h(i[1])+\":\"+this._d2h(i[2])+\":\"+this._d2h(i[3])+\":\"+this._d2h(i[4])+\":\"+this._d2h(i[5])}getEraseSize(A,t){return t}}}),oi=1077381696,Bi=\"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\",wi=1077379072,ci=\"ZCvKP8qNN0CvjjdAcJM3QDqPN0DPjjdAOo83QJmPN0BmkDdA2ZA3QIGQN0BVjTdA/I83QFiQN0C8jzdA+5A3QOaPN0D7kDdAnY43QPqON0A6jzdAmY83QLWON0CWjTdAvJE3QDaTN0ByjDdAVpM3QHKMN0ByjDdAcow3QHKMN0ByjDdAcow3QHKMN0ByjDdAVpE3QHKMN0BRkjdANpM3QAQInwAAAAAAAAAYAQQIBQAAAAAAAAAIAQQIBgAAAAAAAAAAAQQIIQAAAAAAIAAAEQQI3AAAAAAAIAAAEQQIDAAAAAAAIAAAAQQIEgAAAAAAIAAAESAoDAAQAQAA\",Ci=1070279668;var Ii=Object.freeze({__proto__:null,ESP32S3ROM:class extends fe{constructor(){super(...arguments),this.CHIP_NAME=\"ESP32-S3\",this.IMAGE_CHIP_ID=9,this.EFUSE_BASE=1610641408,this.MAC_EFUSE_REG=this.EFUSE_BASE+68,this.UART_CLKDIV_REG=1610612756,this.UART_CLKDIV_MASK=1048575,this.UART_DATE_REG_ADDR=1610612864,this.FLASH_WRITE_SIZE=1024,this.BOOTLOADER_FLASH_OFFSET=0,this.FLASH_SIZES={\"1MB\":0,\"2MB\":16,\"4MB\":32,\"8MB\":48,\"16MB\":64},this.SPI_REG_BASE=1610620928,this.SPI_USR_OFFS=24,this.SPI_USR1_OFFS=28,this.SPI_USR2_OFFS=32,this.SPI_MOSI_DLEN_OFFS=36,this.SPI_MISO_DLEN_OFFS=40,this.SPI_W0_OFFS=88,this.USB_RAM_BLOCK=2048,this.UARTDEV_BUF_NO_USB=3,this.UARTDEV_BUF_NO=1070526796,this.TEXT_START=wi,this.ENTRY=oi,this.DATA_START=Ci,this.ROM_DATA=ci,this.ROM_TEXT=Bi}async getChipDescription(A){return\"ESP32-S3\"}async getFlashCap(A){const t=this.EFUSE_BASE+68+12;return await A.readReg(t)>>27&7}async getFlashVendor(A){const t=this.EFUSE_BASE+68+16;return{1:\"XMC\",2:\"GD\",3:\"FM\",4:\"TT\",5:\"BY\"}[await A.readReg(t)>>0&7]||\"\"}async getPsramCap(A){const t=this.EFUSE_BASE+68+16;return await A.readReg(t)>>3&3}async getPsramVendor(A){const t=this.EFUSE_BASE+68+16;return{1:\"AP_3v3\",2:\"AP_1v8\"}[await A.readReg(t)>>7&3]||\"\"}async getChipFeatures(A){const t=[\"Wi-Fi\",\"BLE\"],e=await this.getFlashCap(A),i=await this.getFlashVendor(A),s={0:null,1:\"Embedded Flash 8MB\",2:\"Embedded Flash 4MB\"}[e],a=void 0!==s?s:\"Unknown Embedded Flash\";null!==s&&t.push(`${a} (${i})`);const n=await this.getPsramCap(A),E=await this.getPsramVendor(A),h={0:null,1:\"Embedded PSRAM 8MB\",2:\"Embedded PSRAM 2MB\"}[n],r=void 0!==h?h:\"Unknown Embedded PSRAM\";return null!==h&&t.push(`${r} (${E})`),t}async getCrystalFreq(A){return 40}_d2h(A){const t=(+A).toString(16);return 1===t.length?\"0\"+t:t}async postConnect(A){const t=255&await A.readReg(this.UARTDEV_BUF_NO);A.debug(\"In _post_connect \"+t),t==this.UARTDEV_BUF_NO_USB&&(A.ESP_RAM_BLOCK=this.USB_RAM_BLOCK)}async readMac(A){let t=await A.readReg(this.MAC_EFUSE_REG);t>>>=0;let e=await A.readReg(this.MAC_EFUSE_REG+4);e=e>>>0&65535;const i=new Uint8Array(6);return i[0]=e>>8&255,i[1]=255&e,i[2]=t>>24&255,i[3]=t>>16&255,i[4]=t>>8&255,i[5]=255&t,this._d2h(i[0])+\":\"+this._d2h(i[1])+\":\"+this._d2h(i[2])+\":\"+this._d2h(i[3])+\":\"+this._d2h(i[4])+\":\"+this._d2h(i[5])}getEraseSize(A,t){return t}}}),_i=1073907696,li=\"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\",di=1073905664,Mi=\"ZCv9PzaLAkDBiwJAhpACQEqMAkDjiwJASowCQKmMAkByjQJA5Y0CQI2NAkDAigJAC40CQGSNAkDMjAJACI4CQPaMAkAIjgJAr4sCQA6MAkBKjAJAqYwCQMeLAkACiwJAx44CQD2QAkDYiQJAZZACQNiJAkDYiQJA2IkCQNiJAkDYiQJA2IkCQNiJAkDYiQJAZI4CQNiJAkBZjwJAPZACQA==\",Di=1073622012;var Ri=Object.freeze({__proto__:null,ESP32S2ROM:class extends fe{constructor(){super(...arguments),this.CHIP_NAME=\"ESP32-S2\",this.IMAGE_CHIP_ID=2,this.MAC_EFUSE_REG=1061265476,this.EFUSE_BASE=1061265408,this.UART_CLKDIV_REG=1061158932,this.UART_CLKDIV_MASK=1048575,this.UART_DATE_REG_ADDR=1610612856,this.FLASH_WRITE_SIZE=1024,this.BOOTLOADER_FLASH_OFFSET=4096,this.FLASH_SIZES={\"1MB\":0,\"2MB\":16,\"4MB\":32,\"8MB\":48,\"16MB\":64},this.SPI_REG_BASE=1061167104,this.SPI_USR_OFFS=24,this.SPI_USR1_OFFS=28,this.SPI_USR2_OFFS=32,this.SPI_W0_OFFS=88,this.SPI_MOSI_DLEN_OFFS=36,this.SPI_MISO_DLEN_OFFS=40,this.TEXT_START=di,this.ENTRY=_i,this.DATA_START=Di,this.ROM_DATA=Mi,this.ROM_TEXT=li}async getPkgVersion(A){const t=this.EFUSE_BASE+68+12;return await A.readReg(t)>>21&15}async getChipDescription(A){const t=[\"ESP32-S2\",\"ESP32-S2FH16\",\"ESP32-S2FH32\"],e=await this.getPkgVersion(A);return e>=0&&e<=2?t[e]:\"unknown ESP32-S2\"}async getFlashCap(A){const t=this.EFUSE_BASE+68+12;return await A.readReg(t)>>21&15}async getPsramCap(A){const t=this.EFUSE_BASE+68+12;return await A.readReg(t)>>28&15}async getBlock2Version(A){const t=this.EFUSE_BASE+92+16;return await A.readReg(t)>>4&7}async getChipFeatures(A){const t=[\"Wi-Fi\"],e={0:\"No Embedded Flash\",1:\"Embedded Flash 2MB\",2:\"Embedded Flash 4MB\"}[await this.getFlashCap(A)]||\"Unknown Embedded Flash\";t.push(e);const i={0:\"No Embedded Flash\",1:\"Embedded PSRAM 2MB\",2:\"Embedded PSRAM 4MB\"}[await this.getPsramCap(A)]||\"Unknown Embedded PSRAM\";t.push(i);const s={0:\"No calibration in BLK2 of efuse\",1:\"ADC and temperature sensor calibration in BLK2 of efuse V1\",2:\"ADC and temperature sensor calibration in BLK2 of efuse V2\"}[await this.getBlock2Version(A)]||\"Unknown Calibration in BLK2\";return t.push(s),t}async getCrystalFreq(A){return 40}_d2h(A){const t=(+A).toString(16);return 1===t.length?\"0\"+t:t}async readMac(A){let t=await A.readReg(this.MAC_EFUSE_REG);t>>>=0;let e=await A.readReg(this.MAC_EFUSE_REG+4);e=e>>>0&65535;const i=new Uint8Array(6);return i[0]=e>>8&255,i[1]=255&e,i[2]=t>>24&255,i[3]=t>>16&255,i[4]=t>>8&255,i[5]=255&t,this._d2h(i[0])+\":\"+this._d2h(i[1])+\":\"+this._d2h(i[2])+\":\"+this._d2h(i[3])+\":\"+this._d2h(i[4])+\":\"+this._d2h(i[5])}getEraseSize(A,t){return t}}}),Si=1074843652,Qi=\"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\",fi=1074843648,Fi=\"CIH+PwUFBAACAwcAAwMLALnXEEDv1xBAHdgQQLrYEEBo5xBAHtkQQHTZEEDA2RBAaOcQQILaEED/2hBAwNsQQGjnEEBo5xBAWNwQQGjnEEA33xBAAOAQQDvgEEBo5xBAaOcQQNfgEEBo5xBAv+EQQGXiEECj4xBAY+QQQDTlEEBo5xBAaOcQQGjnEEBo5xBAYuYQQGjnEEBX5xBAkN0QQI/YEECm5RBAq9oQQPzZEEBo5xBA7OYQQDHnEEBo5xBAaOcQQGjnEEBo5xBAaOcQQGjnEEBo5xBAaOcQQCLaEEBf2hBAvuUQQAEAAAACAAAAAwAAAAQAAAAFAAAABwAAAAkAAAANAAAAEQAAABkAAAAhAAAAMQAAAEEAAABhAAAAgQAAAMEAAAABAQAAgQEAAAECAAABAwAAAQQAAAEGAAABCAAAAQwAAAEQAAABGAAAASAAAAEwAAABQAAAAWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAUAAAAGAAAABgAAAAcAAAAHAAAACAAAAAgAAAAJAAAACQAAAAoAAAAKAAAACwAAAAsAAAAMAAAADAAAAA0AAAANAAAAAAAAAAAAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAANAAAADwAAABEAAAATAAAAFwAAABsAAAAfAAAAIwAAACsAAAAzAAAAOwAAAEMAAABTAAAAYwAAAHMAAACDAAAAowAAAMMAAADjAAAAAgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAABAAAAAgAAAAIAAAACAAAAAgAAAAMAAAADAAAAAwAAAAMAAAAEAAAABAAAAAQAAAAEAAAABQAAAAUAAAAFAAAABQAAAAAAAAAAAAAAAAAAABAREgAIBwkGCgULBAwDDQIOAQ8AAQEAAAEAAAAEAAAA\",Ti=1073720488;var ui=Object.freeze({__proto__:null,ESP8266ROM:class extends fe{constructor(){super(...arguments),this.CHIP_NAME=\"ESP8266\",this.CHIP_DETECT_MAGIC_VALUE=[4293968129],this.EFUSE_RD_REG_BASE=1072693328,this.UART_CLKDIV_REG=1610612756,this.UART_CLKDIV_MASK=1048575,this.XTAL_CLK_DIVIDER=2,this.FLASH_WRITE_SIZE=16384,this.BOOTLOADER_FLASH_OFFSET=0,this.UART_DATE_REG_ADDR=0,this.FLASH_SIZES={\"512KB\":0,\"256KB\":16,\"1MB\":32,\"2MB\":48,\"4MB\":64,\"2MB-c1\":80,\"4MB-c1\":96,\"8MB\":128,\"16MB\":144},this.SPI_REG_BASE=1610613248,this.SPI_USR_OFFS=28,this.SPI_USR1_OFFS=32,this.SPI_USR2_OFFS=36,this.SPI_MOSI_DLEN_OFFS=0,this.SPI_MISO_DLEN_OFFS=0,this.SPI_W0_OFFS=64,this.TEXT_START=fi,this.ENTRY=Si,this.DATA_START=Ti,this.ROM_DATA=Fi,this.ROM_TEXT=Qi,this.getChipFeatures=async A=>{const t=[\"WiFi\"];return\"ESP8285\"==await this.getChipDescription(A)&&t.push(\"Embedded Flash\"),t}}async readEfuse(A,t){const e=this.EFUSE_RD_REG_BASE+4*t;return A.debug(\"Read efuse \"+e),await A.readReg(e)}async getChipDescription(A){const t=await this.readEfuse(A,2);return 0!=(16&await this.readEfuse(A,0)|65536&t)?\"ESP8285\":\"ESP8266EX\"}async getCrystalFreq(A){const t=await A.readReg(this.UART_CLKDIV_REG)&this.UART_CLKDIV_MASK,e=A.transport.baudrate*t/1e6/this.XTAL_CLK_DIVIDER;let i;return i=e>33?40:26,Math.abs(i-e)>1&&A.info(\"WARNING: Detected crystal freq \"+e+\"MHz is quite different to normalized freq \"+i+\"MHz. Unsupported crystal in use?\"),i}_d2h(A){const t=(+A).toString(16);return 1===t.length?\"0\"+t:t}async readMac(A){let t=await this.readEfuse(A,0);t>>>=0;let e=await this.readEfuse(A,1);e>>>=0;let i=await this.readEfuse(A,3);i>>>=0;const s=new Uint8Array(6);return 0!=i?(s[0]=i>>16&255,s[1]=i>>8&255,s[2]=255&i):0==(e>>16&255)?(s[0]=24,s[1]=254,s[2]=52):1==(e>>16&255)?(s[0]=172,s[1]=208,s[2]=116):A.error(\"Unknown OUI\"),s[3]=e>>8&255,s[4]=255&e,s[5]=t>>24&255,this._d2h(s[0])+\":\"+this._d2h(s[1])+\":\"+this._d2h(s[2])+\":\"+this._d2h(s[3])+\":\"+this._d2h(s[4])+\":\"+this._d2h(s[5])}getEraseSize(A,t){return t}}}),pi=1341195918,yi=\"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\",ki=1341194240,Hi=\"EAD1TwYK8U9WCvFPrgrxT4QL8U/wC/FPngvxT9QI8U9AC/FPgAvxT8IK8U+ECPFP9grxT4QI8U/gCfFPJgrxT1YK8U+uCvFP8gnxTzgJ8U9oCfFP7gnxT0AO8U9WCvFPCA3xTwAO8U/EB/FPJA7xT8QH8U/EB/FPxAfxT8QH8U/EB/FPxAfxT8QH8U/EB/FPpAzxT8QH8U8mDfFPAA7xTw==\",Pi=1341533100;var Oi=Object.freeze({__proto__:null,ESP32P4ROM:class extends ke{constructor(){super(...arguments),this.CHIP_NAME=\"ESP32-P4\",this.IMAGE_CHIP_ID=18,this.IROM_MAP_START=1073741824,this.IROM_MAP_END=1275068416,this.DROM_MAP_START=1073741824,this.DROM_MAP_END=1275068416,this.BOOTLOADER_FLASH_OFFSET=8192,this.CHIP_DETECT_MAGIC_VALUE=[0,182303440],this.UART_DATE_REG_ADDR=1343004812,this.EFUSE_BASE=1343410176,this.EFUSE_BLOCK1_ADDR=this.EFUSE_BASE+68,this.MAC_EFUSE_REG=this.EFUSE_BASE+68,this.SPI_REG_BASE=1342754816,this.SPI_USR_OFFS=24,this.SPI_USR1_OFFS=28,this.SPI_USR2_OFFS=32,this.SPI_MOSI_DLEN_OFFS=36,this.SPI_MISO_DLEN_OFFS=40,this.SPI_W0_OFFS=88,this.EFUSE_RD_REG_BASE=this.EFUSE_BASE+48,this.EFUSE_PURPOSE_KEY0_REG=this.EFUSE_BASE+52,this.EFUSE_PURPOSE_KEY0_SHIFT=24,this.EFUSE_PURPOSE_KEY1_REG=this.EFUSE_BASE+52,this.EFUSE_PURPOSE_KEY1_SHIFT=28,this.EFUSE_PURPOSE_KEY2_REG=this.EFUSE_BASE+56,this.EFUSE_PURPOSE_KEY2_SHIFT=0,this.EFUSE_PURPOSE_KEY3_REG=this.EFUSE_BASE+56,this.EFUSE_PURPOSE_KEY3_SHIFT=4,this.EFUSE_PURPOSE_KEY4_REG=this.EFUSE_BASE+56,this.EFUSE_PURPOSE_KEY4_SHIFT=8,this.EFUSE_PURPOSE_KEY5_REG=this.EFUSE_BASE+56,this.EFUSE_PURPOSE_KEY5_SHIFT=12,this.EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT_REG=this.EFUSE_RD_REG_BASE,this.EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT=1<<20,this.EFUSE_SPI_BOOT_CRYPT_CNT_REG=this.EFUSE_BASE+52,this.EFUSE_SPI_BOOT_CRYPT_CNT_MASK=7<<18,this.EFUSE_SECURE_BOOT_EN_REG=this.EFUSE_BASE+56,this.EFUSE_SECURE_BOOT_EN_MASK=1<<20,this.PURPOSE_VAL_XTS_AES256_KEY_1=2,this.PURPOSE_VAL_XTS_AES256_KEY_2=3,this.PURPOSE_VAL_XTS_AES128_KEY=4,this.SUPPORTS_ENCRYPTED_FLASH=!0,this.FLASH_ENCRYPTED_WRITE_ALIGN=16,this.MEMORY_MAP=[[0,65536,\"PADDING\"],[1073741824,1275068416,\"DROM\"],[1341128704,1341784064,\"DRAM\"],[1341128704,1341784064,\"BYTE_ACCESSIBLE\"],[1337982976,1338114048,\"DROM_MASK\"],[1337982976,1338114048,\"IROM_MASK\"],[1073741824,1275068416,\"IROM\"],[1341128704,1341784064,\"IRAM\"],[1343258624,1343291392,\"RTC_IRAM\"],[1343258624,1343291392,\"RTC_DRAM\"],[1611653120,1611661312,\"MEM_INTERNAL2\"]],this.UF2_FAMILY_ID=1026592404,this.EFUSE_MAX_KEY=5,this.KEY_PURPOSES={0:\"USER/EMPTY\",1:\"ECDSA_KEY\",2:\"XTS_AES_256_KEY_1\",3:\"XTS_AES_256_KEY_2\",4:\"XTS_AES_128_KEY\",5:\"HMAC_DOWN_ALL\",6:\"HMAC_DOWN_JTAG\",7:\"HMAC_DOWN_DIGITAL_SIGNATURE\",8:\"HMAC_UP\",9:\"SECURE_BOOT_DIGEST0\",10:\"SECURE_BOOT_DIGEST1\",11:\"SECURE_BOOT_DIGEST2\",12:\"KM_INIT_KEY\"},this.TEXT_START=ki,this.ENTRY=pi,this.DATA_START=Pi,this.ROM_DATA=Hi,this.ROM_TEXT=yi}async getPkgVersion(A){const t=this.EFUSE_BLOCK1_ADDR+8;return await A.readReg(t)>>27&7}async getMinorChipVersion(A){const t=this.EFUSE_BLOCK1_ADDR+8;return await A.readReg(t)>>0&15}async getMajorChipVersion(A){const t=this.EFUSE_BLOCK1_ADDR+8;return await A.readReg(t)>>4&3}async getChipDescription(A){return`${0===await this.getPkgVersion(A)?\"ESP32-P4\":\"unknown ESP32-P4\"} (revision v${await this.getMajorChipVersion(A)}.${await this.getMinorChipVersion(A)})`}async getChipFeatures(A){return[\"High-Performance MCU\"]}async getCrystalFreq(A){return 40}async getFlashVoltage(A){}async overrideVddsdio(A){A.debug(\"VDD_SDIO overrides are not supported for ESP32-P4\")}async readMac(A){let t=await A.readReg(this.MAC_EFUSE_REG);t>>>=0;let e=await A.readReg(this.MAC_EFUSE_REG+4);e=e>>>0&65535;const i=new Uint8Array(6);return i[0]=e>>8&255,i[1]=255&e,i[2]=t>>24&255,i[3]=t>>16&255,i[4]=t>>8&255,i[5]=255&t,this._d2h(i[0])+\":\"+this._d2h(i[1])+\":\"+this._d2h(i[2])+\":\"+this._d2h(i[3])+\":\"+this._d2h(i[4])+\":\"+this._d2h(i[5])}async getFlashCryptConfig(A){}async getSecureBootEnabled(A){return await A.readReg(this.EFUSE_SECURE_BOOT_EN_REG)&this.EFUSE_SECURE_BOOT_EN_MASK}async getKeyBlockPurpose(A,t){if(t<0||t>this.EFUSE_MAX_KEY)return void A.debug(`Valid key block numbers must be in range 0-${this.EFUSE_MAX_KEY}`);const e=[[this.EFUSE_PURPOSE_KEY0_REG,this.EFUSE_PURPOSE_KEY0_SHIFT],[this.EFUSE_PURPOSE_KEY1_REG,this.EFUSE_PURPOSE_KEY1_SHIFT],[this.EFUSE_PURPOSE_KEY2_REG,this.EFUSE_PURPOSE_KEY2_SHIFT],[this.EFUSE_PURPOSE_KEY3_REG,this.EFUSE_PURPOSE_KEY3_SHIFT],[this.EFUSE_PURPOSE_KEY4_REG,this.EFUSE_PURPOSE_KEY4_SHIFT],[this.EFUSE_PURPOSE_KEY5_REG,this.EFUSE_PURPOSE_KEY5_SHIFT]],[i,s]=e[t];return await A.readReg(i)>>s&15}async isFlashEncryptionKeyValid(A){const t=[];for(let e=0;e<=this.EFUSE_MAX_KEY;e++){const i=await this.getKeyBlockPurpose(A,e);t.push(i)}if(void 0!==typeof t.find((A=>A===this.PURPOSE_VAL_XTS_AES128_KEY)))return!0;const e=t.find((A=>A===this.PURPOSE_VAL_XTS_AES256_KEY_1)),i=t.find((A=>A===this.PURPOSE_VAL_XTS_AES256_KEY_2));return void 0!==typeof e&&void 0!==typeof i}}});export{Qe as ESPLoader,fe as ROM,Ie as Transport,le as classicReset,Re as customReset,Me as hardReset,de as usbJTAGSerialReset,De as validateCustomResetStringSequence};\n","/*\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in\n * compliance with the License. You may obtain a copy of\n * the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in\n * writing, software distributed under the License is\n * distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES\n * OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing\n * permissions and limitations under the License.\n */\n'use strict';\nexport var SerialPolyfillProtocol;\n(function (SerialPolyfillProtocol) {\n SerialPolyfillProtocol[SerialPolyfillProtocol[\"UsbCdcAcm\"] = 0] = \"UsbCdcAcm\";\n})(SerialPolyfillProtocol || (SerialPolyfillProtocol = {}));\nconst kSetLineCoding = 0x20;\nconst kSetControlLineState = 0x22;\nconst kSendBreak = 0x23;\nconst kDefaultBufferSize = 255;\nconst kDefaultDataBits = 8;\nconst kDefaultParity = 'none';\nconst kDefaultStopBits = 1;\nconst kAcceptableDataBits = [16, 8, 7, 6, 5];\nconst kAcceptableStopBits = [1, 2];\nconst kAcceptableParity = ['none', 'even', 'odd'];\nconst kParityIndexMapping = ['none', 'odd', 'even'];\nconst kStopBitsIndexMapping = [1, 1.5, 2];\nconst kDefaultPolyfillOptions = {\n protocol: SerialPolyfillProtocol.UsbCdcAcm,\n usbControlInterfaceClass: 2,\n usbTransferInterfaceClass: 10,\n};\n/**\n * Utility function to get the interface implementing a desired class.\n * @param {USBDevice} device The USB device.\n * @param {number} classCode The desired interface class.\n * @return {USBInterface} The first interface found that implements the desired\n * class.\n * @throws TypeError if no interface is found.\n */\nfunction findInterface(device, classCode) {\n const configuration = device.configurations[0];\n for (const iface of configuration.interfaces) {\n const alternate = iface.alternates[0];\n if (alternate.interfaceClass === classCode) {\n return iface;\n }\n }\n throw new TypeError(`Unable to find interface with class ${classCode}.`);\n}\n/**\n * Utility function to get an endpoint with a particular direction.\n * @param {USBInterface} iface The interface to search.\n * @param {USBDirection} direction The desired transfer direction.\n * @return {USBEndpoint} The first endpoint with the desired transfer direction.\n * @throws TypeError if no endpoint is found.\n */\nfunction findEndpoint(iface, direction) {\n const alternate = iface.alternates[0];\n for (const endpoint of alternate.endpoints) {\n if (endpoint.direction == direction) {\n return endpoint;\n }\n }\n throw new TypeError(`Interface ${iface.interfaceNumber} does not have an ` +\n `${direction} endpoint.`);\n}\n/**\n * Implementation of the underlying source API[1] which reads data from a USB\n * endpoint. This can be used to construct a ReadableStream.\n *\n * [1]: https://streams.spec.whatwg.org/#underlying-source-api\n */\nclass UsbEndpointUnderlyingSource {\n /**\n * Constructs a new UnderlyingSource that will pull data from the specified\n * endpoint on the given USB device.\n *\n * @param {USBDevice} device\n * @param {USBEndpoint} endpoint\n * @param {function} onError function to be called on error\n */\n constructor(device, endpoint, onError) {\n this.type = 'bytes';\n this.device_ = device;\n this.endpoint_ = endpoint;\n this.onError_ = onError;\n }\n /**\n * Reads a chunk of data from the device.\n *\n * @param {ReadableByteStreamController} controller\n */\n pull(controller) {\n (async () => {\n var _a;\n let chunkSize;\n if (controller.desiredSize) {\n const d = controller.desiredSize / this.endpoint_.packetSize;\n chunkSize = Math.ceil(d) * this.endpoint_.packetSize;\n }\n else {\n chunkSize = this.endpoint_.packetSize;\n }\n try {\n const result = await this.device_.transferIn(this.endpoint_.endpointNumber, chunkSize);\n if (result.status != 'ok') {\n controller.error(`USB error: ${result.status}`);\n this.onError_();\n }\n if ((_a = result.data) === null || _a === void 0 ? void 0 : _a.buffer) {\n const chunk = new Uint8Array(result.data.buffer, result.data.byteOffset, result.data.byteLength);\n controller.enqueue(chunk);\n }\n }\n catch (error) {\n controller.error(error.toString());\n this.onError_();\n }\n })();\n }\n}\n/**\n * Implementation of the underlying sink API[2] which writes data to a USB\n * endpoint. This can be used to construct a WritableStream.\n *\n * [2]: https://streams.spec.whatwg.org/#underlying-sink-api\n */\nclass UsbEndpointUnderlyingSink {\n /**\n * Constructs a new UnderlyingSink that will write data to the specified\n * endpoint on the given USB device.\n *\n * @param {USBDevice} device\n * @param {USBEndpoint} endpoint\n * @param {function} onError function to be called on error\n */\n constructor(device, endpoint, onError) {\n this.device_ = device;\n this.endpoint_ = endpoint;\n this.onError_ = onError;\n }\n /**\n * Writes a chunk to the device.\n *\n * @param {Uint8Array} chunk\n * @param {WritableStreamDefaultController} controller\n */\n async write(chunk, controller) {\n try {\n const result = await this.device_.transferOut(this.endpoint_.endpointNumber, chunk);\n if (result.status != 'ok') {\n controller.error(result.status);\n this.onError_();\n }\n }\n catch (error) {\n controller.error(error.toString());\n this.onError_();\n }\n }\n}\n/** a class used to control serial devices over WebUSB */\nexport class SerialPort {\n /**\n * constructor taking a WebUSB device that creates a SerialPort instance.\n * @param {USBDevice} device A device acquired from the WebUSB API\n * @param {SerialPolyfillOptions} polyfillOptions Optional options to\n * configure the polyfill.\n */\n constructor(device, polyfillOptions) {\n this.polyfillOptions_ = Object.assign(Object.assign({}, kDefaultPolyfillOptions), polyfillOptions);\n this.outputSignals_ = {\n dataTerminalReady: false,\n requestToSend: false,\n break: false,\n };\n this.device_ = device;\n this.controlInterface_ = findInterface(this.device_, this.polyfillOptions_.usbControlInterfaceClass);\n this.transferInterface_ = findInterface(this.device_, this.polyfillOptions_.usbTransferInterfaceClass);\n this.inEndpoint_ = findEndpoint(this.transferInterface_, 'in');\n this.outEndpoint_ = findEndpoint(this.transferInterface_, 'out');\n }\n /**\n * Getter for the readable attribute. Constructs a new ReadableStream as\n * necessary.\n * @return {ReadableStream} the current readable stream\n */\n get readable() {\n var _a;\n if (!this.readable_ && this.device_.opened) {\n this.readable_ = new ReadableStream(new UsbEndpointUnderlyingSource(this.device_, this.inEndpoint_, () => {\n this.readable_ = null;\n }), {\n highWaterMark: (_a = this.serialOptions_.bufferSize) !== null && _a !== void 0 ? _a : kDefaultBufferSize,\n });\n }\n return this.readable_;\n }\n /**\n * Getter for the writable attribute. Constructs a new WritableStream as\n * necessary.\n * @return {WritableStream} the current writable stream\n */\n get writable() {\n var _a;\n if (!this.writable_ && this.device_.opened) {\n this.writable_ = new WritableStream(new UsbEndpointUnderlyingSink(this.device_, this.outEndpoint_, () => {\n this.writable_ = null;\n }), new ByteLengthQueuingStrategy({\n highWaterMark: (_a = this.serialOptions_.bufferSize) !== null && _a !== void 0 ? _a : kDefaultBufferSize,\n }));\n }\n return this.writable_;\n }\n /**\n * a function that opens the device and claims all interfaces needed to\n * control and communicate to and from the serial device\n * @param {SerialOptions} options Object containing serial options\n * @return {Promise<void>} A promise that will resolve when device is ready\n * for communication\n */\n async open(options) {\n this.serialOptions_ = options;\n this.validateOptions();\n try {\n await this.device_.open();\n if (this.device_.configuration === null) {\n await this.device_.selectConfiguration(1);\n }\n await this.device_.claimInterface(this.controlInterface_.interfaceNumber);\n if (this.controlInterface_ !== this.transferInterface_) {\n await this.device_.claimInterface(this.transferInterface_.interfaceNumber);\n }\n await this.setLineCoding();\n await this.setSignals({ dataTerminalReady: true });\n }\n catch (error) {\n if (this.device_.opened) {\n await this.device_.close();\n }\n throw new Error('Error setting up device: ' + error.toString());\n }\n }\n /**\n * Closes the port.\n *\n * @return {Promise<void>} A promise that will resolve when the port is\n * closed.\n */\n async close() {\n const promises = [];\n if (this.readable_) {\n promises.push(this.readable_.cancel());\n }\n if (this.writable_) {\n promises.push(this.writable_.abort());\n }\n await Promise.all(promises);\n this.readable_ = null;\n this.writable_ = null;\n if (this.device_.opened) {\n await this.setSignals({ dataTerminalReady: false, requestToSend: false });\n await this.device_.close();\n }\n }\n /**\n * Forgets the port.\n *\n * @return {Promise<void>} A promise that will resolve when the port is\n * forgotten.\n */\n async forget() {\n return this.device_.forget();\n }\n /**\n * A function that returns properties of the device.\n * @return {SerialPortInfo} Device properties.\n */\n getInfo() {\n return {\n usbVendorId: this.device_.vendorId,\n usbProductId: this.device_.productId,\n };\n }\n /**\n * A function used to change the serial settings of the device\n * @param {object} options the object which carries serial settings data\n * @return {Promise<void>} A promise that will resolve when the options are\n * set\n */\n reconfigure(options) {\n this.serialOptions_ = Object.assign(Object.assign({}, this.serialOptions_), options);\n this.validateOptions();\n return this.setLineCoding();\n }\n /**\n * Sets control signal state for the port.\n * @param {SerialOutputSignals} signals The signals to enable or disable.\n * @return {Promise<void>} a promise that is resolved when the signal state\n * has been changed.\n */\n async setSignals(signals) {\n this.outputSignals_ = Object.assign(Object.assign({}, this.outputSignals_), signals);\n if (signals.dataTerminalReady !== undefined ||\n signals.requestToSend !== undefined) {\n // The Set_Control_Line_State command expects a bitmap containing the\n // values of all output signals that should be enabled or disabled.\n //\n // Ref: USB CDC specification version 1.1 §6.2.14.\n const value = (this.outputSignals_.dataTerminalReady ? 1 << 0 : 0) |\n (this.outputSignals_.requestToSend ? 1 << 1 : 0);\n await this.device_.controlTransferOut({\n 'requestType': 'class',\n 'recipient': 'interface',\n 'request': kSetControlLineState,\n 'value': value,\n 'index': this.controlInterface_.interfaceNumber,\n });\n }\n if (signals.break !== undefined) {\n // The SendBreak command expects to be given a duration for how long the\n // break signal should be asserted. Passing 0xFFFF enables the signal\n // until 0x0000 is send.\n //\n // Ref: USB CDC specification version 1.1 §6.2.15.\n const value = this.outputSignals_.break ? 0xFFFF : 0x0000;\n await this.device_.controlTransferOut({\n 'requestType': 'class',\n 'recipient': 'interface',\n 'request': kSendBreak,\n 'value': value,\n 'index': this.controlInterface_.interfaceNumber,\n });\n }\n }\n /**\n * Checks the serial options for validity and throws an error if it is\n * not valid\n */\n validateOptions() {\n if (!this.isValidBaudRate(this.serialOptions_.baudRate)) {\n throw new RangeError('invalid Baud Rate ' + this.serialOptions_.baudRate);\n }\n if (!this.isValidDataBits(this.serialOptions_.dataBits)) {\n throw new RangeError('invalid dataBits ' + this.serialOptions_.dataBits);\n }\n if (!this.isValidStopBits(this.serialOptions_.stopBits)) {\n throw new RangeError('invalid stopBits ' + this.serialOptions_.stopBits);\n }\n if (!this.isValidParity(this.serialOptions_.parity)) {\n throw new RangeError('invalid parity ' + this.serialOptions_.parity);\n }\n }\n /**\n * Checks the baud rate for validity\n * @param {number} baudRate the baud rate to check\n * @return {boolean} A boolean that reflects whether the baud rate is valid\n */\n isValidBaudRate(baudRate) {\n return baudRate % 1 === 0;\n }\n /**\n * Checks the data bits for validity\n * @param {number} dataBits the data bits to check\n * @return {boolean} A boolean that reflects whether the data bits setting is\n * valid\n */\n isValidDataBits(dataBits) {\n if (typeof dataBits === 'undefined') {\n return true;\n }\n return kAcceptableDataBits.includes(dataBits);\n }\n /**\n * Checks the stop bits for validity\n * @param {number} stopBits the stop bits to check\n * @return {boolean} A boolean that reflects whether the stop bits setting is\n * valid\n */\n isValidStopBits(stopBits) {\n if (typeof stopBits === 'undefined') {\n return true;\n }\n return kAcceptableStopBits.includes(stopBits);\n }\n /**\n * Checks the parity for validity\n * @param {string} parity the parity to check\n * @return {boolean} A boolean that reflects whether the parity is valid\n */\n isValidParity(parity) {\n if (typeof parity === 'undefined') {\n return true;\n }\n return kAcceptableParity.includes(parity);\n }\n /**\n * sends the options alog the control interface to set them on the device\n * @return {Promise} a promise that will resolve when the options are set\n */\n async setLineCoding() {\n var _a, _b, _c;\n // Ref: USB CDC specification version 1.1 §6.2.12.\n const buffer = new ArrayBuffer(7);\n const view = new DataView(buffer);\n view.setUint32(0, this.serialOptions_.baudRate, true);\n view.setUint8(4, kStopBitsIndexMapping.indexOf((_a = this.serialOptions_.stopBits) !== null && _a !== void 0 ? _a : kDefaultStopBits));\n view.setUint8(5, kParityIndexMapping.indexOf((_b = this.serialOptions_.parity) !== null && _b !== void 0 ? _b : kDefaultParity));\n view.setUint8(6, (_c = this.serialOptions_.dataBits) !== null && _c !== void 0 ? _c : kDefaultDataBits);\n const result = await this.device_.controlTransferOut({\n 'requestType': 'class',\n 'recipient': 'interface',\n 'request': kSetLineCoding,\n 'value': 0x00,\n 'index': this.controlInterface_.interfaceNumber,\n }, buffer);\n if (result.status != 'ok') {\n throw new DOMException('NetworkError', 'Failed to set line coding.');\n }\n }\n}\n/** implementation of the global navigator.serial object */\nclass Serial {\n /**\n * Requests permission to access a new port.\n *\n * @param {SerialPortRequestOptions} options\n * @param {SerialPolyfillOptions} polyfillOptions\n * @return {Promise<SerialPort>}\n */\n async requestPort(options, polyfillOptions) {\n polyfillOptions = Object.assign(Object.assign({}, kDefaultPolyfillOptions), polyfillOptions);\n const usbFilters = [];\n if (options && options.filters) {\n for (const filter of options.filters) {\n const usbFilter = {\n classCode: polyfillOptions.usbControlInterfaceClass,\n };\n if (filter.usbVendorId !== undefined) {\n usbFilter.vendorId = filter.usbVendorId;\n }\n if (filter.usbProductId !== undefined) {\n usbFilter.productId = filter.usbProductId;\n }\n usbFilters.push(usbFilter);\n }\n }\n if (usbFilters.length === 0) {\n usbFilters.push({\n classCode: polyfillOptions.usbControlInterfaceClass,\n });\n }\n const device = await navigator.usb.requestDevice({ 'filters': usbFilters });\n const port = new SerialPort(device, polyfillOptions);\n return port;\n }\n /**\n * Get the set of currently available ports.\n *\n * @param {SerialPolyfillOptions} polyfillOptions Polyfill configuration that\n * should be applied to these ports.\n * @return {Promise<SerialPort[]>} a promise that is resolved with a list of\n * ports.\n */\n async getPorts(polyfillOptions) {\n polyfillOptions = Object.assign(Object.assign({}, kDefaultPolyfillOptions), polyfillOptions);\n const devices = await navigator.usb.getDevices();\n const ports = [];\n devices.forEach((device) => {\n try {\n const port = new SerialPort(device, polyfillOptions);\n ports.push(port);\n }\n catch (e) {\n // Skip unrecognized port.\n }\n });\n return ports;\n }\n}\n/* an object to be used for starting the serial workflow */\nexport const serial = new Serial();\n//# sourceMappingURL=serial.js.map","/*\n * Copyright 2019 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the\n * \"License\"); you may not use this file except in\n * compliance with the License. You may obtain a copy of\n * the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in\n * writing, software distributed under the License is\n * distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES\n * OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing\n * permissions and limitations under the License.\n */\n'use strict';\n\nexport enum SerialPolyfillProtocol {\n UsbCdcAcm, // eslint-disable-line no-unused-vars\n}\n\nexport interface SerialPolyfillOptions {\n protocol?: SerialPolyfillProtocol;\n usbControlInterfaceClass?: number;\n usbTransferInterfaceClass?: number;\n}\n\nconst kSetLineCoding = 0x20;\nconst kSetControlLineState = 0x22;\nconst kSendBreak = 0x23;\n\nconst kDefaultBufferSize = 255;\nconst kDefaultDataBits = 8;\nconst kDefaultParity = 'none';\nconst kDefaultStopBits = 1;\n\nconst kAcceptableDataBits = [16, 8, 7, 6, 5];\nconst kAcceptableStopBits = [1, 2];\nconst kAcceptableParity = ['none', 'even', 'odd'];\n\nconst kParityIndexMapping: ParityType[] =\n ['none', 'odd', 'even'];\nconst kStopBitsIndexMapping = [1, 1.5, 2];\n\nconst kDefaultPolyfillOptions = {\n protocol: SerialPolyfillProtocol.UsbCdcAcm,\n usbControlInterfaceClass: 2,\n usbTransferInterfaceClass: 10,\n};\n\n/**\n * Utility function to get the interface implementing a desired class.\n * @param {USBDevice} device The USB device.\n * @param {number} classCode The desired interface class.\n * @return {USBInterface} The first interface found that implements the desired\n * class.\n * @throws TypeError if no interface is found.\n */\nfunction findInterface(device: USBDevice, classCode: number): USBInterface {\n const configuration = device.configurations[0];\n for (const iface of configuration.interfaces) {\n const alternate = iface.alternates[0];\n if (alternate.interfaceClass === classCode) {\n return iface;\n }\n }\n throw new TypeError(`Unable to find interface with class ${classCode}.`);\n}\n\n/**\n * Utility function to get an endpoint with a particular direction.\n * @param {USBInterface} iface The interface to search.\n * @param {USBDirection} direction The desired transfer direction.\n * @return {USBEndpoint} The first endpoint with the desired transfer direction.\n * @throws TypeError if no endpoint is found.\n */\nfunction findEndpoint(iface: USBInterface, direction: USBDirection):\n USBEndpoint {\n const alternate = iface.alternates[0];\n for (const endpoint of alternate.endpoints) {\n if (endpoint.direction == direction) {\n return endpoint;\n }\n }\n throw new TypeError(`Interface ${iface.interfaceNumber} does not have an ` +\n `${direction} endpoint.`);\n}\n\n/**\n * Implementation of the underlying source API[1] which reads data from a USB\n * endpoint. This can be used to construct a ReadableStream.\n *\n * [1]: https://streams.spec.whatwg.org/#underlying-source-api\n */\nclass UsbEndpointUnderlyingSource implements UnderlyingByteSource {\n private device_: USBDevice;\n private endpoint_: USBEndpoint;\n private onError_: () => void;\n\n type: 'bytes';\n\n /**\n * Constructs a new UnderlyingSource that will pull data from the specified\n * endpoint on the given USB device.\n *\n * @param {USBDevice} device\n * @param {USBEndpoint} endpoint\n * @param {function} onError function to be called on error\n */\n constructor(device: USBDevice, endpoint: USBEndpoint, onError: () => void) {\n this.type = 'bytes';\n this.device_ = device;\n this.endpoint_ = endpoint;\n this.onError_ = onError;\n }\n\n /**\n * Reads a chunk of data from the device.\n *\n * @param {ReadableByteStreamController} controller\n */\n pull(controller: ReadableByteStreamController): void {\n (async (): Promise<void> => {\n let chunkSize;\n if (controller.desiredSize) {\n const d = controller.desiredSize / this.endpoint_.packetSize;\n chunkSize = Math.ceil(d) * this.endpoint_.packetSize;\n } else {\n chunkSize = this.endpoint_.packetSize;\n }\n\n try {\n const result = await this.device_.transferIn(\n this.endpoint_.endpointNumber, chunkSize);\n if (result.status != 'ok') {\n controller.error(`USB error: ${result.status}`);\n this.onError_();\n }\n if (result.data?.buffer) {\n const chunk = new Uint8Array(\n result.data.buffer, result.data.byteOffset,\n result.data.byteLength);\n controller.enqueue(chunk);\n }\n } catch (error) {\n controller.error(error.toString());\n this.onError_();\n }\n })();\n }\n}\n\n/**\n * Implementation of the underlying sink API[2] which writes data to a USB\n * endpoint. This can be used to construct a WritableStream.\n *\n * [2]: https://streams.spec.whatwg.org/#underlying-sink-api\n */\nclass UsbEndpointUnderlyingSink implements UnderlyingSink<Uint8Array> {\n private device_: USBDevice;\n private endpoint_: USBEndpoint;\n private onError_: () => void;\n\n /**\n * Constructs a new UnderlyingSink that will write data to the specified\n * endpoint on the given USB device.\n *\n * @param {USBDevice} device\n * @param {USBEndpoint} endpoint\n * @param {function} onError function to be called on error\n */\n constructor(device: USBDevice, endpoint: USBEndpoint, onError: () => void) {\n this.device_ = device;\n this.endpoint_ = endpoint;\n this.onError_ = onError;\n }\n\n /**\n * Writes a chunk to the device.\n *\n * @param {Uint8Array} chunk\n * @param {WritableStreamDefaultController} controller\n */\n async write(\n chunk: Uint8Array,\n controller: WritableStreamDefaultController): Promise<void> {\n try {\n const result =\n await this.device_.transferOut(this.endpoint_.endpointNumber, chunk);\n if (result.status != 'ok') {\n controller.error(result.status);\n this.onError_();\n }\n } catch (error) {\n controller.error(error.toString());\n this.onError_();\n }\n }\n}\n\n/** a class used to control serial devices over WebUSB */\nexport class SerialPort {\n private polyfillOptions_: SerialPolyfillOptions;\n private device_: USBDevice;\n private controlInterface_: USBInterface;\n private transferInterface_: USBInterface;\n private inEndpoint_: USBEndpoint;\n private outEndpoint_: USBEndpoint;\n\n private serialOptions_: SerialOptions;\n private readable_: ReadableStream<Uint8Array> | null;\n private writable_: WritableStream<Uint8Array> | null;\n private outputSignals_: SerialOutputSignals;\n\n /**\n * constructor taking a WebUSB device that creates a SerialPort instance.\n * @param {USBDevice} device A device acquired from the WebUSB API\n * @param {SerialPolyfillOptions} polyfillOptions Optional options to\n * configure the polyfill.\n */\n public constructor(\n device: USBDevice,\n polyfillOptions?: SerialPolyfillOptions) {\n this.polyfillOptions_ = {...kDefaultPolyfillOptions, ...polyfillOptions};\n this.outputSignals_ = {\n dataTerminalReady: false,\n requestToSend: false,\n break: false,\n };\n\n this.device_ = device;\n this.controlInterface_ = findInterface(\n this.device_,\n this.polyfillOptions_.usbControlInterfaceClass as number);\n this.transferInterface_ = findInterface(\n this.device_,\n this.polyfillOptions_.usbTransferInterfaceClass as number);\n this.inEndpoint_ = findEndpoint(this.transferInterface_, 'in');\n this.outEndpoint_ = findEndpoint(this.transferInterface_, 'out');\n }\n\n /**\n * Getter for the readable attribute. Constructs a new ReadableStream as\n * necessary.\n * @return {ReadableStream} the current readable stream\n */\n public get readable(): ReadableStream<Uint8Array> | null {\n if (!this.readable_ && this.device_.opened) {\n this.readable_ = new ReadableStream<Uint8Array>(\n new UsbEndpointUnderlyingSource(\n this.device_, this.inEndpoint_, () => {\n this.readable_ = null;\n }),\n {\n highWaterMark: this.serialOptions_.bufferSize ?? kDefaultBufferSize,\n });\n }\n return this.readable_;\n }\n\n /**\n * Getter for the writable attribute. Constructs a new WritableStream as\n * necessary.\n * @return {WritableStream} the current writable stream\n */\n public get writable(): WritableStream<Uint8Array> | null {\n if (!this.writable_ && this.device_.opened) {\n this.writable_ = new WritableStream(\n new UsbEndpointUnderlyingSink(\n this.device_, this.outEndpoint_, () => {\n this.writable_ = null;\n }),\n new ByteLengthQueuingStrategy({\n highWaterMark: this.serialOptions_.bufferSize ?? kDefaultBufferSize,\n }));\n }\n return this.writable_;\n }\n\n /**\n * a function that opens the device and claims all interfaces needed to\n * control and communicate to and from the serial device\n * @param {SerialOptions} options Object containing serial options\n * @return {Promise<void>} A promise that will resolve when device is ready\n * for communication\n */\n public async open(options: SerialOptions): Promise<void> {\n this.serialOptions_ = options;\n this.validateOptions();\n\n try {\n await this.device_.open();\n if (this.device_.configuration === null) {\n await this.device_.selectConfiguration(1);\n }\n\n await this.device_.claimInterface(this.controlInterface_.interfaceNumber);\n if (this.controlInterface_ !== this.transferInterface_) {\n await this.device_.claimInterface(\n this.transferInterface_.interfaceNumber);\n }\n\n await this.setLineCoding();\n await this.setSignals({dataTerminalReady: true});\n } catch (error) {\n if (this.device_.opened) {\n await this.device_.close();\n }\n throw new Error('Error setting up device: ' + error.toString());\n }\n }\n\n /**\n * Closes the port.\n *\n * @return {Promise<void>} A promise that will resolve when the port is\n * closed.\n */\n public async close(): Promise<void> {\n const promises = [];\n if (this.readable_) {\n promises.push(this.readable_.cancel());\n }\n if (this.writable_) {\n promises.push(this.writable_.abort());\n }\n await Promise.all(promises);\n this.readable_ = null;\n this.writable_ = null;\n if (this.device_.opened) {\n await this.setSignals({dataTerminalReady: false, requestToSend: false});\n await this.device_.close();\n }\n }\n\n /**\n * Forgets the port.\n *\n * @return {Promise<void>} A promise that will resolve when the port is\n * forgotten.\n */\n public async forget(): Promise<void> {\n return this.device_.forget();\n }\n\n /**\n * A function that returns properties of the device.\n * @return {SerialPortInfo} Device properties.\n */\n public getInfo(): SerialPortInfo {\n return {\n usbVendorId: this.device_.vendorId,\n usbProductId: this.device_.productId,\n };\n }\n\n /**\n * A function used to change the serial settings of the device\n * @param {object} options the object which carries serial settings data\n * @return {Promise<void>} A promise that will resolve when the options are\n * set\n */\n public reconfigure(options: SerialOptions): Promise<void> {\n this.serialOptions_ = {...this.serialOptions_, ...options};\n this.validateOptions();\n return this.setLineCoding();\n }\n\n /**\n * Sets control signal state for the port.\n * @param {SerialOutputSignals} signals The signals to enable or disable.\n * @return {Promise<void>} a promise that is resolved when the signal state\n * has been changed.\n */\n public async setSignals(signals: SerialOutputSignals): Promise<void> {\n this.outputSignals_ = {...this.outputSignals_, ...signals};\n\n if (signals.dataTerminalReady !== undefined ||\n signals.requestToSend !== undefined) {\n // The Set_Control_Line_State command expects a bitmap containing the\n // values of all output signals that should be enabled or disabled.\n //\n // Ref: USB CDC specification version 1.1 §6.2.14.\n const value = (this.outputSignals_.dataTerminalReady ? 1 << 0 : 0) |\n (this.outputSignals_.requestToSend ? 1 << 1 : 0);\n\n await this.device_.controlTransferOut({\n 'requestType': 'class',\n 'recipient': 'interface',\n 'request': kSetControlLineState,\n 'value': value,\n 'index': this.controlInterface_.interfaceNumber,\n });\n }\n\n if (signals.break !== undefined) {\n // The SendBreak command expects to be given a duration for how long the\n // break signal should be asserted. Passing 0xFFFF enables the signal\n // until 0x0000 is send.\n //\n // Ref: USB CDC specification version 1.1 §6.2.15.\n const value = this.outputSignals_.break ? 0xFFFF : 0x0000;\n\n await this.device_.controlTransferOut({\n 'requestType': 'class',\n 'recipient': 'interface',\n 'request': kSendBreak,\n 'value': value,\n 'index': this.controlInterface_.interfaceNumber,\n });\n }\n }\n\n /**\n * Checks the serial options for validity and throws an error if it is\n * not valid\n */\n private validateOptions(): void {\n if (!this.isValidBaudRate(this.serialOptions_.baudRate)) {\n throw new RangeError('invalid Baud Rate ' + this.serialOptions_.baudRate);\n }\n\n if (!this.isValidDataBits(this.serialOptions_.dataBits)) {\n throw new RangeError('invalid dataBits ' + this.serialOptions_.dataBits);\n }\n\n if (!this.isValidStopBits(this.serialOptions_.stopBits)) {\n throw new RangeError('invalid stopBits ' + this.serialOptions_.stopBits);\n }\n\n if (!this.isValidParity(this.serialOptions_.parity)) {\n throw new RangeError('invalid parity ' + this.serialOptions_.parity);\n }\n }\n\n /**\n * Checks the baud rate for validity\n * @param {number} baudRate the baud rate to check\n * @return {boolean} A boolean that reflects whether the baud rate is valid\n */\n private isValidBaudRate(baudRate: number): boolean {\n return baudRate % 1 === 0;\n }\n\n /**\n * Checks the data bits for validity\n * @param {number} dataBits the data bits to check\n * @return {boolean} A boolean that reflects whether the data bits setting is\n * valid\n */\n private isValidDataBits(dataBits: number | undefined): boolean {\n if (typeof dataBits === 'undefined') {\n return true;\n }\n return kAcceptableDataBits.includes(dataBits);\n }\n\n /**\n * Checks the stop bits for validity\n * @param {number} stopBits the stop bits to check\n * @return {boolean} A boolean that reflects whether the stop bits setting is\n * valid\n */\n private isValidStopBits(stopBits: number | undefined): boolean {\n if (typeof stopBits === 'undefined') {\n return true;\n }\n return kAcceptableStopBits.includes(stopBits);\n }\n\n /**\n * Checks the parity for validity\n * @param {string} parity the parity to check\n * @return {boolean} A boolean that reflects whether the parity is valid\n */\n private isValidParity(parity: ParityType | undefined): boolean {\n if (typeof parity === 'undefined') {\n return true;\n }\n return kAcceptableParity.includes(parity);\n }\n\n /**\n * sends the options alog the control interface to set them on the device\n * @return {Promise} a promise that will resolve when the options are set\n */\n private async setLineCoding(): Promise<void> {\n // Ref: USB CDC specification version 1.1 §6.2.12.\n const buffer = new ArrayBuffer(7);\n const view = new DataView(buffer);\n view.setUint32(0, this.serialOptions_.baudRate, true);\n view.setUint8(\n 4, kStopBitsIndexMapping.indexOf(\n this.serialOptions_.stopBits ?? kDefaultStopBits));\n view.setUint8(\n 5, kParityIndexMapping.indexOf(\n this.serialOptions_.parity ?? kDefaultParity));\n view.setUint8(6, this.serialOptions_.dataBits ?? kDefaultDataBits);\n\n const result = await this.device_.controlTransferOut({\n 'requestType': 'class',\n 'recipient': 'interface',\n 'request': kSetLineCoding,\n 'value': 0x00,\n 'index': this.controlInterface_.interfaceNumber,\n }, buffer);\n if (result.status != 'ok') {\n throw new DOMException('NetworkError', 'Failed to set line coding.');\n }\n }\n}\n\n/** implementation of the global navigator.serial object */\nclass Serial {\n /**\n * Requests permission to access a new port.\n *\n * @param {SerialPortRequestOptions} options\n * @param {SerialPolyfillOptions} polyfillOptions\n * @return {Promise<SerialPort>}\n */\n async requestPort(\n options?: SerialPortRequestOptions,\n polyfillOptions?: SerialPolyfillOptions): Promise<SerialPort> {\n polyfillOptions = {...kDefaultPolyfillOptions, ...polyfillOptions};\n\n const usbFilters: USBDeviceFilter[] = [];\n if (options && options.filters) {\n for (const filter of options.filters) {\n const usbFilter: USBDeviceFilter = {\n classCode: polyfillOptions.usbControlInterfaceClass,\n };\n if (filter.usbVendorId !== undefined) {\n usbFilter.vendorId = filter.usbVendorId;\n }\n if (filter.usbProductId !== undefined) {\n usbFilter.productId = filter.usbProductId;\n }\n usbFilters.push(usbFilter);\n }\n }\n\n if (usbFilters.length === 0) {\n usbFilters.push({\n classCode: polyfillOptions.usbControlInterfaceClass,\n });\n }\n\n const device = await navigator.usb.requestDevice({'filters': usbFilters});\n const port = new SerialPort(device, polyfillOptions);\n return port;\n }\n\n /**\n * Get the set of currently available ports.\n *\n * @param {SerialPolyfillOptions} polyfillOptions Polyfill configuration that\n * should be applied to these ports.\n * @return {Promise<SerialPort[]>} a promise that is resolved with a list of\n * ports.\n */\n async getPorts(polyfillOptions?: SerialPolyfillOptions):\n Promise<SerialPort[]> {\n polyfillOptions = {...kDefaultPolyfillOptions, ...polyfillOptions};\n\n const devices = await navigator.usb.getDevices();\n const ports: SerialPort[] = [];\n devices.forEach((device) => {\n try {\n const port = new SerialPort(device, polyfillOptions);\n ports.push(port);\n } catch (e) {\n // Skip unrecognized port.\n }\n });\n return ports;\n }\n}\n\n/* an object to be used for starting the serial workflow */\nexport const serial = new Serial();\n"],"names":[],"version":3,"file":"index.82fa246c.js.map"} \ No newline at end of file diff --git a/c6-hosted/index.html b/c6-hosted/index.html new file mode 100644 index 00000000000..0e0357dd9f3 --- /dev/null +++ b/c6-hosted/index.html @@ -0,0 +1,72 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset="utf-8"> + <title>ESP32-C6 SDIO-Hosted</title> + <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css"> + <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/xterm@4.19.0/css/xterm.css"> + <link href="https://fonts.googleapis.com/css?family=Orbitron" rel="stylesheet"> + <link rel="icon" href="favicon.ee2246ac.ico"> + <script src="https://cdn.jsdelivr.net/npm/xterm@4.19.0/lib/xterm.min.js"></script> + <script src="https://cdn.jsdelivr.net/npm/crypto-js@4.1.1/crypto-js.js"></script> + <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> + <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script> + </head> + <body> + <h1 align="center"><p><img src="esp-logo.e558125a.png" width="42" height="42" style="vertical-align: middle" crossorigin=""> ESP Tool</p></h1> + <h4 align="center">A Serial Flasher utility for Espressif chips</h4> + <div id="safariErr" style="display: none"><p align="center" style="color: red">This tool is not supported on Safari browser!</p> + </div> + <div class="container" id="main"> + <hr> + <div id="program"> + + <h3> Program ESP32-C6 as SDIO ESP-Hosted adapter </h3> + <input class="btn btn-success" type="button" id="connectButton" value="Connect"> + <input class="btn btn-primary" type="button" id="copyTraceButton" value="Copy Trace"> + <input class="btn btn-danger" type="button" id="disconnectButton" value="Disconnect"> + <input class="btn btn-warning" type="button" id="eraseButton" value="Erase Flash"> + <input class="btn btn-warning" type="button" id="resetButton" value="Reset"> + <label for="baudrates" id="lblBaudrate">Baudrate:</label> + <select name="baudrates" id="baudrates"> + <option value="921600">921600</option> + <option value="460800">460800</option> + <option value="230400">230400</option> + <option value="115200">115200</option> + </select> + <br> + <label style="display: none" id="lblConnTo">Connected to device: </label> + + <div id="files"> + <table class="table table-striped" id="fileTable"> + <thead class="thead-light"> + <tr> + <th width="12%">Flash Address</th> + <th width="30%">File</th> + <th width="8%">Size</th> + <th width="50%">Progress</th> + </tr> + </thead> + <tbody id="tableBody"> + </tbody> + </table> + <input class="btn btn-success" type="button" id="programButton" value="Program"> + </div> + + <output id="list"></output> + + </div> + <div id="terminal"></div> + </div> + <script src="index.82fa246c.js" type="module"></script> + <script>var isSafari = /constructor/i.test(window.HTMLElement) || function(p) { + return p.toString() === "[object SafariRemoteNotification]"; +}(!window["safari"] || typeof safari !== "undefined" && window["safari"].pushNotification); +if (isSafari) { + document.getElementById("safariErr").style.display = "inline"; + document.getElementById("main").style.display = "none"; +} + +</script> + </body> +</html> diff --git a/c6-hosted/network_adapter.bin b/c6-hosted/network_adapter.bin new file mode 100644 index 00000000000..86bd5784e8e Binary files /dev/null and b/c6-hosted/network_adapter.bin differ diff --git a/c6-hosted/ota_data_initial.bin b/c6-hosted/ota_data_initial.bin new file mode 100644 index 00000000000..b4033a70859 --- /dev/null +++ b/c6-hosted/ota_data_initial.bin @@ -0,0 +1 @@ +�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� \ No newline at end of file diff --git a/c6-hosted/partition-table.bin b/c6-hosted/partition-table.bin new file mode 100644 index 00000000000..e5d55905ad6 Binary files /dev/null and b/c6-hosted/partition-table.bin differ diff --git a/index.md b/index.md index 72496f2d170..f40315c03cc 100644 --- a/index.md +++ b/index.md @@ -1,8 +1,13 @@ -# Arduino core for the ESP32, ESP32-S2, ESP32-S3 and ESP32-C3 +# Arduino core for the ESP32, ESP32-C3, ESP32-C6, ESP32-H2, ESP32-P4, ESP32-S2 and ESP32-S3. - [](https://docs.espressif.com/projects/arduino-esp32/en/latest/?badge=latest) +[](https://github.com/espressif/arduino-esp32/actions/workflows/push.yml?query=branch%3Amaster+event%3Apush) +[)](https://github.com/espressif/arduino-esp32/actions/workflows/push.yml?query=branch%3Amaster+event%3Aschedule) +[](https://github.com/espressif/arduino-esp32/blob/gh-pages/LIBRARIES_TEST.md) +[](https://github.com/espressif/arduino-esp32/blob/gh-pages/runtime-tests-results/RUNTIME_TESTS_REPORT.md) -### 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) +### Need help or have a question? Join the chat at [Discord](https://discord.gg/8xY6e9crwv) or [open a new Discussion](https://github.com/espressif/arduino-esp32/discussions) + +[](https://discord.gg/8xY6e9crwv) ## Contents @@ -16,20 +21,38 @@ ### Development Status -Latest Stable Release [](https://github.com/espressif/arduino-esp32/releases/latest/) [](https://github.com/espressif/arduino-esp32/releases/latest/) [](https://github.com/espressif/arduino-esp32/releases/latest/) +#### Latest Stable Release + +[](https://github.com/espressif/arduino-esp32/releases/latest/) +[](https://github.com/espressif/arduino-esp32/releases/latest/) +[](https://github.com/espressif/arduino-esp32/releases/latest/) -Latest Development Release [](https://github.com/espressif/arduino-esp32/releases/) [](https://github.com/espressif/arduino-esp32/releases/) [](https://github.com/espressif/arduino-esp32/releases/) +#### Latest Development Release + +[](https://github.com/espressif/arduino-esp32/releases/) +[](https://github.com/espressif/arduino-esp32/releases/) +[](https://github.com/espressif/arduino-esp32/releases/) ### Development Planning -Our Development is fully tracked on this public **[Roadmap 🎉](https://github.com/orgs/espressif/projects/3)** +Our Development is fully tracked on this public **[Roadmap 🎉](https://github.com/orgs/espressif/projects/3)** -For even more information you can take a look at [Sprint Meeting notes](https://github.com/espressif/arduino-esp32/discussions/categories/sprints-meeting-notes) or join [Monthly Community Meetings 🔔](https://github.com/espressif/arduino-esp32/discussions/categories/monthly-community-meetings) +For even more information you can join our **[Monthly Community Meetings 🔔](https://github.com/espressif/arduino-esp32/discussions/categories/monthly-community-meetings).** ### Documentation You can use the [Arduino-ESP32 Online Documentation](https://docs.espressif.com/projects/arduino-esp32/en/latest/) to get all information about this project. +--- + +**Migration guide from version 2.x to 3.x is available [here](https://docs.espressif.com/projects/arduino-esp32/en/latest/migration_guides/2.x_to_3.0.html).** + +--- + +**APIs compatibility with ESP8266 and Arduino-CORE (Arduino.cc) is explained [here](https://docs.espressif.com/projects/arduino-esp32/en/latest/libraries.html#apis).** + +--- + * [Getting Started](https://docs.espressif.com/projects/arduino-esp32/en/latest/getting_started.html) * [Installing (Windows, Linux and macOS)](https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html) * [Libraries](https://docs.espressif.com/projects/arduino-esp32/en/latest/libraries.html) @@ -39,7 +62,24 @@ You can use the [Arduino-ESP32 Online Documentation](https://docs.espressif.com/ ### Supported Chips -Visit the [supported chips](https://docs.espressif.com/projects/arduino-esp32/en/latest/getting_started.html#supported-soc-s) documentation to see the list of current supported ESP32 SoCs. +Here are the ESP32 series supported by the Arduino-ESP32 project: + +| **SoC** | **Stable** | **Development** | **Datasheet** | +|----------|:----------:|:---------------:|:-------------------------------------------------------------------------------------------------:| +| ESP32 | Yes | Yes | [ESP32](https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf) | +| ESP32-C3 | Yes | Yes | [ESP32-C3](https://www.espressif.com/sites/default/files/documentation/esp32-c3_datasheet_en.pdf) | +| ESP32-C6 | Yes | Yes | [ESP32-C6](https://www.espressif.com/sites/default/files/documentation/esp32-c6_datasheet_en.pdf) | +| ESP32-H2 | Yes | Yes | [ESP32-H2](https://www.espressif.com/sites/default/files/documentation/esp32-h2_datasheet_en.pdf) | +| ESP32-P4 | Yes | Yes | [ESP32-P4](https://www.espressif.com/sites/default/files/documentation/esp32-p4_datasheet_en.pdf) | +| ESP32-S2 | Yes | Yes | [ESP32-S2](https://www.espressif.com/sites/default/files/documentation/esp32-s2_datasheet_en.pdf) | +| ESP32-S3 | Yes | Yes | [ESP32-S3](https://www.espressif.com/sites/default/files/documentation/esp32-s3_datasheet_en.pdf) | + +> [!NOTE] +> ESP32-C2 is also supported by Arduino-ESP32 but requires using Arduino as an ESP-IDF component or rebuilding the static libraries. +> For more information, see the [Arduino as an ESP-IDF component documentation](https://docs.espressif.com/projects/arduino-esp32/en/latest/esp-idf_component.html) or the +> [Lib Builder documentation](https://docs.espressif.com/projects/arduino-esp32/en/latest/lib_builder.html), respectively. + +For more details visit the [supported chips](https://docs.espressif.com/projects/arduino-esp32/en/latest/getting_started.html#supported-soc-s) documentation page. ### Decoding exceptions @@ -47,10 +87,15 @@ You can use [EspExceptionDecoder](https://github.com/me-no-dev/EspExceptionDecod ### Issue/Bug report template -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 labelled as [Type: For reference](https://github.com/espressif/arduino-esp32/issues?q=is%3Aissue+label%3A%22Type%3A+For+reference%22+). +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+). 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). +### External libraries compilation test + +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). +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. + ### Contributing We welcome contributions to the Arduino ESP32 project! diff --git a/master_cli_compile/cli_compile_0.json b/master_cli_compile/cli_compile_0.json new file mode 100644 index 00000000000..b5ae9a20d8b --- /dev/null +++ b/master_cli_compile/cli_compile_0.json @@ -0,0 +1,797 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32p4", + "target": "esp32p4", + "sketches": [ +{"name": "ArduinoOTA/examples/BasicOTA", + "sizes": [{ + "flash_bytes": 730063, + "flash_percentage": 55, + "ram_bytes": 33124, + "ram_percentage": 10 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPClient", + "sizes": [{ + "flash_bytes": 651863, + "flash_percentage": 49, + "ram_bytes": 27248, + "ram_percentage": 8 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPMulticastServer", + "sizes": [{ + "flash_bytes": 652121, + "flash_percentage": 49, + "ram_bytes": 27248, + "ram_percentage": 8 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPServer", + "sizes": [{ + "flash_bytes": 651793, + "flash_percentage": 49, + "ram_bytes": 27248, + "ram_percentage": 8 + }] + }, +{"name": "DNSServer/examples/CaptivePortal", + "sizes": [{ + "flash_bytes": 709037, + "flash_percentage": 54, + "ram_bytes": 28852, + "ram_percentage": 8 + }] + }, +{"name": "EEPROM/examples/eeprom_class", + "sizes": [{ + "flash_bytes": 333141, + "flash_percentage": 25, + "ram_bytes": 21600, + "ram_percentage": 6 + }] + }, +{"name": "EEPROM/examples/eeprom_extra", + "sizes": [{ + "flash_bytes": 336187, + "flash_percentage": 25, + "ram_bytes": 21552, + "ram_percentage": 6 + }] + }, +{"name": "EEPROM/examples/eeprom_write", + "sizes": [{ + "flash_bytes": 331695, + "flash_percentage": 25, + "ram_bytes": 21560, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/AnalogOut/LEDCFade", + "sizes": [{ + "flash_bytes": 334913, + "flash_percentage": 25, + "ram_bytes": 21680, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/AnalogOut/LEDCSingleChannel", + "sizes": [{ + "flash_bytes": 312727, + "flash_percentage": 23, + "ram_bytes": 21676, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/AnalogOut/LEDCSoftwareFade", + "sizes": [{ + "flash_bytes": 312785, + "flash_percentage": 23, + "ram_bytes": 21676, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/AnalogOut/SigmaDelta", + "sizes": [{ + "flash_bytes": 308131, + "flash_percentage": 23, + "ram_bytes": 21520, + "ram_percentage": 6 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s3", + "target": "esp32s3", + "sketches": [ +{"name": "ArduinoOTA/examples/BasicOTA", + "sizes": [{ + "flash_bytes": 933174, + "flash_percentage": 71, + "ram_bytes": 50412, + "ram_percentage": 15 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPClient", + "sizes": [{ + "flash_bytes": 856922, + "flash_percentage": 65, + "ram_bytes": 44260, + "ram_percentage": 13 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPMulticastServer", + "sizes": [{ + "flash_bytes": 857202, + "flash_percentage": 65, + "ram_bytes": 44260, + "ram_percentage": 13 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPServer", + "sizes": [{ + "flash_bytes": 856890, + "flash_percentage": 65, + "ram_bytes": 44260, + "ram_percentage": 13 + }] + }, +{"name": "BLE/examples/BLE5_extended_scan", + "sizes": [{ + "flash_bytes": 884898, + "flash_percentage": 28, + "ram_bytes": 47356, + "ram_percentage": 14 + }] + }, +{"name": "BLE/examples/BLE5_multi_advertising", + "sizes": [{ + "flash_bytes": 885726, + "flash_percentage": 28, + "ram_bytes": 47732, + "ram_percentage": 14 + }] + }, +{"name": "BLE/examples/BLE5_periodic_advertising", + "sizes": [{ + "flash_bytes": 885486, + "flash_percentage": 28, + "ram_bytes": 47476, + "ram_percentage": 14 + }] + }, +{"name": "BLE/examples/BLE5_periodic_sync", + "sizes": [{ + "flash_bytes": 885426, + "flash_percentage": 28, + "ram_bytes": 47372, + "ram_percentage": 14 + }] + }, +{"name": "BLE/examples/Beacon_Scanner", + "sizes": [{ + "flash_bytes": 891002, + "flash_percentage": 28, + "ram_bytes": 47356, + "ram_percentage": 14 + }] + }, +{"name": "BLE/examples/Client", + "sizes": [{ + "flash_bytes": 903090, + "flash_percentage": 28, + "ram_bytes": 47404, + "ram_percentage": 14 + }] + }, +{"name": "BLE/examples/EddystoneTLM_Beacon", + "sizes": [{ + "flash_bytes": 895826, + "flash_percentage": 28, + "ram_bytes": 47452, + "ram_percentage": 14 + }] + }, +{"name": "BLE/examples/EddystoneURL_Beacon", + "sizes": [{ + "flash_bytes": 896114, + "flash_percentage": 28, + "ram_bytes": 47540, + "ram_percentage": 14 + }] + }, +{"name": "BLE/examples/Notify", + "sizes": [{ + "flash_bytes": 897226, + "flash_percentage": 28, + "ram_bytes": 47372, + "ram_percentage": 14 + }] + }, +{"name": "BLE/examples/Scan", + "sizes": [{ + "flash_bytes": 887166, + "flash_percentage": 28, + "ram_bytes": 47356, + "ram_percentage": 14 + }] + }, +{"name": "BLE/examples/Server", + "sizes": [{ + "flash_bytes": 893046, + "flash_percentage": 28, + "ram_bytes": 47356, + "ram_percentage": 14 + }] + }, +{"name": "BLE/examples/Server_multiconnect", + "sizes": [{ + "flash_bytes": 896634, + "flash_percentage": 28, + "ram_bytes": 47372, + "ram_percentage": 14 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2", + "target": "esp32s2", + "sketches": [ +{"name": "ArduinoOTA/examples/BasicOTA", + "sizes": [{ + "flash_bytes": 895721, + "flash_percentage": 68, + "ram_bytes": 44996, + "ram_percentage": 13 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPClient", + "sizes": [{ + "flash_bytes": 826157, + "flash_percentage": 63, + "ram_bytes": 38912, + "ram_percentage": 11 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPMulticastServer", + "sizes": [{ + "flash_bytes": 826457, + "flash_percentage": 63, + "ram_bytes": 38912, + "ram_percentage": 11 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPServer", + "sizes": [{ + "flash_bytes": 826133, + "flash_percentage": 63, + "ram_bytes": 38912, + "ram_percentage": 11 + }] + }, +{"name": "DNSServer/examples/CaptivePortal", + "sizes": [{ + "flash_bytes": 873373, + "flash_percentage": 66, + "ram_bytes": 40576, + "ram_percentage": 12 + }] + }, +{"name": "EEPROM/examples/eeprom_class", + "sizes": [{ + "flash_bytes": 277909, + "flash_percentage": 21, + "ram_bytes": 15444, + "ram_percentage": 4 + }] + }, +{"name": "EEPROM/examples/eeprom_extra", + "sizes": [{ + "flash_bytes": 280021, + "flash_percentage": 21, + "ram_bytes": 15388, + "ram_percentage": 4 + }] + }, +{"name": "EEPROM/examples/eeprom_write", + "sizes": [{ + "flash_bytes": 276381, + "flash_percentage": 21, + "ram_bytes": 15388, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/AnalogOut/LEDCFade", + "sizes": [{ + "flash_bytes": 279413, + "flash_percentage": 21, + "ram_bytes": 15520, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/AnalogOut/LEDCSingleChannel", + "sizes": [{ + "flash_bytes": 262141, + "flash_percentage": 19, + "ram_bytes": 15504, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/AnalogOut/LEDCSoftwareFade", + "sizes": [{ + "flash_bytes": 262221, + "flash_percentage": 20, + "ram_bytes": 15504, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/AnalogOut/SigmaDelta", + "sizes": [{ + "flash_bytes": 258341, + "flash_percentage": 19, + "ram_bytes": 15356, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/AnalogOut/ledcFrequency", + "sizes": [{ + "flash_bytes": 264165, + "flash_percentage": 20, + "ram_bytes": 15496, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/AnalogOut/ledcWrite_RGB", + "sizes": [{ + "flash_bytes": 276033, + "flash_percentage": 21, + "ram_bytes": 15528, + "ram_percentage": 4 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3", + "target": "esp32c3", + "sketches": [ +{"name": "ArduinoOTA/examples/BasicOTA", + "sizes": [{ + "flash_bytes": 1006980, + "flash_percentage": 76, + "ram_bytes": 41768, + "ram_percentage": 12 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPClient", + "sizes": [{ + "flash_bytes": 923592, + "flash_percentage": 70, + "ram_bytes": 35016, + "ram_percentage": 10 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPMulticastServer", + "sizes": [{ + "flash_bytes": 923972, + "flash_percentage": 70, + "ram_bytes": 35016, + "ram_percentage": 10 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPServer", + "sizes": [{ + "flash_bytes": 923524, + "flash_percentage": 70, + "ram_bytes": 35016, + "ram_percentage": 10 + }] + }, +{"name": "BLE/examples/BLE5_extended_scan", + "sizes": [{ + "flash_bytes": 952166, + "flash_percentage": 30, + "ram_bytes": 37552, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE5_multi_advertising", + "sizes": [{ + "flash_bytes": 953298, + "flash_percentage": 30, + "ram_bytes": 37912, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE5_periodic_advertising", + "sizes": [{ + "flash_bytes": 953096, + "flash_percentage": 30, + "ram_bytes": 37648, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE5_periodic_sync", + "sizes": [{ + "flash_bytes": 952666, + "flash_percentage": 30, + "ram_bytes": 37560, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/Beacon_Scanner", + "sizes": [{ + "flash_bytes": 960378, + "flash_percentage": 30, + "ram_bytes": 37552, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/Client", + "sizes": [{ + "flash_bytes": 973374, + "flash_percentage": 30, + "ram_bytes": 37584, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/EddystoneTLM_Beacon", + "sizes": [{ + "flash_bytes": 962542, + "flash_percentage": 30, + "ram_bytes": 37696, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/EddystoneURL_Beacon", + "sizes": [{ + "flash_bytes": 963086, + "flash_percentage": 30, + "ram_bytes": 37776, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/Notify", + "sizes": [{ + "flash_bytes": 967828, + "flash_percentage": 30, + "ram_bytes": 37560, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/Scan", + "sizes": [{ + "flash_bytes": 955090, + "flash_percentage": 30, + "ram_bytes": 37552, + "ram_percentage": 11 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c6", + "target": "esp32c6", + "sketches": [ +{"name": "ArduinoOTA/examples/BasicOTA", + "sizes": [{ + "flash_bytes": 1015155, + "flash_percentage": 77, + "ram_bytes": 47844, + "ram_percentage": 14 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPClient", + "sizes": [{ + "flash_bytes": 931619, + "flash_percentage": 71, + "ram_bytes": 41092, + "ram_percentage": 12 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPMulticastServer", + "sizes": [{ + "flash_bytes": 932001, + "flash_percentage": 71, + "ram_bytes": 41092, + "ram_percentage": 12 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPServer", + "sizes": [{ + "flash_bytes": 931553, + "flash_percentage": 71, + "ram_bytes": 41092, + "ram_percentage": 12 + }] + }, +{"name": "BLE/examples/BLE5_extended_scan", + "sizes": [{ + "flash_bytes": 1039735, + "flash_percentage": 33, + "ram_bytes": 38296, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE5_multi_advertising", + "sizes": [{ + "flash_bytes": 1040905, + "flash_percentage": 33, + "ram_bytes": 38680, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE5_periodic_advertising", + "sizes": [{ + "flash_bytes": 1040701, + "flash_percentage": 33, + "ram_bytes": 38416, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE5_periodic_sync", + "sizes": [{ + "flash_bytes": 1040231, + "flash_percentage": 33, + "ram_bytes": 38312, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/Beacon_Scanner", + "sizes": [{ + "flash_bytes": 1047979, + "flash_percentage": 33, + "ram_bytes": 38296, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/Client", + "sizes": [{ + "flash_bytes": 1060955, + "flash_percentage": 33, + "ram_bytes": 38344, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/EddystoneTLM_Beacon", + "sizes": [{ + "flash_bytes": 1052751, + "flash_percentage": 33, + "ram_bytes": 38536, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/EddystoneURL_Beacon", + "sizes": [{ + "flash_bytes": 1053295, + "flash_percentage": 33, + "ram_bytes": 38616, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/Notify", + "sizes": [{ + "flash_bytes": 1055389, + "flash_percentage": 33, + "ram_bytes": 38304, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/Scan", + "sizes": [{ + "flash_bytes": 1042667, + "flash_percentage": 33, + "ram_bytes": 38296, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/Server", + "sizes": [{ + "flash_bytes": 1050081, + "flash_percentage": 33, + "ram_bytes": 38288, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/Server_multiconnect", + "sizes": [{ + "flash_bytes": 1054731, + "flash_percentage": 33, + "ram_bytes": 38304, + "ram_percentage": 11 + }] + } +] +}, +{ "board": "espressif:esp32:esp32h2", + "target": "esp32h2", + "sketches": [ +{"name": "BLE/examples/BLE5_extended_scan", + "sizes": [{ + "flash_bytes": 1098383, + "flash_percentage": 34, + "ram_bytes": 37280, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE5_multi_advertising", + "sizes": [{ + "flash_bytes": 1099533, + "flash_percentage": 34, + "ram_bytes": 37672, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE5_periodic_advertising", + "sizes": [{ + "flash_bytes": 1099329, + "flash_percentage": 34, + "ram_bytes": 37408, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE5_periodic_sync", + "sizes": [{ + "flash_bytes": 1098899, + "flash_percentage": 34, + "ram_bytes": 37304, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/Beacon_Scanner", + "sizes": [{ + "flash_bytes": 1106603, + "flash_percentage": 35, + "ram_bytes": 37280, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/Client", + "sizes": [{ + "flash_bytes": 1119607, + "flash_percentage": 35, + "ram_bytes": 37328, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/EddystoneTLM_Beacon", + "sizes": [{ + "flash_bytes": 1110591, + "flash_percentage": 35, + "ram_bytes": 37488, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/EddystoneURL_Beacon", + "sizes": [{ + "flash_bytes": 1111143, + "flash_percentage": 35, + "ram_bytes": 37568, + "ram_percentage": 11 + }] + } +] +}, +{ "board": "espressif:esp32:esp32", + "target": "esp32", + "sketches": [ +{"name": "ArduinoOTA/examples/BasicOTA", + "sizes": [{ + "flash_bytes": 956146, + "flash_percentage": 72, + "ram_bytes": 50444, + "ram_percentage": 15 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPClient", + "sizes": [{ + "flash_bytes": 899762, + "flash_percentage": 68, + "ram_bytes": 44620, + "ram_percentage": 13 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPMulticastServer", + "sizes": [{ + "flash_bytes": 900058, + "flash_percentage": 68, + "ram_bytes": 44620, + "ram_percentage": 13 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPServer", + "sizes": [{ + "flash_bytes": 899718, + "flash_percentage": 68, + "ram_bytes": 44620, + "ram_percentage": 13 + }] + }, +{"name": "BLE/examples/Beacon_Scanner", + "sizes": [{ + "flash_bytes": 1098942, + "flash_percentage": 34, + "ram_bytes": 40084, + "ram_percentage": 12 + }] + }, +{"name": "BLE/examples/Client", + "sizes": [{ + "flash_bytes": 1110954, + "flash_percentage": 35, + "ram_bytes": 40140, + "ram_percentage": 12 + }] + }, +{"name": "BLE/examples/EddystoneTLM_Beacon", + "sizes": [{ + "flash_bytes": 1101862, + "flash_percentage": 35, + "ram_bytes": 40232, + "ram_percentage": 12 + }] + }, +{"name": "BLE/examples/EddystoneURL_Beacon", + "sizes": [{ + "flash_bytes": 1101862, + "flash_percentage": 35, + "ram_bytes": 40212, + "ram_percentage": 12 + }] + }, +{"name": "BLE/examples/Notify", + "sizes": [{ + "flash_bytes": 1105158, + "flash_percentage": 35, + "ram_bytes": 40108, + "ram_percentage": 12 + }] + }, +{"name": "BLE/examples/Scan", + "sizes": [{ + "flash_bytes": 1094914, + "flash_percentage": 34, + "ram_bytes": 40084, + "ram_percentage": 12 + }] + }, +{"name": "BLE/examples/Server", + "sizes": [{ + "flash_bytes": 1100846, + "flash_percentage": 34, + "ram_bytes": 40084, + "ram_percentage": 12 + }] + }, +{"name": "BLE/examples/Server_multiconnect", + "sizes": [{ + "flash_bytes": 1104546, + "flash_percentage": 35, + "ram_bytes": 40100, + "ram_percentage": 12 + }] + }, +{"name": "BLE/examples/UART", + "sizes": [{ + "flash_bytes": 1104910, + "flash_percentage": 35, + "ram_bytes": 40100, + "ram_percentage": 12 + }] + }, +{"name": "BLE/examples/Write", + "sizes": [{ + "flash_bytes": 1101282, + "flash_percentage": 35, + "ram_bytes": 40092, + "ram_percentage": 12 + }] + }, +{"name": "BLE/examples/iBeacon", + "sizes": [{ + "flash_bytes": 1107058, + "flash_percentage": 35, + "ram_bytes": 40100, + "ram_percentage": 12 + }] + } +] +} +]} diff --git a/master_cli_compile/cli_compile_1.json b/master_cli_compile/cli_compile_1.json new file mode 100644 index 00000000000..3689865b14b --- /dev/null +++ b/master_cli_compile/cli_compile_1.json @@ -0,0 +1,805 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32p4", + "target": "esp32p4", + "sketches": [ +{"name": "ESP32/examples/AnalogOut/ledcFrequency", + "sizes": [{ + "flash_bytes": 315023, + "flash_percentage": 24, + "ram_bytes": 21668, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/AnalogOut/ledcWrite_RGB", + "sizes": [{ + "flash_bytes": 330173, + "flash_percentage": 25, + "ram_bytes": 21696, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/AnalogRead", + "sizes": [{ + "flash_bytes": 337341, + "flash_percentage": 25, + "ram_bytes": 22036, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/AnalogReadContinuous", + "sizes": [{ + "flash_bytes": 344065, + "flash_percentage": 26, + "ram_bytes": 22040, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/ArduinoStackSize", + "sizes": [{ + "flash_bytes": 321235, + "flash_percentage": 24, + "ram_bytes": 21500, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/CI/CIBoardsTest", + "sizes": [{ + "flash_bytes": 356785, + "flash_percentage": 27, + "ram_bytes": 23468, + "ram_percentage": 7 + }] + }, +{"name": "ESP32/examples/ChipID/GetChipID", + "sizes": [{ + "flash_bytes": 323711, + "flash_percentage": 24, + "ram_bytes": 21548, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/DeepSleep/TimerWakeUp", + "sizes": [{ + "flash_bytes": 333071, + "flash_percentage": 25, + "ram_bytes": 21716, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/DeepSleep/TouchWakeUp", + "sizes": [{ + "flash_bytes": 348165, + "flash_percentage": 26, + "ram_bytes": 22072, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/FreeRTOS/BasicMultiThreading", + "sizes": [{ + "flash_bytes": 335681, + "flash_percentage": 25, + "ram_bytes": 21972, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Mutex", + "sizes": [{ + "flash_bytes": 322039, + "flash_percentage": 24, + "ram_bytes": 21524, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Queue", + "sizes": [{ + "flash_bytes": 322175, + "flash_percentage": 24, + "ram_bytes": 21508, + "ram_percentage": 6 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s3", + "target": "esp32s3", + "sketches": [ +{"name": "BLE/examples/UART", + "sizes": [{ + "flash_bytes": 896990, + "flash_percentage": 28, + "ram_bytes": 47372, + "ram_percentage": 14 + }] + }, +{"name": "BLE/examples/Write", + "sizes": [{ + "flash_bytes": 893478, + "flash_percentage": 28, + "ram_bytes": 47356, + "ram_percentage": 14 + }] + }, +{"name": "BLE/examples/iBeacon", + "sizes": [{ + "flash_bytes": 899026, + "flash_percentage": 28, + "ram_bytes": 47372, + "ram_percentage": 14 + }] + }, +{"name": "DNSServer/examples/CaptivePortal", + "sizes": [{ + "flash_bytes": 903818, + "flash_percentage": 68, + "ram_bytes": 45924, + "ram_percentage": 14 + }] + }, +{"name": "EEPROM/examples/eeprom_class", + "sizes": [{ + "flash_bytes": 313018, + "flash_percentage": 23, + "ram_bytes": 20424, + "ram_percentage": 6 + }] + }, +{"name": "EEPROM/examples/eeprom_extra", + "sizes": [{ + "flash_bytes": 315118, + "flash_percentage": 24, + "ram_bytes": 20368, + "ram_percentage": 6 + }] + }, +{"name": "EEPROM/examples/eeprom_write", + "sizes": [{ + "flash_bytes": 311158, + "flash_percentage": 23, + "ram_bytes": 20384, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/AnalogOut/LEDCFade", + "sizes": [{ + "flash_bytes": 314498, + "flash_percentage": 23, + "ram_bytes": 20472, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/AnalogOut/LEDCSingleChannel", + "sizes": [{ + "flash_bytes": 297322, + "flash_percentage": 22, + "ram_bytes": 20464, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/AnalogOut/LEDCSoftwareFade", + "sizes": [{ + "flash_bytes": 297402, + "flash_percentage": 22, + "ram_bytes": 20464, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/AnalogOut/SigmaDelta", + "sizes": [{ + "flash_bytes": 293554, + "flash_percentage": 22, + "ram_bytes": 20352, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/AnalogOut/ledcFrequency", + "sizes": [{ + "flash_bytes": 299170, + "flash_percentage": 22, + "ram_bytes": 20456, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/AnalogOut/ledcWrite_RGB", + "sizes": [{ + "flash_bytes": 310978, + "flash_percentage": 23, + "ram_bytes": 20488, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/AnalogRead", + "sizes": [{ + "flash_bytes": 316758, + "flash_percentage": 24, + "ram_bytes": 20656, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/AnalogReadContinuous", + "sizes": [{ + "flash_bytes": 324598, + "flash_percentage": 24, + "ram_bytes": 20656, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/ArduinoStackSize", + "sizes": [{ + "flash_bytes": 303834, + "flash_percentage": 23, + "ram_bytes": 20344, + "ram_percentage": 6 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2", + "target": "esp32s2", + "sketches": [ +{"name": "ESP32/examples/AnalogRead", + "sizes": [{ + "flash_bytes": 280329, + "flash_percentage": 21, + "ram_bytes": 15524, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/AnalogReadContinuous", + "sizes": [{ + "flash_bytes": 288513, + "flash_percentage": 22, + "ram_bytes": 15572, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/ArduinoStackSize", + "sizes": [{ + "flash_bytes": 268777, + "flash_percentage": 20, + "ram_bytes": 15348, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/CI/CIBoardsTest", + "sizes": [{ + "flash_bytes": 314501, + "flash_percentage": 23, + "ram_bytes": 17416, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/Camera/CameraWebServer", + "sizes": [{ + "flash_bytes": 972629, + "flash_percentage": 5, + "ram_bytes": 57616, + "ram_percentage": 17 + }] + }, +{"name": "ESP32/examples/Camera/CameraWebServer", + "sizes": [{ + "flash_bytes": 976377, + "flash_percentage": 5, + "ram_bytes": 57652, + "ram_percentage": 17 + }] + }, +{"name": "ESP32/examples/ChipID/GetChipID", + "sizes": [{ + "flash_bytes": 271725, + "flash_percentage": 20, + "ram_bytes": 15396, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/DeepSleep/ExternalWakeUp", + "sizes": [{ + "flash_bytes": 275813, + "flash_percentage": 21, + "ram_bytes": 15420, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/DeepSleep/TimerWakeUp", + "sizes": [{ + "flash_bytes": 275713, + "flash_percentage": 21, + "ram_bytes": 15420, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/DeepSleep/TouchWakeUp", + "sizes": [{ + "flash_bytes": 283545, + "flash_percentage": 21, + "ram_bytes": 16060, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/FreeRTOS/BasicMultiThreading", + "sizes": [{ + "flash_bytes": 300365, + "flash_percentage": 22, + "ram_bytes": 16128, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Mutex", + "sizes": [{ + "flash_bytes": 269785, + "flash_percentage": 20, + "ram_bytes": 15372, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Queue", + "sizes": [{ + "flash_bytes": 269517, + "flash_percentage": 20, + "ram_bytes": 15348, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Semaphore", + "sizes": [{ + "flash_bytes": 268873, + "flash_percentage": 20, + "ram_bytes": 15348, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/GPIO/BlinkRGB", + "sizes": [{ + "flash_bytes": 273977, + "flash_percentage": 20, + "ram_bytes": 15936, + "ram_percentage": 4 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3", + "target": "esp32c3", + "sketches": [ +{"name": "BLE/examples/Server", + "sizes": [{ + "flash_bytes": 962520, + "flash_percentage": 30, + "ram_bytes": 37544, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/Server_multiconnect", + "sizes": [{ + "flash_bytes": 967170, + "flash_percentage": 30, + "ram_bytes": 37560, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/UART", + "sizes": [{ + "flash_bytes": 967710, + "flash_percentage": 30, + "ram_bytes": 37560, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/Write", + "sizes": [{ + "flash_bytes": 963074, + "flash_percentage": 30, + "ram_bytes": 37544, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/iBeacon", + "sizes": [{ + "flash_bytes": 970128, + "flash_percentage": 30, + "ram_bytes": 37560, + "ram_percentage": 11 + }] + }, +{"name": "DNSServer/examples/CaptivePortal", + "sizes": [{ + "flash_bytes": 973732, + "flash_percentage": 74, + "ram_bytes": 36680, + "ram_percentage": 11 + }] + }, +{"name": "EEPROM/examples/eeprom_class", + "sizes": [{ + "flash_bytes": 295264, + "flash_percentage": 22, + "ram_bytes": 11712, + "ram_percentage": 3 + }] + }, +{"name": "EEPROM/examples/eeprom_extra", + "sizes": [{ + "flash_bytes": 298332, + "flash_percentage": 22, + "ram_bytes": 11664, + "ram_percentage": 3 + }] + }, +{"name": "EEPROM/examples/eeprom_write", + "sizes": [{ + "flash_bytes": 293808, + "flash_percentage": 22, + "ram_bytes": 11664, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/AnalogOut/LEDCFade", + "sizes": [{ + "flash_bytes": 295912, + "flash_percentage": 22, + "ram_bytes": 11732, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/AnalogOut/LEDCSingleChannel", + "sizes": [{ + "flash_bytes": 276232, + "flash_percentage": 21, + "ram_bytes": 11732, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/AnalogOut/LEDCSoftwareFade", + "sizes": [{ + "flash_bytes": 276288, + "flash_percentage": 21, + "ram_bytes": 11732, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/AnalogOut/SigmaDelta", + "sizes": [{ + "flash_bytes": 271872, + "flash_percentage": 20, + "ram_bytes": 11624, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/AnalogOut/ledcFrequency", + "sizes": [{ + "flash_bytes": 278166, + "flash_percentage": 21, + "ram_bytes": 11732, + "ram_percentage": 3 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c6", + "target": "esp32c6", + "sketches": [ +{"name": "BLE/examples/UART", + "sizes": [{ + "flash_bytes": 1055269, + "flash_percentage": 33, + "ram_bytes": 38304, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/Write", + "sizes": [{ + "flash_bytes": 1050633, + "flash_percentage": 33, + "ram_bytes": 38288, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/iBeacon", + "sizes": [{ + "flash_bytes": 1057697, + "flash_percentage": 33, + "ram_bytes": 38304, + "ram_percentage": 11 + }] + }, +{"name": "DNSServer/examples/CaptivePortal", + "sizes": [{ + "flash_bytes": 982139, + "flash_percentage": 74, + "ram_bytes": 42756, + "ram_percentage": 13 + }] + }, +{"name": "EEPROM/examples/eeprom_class", + "sizes": [{ + "flash_bytes": 253515, + "flash_percentage": 19, + "ram_bytes": 12892, + "ram_percentage": 3 + }] + }, +{"name": "EEPROM/examples/eeprom_extra", + "sizes": [{ + "flash_bytes": 256581, + "flash_percentage": 19, + "ram_bytes": 12828, + "ram_percentage": 3 + }] + }, +{"name": "EEPROM/examples/eeprom_write", + "sizes": [{ + "flash_bytes": 252011, + "flash_percentage": 19, + "ram_bytes": 12828, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/AnalogOut/LEDCFade", + "sizes": [{ + "flash_bytes": 254839, + "flash_percentage": 19, + "ram_bytes": 12968, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/AnalogOut/LEDCSingleChannel", + "sizes": [{ + "flash_bytes": 233841, + "flash_percentage": 17, + "ram_bytes": 12968, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/AnalogOut/LEDCSoftwareFade", + "sizes": [{ + "flash_bytes": 233899, + "flash_percentage": 17, + "ram_bytes": 12968, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/AnalogOut/SigmaDelta", + "sizes": [{ + "flash_bytes": 229321, + "flash_percentage": 17, + "ram_bytes": 12804, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/AnalogOut/ledcFrequency", + "sizes": [{ + "flash_bytes": 236001, + "flash_percentage": 18, + "ram_bytes": 12960, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/AnalogOut/ledcWrite_RGB", + "sizes": [{ + "flash_bytes": 250229, + "flash_percentage": 19, + "ram_bytes": 12976, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/AnalogRead", + "sizes": [{ + "flash_bytes": 257141, + "flash_percentage": 19, + "ram_bytes": 13108, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/AnalogReadContinuous", + "sizes": [{ + "flash_bytes": 262815, + "flash_percentage": 20, + "ram_bytes": 13124, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/ArduinoStackSize", + "sizes": [{ + "flash_bytes": 241535, + "flash_percentage": 18, + "ram_bytes": 12788, + "ram_percentage": 3 + }] + } +] +}, +{ "board": "espressif:esp32:esp32h2", + "target": "esp32h2", + "sketches": [ +{"name": "BLE/examples/Notify", + "sizes": [{ + "flash_bytes": 1114061, + "flash_percentage": 35, + "ram_bytes": 37304, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/Scan", + "sizes": [{ + "flash_bytes": 1101315, + "flash_percentage": 35, + "ram_bytes": 37280, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/Server", + "sizes": [{ + "flash_bytes": 1108753, + "flash_percentage": 35, + "ram_bytes": 37280, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/Server_multiconnect", + "sizes": [{ + "flash_bytes": 1113395, + "flash_percentage": 35, + "ram_bytes": 37296, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/UART", + "sizes": [{ + "flash_bytes": 1113943, + "flash_percentage": 35, + "ram_bytes": 37296, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/Write", + "sizes": [{ + "flash_bytes": 1109307, + "flash_percentage": 35, + "ram_bytes": 37288, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/iBeacon", + "sizes": [{ + "flash_bytes": 1116361, + "flash_percentage": 35, + "ram_bytes": 37296, + "ram_percentage": 11 + }] + }, +{"name": "EEPROM/examples/eeprom_class", + "sizes": [{ + "flash_bytes": 295877, + "flash_percentage": 9, + "ram_bytes": 12864, + "ram_percentage": 3 + }] + } +] +}, +{ "board": "espressif:esp32:esp32", + "target": "esp32", + "sketches": [ +{"name": "BluetoothSerial/examples/DiscoverConnect", + "sizes": [{ + "flash_bytes": 1077746, + "flash_percentage": 34, + "ram_bytes": 40796, + "ram_percentage": 12 + }] + }, +{"name": "BluetoothSerial/examples/GetLocalMAC", + "sizes": [{ + "flash_bytes": 1075922, + "flash_percentage": 34, + "ram_bytes": 40796, + "ram_percentage": 12 + }] + }, +{"name": "BluetoothSerial/examples/SerialToSerialBT", + "sizes": [{ + "flash_bytes": 1074606, + "flash_percentage": 34, + "ram_bytes": 40796, + "ram_percentage": 12 + }] + }, +{"name": "BluetoothSerial/examples/SerialToSerialBTM", + "sizes": [{ + "flash_bytes": 1075782, + "flash_percentage": 34, + "ram_bytes": 40812, + "ram_percentage": 12 + }] + }, +{"name": "BluetoothSerial/examples/SerialToSerialBT_Legacy", + "sizes": [{ + "flash_bytes": 1075438, + "flash_percentage": 34, + "ram_bytes": 40796, + "ram_percentage": 12 + }] + }, +{"name": "BluetoothSerial/examples/SerialToSerialBT_SSP", + "sizes": [{ + "flash_bytes": 1077510, + "flash_percentage": 34, + "ram_bytes": 40796, + "ram_percentage": 12 + }] + }, +{"name": "BluetoothSerial/examples/bt_classic_device_discovery", + "sizes": [{ + "flash_bytes": 1075986, + "flash_percentage": 34, + "ram_bytes": 40780, + "ram_percentage": 12 + }] + }, +{"name": "BluetoothSerial/examples/bt_remove_paired_devices", + "sizes": [{ + "flash_bytes": 1075910, + "flash_percentage": 34, + "ram_bytes": 40780, + "ram_percentage": 12 + }] + }, +{"name": "DNSServer/examples/CaptivePortal", + "sizes": [{ + "flash_bytes": 947746, + "flash_percentage": 72, + "ram_bytes": 46292, + "ram_percentage": 14 + }] + }, +{"name": "EEPROM/examples/eeprom_class", + "sizes": [{ + "flash_bytes": 314650, + "flash_percentage": 24, + "ram_bytes": 20688, + "ram_percentage": 6 + }] + }, +{"name": "EEPROM/examples/eeprom_extra", + "sizes": [{ + "flash_bytes": 316906, + "flash_percentage": 24, + "ram_bytes": 20624, + "ram_percentage": 6 + }] + }, +{"name": "EEPROM/examples/eeprom_write", + "sizes": [{ + "flash_bytes": 313146, + "flash_percentage": 23, + "ram_bytes": 20748, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/AnalogOut/LEDCFade", + "sizes": [{ + "flash_bytes": 316590, + "flash_percentage": 24, + "ram_bytes": 20800, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/AnalogOut/LEDCSingleChannel", + "sizes": [{ + "flash_bytes": 299342, + "flash_percentage": 22, + "ram_bytes": 20800, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/AnalogOut/LEDCSoftwareFade", + "sizes": [{ + "flash_bytes": 299422, + "flash_percentage": 22, + "ram_bytes": 20800, + "ram_percentage": 6 + }] + } +] +} +]} diff --git a/master_cli_compile/cli_compile_10.json b/master_cli_compile/cli_compile_10.json new file mode 100644 index 00000000000..48c8e498f83 --- /dev/null +++ b/master_cli_compile/cli_compile_10.json @@ -0,0 +1,797 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32p4", + "target": "esp32p4", + "sketches": [ +{"name": "USB/examples/MIDI/ReceiveMidi", + "sizes": [{ + "flash_bytes": 363945, + "flash_percentage": 27, + "ram_bytes": 49276, + "ram_percentage": 15 + }] + }, +{"name": "USB/examples/Mouse/ButtonMouseControl", + "sizes": [{ + "flash_bytes": 350915, + "flash_percentage": 26, + "ram_bytes": 49304, + "ram_percentage": 15 + }] + }, +{"name": "USB/examples/SystemControl", + "sizes": [{ + "flash_bytes": 350429, + "flash_percentage": 26, + "ram_bytes": 49296, + "ram_percentage": 15 + }] + }, +{"name": "USB/examples/USBMSC", + "sizes": [{ + "flash_bytes": 370805, + "flash_percentage": 28, + "ram_bytes": 57428, + "ram_percentage": 17 + }] + }, +{"name": "USB/examples/USBSerial", + "sizes": [{ + "flash_bytes": 365073, + "flash_percentage": 27, + "ram_bytes": 49148, + "ram_percentage": 14 + }] + }, +{"name": "USB/examples/USBVendor", + "sizes": [{ + "flash_bytes": 371153, + "flash_percentage": 28, + "ram_bytes": 49308, + "ram_percentage": 15 + }] + }, +{"name": "Update/examples/AWS_S3_OTA_Update", + "sizes": [{ + "flash_bytes": 686433, + "flash_percentage": 52, + "ram_bytes": 28856, + "ram_percentage": 8 + }] + }, +{"name": "Update/examples/HTTPS_OTA_Update", + "sizes": [{ + "flash_bytes": 877231, + "flash_percentage": 66, + "ram_bytes": 29680, + "ram_percentage": 9 + }] + }, +{"name": "Update/examples/HTTP_Client_AES_OTA_Update", + "sizes": [{ + "flash_bytes": 730643, + "flash_percentage": 55, + "ram_bytes": 28932, + "ram_percentage": 8 + }] + }, +{"name": "Update/examples/HTTP_Server_AES_OTA_Update", + "sizes": [{ + "flash_bytes": 769067, + "flash_percentage": 58, + "ram_bytes": 31604, + "ram_percentage": 9 + }] + }, +{"name": "Update/examples/OTAWebUpdater", + "sizes": [{ + "flash_bytes": 752279, + "flash_percentage": 57, + "ram_bytes": 31444, + "ram_percentage": 9 + }] + }, +{"name": "Update/examples/SD_Update", + "sizes": [{ + "flash_bytes": 401845, + "flash_percentage": 30, + "ram_bytes": 22404, + "ram_percentage": 6 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s3", + "target": "esp32s3", + "sketches": [ +{"name": "USB/examples/HIDVendor", + "sizes": [{ + "flash_bytes": 378454, + "flash_percentage": 28, + "ram_bytes": 40524, + "ram_percentage": 12 + }] + }, +{"name": "USB/examples/Keyboard/KeyboardLogout", + "sizes": [{ + "flash_bytes": 364342, + "flash_percentage": 27, + "ram_bytes": 40460, + "ram_percentage": 12 + }] + }, +{"name": "USB/examples/Keyboard/KeyboardMessage", + "sizes": [{ + "flash_bytes": 364498, + "flash_percentage": 27, + "ram_bytes": 40460, + "ram_percentage": 12 + }] + }, +{"name": "USB/examples/Keyboard/KeyboardReprogram", + "sizes": [{ + "flash_bytes": 364694, + "flash_percentage": 27, + "ram_bytes": 40452, + "ram_percentage": 12 + }] + }, +{"name": "USB/examples/Keyboard/KeyboardSerial", + "sizes": [{ + "flash_bytes": 376542, + "flash_percentage": 28, + "ram_bytes": 40460, + "ram_percentage": 12 + }] + }, +{"name": "USB/examples/KeyboardAndMouseControl", + "sizes": [{ + "flash_bytes": 377306, + "flash_percentage": 28, + "ram_bytes": 40492, + "ram_percentage": 12 + }] + }, +{"name": "USB/examples/MIDI/MidiController", + "sizes": [{ + "flash_bytes": 384926, + "flash_percentage": 29, + "ram_bytes": 40716, + "ram_percentage": 12 + }] + }, +{"name": "USB/examples/MIDI/MidiInterface", + "sizes": [{ + "flash_bytes": 375362, + "flash_percentage": 28, + "ram_bytes": 40420, + "ram_percentage": 12 + }] + }, +{"name": "USB/examples/MIDI/MidiMusicBox", + "sizes": [{ + "flash_bytes": 375482, + "flash_percentage": 28, + "ram_bytes": 40436, + "ram_percentage": 12 + }] + }, +{"name": "USB/examples/MIDI/ReceiveMidi", + "sizes": [{ + "flash_bytes": 376358, + "flash_percentage": 28, + "ram_bytes": 40420, + "ram_percentage": 12 + }] + }, +{"name": "USB/examples/Mouse/ButtonMouseControl", + "sizes": [{ + "flash_bytes": 363562, + "flash_percentage": 27, + "ram_bytes": 40468, + "ram_percentage": 12 + }] + }, +{"name": "USB/examples/SystemControl", + "sizes": [{ + "flash_bytes": 363182, + "flash_percentage": 27, + "ram_bytes": 40428, + "ram_percentage": 12 + }] + }, +{"name": "USB/examples/USBMSC", + "sizes": [{ + "flash_bytes": 379654, + "flash_percentage": 28, + "ram_bytes": 48588, + "ram_percentage": 14 + }] + }, +{"name": "USB/examples/USBSerial", + "sizes": [{ + "flash_bytes": 374118, + "flash_percentage": 28, + "ram_bytes": 40316, + "ram_percentage": 12 + }] + }, +{"name": "USB/examples/USBVendor", + "sizes": [{ + "flash_bytes": 378562, + "flash_percentage": 28, + "ram_bytes": 40460, + "ram_percentage": 12 + }] + }, +{"name": "Update/examples/AWS_S3_OTA_Update", + "sizes": [{ + "flash_bytes": 900026, + "flash_percentage": 68, + "ram_bytes": 46116, + "ram_percentage": 14 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2", + "target": "esp32s2", + "sketches": [ +{"name": "USB/examples/Keyboard/KeyboardMessage", + "sizes": [{ + "flash_bytes": 304821, + "flash_percentage": 23, + "ram_bytes": 35180, + "ram_percentage": 10 + }] + }, +{"name": "USB/examples/Keyboard/KeyboardReprogram", + "sizes": [{ + "flash_bytes": 305009, + "flash_percentage": 23, + "ram_bytes": 35172, + "ram_percentage": 10 + }] + }, +{"name": "USB/examples/Keyboard/KeyboardSerial", + "sizes": [{ + "flash_bytes": 312549, + "flash_percentage": 23, + "ram_bytes": 34796, + "ram_percentage": 10 + }] + }, +{"name": "USB/examples/KeyboardAndMouseControl", + "sizes": [{ + "flash_bytes": 317837, + "flash_percentage": 24, + "ram_bytes": 35204, + "ram_percentage": 10 + }] + }, +{"name": "USB/examples/MIDI/MidiController", + "sizes": [{ + "flash_bytes": 325625, + "flash_percentage": 24, + "ram_bytes": 35284, + "ram_percentage": 10 + }] + }, +{"name": "USB/examples/MIDI/MidiInterface", + "sizes": [{ + "flash_bytes": 311385, + "flash_percentage": 23, + "ram_bytes": 34756, + "ram_percentage": 10 + }] + }, +{"name": "USB/examples/MIDI/MidiMusicBox", + "sizes": [{ + "flash_bytes": 316049, + "flash_percentage": 24, + "ram_bytes": 35148, + "ram_percentage": 10 + }] + }, +{"name": "USB/examples/MIDI/ReceiveMidi", + "sizes": [{ + "flash_bytes": 312393, + "flash_percentage": 23, + "ram_bytes": 34756, + "ram_percentage": 10 + }] + }, +{"name": "USB/examples/Mouse/ButtonMouseControl", + "sizes": [{ + "flash_bytes": 303869, + "flash_percentage": 23, + "ram_bytes": 35172, + "ram_percentage": 10 + }] + }, +{"name": "USB/examples/SystemControl", + "sizes": [{ + "flash_bytes": 303497, + "flash_percentage": 23, + "ram_bytes": 35148, + "ram_percentage": 10 + }] + }, +{"name": "USB/examples/USBMSC", + "sizes": [{ + "flash_bytes": 315765, + "flash_percentage": 24, + "ram_bytes": 42924, + "ram_percentage": 13 + }] + }, +{"name": "USB/examples/USBSerial", + "sizes": [{ + "flash_bytes": 310237, + "flash_percentage": 23, + "ram_bytes": 34636, + "ram_percentage": 10 + }] + }, +{"name": "USB/examples/USBVendor", + "sizes": [{ + "flash_bytes": 319221, + "flash_percentage": 24, + "ram_bytes": 35156, + "ram_percentage": 10 + }] + }, +{"name": "Update/examples/AWS_S3_OTA_Update", + "sizes": [{ + "flash_bytes": 862405, + "flash_percentage": 65, + "ram_bytes": 40724, + "ram_percentage": 12 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3", + "target": "esp32c3", + "sketches": [ +{"name": "SimpleBLE/examples/SimpleBleDevice", + "sizes": [{ + "flash_bytes": 928592, + "flash_percentage": 70, + "ram_bytes": 37552, + "ram_percentage": 11 + }] + }, +{"name": "TFLiteMicro/examples/hello_world", + "sizes": [{ + "flash_bytes": 307236, + "flash_percentage": 23, + "ram_bytes": 13912, + "ram_percentage": 4 + }] + }, +{"name": "Ticker/examples/Blinker", + "sizes": [{ + "flash_bytes": 294758, + "flash_percentage": 22, + "ram_bytes": 12916, + "ram_percentage": 3 + }] + }, +{"name": "Ticker/examples/TickerBasic", + "sizes": [{ + "flash_bytes": 294530, + "flash_percentage": 22, + "ram_bytes": 12876, + "ram_percentage": 3 + }] + }, +{"name": "Ticker/examples/TickerParameter", + "sizes": [{ + "flash_bytes": 294400, + "flash_percentage": 22, + "ram_bytes": 12908, + "ram_percentage": 3 + }] + }, +{"name": "Update/examples/AWS_S3_OTA_Update", + "sizes": [{ + "flash_bytes": 967040, + "flash_percentage": 73, + "ram_bytes": 37456, + "ram_percentage": 11 + }] + }, +{"name": "Update/examples/HTTPS_OTA_Update", + "sizes": [{ + "flash_bytes": 1059442, + "flash_percentage": 80, + "ram_bytes": 37144, + "ram_percentage": 11 + }] + }, +{"name": "Update/examples/HTTP_Client_AES_OTA_Update", + "sizes": [{ + "flash_bytes": 1011252, + "flash_percentage": 77, + "ram_bytes": 37512, + "ram_percentage": 11 + }] + }, +{"name": "Update/examples/HTTP_Server_AES_OTA_Update", + "sizes": [{ + "flash_bytes": 1047166, + "flash_percentage": 79, + "ram_bytes": 40200, + "ram_percentage": 12 + }] + }, +{"name": "Update/examples/OTAWebUpdater", + "sizes": [{ + "flash_bytes": 1030164, + "flash_percentage": 78, + "ram_bytes": 40088, + "ram_percentage": 12 + }] + }, +{"name": "Update/examples/SD_Update", + "sizes": [{ + "flash_bytes": 380436, + "flash_percentage": 29, + "ram_bytes": 13460, + "ram_percentage": 4 + }] + }, +{"name": "WebServer/examples/AdvancedWebServer", + "sizes": [{ + "flash_bytes": 1021398, + "flash_percentage": 77, + "ram_bytes": 39848, + "ram_percentage": 12 + }] + }, +{"name": "WebServer/examples/FSBrowser", + "sizes": [{ + "flash_bytes": 1055124, + "flash_percentage": 80, + "ram_bytes": 39080, + "ram_percentage": 11 + }] + }, +{"name": "WebServer/examples/Filters", + "sizes": [{ + "flash_bytes": 1022422, + "flash_percentage": 78, + "ram_bytes": 39856, + "ram_percentage": 12 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c6", + "target": "esp32c6", + "sketches": [ +{"name": "WebServer/examples/AdvancedWebServer", + "sizes": [{ + "flash_bytes": 1029835, + "flash_percentage": 78, + "ram_bytes": 45908, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/FSBrowser", + "sizes": [{ + "flash_bytes": 1066783, + "flash_percentage": 81, + "ram_bytes": 45340, + "ram_percentage": 13 + }] + }, +{"name": "WebServer/examples/Filters", + "sizes": [{ + "flash_bytes": 1030837, + "flash_percentage": 78, + "ram_bytes": 45916, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/HelloServer", + "sizes": [{ + "flash_bytes": 1028611, + "flash_percentage": 78, + "ram_bytes": 45908, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/HttpAdvancedAuth", + "sizes": [{ + "flash_bytes": 1048683, + "flash_percentage": 80, + "ram_bytes": 48236, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/HttpAuthCallback", + "sizes": [{ + "flash_bytes": 1049367, + "flash_percentage": 80, + "ram_bytes": 48372, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/HttpAuthCallbackInline", + "sizes": [{ + "flash_bytes": 1048681, + "flash_percentage": 80, + "ram_bytes": 48260, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/HttpBasicAuth", + "sizes": [{ + "flash_bytes": 1048733, + "flash_percentage": 80, + "ram_bytes": 48220, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/HttpBasicAuthSHA1", + "sizes": [{ + "flash_bytes": 1057997, + "flash_percentage": 80, + "ram_bytes": 48236, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/HttpBasicAuthSHA1orBearerToken", + "sizes": [{ + "flash_bytes": 1058539, + "flash_percentage": 80, + "ram_bytes": 48252, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/Middleware", + "sizes": [{ + "flash_bytes": 1000487, + "flash_percentage": 76, + "ram_bytes": 42836, + "ram_percentage": 13 + }] + }, +{"name": "WebServer/examples/MultiHomedServers", + "sizes": [{ + "flash_bytes": 1031607, + "flash_percentage": 78, + "ram_bytes": 45572, + "ram_percentage": 13 + }] + }, +{"name": "WebServer/examples/PathArgServer", + "sizes": [{ + "flash_bytes": 1298093, + "flash_percentage": 41, + "ram_bytes": 50332, + "ram_percentage": 15 + }] + }, +{"name": "WebServer/examples/SDWebServer", + "sizes": [{ + "flash_bytes": 1086751, + "flash_percentage": 82, + "ram_bytes": 46204, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/SimpleAuthentification", + "sizes": [{ + "flash_bytes": 979133, + "flash_percentage": 74, + "ram_bytes": 42660, + "ram_percentage": 13 + }] + }, +{"name": "WebServer/examples/UploadHugeFile", + "sizes": [{ + "flash_bytes": 1333207, + "flash_percentage": 42, + "ram_bytes": 49060, + "ram_percentage": 14 + }] + } +] +}, +{ "board": "espressif:esp32:esp32h2", + "target": "esp32h2", + "sketches": [ +{"name": "OpenThread/examples/onReceive", + "sizes": [{ + "flash_bytes": 1099501, + "flash_percentage": 83, + "ram_bytes": 45736, + "ram_percentage": 13 + }] + }, +{"name": "PPP/examples/PPP_Basic", + "sizes": [{ + "flash_bytes": 553937, + "flash_percentage": 42, + "ram_bytes": 18700, + "ram_percentage": 5 + }] + }, +{"name": "Preferences/examples/Prefs2Struct", + "sizes": [{ + "flash_bytes": 293471, + "flash_percentage": 22, + "ram_bytes": 12784, + "ram_percentage": 3 + }] + }, +{"name": "Preferences/examples/StartCounter", + "sizes": [{ + "flash_bytes": 293213, + "flash_percentage": 22, + "ram_bytes": 12792, + "ram_percentage": 3 + }] + }, +{"name": "SD/examples/SD_Test", + "sizes": [{ + "flash_bytes": 375509, + "flash_percentage": 28, + "ram_bytes": 14780, + "ram_percentage": 4 + }] + }, +{"name": "SPI/examples/SPI_Multiple_Buses", + "sizes": [{ + "flash_bytes": 298311, + "flash_percentage": 22, + "ram_bytes": 14084, + "ram_percentage": 4 + }] + }, +{"name": "SPIFFS/examples/SPIFFS_Test", + "sizes": [{ + "flash_bytes": 326987, + "flash_percentage": 24, + "ram_bytes": 13304, + "ram_percentage": 4 + }] + }, +{"name": "SimpleBLE/examples/SimpleBleDevice", + "sizes": [{ + "flash_bytes": 1075245, + "flash_percentage": 82, + "ram_bytes": 37320, + "ram_percentage": 11 + }] + } +] +}, +{ "board": "espressif:esp32:esp32", + "target": "esp32", + "sketches": [ +{"name": "SimpleBLE/examples/SimpleBleDevice", + "sizes": [{ + "flash_bytes": 1067482, + "flash_percentage": 81, + "ram_bytes": 39764, + "ram_percentage": 12 + }] + }, +{"name": "TFLiteMicro/examples/hello_world", + "sizes": [{ + "flash_bytes": 327778, + "flash_percentage": 25, + "ram_bytes": 22928, + "ram_percentage": 6 + }] + }, +{"name": "Ticker/examples/Blinker", + "sizes": [{ + "flash_bytes": 296902, + "flash_percentage": 22, + "ram_bytes": 20664, + "ram_percentage": 6 + }] + }, +{"name": "Ticker/examples/TickerBasic", + "sizes": [{ + "flash_bytes": 296706, + "flash_percentage": 22, + "ram_bytes": 20624, + "ram_percentage": 6 + }] + }, +{"name": "Ticker/examples/TickerParameter", + "sizes": [{ + "flash_bytes": 296646, + "flash_percentage": 22, + "ram_bytes": 20664, + "ram_percentage": 6 + }] + }, +{"name": "Update/examples/AWS_S3_OTA_Update", + "sizes": [{ + "flash_bytes": 922802, + "flash_percentage": 70, + "ram_bytes": 46132, + "ram_percentage": 14 + }] + }, +{"name": "Update/examples/HTTPS_OTA_Update", + "sizes": [{ + "flash_bytes": 1022070, + "flash_percentage": 77, + "ram_bytes": 46716, + "ram_percentage": 14 + }] + }, +{"name": "Update/examples/HTTP_Client_AES_OTA_Update", + "sizes": [{ + "flash_bytes": 966242, + "flash_percentage": 73, + "ram_bytes": 47548, + "ram_percentage": 14 + }] + }, +{"name": "Update/examples/HTTP_Server_AES_OTA_Update", + "sizes": [{ + "flash_bytes": 995394, + "flash_percentage": 75, + "ram_bytes": 48860, + "ram_percentage": 14 + }] + }, +{"name": "Update/examples/OTAWebUpdater", + "sizes": [{ + "flash_bytes": 981886, + "flash_percentage": 74, + "ram_bytes": 48880, + "ram_percentage": 14 + }] + }, +{"name": "Update/examples/SD_Update", + "sizes": [{ + "flash_bytes": 374134, + "flash_percentage": 28, + "ram_bytes": 21388, + "ram_percentage": 6 + }] + }, +{"name": "WebServer/examples/AdvancedWebServer", + "sizes": [{ + "flash_bytes": 975810, + "flash_percentage": 74, + "ram_bytes": 48632, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/FSBrowser", + "sizes": [{ + "flash_bytes": 1019438, + "flash_percentage": 77, + "ram_bytes": 48692, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/Filters", + "sizes": [{ + "flash_bytes": 976050, + "flash_percentage": 74, + "ram_bytes": 48524, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/HelloServer", + "sizes": [{ + "flash_bytes": 974250, + "flash_percentage": 74, + "ram_bytes": 48524, + "ram_percentage": 14 + }] + } +] +} +]} diff --git a/master_cli_compile/cli_compile_11.json b/master_cli_compile/cli_compile_11.json new file mode 100644 index 00000000000..4fee1337355 --- /dev/null +++ b/master_cli_compile/cli_compile_11.json @@ -0,0 +1,797 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32p4", + "target": "esp32p4", + "sketches": [ +{"name": "WebServer/examples/AdvancedWebServer", + "sizes": [{ + "flash_bytes": 737511, + "flash_percentage": 56, + "ram_bytes": 31120, + "ram_percentage": 9 + }] + }, +{"name": "WebServer/examples/FSBrowser", + "sizes": [{ + "flash_bytes": 792473, + "flash_percentage": 60, + "ram_bytes": 31616, + "ram_percentage": 9 + }] + }, +{"name": "WebServer/examples/Filters", + "sizes": [{ + "flash_bytes": 738525, + "flash_percentage": 56, + "ram_bytes": 31120, + "ram_percentage": 9 + }] + }, +{"name": "WebServer/examples/HelloServer", + "sizes": [{ + "flash_bytes": 736301, + "flash_percentage": 56, + "ram_bytes": 31120, + "ram_percentage": 9 + }] + }, +{"name": "WebServer/examples/HttpAdvancedAuth", + "sizes": [{ + "flash_bytes": 763581, + "flash_percentage": 58, + "ram_bytes": 33572, + "ram_percentage": 10 + }] + }, +{"name": "WebServer/examples/HttpAuthCallback", + "sizes": [{ + "flash_bytes": 764201, + "flash_percentage": 58, + "ram_bytes": 33652, + "ram_percentage": 10 + }] + }, +{"name": "WebServer/examples/HttpAuthCallbackInline", + "sizes": [{ + "flash_bytes": 763535, + "flash_percentage": 58, + "ram_bytes": 33556, + "ram_percentage": 10 + }] + }, +{"name": "WebServer/examples/HttpBasicAuth", + "sizes": [{ + "flash_bytes": 763559, + "flash_percentage": 58, + "ram_bytes": 33492, + "ram_percentage": 10 + }] + }, +{"name": "WebServer/examples/HttpBasicAuthSHA1", + "sizes": [{ + "flash_bytes": 772879, + "flash_percentage": 58, + "ram_bytes": 33556, + "ram_percentage": 10 + }] + }, +{"name": "WebServer/examples/HttpBasicAuthSHA1orBearerToken", + "sizes": [{ + "flash_bytes": 773369, + "flash_percentage": 59, + "ram_bytes": 33524, + "ram_percentage": 10 + }] + }, +{"name": "WebServer/examples/MultiHomedServers", + "sizes": [{ + "flash_bytes": 739275, + "flash_percentage": 56, + "ram_bytes": 30760, + "ram_percentage": 9 + }] + }, +{"name": "WebServer/examples/PathArgServer", + "sizes": [{ + "flash_bytes": 1029479, + "flash_percentage": 32, + "ram_bytes": 36472, + "ram_percentage": 11 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s3", + "target": "esp32s3", + "sketches": [ +{"name": "Update/examples/HTTPS_OTA_Update", + "sizes": [{ + "flash_bytes": 980394, + "flash_percentage": 74, + "ram_bytes": 46380, + "ram_percentage": 14 + }] + }, +{"name": "Update/examples/HTTP_Client_AES_OTA_Update", + "sizes": [{ + "flash_bytes": 943866, + "flash_percentage": 72, + "ram_bytes": 46204, + "ram_percentage": 14 + }] + }, +{"name": "Update/examples/HTTP_Server_AES_OTA_Update", + "sizes": [{ + "flash_bytes": 972278, + "flash_percentage": 74, + "ram_bytes": 48828, + "ram_percentage": 14 + }] + }, +{"name": "Update/examples/OTAWebUpdater", + "sizes": [{ + "flash_bytes": 958566, + "flash_percentage": 73, + "ram_bytes": 48732, + "ram_percentage": 14 + }] + }, +{"name": "Update/examples/SD_Update", + "sizes": [{ + "flash_bytes": 398386, + "flash_percentage": 30, + "ram_bytes": 21644, + "ram_percentage": 6 + }] + }, +{"name": "WebServer/examples/AdvancedWebServer", + "sizes": [{ + "flash_bytes": 951470, + "flash_percentage": 72, + "ram_bytes": 48532, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/FSBrowser", + "sizes": [{ + "flash_bytes": 975946, + "flash_percentage": 74, + "ram_bytes": 48524, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/Filters", + "sizes": [{ + "flash_bytes": 952034, + "flash_percentage": 72, + "ram_bytes": 48532, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/HelloServer", + "sizes": [{ + "flash_bytes": 950266, + "flash_percentage": 72, + "ram_bytes": 48532, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/HttpAdvancedAuth", + "sizes": [{ + "flash_bytes": 968830, + "flash_percentage": 73, + "ram_bytes": 50796, + "ram_percentage": 15 + }] + }, +{"name": "WebServer/examples/HttpAuthCallback", + "sizes": [{ + "flash_bytes": 969430, + "flash_percentage": 73, + "ram_bytes": 50940, + "ram_percentage": 15 + }] + }, +{"name": "WebServer/examples/HttpAuthCallbackInline", + "sizes": [{ + "flash_bytes": 968882, + "flash_percentage": 73, + "ram_bytes": 50828, + "ram_percentage": 15 + }] + }, +{"name": "WebServer/examples/HttpBasicAuth", + "sizes": [{ + "flash_bytes": 968878, + "flash_percentage": 73, + "ram_bytes": 50780, + "ram_percentage": 15 + }] + }, +{"name": "WebServer/examples/HttpBasicAuthSHA1", + "sizes": [{ + "flash_bytes": 975998, + "flash_percentage": 74, + "ram_bytes": 50796, + "ram_percentage": 15 + }] + }, +{"name": "WebServer/examples/HttpBasicAuthSHA1orBearerToken", + "sizes": [{ + "flash_bytes": 976574, + "flash_percentage": 74, + "ram_bytes": 50812, + "ram_percentage": 15 + }] + }, +{"name": "WebServer/examples/Middleware", + "sizes": [{ + "flash_bytes": 918466, + "flash_percentage": 70, + "ram_bytes": 46012, + "ram_percentage": 14 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2", + "target": "esp32s2", + "sketches": [ +{"name": "Update/examples/HTTPS_OTA_Update", + "sizes": [{ + "flash_bytes": 950113, + "flash_percentage": 72, + "ram_bytes": 41016, + "ram_percentage": 12 + }] + }, +{"name": "Update/examples/HTTP_Client_AES_OTA_Update", + "sizes": [{ + "flash_bytes": 906217, + "flash_percentage": 69, + "ram_bytes": 40804, + "ram_percentage": 12 + }] + }, +{"name": "Update/examples/HTTP_Server_AES_OTA_Update", + "sizes": [{ + "flash_bytes": 935485, + "flash_percentage": 71, + "ram_bytes": 43428, + "ram_percentage": 13 + }] + }, +{"name": "Update/examples/OTAWebUpdater", + "sizes": [{ + "flash_bytes": 921737, + "flash_percentage": 70, + "ram_bytes": 43316, + "ram_percentage": 13 + }] + }, +{"name": "Update/examples/SD_Update", + "sizes": [{ + "flash_bytes": 355453, + "flash_percentage": 27, + "ram_bytes": 16624, + "ram_percentage": 5 + }] + }, +{"name": "WebServer/examples/AdvancedWebServer", + "sizes": [{ + "flash_bytes": 914937, + "flash_percentage": 69, + "ram_bytes": 43124, + "ram_percentage": 13 + }] + }, +{"name": "WebServer/examples/FSBrowser", + "sizes": [{ + "flash_bytes": 942913, + "flash_percentage": 71, + "ram_bytes": 43008, + "ram_percentage": 13 + }] + }, +{"name": "WebServer/examples/Filters", + "sizes": [{ + "flash_bytes": 915157, + "flash_percentage": 69, + "ram_bytes": 43124, + "ram_percentage": 13 + }] + }, +{"name": "WebServer/examples/HelloServer", + "sizes": [{ + "flash_bytes": 913429, + "flash_percentage": 69, + "ram_bytes": 43124, + "ram_percentage": 13 + }] + }, +{"name": "WebServer/examples/HttpAdvancedAuth", + "sizes": [{ + "flash_bytes": 932093, + "flash_percentage": 71, + "ram_bytes": 45396, + "ram_percentage": 13 + }] + }, +{"name": "WebServer/examples/HttpAuthCallback", + "sizes": [{ + "flash_bytes": 932681, + "flash_percentage": 71, + "ram_bytes": 45524, + "ram_percentage": 13 + }] + }, +{"name": "WebServer/examples/HttpAuthCallbackInline", + "sizes": [{ + "flash_bytes": 932113, + "flash_percentage": 71, + "ram_bytes": 45412, + "ram_percentage": 13 + }] + }, +{"name": "WebServer/examples/HttpBasicAuth", + "sizes": [{ + "flash_bytes": 932141, + "flash_percentage": 71, + "ram_bytes": 45380, + "ram_percentage": 13 + }] + }, +{"name": "WebServer/examples/HttpBasicAuthSHA1", + "sizes": [{ + "flash_bytes": 939541, + "flash_percentage": 71, + "ram_bytes": 45396, + "ram_percentage": 13 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3", + "target": "esp32c3", + "sketches": [ +{"name": "WebServer/examples/HelloServer", + "sizes": [{ + "flash_bytes": 1020180, + "flash_percentage": 77, + "ram_bytes": 39848, + "ram_percentage": 12 + }] + }, +{"name": "WebServer/examples/HttpAdvancedAuth", + "sizes": [{ + "flash_bytes": 1040560, + "flash_percentage": 79, + "ram_bytes": 42160, + "ram_percentage": 12 + }] + }, +{"name": "WebServer/examples/HttpAuthCallback", + "sizes": [{ + "flash_bytes": 1041238, + "flash_percentage": 79, + "ram_bytes": 42296, + "ram_percentage": 12 + }] + }, +{"name": "WebServer/examples/HttpAuthCallbackInline", + "sizes": [{ + "flash_bytes": 1040602, + "flash_percentage": 79, + "ram_bytes": 42184, + "ram_percentage": 12 + }] + }, +{"name": "WebServer/examples/HttpBasicAuth", + "sizes": [{ + "flash_bytes": 1040620, + "flash_percentage": 79, + "ram_bytes": 42144, + "ram_percentage": 12 + }] + }, +{"name": "WebServer/examples/HttpBasicAuthSHA1", + "sizes": [{ + "flash_bytes": 1049890, + "flash_percentage": 80, + "ram_bytes": 42160, + "ram_percentage": 12 + }] + }, +{"name": "WebServer/examples/HttpBasicAuthSHA1orBearerToken", + "sizes": [{ + "flash_bytes": 1050424, + "flash_percentage": 80, + "ram_bytes": 42176, + "ram_percentage": 12 + }] + }, +{"name": "WebServer/examples/Middleware", + "sizes": [{ + "flash_bytes": 992050, + "flash_percentage": 75, + "ram_bytes": 36760, + "ram_percentage": 11 + }] + }, +{"name": "WebServer/examples/MultiHomedServers", + "sizes": [{ + "flash_bytes": 1023152, + "flash_percentage": 78, + "ram_bytes": 39496, + "ram_percentage": 12 + }] + }, +{"name": "WebServer/examples/PathArgServer", + "sizes": [{ + "flash_bytes": 1292864, + "flash_percentage": 41, + "ram_bytes": 44256, + "ram_percentage": 13 + }] + }, +{"name": "WebServer/examples/SDWebServer", + "sizes": [{ + "flash_bytes": 1088746, + "flash_percentage": 83, + "ram_bytes": 40128, + "ram_percentage": 12 + }] + }, +{"name": "WebServer/examples/SimpleAuthentification", + "sizes": [{ + "flash_bytes": 970716, + "flash_percentage": 74, + "ram_bytes": 36584, + "ram_percentage": 11 + }] + }, +{"name": "WebServer/examples/UploadHugeFile", + "sizes": [{ + "flash_bytes": 1328058, + "flash_percentage": 42, + "ram_bytes": 42984, + "ram_percentage": 13 + }] + }, +{"name": "WebServer/examples/WebServer", + "sizes": [{ + "flash_bytes": 1080452, + "flash_percentage": 82, + "ram_bytes": 37048, + "ram_percentage": 11 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c6", + "target": "esp32c6", + "sketches": [ +{"name": "WebServer/examples/WebServer", + "sizes": [{ + "flash_bytes": 1078445, + "flash_percentage": 82, + "ram_bytes": 43124, + "ram_percentage": 13 + }] + }, +{"name": "WebServer/examples/WebUpdate", + "sizes": [{ + "flash_bytes": 1033245, + "flash_percentage": 78, + "ram_bytes": 46140, + "ram_percentage": 14 + }] + }, +{"name": "WiFi/examples/FTM/FTM_Initiator", + "sizes": [{ + "flash_bytes": 928683, + "flash_percentage": 70, + "ram_bytes": 41044, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/FTM/FTM_Responder", + "sizes": [{ + "flash_bytes": 926339, + "flash_percentage": 70, + "ram_bytes": 41036, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/SimpleWiFiServer", + "sizes": [{ + "flash_bytes": 968509, + "flash_percentage": 73, + "ram_bytes": 43260, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WPS", + "sizes": [{ + "flash_bytes": 950941, + "flash_percentage": 72, + "ram_bytes": 41084, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiAccessPoint", + "sizes": [{ + "flash_bytes": 969137, + "flash_percentage": 73, + "ram_bytes": 43260, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiBlueToothSwitch", + "sizes": [{ + "flash_bytes": 1166989, + "flash_percentage": 89, + "ram_bytes": 42048, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiClient", + "sizes": [{ + "flash_bytes": 945703, + "flash_percentage": 72, + "ram_bytes": 42356, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiClientBasic", + "sizes": [{ + "flash_bytes": 947521, + "flash_percentage": 72, + "ram_bytes": 42348, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiClientConnect", + "sizes": [{ + "flash_bytes": 930029, + "flash_percentage": 70, + "ram_bytes": 41052, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiClientEnterprise", + "sizes": [{ + "flash_bytes": 1050039, + "flash_percentage": 80, + "ram_bytes": 42972, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiClientEvents", + "sizes": [{ + "flash_bytes": 930087, + "flash_percentage": 70, + "ram_bytes": 41036, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiClientStaticIP", + "sizes": [{ + "flash_bytes": 945743, + "flash_percentage": 72, + "ram_bytes": 42444, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiExtender", + "sizes": [{ + "flash_bytes": 929207, + "flash_percentage": 70, + "ram_bytes": 41148, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiIPv6", + "sizes": [{ + "flash_bytes": 943523, + "flash_percentage": 71, + "ram_bytes": 42716, + "ram_percentage": 13 + }] + } +] +}, +{ "board": "espressif:esp32:esp32h2", + "target": "esp32h2", + "sketches": [ +{"name": "TFLiteMicro/examples/hello_world", + "sizes": [{ + "flash_bytes": 308971, + "flash_percentage": 23, + "ram_bytes": 15096, + "ram_percentage": 4 + }] + }, +{"name": "Ticker/examples/Blinker", + "sizes": [{ + "flash_bytes": 295117, + "flash_percentage": 22, + "ram_bytes": 14076, + "ram_percentage": 4 + }] + }, +{"name": "Ticker/examples/TickerBasic", + "sizes": [{ + "flash_bytes": 294909, + "flash_percentage": 22, + "ram_bytes": 14052, + "ram_percentage": 4 + }] + }, +{"name": "Ticker/examples/TickerParameter", + "sizes": [{ + "flash_bytes": 294781, + "flash_percentage": 22, + "ram_bytes": 14076, + "ram_percentage": 4 + }] + }, +{"name": "Update/examples/SD_Update", + "sizes": [{ + "flash_bytes": 381263, + "flash_percentage": 29, + "ram_bytes": 14636, + "ram_percentage": 4 + }] + }, +{"name": "Wire/examples/WireMaster", + "sizes": [{ + "flash_bytes": 312487, + "flash_percentage": 23, + "ram_bytes": 14140, + "ram_percentage": 4 + }] + }, +{"name": "Wire/examples/WireScan", + "sizes": [{ + "flash_bytes": 312239, + "flash_percentage": 23, + "ram_bytes": 14132, + "ram_percentage": 4 + }] + }, +{"name": "Wire/examples/WireSlave", + "sizes": [{ + "flash_bytes": 312481, + "flash_percentage": 23, + "ram_bytes": 14140, + "ram_percentage": 4 + }] + } +] +}, +{ "board": "espressif:esp32:esp32", + "target": "esp32", + "sketches": [ +{"name": "WebServer/examples/HttpAdvancedAuth", + "sizes": [{ + "flash_bytes": 992094, + "flash_percentage": 75, + "ram_bytes": 50820, + "ram_percentage": 15 + }] + }, +{"name": "WebServer/examples/HttpAuthCallback", + "sizes": [{ + "flash_bytes": 992678, + "flash_percentage": 75, + "ram_bytes": 50964, + "ram_percentage": 15 + }] + }, +{"name": "WebServer/examples/HttpAuthCallbackInline", + "sizes": [{ + "flash_bytes": 992126, + "flash_percentage": 75, + "ram_bytes": 50852, + "ram_percentage": 15 + }] + }, +{"name": "WebServer/examples/HttpBasicAuth", + "sizes": [{ + "flash_bytes": 992146, + "flash_percentage": 75, + "ram_bytes": 50804, + "ram_percentage": 15 + }] + }, +{"name": "WebServer/examples/HttpBasicAuthSHA1", + "sizes": [{ + "flash_bytes": 999398, + "flash_percentage": 76, + "ram_bytes": 50820, + "ram_percentage": 15 + }] + }, +{"name": "WebServer/examples/HttpBasicAuthSHA1orBearerToken", + "sizes": [{ + "flash_bytes": 999962, + "flash_percentage": 76, + "ram_bytes": 50844, + "ram_percentage": 15 + }] + }, +{"name": "WebServer/examples/Middleware", + "sizes": [{ + "flash_bytes": 962642, + "flash_percentage": 73, + "ram_bytes": 46364, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/MultiHomedServers", + "sizes": [{ + "flash_bytes": 976950, + "flash_percentage": 74, + "ram_bytes": 48172, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/PathArgServer", + "sizes": [{ + "flash_bytes": 1258454, + "flash_percentage": 40, + "ram_bytes": 54872, + "ram_percentage": 16 + }] + }, +{"name": "WebServer/examples/SDWebServer", + "sizes": [{ + "flash_bytes": 1035002, + "flash_percentage": 78, + "ram_bytes": 49128, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/SimpleAuthentification", + "sizes": [{ + "flash_bytes": 944946, + "flash_percentage": 72, + "ram_bytes": 46196, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/UploadHugeFile", + "sizes": [{ + "flash_bytes": 1274810, + "flash_percentage": 40, + "ram_bytes": 52816, + "ram_percentage": 16 + }] + }, +{"name": "WebServer/examples/WebServer", + "sizes": [{ + "flash_bytes": 1040182, + "flash_percentage": 79, + "ram_bytes": 46928, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/WebUpdate", + "sizes": [{ + "flash_bytes": 977278, + "flash_percentage": 74, + "ram_bytes": 48732, + "ram_percentage": 14 + }] + }, +{"name": "WiFi/examples/FTM/FTM_Initiator", + "sizes": [{ + "flash_bytes": 895454, + "flash_percentage": 68, + "ram_bytes": 44596, + "ram_percentage": 13 + }] + } +] +} +]} diff --git a/master_cli_compile/cli_compile_12.json b/master_cli_compile/cli_compile_12.json new file mode 100644 index 00000000000..7dfa8f3ff86 --- /dev/null +++ b/master_cli_compile/cli_compile_12.json @@ -0,0 +1,797 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32p4", + "target": "esp32p4", + "sketches": [ +{"name": "WebServer/examples/SDWebServer", + "sizes": [{ + "flash_bytes": 805115, + "flash_percentage": 61, + "ram_bytes": 31464, + "ram_percentage": 9 + }] + }, +{"name": "WebServer/examples/SimpleAuthentification", + "sizes": [{ + "flash_bytes": 707187, + "flash_percentage": 53, + "ram_bytes": 28828, + "ram_percentage": 8 + }] + }, +{"name": "WebServer/examples/UploadHugeFile", + "sizes": [{ + "flash_bytes": 1044485, + "flash_percentage": 33, + "ram_bytes": 34296, + "ram_percentage": 10 + }] + }, +{"name": "WebServer/examples/WebServer", + "sizes": [{ + "flash_bytes": 817061, + "flash_percentage": 62, + "ram_bytes": 29236, + "ram_percentage": 8 + }] + }, +{"name": "WebServer/examples/WebUpdate", + "sizes": [{ + "flash_bytes": 748063, + "flash_percentage": 57, + "ram_bytes": 31428, + "ram_percentage": 9 + }] + }, +{"name": "WiFi/examples/FTM/FTM_Initiator", + "sizes": [{ + "flash_bytes": 647625, + "flash_percentage": 49, + "ram_bytes": 27208, + "ram_percentage": 8 + }] + }, +{"name": "WiFi/examples/FTM/FTM_Responder", + "sizes": [{ + "flash_bytes": 645941, + "flash_percentage": 49, + "ram_bytes": 27208, + "ram_percentage": 8 + }] + }, +{"name": "WiFi/examples/SimpleWiFiServer", + "sizes": [{ + "flash_bytes": 676189, + "flash_percentage": 51, + "ram_bytes": 28508, + "ram_percentage": 8 + }] + }, +{"name": "WiFi/examples/WiFiAccessPoint", + "sizes": [{ + "flash_bytes": 676005, + "flash_percentage": 51, + "ram_bytes": 28508, + "ram_percentage": 8 + }] + }, +{"name": "WiFi/examples/WiFiClient", + "sizes": [{ + "flash_bytes": 672533, + "flash_percentage": 51, + "ram_bytes": 28508, + "ram_percentage": 8 + }] + }, +{"name": "WiFi/examples/WiFiClientBasic", + "sizes": [{ + "flash_bytes": 674595, + "flash_percentage": 51, + "ram_bytes": 28500, + "ram_percentage": 8 + }] + }, +{"name": "WiFi/examples/WiFiClientConnect", + "sizes": [{ + "flash_bytes": 647535, + "flash_percentage": 49, + "ram_bytes": 27216, + "ram_percentage": 8 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s3", + "target": "esp32s3", + "sketches": [ +{"name": "WebServer/examples/MultiHomedServers", + "sizes": [{ + "flash_bytes": 952954, + "flash_percentage": 72, + "ram_bytes": 48180, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/PathArgServer", + "sizes": [{ + "flash_bytes": 1213410, + "flash_percentage": 38, + "ram_bytes": 53332, + "ram_percentage": 16 + }] + }, +{"name": "WebServer/examples/SDWebServer", + "sizes": [{ + "flash_bytes": 1011542, + "flash_percentage": 77, + "ram_bytes": 48836, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/SimpleAuthentification", + "sizes": [{ + "flash_bytes": 901194, + "flash_percentage": 68, + "ram_bytes": 45836, + "ram_percentage": 13 + }] + }, +{"name": "WebServer/examples/UploadHugeFile", + "sizes": [{ + "flash_bytes": 1250842, + "flash_percentage": 39, + "ram_bytes": 51524, + "ram_percentage": 15 + }] + }, +{"name": "WebServer/examples/WebServer", + "sizes": [{ + "flash_bytes": 995414, + "flash_percentage": 75, + "ram_bytes": 46300, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/WebUpdate", + "sizes": [{ + "flash_bytes": 954374, + "flash_percentage": 72, + "ram_bytes": 48708, + "ram_percentage": 14 + }] + }, +{"name": "WiFi/examples/FTM/FTM_Initiator", + "sizes": [{ + "flash_bytes": 854006, + "flash_percentage": 65, + "ram_bytes": 44220, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/FTM/FTM_Responder", + "sizes": [{ + "flash_bytes": 851842, + "flash_percentage": 64, + "ram_bytes": 44220, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/SimpleWiFiServer", + "sizes": [{ + "flash_bytes": 893494, + "flash_percentage": 68, + "ram_bytes": 45868, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WPS", + "sizes": [{ + "flash_bytes": 873210, + "flash_percentage": 66, + "ram_bytes": 44284, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiAccessPoint", + "sizes": [{ + "flash_bytes": 893882, + "flash_percentage": 68, + "ram_bytes": 45868, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiBlueToothSwitch", + "sizes": [{ + "flash_bytes": 953842, + "flash_percentage": 72, + "ram_bytes": 45552, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiClient", + "sizes": [{ + "flash_bytes": 867010, + "flash_percentage": 66, + "ram_bytes": 45540, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiClientBasic", + "sizes": [{ + "flash_bytes": 868270, + "flash_percentage": 66, + "ram_bytes": 45516, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiClientConnect", + "sizes": [{ + "flash_bytes": 855238, + "flash_percentage": 65, + "ram_bytes": 44252, + "ram_percentage": 13 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2", + "target": "esp32s2", + "sketches": [ +{"name": "WebServer/examples/HttpBasicAuthSHA1orBearerToken", + "sizes": [{ + "flash_bytes": 940101, + "flash_percentage": 71, + "ram_bytes": 45412, + "ram_percentage": 13 + }] + }, +{"name": "WebServer/examples/Middleware", + "sizes": [{ + "flash_bytes": 888129, + "flash_percentage": 67, + "ram_bytes": 40664, + "ram_percentage": 12 + }] + }, +{"name": "WebServer/examples/MultiHomedServers", + "sizes": [{ + "flash_bytes": 916041, + "flash_percentage": 69, + "ram_bytes": 42772, + "ram_percentage": 13 + }] + }, +{"name": "WebServer/examples/PathArgServer", + "sizes": [{ + "flash_bytes": 1182005, + "flash_percentage": 37, + "ram_bytes": 47976, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/SDWebServer", + "sizes": [{ + "flash_bytes": 973757, + "flash_percentage": 74, + "ram_bytes": 43428, + "ram_percentage": 13 + }] + }, +{"name": "WebServer/examples/SimpleAuthentification", + "sizes": [{ + "flash_bytes": 870769, + "flash_percentage": 66, + "ram_bytes": 40488, + "ram_percentage": 12 + }] + }, +{"name": "WebServer/examples/UploadHugeFile", + "sizes": [{ + "flash_bytes": 1213029, + "flash_percentage": 38, + "ram_bytes": 46108, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/WebServer", + "sizes": [{ + "flash_bytes": 964341, + "flash_percentage": 73, + "ram_bytes": 40960, + "ram_percentage": 12 + }] + }, +{"name": "WebServer/examples/WebUpdate", + "sizes": [{ + "flash_bytes": 917313, + "flash_percentage": 69, + "ram_bytes": 43308, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/FTM/FTM_Initiator", + "sizes": [{ + "flash_bytes": 823205, + "flash_percentage": 62, + "ram_bytes": 38872, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/FTM/FTM_Responder", + "sizes": [{ + "flash_bytes": 821033, + "flash_percentage": 62, + "ram_bytes": 38872, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/SimpleWiFiServer", + "sizes": [{ + "flash_bytes": 855813, + "flash_percentage": 65, + "ram_bytes": 40468, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WPS", + "sizes": [{ + "flash_bytes": 842373, + "flash_percentage": 64, + "ram_bytes": 38928, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/WiFiAccessPoint", + "sizes": [{ + "flash_bytes": 856225, + "flash_percentage": 65, + "ram_bytes": 40468, + "ram_percentage": 12 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3", + "target": "esp32c3", + "sketches": [ +{"name": "WebServer/examples/WebUpdate", + "sizes": [{ + "flash_bytes": 1025132, + "flash_percentage": 78, + "ram_bytes": 40064, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/FTM/FTM_Initiator", + "sizes": [{ + "flash_bytes": 920650, + "flash_percentage": 70, + "ram_bytes": 34984, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/FTM/FTM_Responder", + "sizes": [{ + "flash_bytes": 918316, + "flash_percentage": 70, + "ram_bytes": 34976, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/SimpleWiFiServer", + "sizes": [{ + "flash_bytes": 960022, + "flash_percentage": 73, + "ram_bytes": 37184, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/WPS", + "sizes": [{ + "flash_bytes": 942434, + "flash_percentage": 71, + "ram_bytes": 35024, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiAccessPoint", + "sizes": [{ + "flash_bytes": 960644, + "flash_percentage": 73, + "ram_bytes": 37184, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/WiFiBlueToothSwitch", + "sizes": [{ + "flash_bytes": 1032448, + "flash_percentage": 78, + "ram_bytes": 36296, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/WiFiClient", + "sizes": [{ + "flash_bytes": 937228, + "flash_percentage": 71, + "ram_bytes": 36296, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/WiFiClientBasic", + "sizes": [{ + "flash_bytes": 939052, + "flash_percentage": 71, + "ram_bytes": 36272, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/WiFiClientConnect", + "sizes": [{ + "flash_bytes": 921676, + "flash_percentage": 70, + "ram_bytes": 34984, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiClientEnterprise", + "sizes": [{ + "flash_bytes": 1041272, + "flash_percentage": 79, + "ram_bytes": 36912, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/WiFiClientEvents", + "sizes": [{ + "flash_bytes": 922058, + "flash_percentage": 70, + "ram_bytes": 34976, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiClientStaticIP", + "sizes": [{ + "flash_bytes": 937274, + "flash_percentage": 71, + "ram_bytes": 36368, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/WiFiExtender", + "sizes": [{ + "flash_bytes": 921178, + "flash_percentage": 70, + "ram_bytes": 35088, + "ram_percentage": 10 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c6", + "target": "esp32c6", + "sketches": [ +{"name": "WiFi/examples/WiFiMulti", + "sizes": [{ + "flash_bytes": 929521, + "flash_percentage": 70, + "ram_bytes": 41092, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiMultiAdvanced", + "sizes": [{ + "flash_bytes": 1070491, + "flash_percentage": 81, + "ram_bytes": 43004, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiScan", + "sizes": [{ + "flash_bytes": 927727, + "flash_percentage": 70, + "ram_bytes": 41044, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiScanAsync", + "sizes": [{ + "flash_bytes": 928089, + "flash_percentage": 70, + "ram_bytes": 41044, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiScanDualAntenna", + "sizes": [{ + "flash_bytes": 931077, + "flash_percentage": 71, + "ram_bytes": 41052, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiScanTime", + "sizes": [{ + "flash_bytes": 927817, + "flash_percentage": 70, + "ram_bytes": 41044, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiSmartConfig", + "sizes": [{ + "flash_bytes": 966947, + "flash_percentage": 73, + "ram_bytes": 41364, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiTelnetToSerial", + "sizes": [{ + "flash_bytes": 952341, + "flash_percentage": 72, + "ram_bytes": 42452, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiUDPClient", + "sizes": [{ + "flash_bytes": 939615, + "flash_percentage": 71, + "ram_bytes": 42716, + "ram_percentage": 13 + }] + }, +{"name": "WiFiProv/examples/WiFiProv", + "sizes": [{ + "flash_bytes": 1737465, + "flash_percentage": 55, + "ram_bytes": 62520, + "ram_percentage": 19 + }] + }, +{"name": "Wire/examples/WireMaster", + "sizes": [{ + "flash_bytes": 270995, + "flash_percentage": 20, + "ram_bytes": 14080, + "ram_percentage": 4 + }] + }, +{"name": "Wire/examples/WireScan", + "sizes": [{ + "flash_bytes": 270735, + "flash_percentage": 20, + "ram_bytes": 14072, + "ram_percentage": 4 + }] + }, +{"name": "Wire/examples/WireSlave", + "sizes": [{ + "flash_bytes": 270989, + "flash_percentage": 20, + "ram_bytes": 14080, + "ram_percentage": 4 + }] + }, +{"name": "Zigbee/examples/Zigbee_Analog_Input_Output", + "sizes": [{ + "flash_bytes": 569183, + "flash_percentage": 43, + "ram_bytes": 29284, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_CarbonDioxide_Sensor", + "sizes": [{ + "flash_bytes": 564191, + "flash_percentage": 43, + "ram_bytes": 29004, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_Color_Dimmable_Light", + "sizes": [{ + "flash_bytes": 607511, + "flash_percentage": 46, + "ram_bytes": 30208, + "ram_percentage": 9 + }] + } +] +}, +{ "board": "espressif:esp32:esp32h2", + "target": "esp32h2", + "sketches": [ +{"name": "Zigbee/examples/Zigbee_Analog_Input_Output", + "sizes": [{ + "flash_bytes": 583447, + "flash_percentage": 44, + "ram_bytes": 28224, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_CarbonDioxide_Sensor", + "sizes": [{ + "flash_bytes": 578713, + "flash_percentage": 44, + "ram_bytes": 28000, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_Color_Dimmable_Light", + "sizes": [{ + "flash_bytes": 621751, + "flash_percentage": 47, + "ram_bytes": 29192, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_Color_Dimmer_Switch", + "sizes": [{ + "flash_bytes": 712521, + "flash_percentage": 54, + "ram_bytes": 31496, + "ram_percentage": 9 + }] + }, +{"name": "Zigbee/examples/Zigbee_Contact_Switch", + "sizes": [{ + "flash_bytes": 574943, + "flash_percentage": 43, + "ram_bytes": 28016, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_Dimmable_Light", + "sizes": [{ + "flash_bytes": 600947, + "flash_percentage": 45, + "ram_bytes": 29176, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_Illuminance_Sensor", + "sizes": [{ + "flash_bytes": 595623, + "flash_percentage": 45, + "ram_bytes": 28240, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_OTA_Client", + "sizes": [{ + "flash_bytes": 615137, + "flash_percentage": 46, + "ram_bytes": 29240, + "ram_percentage": 8 + }] + } +] +}, +{ "board": "espressif:esp32:esp32", + "target": "esp32", + "sketches": [ +{"name": "WiFi/examples/FTM/FTM_Responder", + "sizes": [{ + "flash_bytes": 894566, + "flash_percentage": 68, + "ram_bytes": 44572, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/SimpleWiFiServer", + "sizes": [{ + "flash_bytes": 916374, + "flash_percentage": 69, + "ram_bytes": 45876, + "ram_percentage": 14 + }] + }, +{"name": "WiFi/examples/WPS", + "sizes": [{ + "flash_bytes": 916794, + "flash_percentage": 69, + "ram_bytes": 44644, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiAccessPoint", + "sizes": [{ + "flash_bytes": 916794, + "flash_percentage": 69, + "ram_bytes": 45876, + "ram_percentage": 14 + }] + }, +{"name": "WiFi/examples/WiFiBlueToothSwitch", + "sizes": [{ + "flash_bytes": 1037614, + "flash_percentage": 79, + "ram_bytes": 48792, + "ram_percentage": 14 + }] + }, +{"name": "WiFi/examples/WiFiClient", + "sizes": [{ + "flash_bytes": 910222, + "flash_percentage": 69, + "ram_bytes": 45900, + "ram_percentage": 14 + }] + }, +{"name": "WiFi/examples/WiFiClientBasic", + "sizes": [{ + "flash_bytes": 911590, + "flash_percentage": 69, + "ram_bytes": 45876, + "ram_percentage": 14 + }] + }, +{"name": "WiFi/examples/WiFiClientConnect", + "sizes": [{ + "flash_bytes": 898702, + "flash_percentage": 68, + "ram_bytes": 44580, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiClientEnterprise", + "sizes": [{ + "flash_bytes": 1007182, + "flash_percentage": 76, + "ram_bytes": 46516, + "ram_percentage": 14 + }] + }, +{"name": "WiFi/examples/WiFiClientEvents", + "sizes": [{ + "flash_bytes": 897406, + "flash_percentage": 68, + "ram_bytes": 44572, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiClientStaticIP", + "sizes": [{ + "flash_bytes": 910358, + "flash_percentage": 69, + "ram_bytes": 45988, + "ram_percentage": 14 + }] + }, +{"name": "WiFi/examples/WiFiExtender", + "sizes": [{ + "flash_bytes": 896730, + "flash_percentage": 68, + "ram_bytes": 44684, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiIPv6", + "sizes": [{ + "flash_bytes": 907994, + "flash_percentage": 69, + "ram_bytes": 46268, + "ram_percentage": 14 + }] + }, +{"name": "WiFi/examples/WiFiMulti", + "sizes": [{ + "flash_bytes": 896978, + "flash_percentage": 68, + "ram_bytes": 44620, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiMultiAdvanced", + "sizes": [{ + "flash_bytes": 1035062, + "flash_percentage": 78, + "ram_bytes": 47892, + "ram_percentage": 14 + }] + } +] +} +]} diff --git a/master_cli_compile/cli_compile_13.json b/master_cli_compile/cli_compile_13.json new file mode 100644 index 00000000000..c2db11322fc --- /dev/null +++ b/master_cli_compile/cli_compile_13.json @@ -0,0 +1,797 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32p4", + "target": "esp32p4", + "sketches": [ +{"name": "WiFi/examples/WiFiClientEvents", + "sizes": [{ + "flash_bytes": 650533, + "flash_percentage": 49, + "ram_bytes": 27208, + "ram_percentage": 8 + }] + }, +{"name": "WiFi/examples/WiFiClientStaticIP", + "sizes": [{ + "flash_bytes": 672591, + "flash_percentage": 51, + "ram_bytes": 28604, + "ram_percentage": 8 + }] + }, +{"name": "WiFi/examples/WiFiExtender", + "sizes": [{ + "flash_bytes": 649589, + "flash_percentage": 49, + "ram_bytes": 27260, + "ram_percentage": 8 + }] + }, +{"name": "WiFi/examples/WiFiIPv6", + "sizes": [{ + "flash_bytes": 670353, + "flash_percentage": 51, + "ram_bytes": 28828, + "ram_percentage": 8 + }] + }, +{"name": "WiFi/examples/WiFiMulti", + "sizes": [{ + "flash_bytes": 650199, + "flash_percentage": 49, + "ram_bytes": 27248, + "ram_percentage": 8 + }] + }, +{"name": "WiFi/examples/WiFiMultiAdvanced", + "sizes": [{ + "flash_bytes": 888801, + "flash_percentage": 67, + "ram_bytes": 29428, + "ram_percentage": 8 + }] + }, +{"name": "WiFi/examples/WiFiScan", + "sizes": [{ + "flash_bytes": 647499, + "flash_percentage": 49, + "ram_bytes": 27216, + "ram_percentage": 8 + }] + }, +{"name": "WiFi/examples/WiFiScanAsync", + "sizes": [{ + "flash_bytes": 647857, + "flash_percentage": 49, + "ram_bytes": 27216, + "ram_percentage": 8 + }] + }, +{"name": "WiFi/examples/WiFiScanDualAntenna", + "sizes": [{ + "flash_bytes": 646913, + "flash_percentage": 49, + "ram_bytes": 27216, + "ram_percentage": 8 + }] + }, +{"name": "WiFi/examples/WiFiScanTime", + "sizes": [{ + "flash_bytes": 647591, + "flash_percentage": 49, + "ram_bytes": 27216, + "ram_percentage": 8 + }] + }, +{"name": "WiFi/examples/WiFiTelnetToSerial", + "sizes": [{ + "flash_bytes": 680589, + "flash_percentage": 51, + "ram_bytes": 28596, + "ram_percentage": 8 + }] + }, +{"name": "WiFi/examples/WiFiUDPClient", + "sizes": [{ + "flash_bytes": 666497, + "flash_percentage": 50, + "ram_bytes": 28876, + "ram_percentage": 8 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s3", + "target": "esp32s3", + "sketches": [ +{"name": "WiFi/examples/WiFiClientEnterprise", + "sizes": [{ + "flash_bytes": 961786, + "flash_percentage": 73, + "ram_bytes": 46148, + "ram_percentage": 14 + }] + }, +{"name": "WiFi/examples/WiFiClientEvents", + "sizes": [{ + "flash_bytes": 854638, + "flash_percentage": 65, + "ram_bytes": 44220, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiClientStaticIP", + "sizes": [{ + "flash_bytes": 867082, + "flash_percentage": 66, + "ram_bytes": 45612, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiExtender", + "sizes": [{ + "flash_bytes": 853914, + "flash_percentage": 65, + "ram_bytes": 44316, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiIPv6", + "sizes": [{ + "flash_bytes": 864754, + "flash_percentage": 65, + "ram_bytes": 45892, + "ram_percentage": 14 + }] + }, +{"name": "WiFi/examples/WiFiMulti", + "sizes": [{ + "flash_bytes": 854178, + "flash_percentage": 65, + "ram_bytes": 44260, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiMultiAdvanced", + "sizes": [{ + "flash_bytes": 990602, + "flash_percentage": 75, + "ram_bytes": 46188, + "ram_percentage": 14 + }] + }, +{"name": "WiFi/examples/WiFiScan", + "sizes": [{ + "flash_bytes": 852714, + "flash_percentage": 65, + "ram_bytes": 44228, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiScanAsync", + "sizes": [{ + "flash_bytes": 852966, + "flash_percentage": 65, + "ram_bytes": 44228, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiScanDualAntenna", + "sizes": [{ + "flash_bytes": 855950, + "flash_percentage": 65, + "ram_bytes": 44268, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiScanTime", + "sizes": [{ + "flash_bytes": 852810, + "flash_percentage": 65, + "ram_bytes": 44228, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiSmartConfig", + "sizes": [{ + "flash_bytes": 886890, + "flash_percentage": 67, + "ram_bytes": 44548, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiTelnetToSerial", + "sizes": [{ + "flash_bytes": 873262, + "flash_percentage": 66, + "ram_bytes": 45612, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiUDPClient", + "sizes": [{ + "flash_bytes": 862050, + "flash_percentage": 65, + "ram_bytes": 45892, + "ram_percentage": 14 + }] + }, +{"name": "WiFiProv/examples/WiFiProv", + "sizes": [{ + "flash_bytes": 1465458, + "flash_percentage": 46, + "ram_bytes": 66028, + "ram_percentage": 20 + }] + }, +{"name": "Wire/examples/WireMaster", + "sizes": [{ + "flash_bytes": 330050, + "flash_percentage": 25, + "ram_bytes": 21712, + "ram_percentage": 6 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2", + "target": "esp32s2", + "sketches": [ +{"name": "WiFi/examples/WiFiClient", + "sizes": [{ + "flash_bytes": 836337, + "flash_percentage": 63, + "ram_bytes": 40176, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiClientBasic", + "sizes": [{ + "flash_bytes": 837637, + "flash_percentage": 63, + "ram_bytes": 40168, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiClientConnect", + "sizes": [{ + "flash_bytes": 824581, + "flash_percentage": 62, + "ram_bytes": 38920, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/WiFiClientEnterprise", + "sizes": [{ + "flash_bytes": 932465, + "flash_percentage": 71, + "ram_bytes": 40808, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiClientEvents", + "sizes": [{ + "flash_bytes": 823833, + "flash_percentage": 62, + "ram_bytes": 38872, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/WiFiClientStaticIP", + "sizes": [{ + "flash_bytes": 836481, + "flash_percentage": 63, + "ram_bytes": 40264, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiExtender", + "sizes": [{ + "flash_bytes": 823137, + "flash_percentage": 62, + "ram_bytes": 38968, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/WiFiIPv6", + "sizes": [{ + "flash_bytes": 834149, + "flash_percentage": 63, + "ram_bytes": 40544, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiMulti", + "sizes": [{ + "flash_bytes": 823421, + "flash_percentage": 62, + "ram_bytes": 38912, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/WiFiMultiAdvanced", + "sizes": [{ + "flash_bytes": 960737, + "flash_percentage": 73, + "ram_bytes": 40832, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiScan", + "sizes": [{ + "flash_bytes": 821953, + "flash_percentage": 62, + "ram_bytes": 38880, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/WiFiScanAsync", + "sizes": [{ + "flash_bytes": 822205, + "flash_percentage": 62, + "ram_bytes": 38880, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/WiFiScanDualAntenna", + "sizes": [{ + "flash_bytes": 825277, + "flash_percentage": 62, + "ram_bytes": 38904, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/WiFiScanTime", + "sizes": [{ + "flash_bytes": 822049, + "flash_percentage": 62, + "ram_bytes": 38880, + "ram_percentage": 11 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3", + "target": "esp32c3", + "sketches": [ +{"name": "WiFi/examples/WiFiIPv6", + "sizes": [{ + "flash_bytes": 935238, + "flash_percentage": 71, + "ram_bytes": 36656, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/WiFiMulti", + "sizes": [{ + "flash_bytes": 921500, + "flash_percentage": 70, + "ram_bytes": 35016, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiMultiAdvanced", + "sizes": [{ + "flash_bytes": 1070990, + "flash_percentage": 81, + "ram_bytes": 36928, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/WiFiScan", + "sizes": [{ + "flash_bytes": 919696, + "flash_percentage": 70, + "ram_bytes": 34984, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiScanAsync", + "sizes": [{ + "flash_bytes": 920050, + "flash_percentage": 70, + "ram_bytes": 34984, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiScanDualAntenna", + "sizes": [{ + "flash_bytes": 922726, + "flash_percentage": 70, + "ram_bytes": 34992, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiScanTime", + "sizes": [{ + "flash_bytes": 919784, + "flash_percentage": 70, + "ram_bytes": 34984, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiSmartConfig", + "sizes": [{ + "flash_bytes": 958812, + "flash_percentage": 73, + "ram_bytes": 35304, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiTelnetToSerial", + "sizes": [{ + "flash_bytes": 943898, + "flash_percentage": 72, + "ram_bytes": 36376, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/WiFiUDPClient", + "sizes": [{ + "flash_bytes": 931330, + "flash_percentage": 71, + "ram_bytes": 36640, + "ram_percentage": 11 + }] + }, +{"name": "WiFiProv/examples/WiFiProv", + "sizes": [{ + "flash_bytes": 1629752, + "flash_percentage": 51, + "ram_bytes": 56792, + "ram_percentage": 17 + }] + }, +{"name": "Wire/examples/WireMaster", + "sizes": [{ + "flash_bytes": 311004, + "flash_percentage": 23, + "ram_bytes": 12284, + "ram_percentage": 3 + }] + }, +{"name": "Wire/examples/WireScan", + "sizes": [{ + "flash_bytes": 310754, + "flash_percentage": 23, + "ram_bytes": 12284, + "ram_percentage": 3 + }] + }, +{"name": "Wire/examples/WireSlave", + "sizes": [{ + "flash_bytes": 311004, + "flash_percentage": 23, + "ram_bytes": 12284, + "ram_percentage": 3 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c6", + "target": "esp32c6", + "sketches": [ +{"name": "Zigbee/examples/Zigbee_Color_Dimmer_Switch", + "sizes": [{ + "flash_bytes": 698139, + "flash_percentage": 53, + "ram_bytes": 32508, + "ram_percentage": 9 + }] + }, +{"name": "Zigbee/examples/Zigbee_Contact_Switch", + "sizes": [{ + "flash_bytes": 560655, + "flash_percentage": 42, + "ram_bytes": 29012, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_Dimmable_Light", + "sizes": [{ + "flash_bytes": 586673, + "flash_percentage": 44, + "ram_bytes": 30176, + "ram_percentage": 9 + }] + }, +{"name": "Zigbee/examples/Zigbee_Illuminance_Sensor", + "sizes": [{ + "flash_bytes": 581719, + "flash_percentage": 44, + "ram_bytes": 29292, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_OTA_Client", + "sizes": [{ + "flash_bytes": 600813, + "flash_percentage": 45, + "ram_bytes": 30248, + "ram_percentage": 9 + }] + }, +{"name": "Zigbee/examples/Zigbee_Occupancy_Sensor", + "sizes": [{ + "flash_bytes": 559739, + "flash_percentage": 42, + "ram_bytes": 28988, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_On_Off_Light", + "sizes": [{ + "flash_bytes": 586071, + "flash_percentage": 44, + "ram_bytes": 30160, + "ram_percentage": 9 + }] + }, +{"name": "Zigbee/examples/Zigbee_On_Off_Switch", + "sizes": [{ + "flash_bytes": 687539, + "flash_percentage": 52, + "ram_bytes": 33084, + "ram_percentage": 10 + }] + }, +{"name": "Zigbee/examples/Zigbee_PM25_Sensor", + "sizes": [{ + "flash_bytes": 564167, + "flash_percentage": 43, + "ram_bytes": 29004, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_Pressure_Flow_Sensor", + "sizes": [{ + "flash_bytes": 566407, + "flash_percentage": 43, + "ram_bytes": 29068, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_Range_Extender", + "sizes": [{ + "flash_bytes": 693119, + "flash_percentage": 52, + "ram_bytes": 33384, + "ram_percentage": 10 + }] + }, +{"name": "Zigbee/examples/Zigbee_Scan_Networks", + "sizes": [{ + "flash_bytes": 521989, + "flash_percentage": 39, + "ram_bytes": 28204, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_Temp_Hum_Sensor_Sleepy", + "sizes": [{ + "flash_bytes": 575919, + "flash_percentage": 43, + "ram_bytes": 29228, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_Temperature_Sensor", + "sizes": [{ + "flash_bytes": 576481, + "flash_percentage": 43, + "ram_bytes": 29180, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_Thermostat", + "sizes": [{ + "flash_bytes": 685711, + "flash_percentage": 52, + "ram_bytes": 32700, + "ram_percentage": 9 + }] + }, +{"name": "Zigbee/examples/Zigbee_Vibration_Sensor", + "sizes": [{ + "flash_bytes": 560557, + "flash_percentage": 42, + "ram_bytes": 29012, + "ram_percentage": 8 + }] + } +] +}, +{ "board": "espressif:esp32:esp32h2", + "target": "esp32h2", + "sketches": [ +{"name": "Zigbee/examples/Zigbee_Occupancy_Sensor", + "sizes": [{ + "flash_bytes": 574029, + "flash_percentage": 43, + "ram_bytes": 27976, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_On_Off_Light", + "sizes": [{ + "flash_bytes": 600341, + "flash_percentage": 45, + "ram_bytes": 29160, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_On_Off_Switch", + "sizes": [{ + "flash_bytes": 701737, + "flash_percentage": 53, + "ram_bytes": 32032, + "ram_percentage": 9 + }] + }, +{"name": "Zigbee/examples/Zigbee_PM25_Sensor", + "sizes": [{ + "flash_bytes": 578689, + "flash_percentage": 44, + "ram_bytes": 28000, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_Pressure_Flow_Sensor", + "sizes": [{ + "flash_bytes": 580923, + "flash_percentage": 44, + "ram_bytes": 28080, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_Range_Extender", + "sizes": [{ + "flash_bytes": 707515, + "flash_percentage": 53, + "ram_bytes": 32360, + "ram_percentage": 9 + }] + }, +{"name": "Zigbee/examples/Zigbee_Scan_Networks", + "sizes": [{ + "flash_bytes": 536009, + "flash_percentage": 40, + "ram_bytes": 27192, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_Temp_Hum_Sensor_Sleepy", + "sizes": [{ + "flash_bytes": 589959, + "flash_percentage": 45, + "ram_bytes": 28160, + "ram_percentage": 8 + }] + } +] +}, +{ "board": "espressif:esp32:esp32", + "target": "esp32", + "sketches": [ +{"name": "WiFi/examples/WiFiScan", + "sizes": [{ + "flash_bytes": 895506, + "flash_percentage": 68, + "ram_bytes": 44580, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiScanAsync", + "sizes": [{ + "flash_bytes": 895738, + "flash_percentage": 68, + "ram_bytes": 44580, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiScanDualAntenna", + "sizes": [{ + "flash_bytes": 899514, + "flash_percentage": 68, + "ram_bytes": 44580, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiScanTime", + "sizes": [{ + "flash_bytes": 895602, + "flash_percentage": 68, + "ram_bytes": 44580, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiSmartConfig", + "sizes": [{ + "flash_bytes": 931962, + "flash_percentage": 71, + "ram_bytes": 44900, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiTelnetToSerial", + "sizes": [{ + "flash_bytes": 916826, + "flash_percentage": 69, + "ram_bytes": 45988, + "ram_percentage": 14 + }] + }, +{"name": "WiFi/examples/WiFiUDPClient", + "sizes": [{ + "flash_bytes": 905186, + "flash_percentage": 69, + "ram_bytes": 46260, + "ram_percentage": 14 + }] + }, +{"name": "WiFiProv/examples/WiFiProv", + "sizes": [{ + "flash_bytes": 1701018, + "flash_percentage": 54, + "ram_bytes": 59012, + "ram_percentage": 18 + }] + }, +{"name": "Wire/examples/WireMaster", + "sizes": [{ + "flash_bytes": 330990, + "flash_percentage": 25, + "ram_bytes": 21952, + "ram_percentage": 6 + }] + }, +{"name": "Wire/examples/WireScan", + "sizes": [{ + "flash_bytes": 330746, + "flash_percentage": 25, + "ram_bytes": 21944, + "ram_percentage": 6 + }] + }, +{"name": "Wire/examples/WireSlave", + "sizes": [{ + "flash_bytes": 331254, + "flash_percentage": 25, + "ram_bytes": 21952, + "ram_percentage": 6 + }] + }, +{"name": "Zigbee/examples/Zigbee_Color_Dimmer_Switch", + "sizes": [{ + "flash_bytes": 659110, + "flash_percentage": 50, + "ram_bytes": 36608, + "ram_percentage": 11 + }] + }, +{"name": "Zigbee/examples/Zigbee_Gateway", + "sizes": [{ + "flash_bytes": 1254978, + "flash_percentage": 36, + "ram_bytes": 63264, + "ram_percentage": 19 + }] + }, +{"name": "Zigbee/examples/Zigbee_On_Off_Switch", + "sizes": [{ + "flash_bytes": 652274, + "flash_percentage": 49, + "ram_bytes": 37304, + "ram_percentage": 11 + }] + }, +{"name": "Zigbee/examples/Zigbee_Range_Extender", + "sizes": [{ + "flash_bytes": 640134, + "flash_percentage": 48, + "ram_bytes": 36544, + "ram_percentage": 11 + }] + } +] +} +]} diff --git a/master_cli_compile/cli_compile_14.json b/master_cli_compile/cli_compile_14.json new file mode 100644 index 00000000000..8c9a569b6d1 --- /dev/null +++ b/master_cli_compile/cli_compile_14.json @@ -0,0 +1,317 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32p4", + "target": "esp32p4", + "sketches": [ +{"name": "Wire/examples/WireMaster", + "sizes": [{ + "flash_bytes": 352667, + "flash_percentage": 26, + "ram_bytes": 23412, + "ram_percentage": 7 + }] + }, +{"name": "Wire/examples/WireScan", + "sizes": [{ + "flash_bytes": 352447, + "flash_percentage": 26, + "ram_bytes": 23404, + "ram_percentage": 7 + }] + }, +{"name": "Wire/examples/WireSlave", + "sizes": [{ + "flash_bytes": 352691, + "flash_percentage": 26, + "ram_bytes": 23412, + "ram_percentage": 7 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s3", + "target": "esp32s3", + "sketches": [ +{"name": "Wire/examples/WireScan", + "sizes": [{ + "flash_bytes": 329814, + "flash_percentage": 25, + "ram_bytes": 21712, + "ram_percentage": 6 + }] + }, +{"name": "Wire/examples/WireSlave", + "sizes": [{ + "flash_bytes": 329998, + "flash_percentage": 25, + "ram_bytes": 21712, + "ram_percentage": 6 + }] + }, +{"name": "Zigbee/examples/Zigbee_Color_Dimmer_Switch", + "sizes": [{ + "flash_bytes": 654586, + "flash_percentage": 49, + "ram_bytes": 36712, + "ram_percentage": 11 + }] + }, +{"name": "Zigbee/examples/Zigbee_Gateway", + "sizes": [{ + "flash_bytes": 1210006, + "flash_percentage": 35, + "ram_bytes": 61612, + "ram_percentage": 18 + }] + }, +{"name": "Zigbee/examples/Zigbee_On_Off_Switch", + "sizes": [{ + "flash_bytes": 647890, + "flash_percentage": 49, + "ram_bytes": 37512, + "ram_percentage": 11 + }] + }, +{"name": "Zigbee/examples/Zigbee_Range_Extender", + "sizes": [{ + "flash_bytes": 658958, + "flash_percentage": 50, + "ram_bytes": 36964, + "ram_percentage": 11 + }] + }, +{"name": "Zigbee/examples/Zigbee_Thermostat", + "sizes": [{ + "flash_bytes": 656330, + "flash_percentage": 50, + "ram_bytes": 36904, + "ram_percentage": 11 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2", + "target": "esp32s2", + "sketches": [ +{"name": "WiFi/examples/WiFiSmartConfig", + "sizes": [{ + "flash_bytes": 855793, + "flash_percentage": 65, + "ram_bytes": 39176, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/WiFiTelnetToSerial", + "sizes": [{ + "flash_bytes": 842489, + "flash_percentage": 64, + "ram_bytes": 40264, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiUDPClient", + "sizes": [{ + "flash_bytes": 831401, + "flash_percentage": 63, + "ram_bytes": 40544, + "ram_percentage": 12 + }] + }, +{"name": "WiFiProv/examples/WiFiProv", + "sizes": [{ + "flash_bytes": 955017, + "flash_percentage": 30, + "ram_bytes": 38944, + "ram_percentage": 11 + }] + }, +{"name": "Wire/examples/WireMaster", + "sizes": [{ + "flash_bytes": 293105, + "flash_percentage": 22, + "ram_bytes": 16740, + "ram_percentage": 5 + }] + }, +{"name": "Wire/examples/WireScan", + "sizes": [{ + "flash_bytes": 292873, + "flash_percentage": 22, + "ram_bytes": 16732, + "ram_percentage": 5 + }] + }, +{"name": "Wire/examples/WireSlave", + "sizes": [{ + "flash_bytes": 293065, + "flash_percentage": 22, + "ram_bytes": 16740, + "ram_percentage": 5 + }] + }, +{"name": "Zigbee/examples/Zigbee_Color_Dimmer_Switch", + "sizes": [{ + "flash_bytes": 621949, + "flash_percentage": 47, + "ram_bytes": 31732, + "ram_percentage": 9 + }] + }, +{"name": "Zigbee/examples/Zigbee_Gateway", + "sizes": [{ + "flash_bytes": 1180593, + "flash_percentage": 34, + "ram_bytes": 56272, + "ram_percentage": 17 + }] + }, +{"name": "Zigbee/examples/Zigbee_On_Off_Switch", + "sizes": [{ + "flash_bytes": 615093, + "flash_percentage": 46, + "ram_bytes": 32508, + "ram_percentage": 9 + }] + }, +{"name": "Zigbee/examples/Zigbee_Range_Extender", + "sizes": [{ + "flash_bytes": 619665, + "flash_percentage": 47, + "ram_bytes": 31928, + "ram_percentage": 9 + }] + }, +{"name": "Zigbee/examples/Zigbee_Thermostat", + "sizes": [{ + "flash_bytes": 623237, + "flash_percentage": 47, + "ram_bytes": 31916, + "ram_percentage": 9 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3", + "target": "esp32c3", + "sketches": [ +{"name": "Zigbee/examples/Zigbee_Color_Dimmer_Switch", + "sizes": [{ + "flash_bytes": 680426, + "flash_percentage": 51, + "ram_bytes": 27932, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_Gateway", + "sizes": [{ + "flash_bytes": 1317340, + "flash_percentage": 38, + "ram_bytes": 52360, + "ram_percentage": 15 + }] + }, +{"name": "Zigbee/examples/Zigbee_On_Off_Switch", + "sizes": [{ + "flash_bytes": 670248, + "flash_percentage": 51, + "ram_bytes": 28396, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_Range_Extender", + "sizes": [{ + "flash_bytes": 675928, + "flash_percentage": 51, + "ram_bytes": 28804, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_Thermostat", + "sizes": [{ + "flash_bytes": 678416, + "flash_percentage": 51, + "ram_bytes": 28132, + "ram_percentage": 8 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c6", + "target": "esp32c6", + "sketches": [ +{"name": "Zigbee/examples/Zigbee_Wind_Speed_Sensor", + "sizes": [{ + "flash_bytes": 564113, + "flash_percentage": 43, + "ram_bytes": 29004, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_Window_Covering", + "sizes": [{ + "flash_bytes": 570757, + "flash_percentage": 43, + "ram_bytes": 29268, + "ram_percentage": 8 + }] + } +] +}, +{ "board": "espressif:esp32:esp32h2", + "target": "esp32h2", + "sketches": [ +{"name": "Zigbee/examples/Zigbee_Temperature_Sensor", + "sizes": [{ + "flash_bytes": 601285, + "flash_percentage": 45, + "ram_bytes": 28192, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_Thermostat", + "sizes": [{ + "flash_bytes": 710479, + "flash_percentage": 54, + "ram_bytes": 31688, + "ram_percentage": 9 + }] + }, +{"name": "Zigbee/examples/Zigbee_Vibration_Sensor", + "sizes": [{ + "flash_bytes": 574847, + "flash_percentage": 43, + "ram_bytes": 28016, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_Wind_Speed_Sensor", + "sizes": [{ + "flash_bytes": 578631, + "flash_percentage": 44, + "ram_bytes": 27984, + "ram_percentage": 8 + }] + }, +{"name": "Zigbee/examples/Zigbee_Window_Covering", + "sizes": [{ + "flash_bytes": 585025, + "flash_percentage": 44, + "ram_bytes": 28264, + "ram_percentage": 8 + }] + } +] +}, +{ "board": "espressif:esp32:esp32", + "target": "esp32", + "sketches": [ +{"name": "Zigbee/examples/Zigbee_Thermostat", + "sizes": [{ + "flash_bytes": 660642, + "flash_percentage": 50, + "ram_bytes": 37060, + "ram_percentage": 11 + }] + } +] +} +]} diff --git a/master_cli_compile/cli_compile_2.json b/master_cli_compile/cli_compile_2.json new file mode 100644 index 00000000000..0b027924483 --- /dev/null +++ b/master_cli_compile/cli_compile_2.json @@ -0,0 +1,821 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32p4", + "target": "esp32p4", + "sketches": [ +{"name": "ESP32/examples/FreeRTOS/Semaphore", + "sizes": [{ + "flash_bytes": 321513, + "flash_percentage": 24, + "ram_bytes": 21508, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/GPIO/BlinkRGB", + "sizes": [{ + "flash_bytes": 303683, + "flash_percentage": 23, + "ram_bytes": 21496, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/GPIO/FunctionalInterrupt", + "sizes": [{ + "flash_bytes": 329089, + "flash_percentage": 25, + "ram_bytes": 22204, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/GPIO/FunctionalInterruptStruct", + "sizes": [{ + "flash_bytes": 327301, + "flash_percentage": 24, + "ram_bytes": 22212, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/GPIO/GPIOInterrupt", + "sizes": [{ + "flash_bytes": 328173, + "flash_percentage": 25, + "ram_bytes": 22212, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/HWCDC_Events", + "sizes": [{ + "flash_bytes": 303683, + "flash_percentage": 23, + "ram_bytes": 21496, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/MacAddress/GetMacAddress", + "sizes": [{ + "flash_bytes": 325197, + "flash_percentage": 24, + "ram_bytes": 21580, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/RMT/Legacy_RMT_Driver_Compatible", + "sizes": [{ + "flash_bytes": 324965, + "flash_percentage": 24, + "ram_bytes": 21668, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/RMT/RMTCallback", + "sizes": [{ + "flash_bytes": 349541, + "flash_percentage": 26, + "ram_bytes": 22788, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/RMT/RMTLoopback", + "sizes": [{ + "flash_bytes": 351221, + "flash_percentage": 26, + "ram_bytes": 24212, + "ram_percentage": 7 + }] + }, +{"name": "ESP32/examples/RMT/RMTReadXJT", + "sizes": [{ + "flash_bytes": 350147, + "flash_percentage": 26, + "ram_bytes": 22660, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/RMT/RMTWrite_RGB_LED", + "sizes": [{ + "flash_bytes": 348085, + "flash_percentage": 26, + "ram_bytes": 25252, + "ram_percentage": 7 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s3", + "target": "esp32s3", + "sketches": [ +{"name": "ESP32/examples/CI/CIBoardsTest", + "sizes": [{ + "flash_bytes": 358870, + "flash_percentage": 27, + "ram_bytes": 22436, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Camera/CameraWebServer", + "sizes": [{ + "flash_bytes": 997710, + "flash_percentage": 5, + "ram_bytes": 62512, + "ram_percentage": 19 + }] + }, +{"name": "ESP32/examples/Camera/CameraWebServer", + "sizes": [{ + "flash_bytes": 1000434, + "flash_percentage": 5, + "ram_bytes": 62640, + "ram_percentage": 19 + }] + }, +{"name": "ESP32/examples/Camera/CameraWebServer", + "sizes": [{ + "flash_bytes": 1002642, + "flash_percentage": 5, + "ram_bytes": 62956, + "ram_percentage": 19 + }] + }, +{"name": "ESP32/examples/ChipID/GetChipID", + "sizes": [{ + "flash_bytes": 306850, + "flash_percentage": 23, + "ram_bytes": 20368, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/DeepSleep/ExternalWakeUp", + "sizes": [{ + "flash_bytes": 312262, + "flash_percentage": 23, + "ram_bytes": 20448, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/DeepSleep/TimerWakeUp", + "sizes": [{ + "flash_bytes": 312118, + "flash_percentage": 23, + "ram_bytes": 20448, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/DeepSleep/TouchWakeUp", + "sizes": [{ + "flash_bytes": 320242, + "flash_percentage": 24, + "ram_bytes": 21064, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/FreeRTOS/BasicMultiThreading", + "sizes": [{ + "flash_bytes": 342358, + "flash_percentage": 26, + "ram_bytes": 21316, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Mutex", + "sizes": [{ + "flash_bytes": 304510, + "flash_percentage": 23, + "ram_bytes": 20352, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Queue", + "sizes": [{ + "flash_bytes": 304594, + "flash_percentage": 23, + "ram_bytes": 20344, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Semaphore", + "sizes": [{ + "flash_bytes": 304022, + "flash_percentage": 23, + "ram_bytes": 20344, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/GPIO/BlinkRGB", + "sizes": [{ + "flash_bytes": 316154, + "flash_percentage": 24, + "ram_bytes": 20980, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/GPIO/FunctionalInterrupt", + "sizes": [{ + "flash_bytes": 311806, + "flash_percentage": 23, + "ram_bytes": 21320, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/GPIO/FunctionalInterruptStruct", + "sizes": [{ + "flash_bytes": 310426, + "flash_percentage": 23, + "ram_bytes": 21312, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/GPIO/GPIOInterrupt", + "sizes": [{ + "flash_bytes": 311086, + "flash_percentage": 23, + "ram_bytes": 21312, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/HWCDC_Events", + "sizes": [{ + "flash_bytes": 334666, + "flash_percentage": 10, + "ram_bytes": 20692, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/MacAddress/GetMacAddress", + "sizes": [{ + "flash_bytes": 307566, + "flash_percentage": 23, + "ram_bytes": 20440, + "ram_percentage": 6 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2", + "target": "esp32s2", + "sketches": [ +{"name": "ESP32/examples/GPIO/FunctionalInterrupt", + "sizes": [{ + "flash_bytes": 276629, + "flash_percentage": 21, + "ram_bytes": 16316, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/GPIO/FunctionalInterruptStruct", + "sizes": [{ + "flash_bytes": 275269, + "flash_percentage": 21, + "ram_bytes": 16308, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/GPIO/GPIOInterrupt", + "sizes": [{ + "flash_bytes": 275901, + "flash_percentage": 21, + "ram_bytes": 16316, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/MacAddress/GetMacAddress", + "sizes": [{ + "flash_bytes": 272573, + "flash_percentage": 20, + "ram_bytes": 15436, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/RMT/Legacy_RMT_Driver_Compatible", + "sizes": [{ + "flash_bytes": 271749, + "flash_percentage": 20, + "ram_bytes": 15464, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/RMT/RMTCallback", + "sizes": [{ + "flash_bytes": 287169, + "flash_percentage": 21, + "ram_bytes": 16752, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/RMT/RMTLoopback", + "sizes": [{ + "flash_bytes": 288429, + "flash_percentage": 22, + "ram_bytes": 17984, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/RMT/RMTReadXJT", + "sizes": [{ + "flash_bytes": 287601, + "flash_percentage": 21, + "ram_bytes": 16536, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/RMT/RMTWrite_RGB_LED", + "sizes": [{ + "flash_bytes": 286205, + "flash_percentage": 21, + "ram_bytes": 19008, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/RMT/RMT_CPUFreq_Test", + "sizes": [{ + "flash_bytes": 286969, + "flash_percentage": 21, + "ram_bytes": 15944, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/RMT/RMT_EndOfTransmissionState", + "sizes": [{ + "flash_bytes": 286641, + "flash_percentage": 21, + "ram_bytes": 16000, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/RMT/RMT_LED_Blink", + "sizes": [{ + "flash_bytes": 288593, + "flash_percentage": 22, + "ram_bytes": 16048, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/ResetReason/ResetReason", + "sizes": [{ + "flash_bytes": 275857, + "flash_percentage": 21, + "ram_bytes": 15412, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/ResetReason/ResetReason2", + "sizes": [{ + "flash_bytes": 268949, + "flash_percentage": 20, + "ram_bytes": 15348, + "ram_percentage": 4 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3", + "target": "esp32c3", + "sketches": [ +{"name": "ESP32/examples/AnalogOut/ledcWrite_RGB", + "sizes": [{ + "flash_bytes": 291628, + "flash_percentage": 22, + "ram_bytes": 11748, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/AnalogRead", + "sizes": [{ + "flash_bytes": 297638, + "flash_percentage": 22, + "ram_bytes": 11816, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/AnalogReadContinuous", + "sizes": [{ + "flash_bytes": 304250, + "flash_percentage": 23, + "ram_bytes": 11824, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/ArduinoStackSize", + "sizes": [{ + "flash_bytes": 283340, + "flash_percentage": 21, + "ram_bytes": 11608, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/CI/CIBoardsTest", + "sizes": [{ + "flash_bytes": 335814, + "flash_percentage": 25, + "ram_bytes": 13572, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/ChipID/GetChipID", + "sizes": [{ + "flash_bytes": 285838, + "flash_percentage": 21, + "ram_bytes": 11648, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/DeepSleep/TimerWakeUp", + "sizes": [{ + "flash_bytes": 290640, + "flash_percentage": 22, + "ram_bytes": 11764, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/FreeRTOS/BasicMultiThreading", + "sizes": [{ + "flash_bytes": 317548, + "flash_percentage": 24, + "ram_bytes": 13044, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Mutex", + "sizes": [{ + "flash_bytes": 284172, + "flash_percentage": 21, + "ram_bytes": 11632, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Queue", + "sizes": [{ + "flash_bytes": 284300, + "flash_percentage": 21, + "ram_bytes": 11616, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Semaphore", + "sizes": [{ + "flash_bytes": 283556, + "flash_percentage": 21, + "ram_bytes": 11616, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/GPIO/BlinkRGB", + "sizes": [{ + "flash_bytes": 290768, + "flash_percentage": 22, + "ram_bytes": 12844, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/GPIO/FunctionalInterrupt", + "sizes": [{ + "flash_bytes": 291114, + "flash_percentage": 22, + "ram_bytes": 12204, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/GPIO/FunctionalInterruptStruct", + "sizes": [{ + "flash_bytes": 289562, + "flash_percentage": 22, + "ram_bytes": 12212, + "ram_percentage": 3 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c6", + "target": "esp32c6", + "sketches": [ +{"name": "ESP32/examples/CI/CIBoardsTest", + "sizes": [{ + "flash_bytes": 295377, + "flash_percentage": 22, + "ram_bytes": 15368, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/ChipID/GetChipID", + "sizes": [{ + "flash_bytes": 244327, + "flash_percentage": 18, + "ram_bytes": 12836, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/DeepSleep/TimerWakeUp", + "sizes": [{ + "flash_bytes": 251223, + "flash_percentage": 19, + "ram_bytes": 13028, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/FreeRTOS/BasicMultiThreading", + "sizes": [{ + "flash_bytes": 276181, + "flash_percentage": 21, + "ram_bytes": 14320, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Mutex", + "sizes": [{ + "flash_bytes": 242245, + "flash_percentage": 18, + "ram_bytes": 12804, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Queue", + "sizes": [{ + "flash_bytes": 242505, + "flash_percentage": 18, + "ram_bytes": 12788, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Semaphore", + "sizes": [{ + "flash_bytes": 241751, + "flash_percentage": 18, + "ram_bytes": 12788, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/GPIO/BlinkRGB", + "sizes": [{ + "flash_bytes": 247541, + "flash_percentage": 18, + "ram_bytes": 14024, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/GPIO/FunctionalInterrupt", + "sizes": [{ + "flash_bytes": 250047, + "flash_percentage": 19, + "ram_bytes": 13504, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/GPIO/FunctionalInterruptStruct", + "sizes": [{ + "flash_bytes": 248319, + "flash_percentage": 18, + "ram_bytes": 13496, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/GPIO/GPIOInterrupt", + "sizes": [{ + "flash_bytes": 249145, + "flash_percentage": 19, + "ram_bytes": 13496, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/HWCDC_Events", + "sizes": [{ + "flash_bytes": 275517, + "flash_percentage": 21, + "ram_bytes": 14168, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/MacAddress/GetMacAddress", + "sizes": [{ + "flash_bytes": 245879, + "flash_percentage": 18, + "ram_bytes": 12948, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/RMT/Legacy_RMT_Driver_Compatible", + "sizes": [{ + "flash_bytes": 245069, + "flash_percentage": 18, + "ram_bytes": 12928, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/RMT/RMTCallback", + "sizes": [{ + "flash_bytes": 263221, + "flash_percentage": 20, + "ram_bytes": 14652, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/RMT/RMTLoopback", + "sizes": [{ + "flash_bytes": 264889, + "flash_percentage": 20, + "ram_bytes": 16076, + "ram_percentage": 4 + }] + } +] +}, +{ "board": "espressif:esp32:esp32h2", + "target": "esp32h2", + "sketches": [ +{"name": "EEPROM/examples/eeprom_extra", + "sizes": [{ + "flash_bytes": 298913, + "flash_percentage": 22, + "ram_bytes": 12816, + "ram_percentage": 3 + }] + }, +{"name": "EEPROM/examples/eeprom_write", + "sizes": [{ + "flash_bytes": 294419, + "flash_percentage": 22, + "ram_bytes": 12824, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/AnalogOut/LEDCFade", + "sizes": [{ + "flash_bytes": 297147, + "flash_percentage": 22, + "ram_bytes": 12948, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/AnalogOut/LEDCSingleChannel", + "sizes": [{ + "flash_bytes": 276781, + "flash_percentage": 21, + "ram_bytes": 12948, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/AnalogOut/LEDCSoftwareFade", + "sizes": [{ + "flash_bytes": 276839, + "flash_percentage": 21, + "ram_bytes": 12948, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/AnalogOut/SigmaDelta", + "sizes": [{ + "flash_bytes": 272327, + "flash_percentage": 20, + "ram_bytes": 12784, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/AnalogOut/ledcFrequency", + "sizes": [{ + "flash_bytes": 279019, + "flash_percentage": 21, + "ram_bytes": 12932, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/AnalogOut/ledcWrite_RGB", + "sizes": [{ + "flash_bytes": 292529, + "flash_percentage": 22, + "ram_bytes": 12956, + "ram_percentage": 3 + }] + } +] +}, +{ "board": "espressif:esp32:esp32", + "target": "esp32", + "sketches": [ +{"name": "ESP32/examples/AnalogOut/SigmaDelta", + "sizes": [{ + "flash_bytes": 294902, + "flash_percentage": 22, + "ram_bytes": 20592, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/AnalogOut/ledcFrequency", + "sizes": [{ + "flash_bytes": 301254, + "flash_percentage": 22, + "ram_bytes": 20792, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/AnalogOut/ledcWrite_RGB", + "sizes": [{ + "flash_bytes": 313366, + "flash_percentage": 23, + "ram_bytes": 20816, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/AnalogRead", + "sizes": [{ + "flash_bytes": 314462, + "flash_percentage": 23, + "ram_bytes": 20688, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/AnalogReadContinuous", + "sizes": [{ + "flash_bytes": 321174, + "flash_percentage": 24, + "ram_bytes": 20736, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/ArduinoStackSize", + "sizes": [{ + "flash_bytes": 305378, + "flash_percentage": 23, + "ram_bytes": 20584, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/CI/CIBoardsTest", + "sizes": [{ + "flash_bytes": 335806, + "flash_percentage": 25, + "ram_bytes": 22040, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Camera/CameraWebServer", + "sizes": [{ + "flash_bytes": 1039450, + "flash_percentage": 6, + "ram_bytes": 63292, + "ram_percentage": 19 + }] + }, +{"name": "ESP32/examples/Camera/CameraWebServer", + "sizes": [{ + "flash_bytes": 1051734, + "flash_percentage": 6, + "ram_bytes": 63376, + "ram_percentage": 19 + }] + }, +{"name": "ESP32/examples/ChipID/GetChipID", + "sizes": [{ + "flash_bytes": 309246, + "flash_percentage": 23, + "ram_bytes": 20648, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/DeepSleep/ExternalWakeUp", + "sizes": [{ + "flash_bytes": 311910, + "flash_percentage": 23, + "ram_bytes": 20632, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/DeepSleep/SmoothBlink_ULP_Code", + "sizes": [{ + "flash_bytes": 314618, + "flash_percentage": 24, + "ram_bytes": 20648, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/DeepSleep/TimerWakeUp", + "sizes": [{ + "flash_bytes": 311438, + "flash_percentage": 23, + "ram_bytes": 20632, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/DeepSleep/TouchWakeUp", + "sizes": [{ + "flash_bytes": 319798, + "flash_percentage": 24, + "ram_bytes": 20808, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/FreeRTOS/BasicMultiThreading", + "sizes": [{ + "flash_bytes": 316126, + "flash_percentage": 24, + "ram_bytes": 20696, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Mutex", + "sizes": [{ + "flash_bytes": 306406, + "flash_percentage": 23, + "ram_bytes": 20724, + "ram_percentage": 6 + }] + } +] +} +]} diff --git a/master_cli_compile/cli_compile_3.json b/master_cli_compile/cli_compile_3.json new file mode 100644 index 00000000000..b651d8e339e --- /dev/null +++ b/master_cli_compile/cli_compile_3.json @@ -0,0 +1,797 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32p4", + "target": "esp32p4", + "sketches": [ +{"name": "ESP32/examples/RMT/RMT_CPUFreq_Test", + "sizes": [{ + "flash_bytes": 349015, + "flash_percentage": 26, + "ram_bytes": 22164, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/RMT/RMT_EndOfTransmissionState", + "sizes": [{ + "flash_bytes": 348613, + "flash_percentage": 26, + "ram_bytes": 22236, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/RMT/RMT_LED_Blink", + "sizes": [{ + "flash_bytes": 350885, + "flash_percentage": 26, + "ram_bytes": 22292, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/ResetReason/ResetReason", + "sizes": [{ + "flash_bytes": 332919, + "flash_percentage": 25, + "ram_bytes": 21708, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/ResetReason/ResetReason2", + "sizes": [{ + "flash_bytes": 321911, + "flash_percentage": 24, + "ram_bytes": 21508, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/BaudRateDetect_Demo", + "sizes": [{ + "flash_bytes": 321413, + "flash_percentage": 24, + "ram_bytes": 21500, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/OnReceiveError_BREAK_Demo", + "sizes": [{ + "flash_bytes": 324739, + "flash_percentage": 24, + "ram_bytes": 21540, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/OnReceive_Demo", + "sizes": [{ + "flash_bytes": 323235, + "flash_percentage": 24, + "ram_bytes": 21516, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/RS485_Echo_Demo", + "sizes": [{ + "flash_bytes": 322193, + "flash_percentage": 24, + "ram_bytes": 21500, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/RxFIFOFull_Demo", + "sizes": [{ + "flash_bytes": 322645, + "flash_percentage": 24, + "ram_bytes": 21508, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/RxTimeout_Demo", + "sizes": [{ + "flash_bytes": 322487, + "flash_percentage": 24, + "ram_bytes": 21508, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/Serial_All_CPU_Freqs", + "sizes": [{ + "flash_bytes": 322219, + "flash_percentage": 24, + "ram_bytes": 21524, + "ram_percentage": 6 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s3", + "target": "esp32s3", + "sketches": [ +{"name": "ESP32/examples/RMT/Legacy_RMT_Driver_Compatible", + "sizes": [{ + "flash_bytes": 307430, + "flash_percentage": 23, + "ram_bytes": 20496, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/RMT/RMTCallback", + "sizes": [{ + "flash_bytes": 329650, + "flash_percentage": 25, + "ram_bytes": 21596, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/RMT/RMTLoopback", + "sizes": [{ + "flash_bytes": 330950, + "flash_percentage": 25, + "ram_bytes": 23020, + "ram_percentage": 7 + }] + }, +{"name": "ESP32/examples/RMT/RMTReadXJT", + "sizes": [{ + "flash_bytes": 330110, + "flash_percentage": 25, + "ram_bytes": 21468, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/RMT/RMTWrite_RGB_LED", + "sizes": [{ + "flash_bytes": 328338, + "flash_percentage": 25, + "ram_bytes": 24068, + "ram_percentage": 7 + }] + }, +{"name": "ESP32/examples/RMT/RMT_CPUFreq_Test", + "sizes": [{ + "flash_bytes": 329110, + "flash_percentage": 25, + "ram_bytes": 20980, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/RMT/RMT_EndOfTransmissionState", + "sizes": [{ + "flash_bytes": 328762, + "flash_percentage": 25, + "ram_bytes": 21052, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/RMT/RMT_LED_Blink", + "sizes": [{ + "flash_bytes": 330714, + "flash_percentage": 25, + "ram_bytes": 21100, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/ResetReason/ResetReason", + "sizes": [{ + "flash_bytes": 312266, + "flash_percentage": 23, + "ram_bytes": 20448, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/ResetReason/ResetReason2", + "sizes": [{ + "flash_bytes": 303994, + "flash_percentage": 23, + "ram_bytes": 20336, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/BaudRateDetect_Demo", + "sizes": [{ + "flash_bytes": 303870, + "flash_percentage": 23, + "ram_bytes": 20344, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/OnReceiveError_BREAK_Demo", + "sizes": [{ + "flash_bytes": 306738, + "flash_percentage": 23, + "ram_bytes": 20384, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/OnReceive_Demo", + "sizes": [{ + "flash_bytes": 305466, + "flash_percentage": 23, + "ram_bytes": 20352, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/RS485_Echo_Demo", + "sizes": [{ + "flash_bytes": 304542, + "flash_percentage": 23, + "ram_bytes": 20344, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/RxFIFOFull_Demo", + "sizes": [{ + "flash_bytes": 304802, + "flash_percentage": 23, + "ram_bytes": 20344, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/RxTimeout_Demo", + "sizes": [{ + "flash_bytes": 304638, + "flash_percentage": 23, + "ram_bytes": 20344, + "ram_percentage": 6 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2", + "target": "esp32s2", + "sketches": [ +{"name": "ESP32/examples/Serial/BaudRateDetect_Demo", + "sizes": [{ + "flash_bytes": 268825, + "flash_percentage": 20, + "ram_bytes": 15348, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Serial/OnReceiveError_BREAK_Demo", + "sizes": [{ + "flash_bytes": 271677, + "flash_percentage": 20, + "ram_bytes": 15388, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Serial/OnReceive_Demo", + "sizes": [{ + "flash_bytes": 270413, + "flash_percentage": 20, + "ram_bytes": 15356, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Serial/RS485_Echo_Demo", + "sizes": [{ + "flash_bytes": 269489, + "flash_percentage": 20, + "ram_bytes": 15348, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Serial/RxFIFOFull_Demo", + "sizes": [{ + "flash_bytes": 269741, + "flash_percentage": 20, + "ram_bytes": 15348, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Serial/RxTimeout_Demo", + "sizes": [{ + "flash_bytes": 269653, + "flash_percentage": 20, + "ram_bytes": 15364, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Serial/Serial_All_CPU_Freqs", + "sizes": [{ + "flash_bytes": 269409, + "flash_percentage": 20, + "ram_bytes": 15380, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Serial/Serial_STD_Func_OnReceive", + "sizes": [{ + "flash_bytes": 270473, + "flash_percentage": 20, + "ram_bytes": 15348, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Serial/onReceiveExample", + "sizes": [{ + "flash_bytes": 269797, + "flash_percentage": 20, + "ram_bytes": 15364, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/TWAI/TWAIreceive", + "sizes": [{ + "flash_bytes": 273781, + "flash_percentage": 20, + "ram_bytes": 15364, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/TWAI/TWAItransmit", + "sizes": [{ + "flash_bytes": 274181, + "flash_percentage": 20, + "ram_bytes": 15372, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Template/ExampleTemplate", + "sizes": [{ + "flash_bytes": 254981, + "flash_percentage": 19, + "ram_bytes": 15340, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Time/SimpleTime", + "sizes": [{ + "flash_bytes": 847625, + "flash_percentage": 64, + "ram_bytes": 40304, + "ram_percentage": 12 + }] + }, +{"name": "ESP32/examples/Timer/RepeatTimer", + "sizes": [{ + "flash_bytes": 279013, + "flash_percentage": 21, + "ram_bytes": 15764, + "ram_percentage": 4 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3", + "target": "esp32c3", + "sketches": [ +{"name": "ESP32/examples/GPIO/GPIOInterrupt", + "sizes": [{ + "flash_bytes": 290200, + "flash_percentage": 22, + "ram_bytes": 12220, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/HWCDC_Events", + "sizes": [{ + "flash_bytes": 317368, + "flash_percentage": 24, + "ram_bytes": 12980, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/MacAddress/GetMacAddress", + "sizes": [{ + "flash_bytes": 287384, + "flash_percentage": 21, + "ram_bytes": 11704, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/RMT/Legacy_RMT_Driver_Compatible", + "sizes": [{ + "flash_bytes": 286940, + "flash_percentage": 21, + "ram_bytes": 11756, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/RMT/RMTCallback", + "sizes": [{ + "flash_bytes": 305410, + "flash_percentage": 23, + "ram_bytes": 13472, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/RMT/RMTLoopback", + "sizes": [{ + "flash_bytes": 307074, + "flash_percentage": 23, + "ram_bytes": 14896, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/RMT/RMTReadXJT", + "sizes": [{ + "flash_bytes": 305998, + "flash_percentage": 23, + "ram_bytes": 13344, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/RMT/RMTWrite_RGB_LED", + "sizes": [{ + "flash_bytes": 304488, + "flash_percentage": 23, + "ram_bytes": 15936, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/RMT/RMT_CPUFreq_Test", + "sizes": [{ + "flash_bytes": 305410, + "flash_percentage": 23, + "ram_bytes": 12840, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/RMT/RMT_EndOfTransmissionState", + "sizes": [{ + "flash_bytes": 305016, + "flash_percentage": 23, + "ram_bytes": 12920, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/RMT/RMT_LED_Blink", + "sizes": [{ + "flash_bytes": 307278, + "flash_percentage": 23, + "ram_bytes": 12976, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/ResetReason/ResetReason", + "sizes": [{ + "flash_bytes": 290714, + "flash_percentage": 22, + "ram_bytes": 11764, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/ResetReason/ResetReason2", + "sizes": [{ + "flash_bytes": 283584, + "flash_percentage": 21, + "ram_bytes": 11608, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Serial/BaudRateDetect_Demo", + "sizes": [{ + "flash_bytes": 283538, + "flash_percentage": 21, + "ram_bytes": 11608, + "ram_percentage": 3 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c6", + "target": "esp32c6", + "sketches": [ +{"name": "ESP32/examples/RMT/RMTReadXJT", + "sizes": [{ + "flash_bytes": 263819, + "flash_percentage": 20, + "ram_bytes": 14508, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/RMT/RMTWrite_RGB_LED", + "sizes": [{ + "flash_bytes": 262269, + "flash_percentage": 20, + "ram_bytes": 17124, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/RMT/RMT_CPUFreq_Test", + "sizes": [{ + "flash_bytes": 263219, + "flash_percentage": 20, + "ram_bytes": 14028, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/RMT/RMT_EndOfTransmissionState", + "sizes": [{ + "flash_bytes": 262823, + "flash_percentage": 20, + "ram_bytes": 14100, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/RMT/RMT_LED_Blink", + "sizes": [{ + "flash_bytes": 265073, + "flash_percentage": 20, + "ram_bytes": 14156, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/ResetReason/ResetReason", + "sizes": [{ + "flash_bytes": 251065, + "flash_percentage": 19, + "ram_bytes": 13028, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/ResetReason/ResetReason2", + "sizes": [{ + "flash_bytes": 241799, + "flash_percentage": 18, + "ram_bytes": 12788, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Serial/BaudRateDetect_Demo", + "sizes": [{ + "flash_bytes": 241741, + "flash_percentage": 18, + "ram_bytes": 12788, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Serial/OnReceiveError_BREAK_Demo", + "sizes": [{ + "flash_bytes": 245039, + "flash_percentage": 18, + "ram_bytes": 12820, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Serial/OnReceive_Demo", + "sizes": [{ + "flash_bytes": 243531, + "flash_percentage": 18, + "ram_bytes": 12796, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Serial/RS485_Echo_Demo", + "sizes": [{ + "flash_bytes": 242479, + "flash_percentage": 18, + "ram_bytes": 12788, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Serial/RxFIFOFull_Demo", + "sizes": [{ + "flash_bytes": 242941, + "flash_percentage": 18, + "ram_bytes": 12788, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Serial/RxTimeout_Demo", + "sizes": [{ + "flash_bytes": 242781, + "flash_percentage": 18, + "ram_bytes": 12796, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Serial/Serial_All_CPU_Freqs", + "sizes": [{ + "flash_bytes": 242567, + "flash_percentage": 18, + "ram_bytes": 12804, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Serial/Serial_STD_Func_OnReceive", + "sizes": [{ + "flash_bytes": 243267, + "flash_percentage": 18, + "ram_bytes": 12788, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Serial/onReceiveExample", + "sizes": [{ + "flash_bytes": 242897, + "flash_percentage": 18, + "ram_bytes": 12804, + "ram_percentage": 3 + }] + } +] +}, +{ "board": "espressif:esp32:esp32h2", + "target": "esp32h2", + "sketches": [ +{"name": "ESP32/examples/AnalogRead", + "sizes": [{ + "flash_bytes": 298047, + "flash_percentage": 22, + "ram_bytes": 13056, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/AnalogReadContinuous", + "sizes": [{ + "flash_bytes": 303681, + "flash_percentage": 23, + "ram_bytes": 13056, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/ArduinoStackSize", + "sizes": [{ + "flash_bytes": 283911, + "flash_percentage": 21, + "ram_bytes": 12768, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/CI/CIBoardsTest", + "sizes": [{ + "flash_bytes": 336885, + "flash_percentage": 25, + "ram_bytes": 15420, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/ChipID/GetChipID", + "sizes": [{ + "flash_bytes": 285369, + "flash_percentage": 21, + "ram_bytes": 12816, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/FreeRTOS/BasicMultiThreading", + "sizes": [{ + "flash_bytes": 317415, + "flash_percentage": 24, + "ram_bytes": 14268, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Mutex", + "sizes": [{ + "flash_bytes": 284763, + "flash_percentage": 21, + "ram_bytes": 12784, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Queue", + "sizes": [{ + "flash_bytes": 284879, + "flash_percentage": 21, + "ram_bytes": 12768, + "ram_percentage": 3 + }] + } +] +}, +{ "board": "espressif:esp32:esp32", + "target": "esp32", + "sketches": [ +{"name": "ESP32/examples/FreeRTOS/Queue", + "sizes": [{ + "flash_bytes": 306122, + "flash_percentage": 23, + "ram_bytes": 20592, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Semaphore", + "sizes": [{ + "flash_bytes": 305554, + "flash_percentage": 23, + "ram_bytes": 20592, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/GPIO/BlinkRGB", + "sizes": [{ + "flash_bytes": 291438, + "flash_percentage": 22, + "ram_bytes": 20584, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/GPIO/FunctionalInterrupt", + "sizes": [{ + "flash_bytes": 312566, + "flash_percentage": 23, + "ram_bytes": 21112, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/GPIO/FunctionalInterruptStruct", + "sizes": [{ + "flash_bytes": 311194, + "flash_percentage": 23, + "ram_bytes": 21104, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/GPIO/GPIOInterrupt", + "sizes": [{ + "flash_bytes": 311842, + "flash_percentage": 23, + "ram_bytes": 21104, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/MacAddress/GetMacAddress", + "sizes": [{ + "flash_bytes": 309854, + "flash_percentage": 23, + "ram_bytes": 20720, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/RMT/Legacy_RMT_Driver_Compatible", + "sizes": [{ + "flash_bytes": 308346, + "flash_percentage": 23, + "ram_bytes": 20712, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/RMT/RMTCallback", + "sizes": [{ + "flash_bytes": 322958, + "flash_percentage": 24, + "ram_bytes": 22272, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/RMT/RMTLoopback", + "sizes": [{ + "flash_bytes": 324310, + "flash_percentage": 24, + "ram_bytes": 23504, + "ram_percentage": 7 + }] + }, +{"name": "ESP32/examples/RMT/RMTReadXJT", + "sizes": [{ + "flash_bytes": 323434, + "flash_percentage": 24, + "ram_bytes": 22080, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/RMT/RMTWrite_RGB_LED", + "sizes": [{ + "flash_bytes": 322102, + "flash_percentage": 24, + "ram_bytes": 24552, + "ram_percentage": 7 + }] + }, +{"name": "ESP32/examples/RMT/RMT_CPUFreq_Test", + "sizes": [{ + "flash_bytes": 322858, + "flash_percentage": 24, + "ram_bytes": 21464, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/RMT/RMT_EndOfTransmissionState", + "sizes": [{ + "flash_bytes": 322534, + "flash_percentage": 24, + "ram_bytes": 21536, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/RMT/RMT_LED_Blink", + "sizes": [{ + "flash_bytes": 324490, + "flash_percentage": 24, + "ram_bytes": 21584, + "ram_percentage": 6 + }] + } +] +} +]} diff --git a/master_cli_compile/cli_compile_4.json b/master_cli_compile/cli_compile_4.json new file mode 100644 index 00000000000..201d120c148 --- /dev/null +++ b/master_cli_compile/cli_compile_4.json @@ -0,0 +1,797 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32p4", + "target": "esp32p4", + "sketches": [ +{"name": "ESP32/examples/Serial/Serial_STD_Func_OnReceive", + "sizes": [{ + "flash_bytes": 322987, + "flash_percentage": 24, + "ram_bytes": 21508, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/onReceiveExample", + "sizes": [{ + "flash_bytes": 322569, + "flash_percentage": 24, + "ram_bytes": 21524, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/TWAI/TWAIreceive", + "sizes": [{ + "flash_bytes": 327019, + "flash_percentage": 24, + "ram_bytes": 21524, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/TWAI/TWAItransmit", + "sizes": [{ + "flash_bytes": 327449, + "flash_percentage": 24, + "ram_bytes": 21532, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Template/ExampleTemplate", + "sizes": [{ + "flash_bytes": 303683, + "flash_percentage": 23, + "ram_bytes": 21496, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Time/SimpleTime", + "sizes": [{ + "flash_bytes": 674663, + "flash_percentage": 51, + "ram_bytes": 28584, + "ram_percentage": 8 + }] + }, +{"name": "ESP32/examples/Timer/RepeatTimer", + "sizes": [{ + "flash_bytes": 331559, + "flash_percentage": 25, + "ram_bytes": 21556, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Timer/WatchdogTimer", + "sizes": [{ + "flash_bytes": 331279, + "flash_percentage": 25, + "ram_bytes": 21532, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Touch/TouchInterrupt", + "sizes": [{ + "flash_bytes": 333539, + "flash_percentage": 25, + "ram_bytes": 21856, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Touch/TouchRead", + "sizes": [{ + "flash_bytes": 337331, + "flash_percentage": 25, + "ram_bytes": 21880, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Utilities/HEXBuilder", + "sizes": [{ + "flash_bytes": 323469, + "flash_percentage": 24, + "ram_bytes": 21500, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Utilities/MD5Builder", + "sizes": [{ + "flash_bytes": 323733, + "flash_percentage": 24, + "ram_bytes": 21500, + "ram_percentage": 6 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s3", + "target": "esp32s3", + "sketches": [ +{"name": "ESP32/examples/Serial/Serial_All_CPU_Freqs", + "sizes": [{ + "flash_bytes": 304466, + "flash_percentage": 23, + "ram_bytes": 20360, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/Serial_STD_Func_OnReceive", + "sizes": [{ + "flash_bytes": 305230, + "flash_percentage": 23, + "ram_bytes": 20344, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/onReceiveExample", + "sizes": [{ + "flash_bytes": 304774, + "flash_percentage": 23, + "ram_bytes": 20360, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/TWAI/TWAIreceive", + "sizes": [{ + "flash_bytes": 308838, + "flash_percentage": 23, + "ram_bytes": 20344, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/TWAI/TWAItransmit", + "sizes": [{ + "flash_bytes": 309122, + "flash_percentage": 23, + "ram_bytes": 20352, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Template/ExampleTemplate", + "sizes": [{ + "flash_bytes": 290126, + "flash_percentage": 22, + "ram_bytes": 20336, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Time/SimpleTime", + "sizes": [{ + "flash_bytes": 879182, + "flash_percentage": 67, + "ram_bytes": 45652, + "ram_percentage": 13 + }] + }, +{"name": "ESP32/examples/Timer/RepeatTimer", + "sizes": [{ + "flash_bytes": 313930, + "flash_percentage": 23, + "ram_bytes": 20736, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Timer/WatchdogTimer", + "sizes": [{ + "flash_bytes": 313722, + "flash_percentage": 23, + "ram_bytes": 20728, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Touch/TouchInterrupt", + "sizes": [{ + "flash_bytes": 311026, + "flash_percentage": 23, + "ram_bytes": 20960, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Touch/TouchRead", + "sizes": [{ + "flash_bytes": 312090, + "flash_percentage": 23, + "ram_bytes": 20960, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Utilities/HEXBuilder", + "sizes": [{ + "flash_bytes": 305630, + "flash_percentage": 23, + "ram_bytes": 20344, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Utilities/MD5Builder", + "sizes": [{ + "flash_bytes": 305950, + "flash_percentage": 23, + "ram_bytes": 20344, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Utilities/SHA1Builder", + "sizes": [{ + "flash_bytes": 310798, + "flash_percentage": 23, + "ram_bytes": 20344, + "ram_percentage": 6 + }] + }, +{"name": "ESP_I2S/examples/ES8388_loopback", + "sizes": [{ + "flash_bytes": 385570, + "flash_percentage": 29, + "ram_bytes": 22388, + "ram_percentage": 6 + }] + }, +{"name": "ESP_I2S/examples/Record_to_WAV", + "sizes": [{ + "flash_bytes": 412482, + "flash_percentage": 31, + "ram_bytes": 20872, + "ram_percentage": 6 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2", + "target": "esp32s2", + "sketches": [ +{"name": "ESP32/examples/Timer/WatchdogTimer", + "sizes": [{ + "flash_bytes": 278817, + "flash_percentage": 21, + "ram_bytes": 15748, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Touch/TouchInterrupt", + "sizes": [{ + "flash_bytes": 275725, + "flash_percentage": 21, + "ram_bytes": 15996, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Touch/TouchRead", + "sizes": [{ + "flash_bytes": 276717, + "flash_percentage": 21, + "ram_bytes": 15988, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Utilities/HEXBuilder", + "sizes": [{ + "flash_bytes": 270581, + "flash_percentage": 20, + "ram_bytes": 15348, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Utilities/MD5Builder", + "sizes": [{ + "flash_bytes": 270901, + "flash_percentage": 20, + "ram_bytes": 15348, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Utilities/SHA1Builder", + "sizes": [{ + "flash_bytes": 275741, + "flash_percentage": 21, + "ram_bytes": 15348, + "ram_percentage": 4 + }] + }, +{"name": "ESP_I2S/examples/ES8388_loopback", + "sizes": [{ + "flash_bytes": 332477, + "flash_percentage": 25, + "ram_bytes": 17360, + "ram_percentage": 5 + }] + }, +{"name": "ESP_I2S/examples/Simple_tone", + "sizes": [{ + "flash_bytes": 285513, + "flash_percentage": 21, + "ram_bytes": 15476, + "ram_percentage": 4 + }] + }, +{"name": "ESP_NOW/examples/ESP_NOW_Broadcast_Master", + "sizes": [{ + "flash_bytes": 833405, + "flash_percentage": 63, + "ram_bytes": 39088, + "ram_percentage": 11 + }] + }, +{"name": "ESP_NOW/examples/ESP_NOW_Broadcast_Slave", + "sizes": [{ + "flash_bytes": 833601, + "flash_percentage": 63, + "ram_bytes": 39064, + "ram_percentage": 11 + }] + }, +{"name": "ESP_NOW/examples/ESP_NOW_Network", + "sizes": [{ + "flash_bytes": 837113, + "flash_percentage": 63, + "ram_bytes": 39160, + "ram_percentage": 11 + }] + }, +{"name": "ESP_NOW/examples/ESP_NOW_Serial", + "sizes": [{ + "flash_bytes": 834237, + "flash_percentage": 63, + "ram_bytes": 39152, + "ram_percentage": 11 + }] + }, +{"name": "ESPmDNS/examples/mDNS-SD_Extended", + "sizes": [{ + "flash_bytes": 850953, + "flash_percentage": 64, + "ram_bytes": 41200, + "ram_percentage": 12 + }] + }, +{"name": "ESPmDNS/examples/mDNS_Web_Server", + "sizes": [{ + "flash_bytes": 869141, + "flash_percentage": 66, + "ram_bytes": 42504, + "ram_percentage": 12 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3", + "target": "esp32c3", + "sketches": [ +{"name": "ESP32/examples/Serial/OnReceiveError_BREAK_Demo", + "sizes": [{ + "flash_bytes": 286804, + "flash_percentage": 21, + "ram_bytes": 11640, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Serial/OnReceive_Demo", + "sizes": [{ + "flash_bytes": 285312, + "flash_percentage": 21, + "ram_bytes": 11616, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Serial/RS485_Echo_Demo", + "sizes": [{ + "flash_bytes": 284016, + "flash_percentage": 21, + "ram_bytes": 11608, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Serial/RxFIFOFull_Demo", + "sizes": [{ + "flash_bytes": 284726, + "flash_percentage": 21, + "ram_bytes": 11608, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Serial/RxTimeout_Demo", + "sizes": [{ + "flash_bytes": 284576, + "flash_percentage": 21, + "ram_bytes": 11616, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Serial/Serial_All_CPU_Freqs", + "sizes": [{ + "flash_bytes": 284338, + "flash_percentage": 21, + "ram_bytes": 11632, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Serial/Serial_STD_Func_OnReceive", + "sizes": [{ + "flash_bytes": 285066, + "flash_percentage": 21, + "ram_bytes": 11608, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Serial/onReceiveExample", + "sizes": [{ + "flash_bytes": 284676, + "flash_percentage": 21, + "ram_bytes": 11632, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/TWAI/TWAIreceive", + "sizes": [{ + "flash_bytes": 288398, + "flash_percentage": 22, + "ram_bytes": 11624, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/TWAI/TWAItransmit", + "sizes": [{ + "flash_bytes": 288632, + "flash_percentage": 22, + "ram_bytes": 11624, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Template/ExampleTemplate", + "sizes": [{ + "flash_bytes": 268018, + "flash_percentage": 20, + "ram_bytes": 11608, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Time/SimpleTime", + "sizes": [{ + "flash_bytes": 946414, + "flash_percentage": 72, + "ram_bytes": 36392, + "ram_percentage": 11 + }] + }, +{"name": "ESP32/examples/Timer/RepeatTimer", + "sizes": [{ + "flash_bytes": 293840, + "flash_percentage": 22, + "ram_bytes": 11956, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Timer/WatchdogTimer", + "sizes": [{ + "flash_bytes": 293690, + "flash_percentage": 22, + "ram_bytes": 11940, + "ram_percentage": 3 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c6", + "target": "esp32c6", + "sketches": [ +{"name": "ESP32/examples/TWAI/TWAIreceive", + "sizes": [{ + "flash_bytes": 246663, + "flash_percentage": 18, + "ram_bytes": 12796, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/TWAI/TWAItransmit", + "sizes": [{ + "flash_bytes": 246891, + "flash_percentage": 18, + "ram_bytes": 12804, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Template/ExampleTemplate", + "sizes": [{ + "flash_bytes": 225253, + "flash_percentage": 17, + "ram_bytes": 12780, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Time/SimpleTime", + "sizes": [{ + "flash_bytes": 944169, + "flash_percentage": 72, + "ram_bytes": 42452, + "ram_percentage": 12 + }] + }, +{"name": "ESP32/examples/Timer/RepeatTimer", + "sizes": [{ + "flash_bytes": 252353, + "flash_percentage": 19, + "ram_bytes": 13136, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Timer/WatchdogTimer", + "sizes": [{ + "flash_bytes": 252157, + "flash_percentage": 19, + "ram_bytes": 13128, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Utilities/HEXBuilder", + "sizes": [{ + "flash_bytes": 243661, + "flash_percentage": 18, + "ram_bytes": 12788, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Utilities/MD5Builder", + "sizes": [{ + "flash_bytes": 243915, + "flash_percentage": 18, + "ram_bytes": 12788, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Utilities/SHA1Builder", + "sizes": [{ + "flash_bytes": 250205, + "flash_percentage": 19, + "ram_bytes": 12788, + "ram_percentage": 3 + }] + }, +{"name": "ESP_I2S/examples/ES8388_loopback", + "sizes": [{ + "flash_bytes": 325931, + "flash_percentage": 24, + "ram_bytes": 15336, + "ram_percentage": 4 + }] + }, +{"name": "ESP_I2S/examples/Simple_tone", + "sizes": [{ + "flash_bytes": 269491, + "flash_percentage": 20, + "ram_bytes": 12900, + "ram_percentage": 3 + }] + }, +{"name": "ESP_NOW/examples/ESP_NOW_Broadcast_Master", + "sizes": [{ + "flash_bytes": 938621, + "flash_percentage": 71, + "ram_bytes": 41268, + "ram_percentage": 12 + }] + }, +{"name": "ESP_NOW/examples/ESP_NOW_Broadcast_Slave", + "sizes": [{ + "flash_bytes": 938827, + "flash_percentage": 71, + "ram_bytes": 41236, + "ram_percentage": 12 + }] + }, +{"name": "ESP_NOW/examples/ESP_NOW_Network", + "sizes": [{ + "flash_bytes": 942253, + "flash_percentage": 71, + "ram_bytes": 41332, + "ram_percentage": 12 + }] + }, +{"name": "ESP_NOW/examples/ESP_NOW_Serial", + "sizes": [{ + "flash_bytes": 941517, + "flash_percentage": 71, + "ram_bytes": 41324, + "ram_percentage": 12 + }] + }, +{"name": "ESPmDNS/examples/mDNS-SD_Extended", + "sizes": [{ + "flash_bytes": 961307, + "flash_percentage": 73, + "ram_bytes": 43388, + "ram_percentage": 13 + }] + } +] +}, +{ "board": "espressif:esp32:esp32h2", + "target": "esp32h2", + "sketches": [ +{"name": "ESP32/examples/FreeRTOS/Semaphore", + "sizes": [{ + "flash_bytes": 284123, + "flash_percentage": 21, + "ram_bytes": 12768, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/GPIO/BlinkRGB", + "sizes": [{ + "flash_bytes": 290529, + "flash_percentage": 22, + "ram_bytes": 13996, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/GPIO/FunctionalInterrupt", + "sizes": [{ + "flash_bytes": 292259, + "flash_percentage": 22, + "ram_bytes": 13460, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/GPIO/FunctionalInterruptStruct", + "sizes": [{ + "flash_bytes": 290705, + "flash_percentage": 22, + "ram_bytes": 13468, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/GPIO/GPIOInterrupt", + "sizes": [{ + "flash_bytes": 291349, + "flash_percentage": 22, + "ram_bytes": 13468, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/HWCDC_Events", + "sizes": [{ + "flash_bytes": 318113, + "flash_percentage": 24, + "ram_bytes": 14164, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/MacAddress/GetMacAddress", + "sizes": [{ + "flash_bytes": 287059, + "flash_percentage": 21, + "ram_bytes": 12896, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/RMT/Legacy_RMT_Driver_Compatible", + "sizes": [{ + "flash_bytes": 287445, + "flash_percentage": 21, + "ram_bytes": 12908, + "ram_percentage": 3 + }] + } +] +}, +{ "board": "espressif:esp32:esp32", + "target": "esp32", + "sketches": [ +{"name": "ESP32/examples/ResetReason/ResetReason", + "sizes": [{ + "flash_bytes": 311610, + "flash_percentage": 23, + "ram_bytes": 20632, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/ResetReason/ResetReason2", + "sizes": [{ + "flash_bytes": 305542, + "flash_percentage": 23, + "ram_bytes": 20592, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/BaudRateDetect_Demo", + "sizes": [{ + "flash_bytes": 305418, + "flash_percentage": 23, + "ram_bytes": 20584, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/OnReceiveError_BREAK_Demo", + "sizes": [{ + "flash_bytes": 308334, + "flash_percentage": 23, + "ram_bytes": 20624, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/OnReceive_Demo", + "sizes": [{ + "flash_bytes": 307062, + "flash_percentage": 23, + "ram_bytes": 20608, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/RS485_Echo_Demo", + "sizes": [{ + "flash_bytes": 306078, + "flash_percentage": 23, + "ram_bytes": 20584, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/RxFIFOFull_Demo", + "sizes": [{ + "flash_bytes": 306370, + "flash_percentage": 23, + "ram_bytes": 20600, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/RxTimeout_Demo", + "sizes": [{ + "flash_bytes": 306290, + "flash_percentage": 23, + "ram_bytes": 20600, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/Serial_All_CPU_Freqs", + "sizes": [{ + "flash_bytes": 306010, + "flash_percentage": 23, + "ram_bytes": 20616, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/Serial_STD_Func_OnReceive", + "sizes": [{ + "flash_bytes": 307150, + "flash_percentage": 23, + "ram_bytes": 20708, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/onReceiveExample", + "sizes": [{ + "flash_bytes": 306418, + "flash_percentage": 23, + "ram_bytes": 20608, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/TWAI/TWAIreceive", + "sizes": [{ + "flash_bytes": 311090, + "flash_percentage": 23, + "ram_bytes": 20616, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/TWAI/TWAItransmit", + "sizes": [{ + "flash_bytes": 311270, + "flash_percentage": 23, + "ram_bytes": 20616, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Template/ExampleTemplate", + "sizes": [{ + "flash_bytes": 291438, + "flash_percentage": 22, + "ram_bytes": 20584, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Time/SimpleTime", + "sizes": [{ + "flash_bytes": 921426, + "flash_percentage": 70, + "ram_bytes": 47192, + "ram_percentage": 14 + }] + } +] +} +]} diff --git a/master_cli_compile/cli_compile_5.json b/master_cli_compile/cli_compile_5.json new file mode 100644 index 00000000000..2e7d598d40a --- /dev/null +++ b/master_cli_compile/cli_compile_5.json @@ -0,0 +1,797 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32p4", + "target": "esp32p4", + "sketches": [ +{"name": "ESP32/examples/Utilities/SHA1Builder", + "sizes": [{ + "flash_bytes": 330025, + "flash_percentage": 25, + "ram_bytes": 21500, + "ram_percentage": 6 + }] + }, +{"name": "ESP_I2S/examples/ES8388_loopback", + "sizes": [{ + "flash_bytes": 395319, + "flash_percentage": 30, + "ram_bytes": 23620, + "ram_percentage": 7 + }] + }, +{"name": "ESP_I2S/examples/Record_to_WAV", + "sizes": [{ + "flash_bytes": 451021, + "flash_percentage": 34, + "ram_bytes": 22436, + "ram_percentage": 6 + }] + }, +{"name": "ESP_I2S/examples/Simple_tone", + "sizes": [{ + "flash_bytes": 357709, + "flash_percentage": 27, + "ram_bytes": 21836, + "ram_percentage": 6 + }] + }, +{"name": "ESPmDNS/examples/mDNS-SD_Extended", + "sizes": [{ + "flash_bytes": 681735, + "flash_percentage": 52, + "ram_bytes": 29500, + "ram_percentage": 9 + }] + }, +{"name": "ESPmDNS/examples/mDNS_Web_Server", + "sizes": [{ + "flash_bytes": 712177, + "flash_percentage": 54, + "ram_bytes": 30800, + "ram_percentage": 9 + }] + }, +{"name": "Ethernet/examples/ETH_TLK110", + "sizes": [{ + "flash_bytes": 560871, + "flash_percentage": 42, + "ram_bytes": 26744, + "ram_percentage": 8 + }] + }, +{"name": "Ethernet/examples/ETH_W5500_Arduino_SPI", + "sizes": [{ + "flash_bytes": 607799, + "flash_percentage": 46, + "ram_bytes": 26856, + "ram_percentage": 8 + }] + }, +{"name": "Ethernet/examples/ETH_W5500_IDF_SPI", + "sizes": [{ + "flash_bytes": 606089, + "flash_percentage": 46, + "ram_bytes": 26856, + "ram_percentage": 8 + }] + }, +{"name": "Ethernet/examples/ETH_WIFI_BRIDGE", + "sizes": [{ + "flash_bytes": 746901, + "flash_percentage": 56, + "ram_bytes": 27624, + "ram_percentage": 8 + }] + }, +{"name": "FFat/examples/FFat_Test", + "sizes": [{ + "flash_bytes": 386933, + "flash_percentage": 29, + "ram_bytes": 22304, + "ram_percentage": 6 + }] + }, +{"name": "FFat/examples/FFat_time", + "sizes": [{ + "flash_bytes": 720099, + "flash_percentage": 54, + "ram_bytes": 28776, + "ram_percentage": 8 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s3", + "target": "esp32s3", + "sketches": [ +{"name": "ESP_I2S/examples/Simple_tone", + "sizes": [{ + "flash_bytes": 332478, + "flash_percentage": 25, + "ram_bytes": 20472, + "ram_percentage": 6 + }] + }, +{"name": "ESP_NOW/examples/ESP_NOW_Broadcast_Master", + "sizes": [{ + "flash_bytes": 864218, + "flash_percentage": 65, + "ram_bytes": 44428, + "ram_percentage": 13 + }] + }, +{"name": "ESP_NOW/examples/ESP_NOW_Broadcast_Slave", + "sizes": [{ + "flash_bytes": 864414, + "flash_percentage": 65, + "ram_bytes": 44404, + "ram_percentage": 13 + }] + }, +{"name": "ESP_NOW/examples/ESP_NOW_Network", + "sizes": [{ + "flash_bytes": 867586, + "flash_percentage": 66, + "ram_bytes": 44500, + "ram_percentage": 13 + }] + }, +{"name": "ESP_NOW/examples/ESP_NOW_Serial", + "sizes": [{ + "flash_bytes": 864782, + "flash_percentage": 65, + "ram_bytes": 44492, + "ram_percentage": 13 + }] + }, +{"name": "ESP_SR/examples/Basic", + "sizes": [{ + "flash_bytes": 677342, + "flash_percentage": 21, + "ram_bytes": 31220, + "ram_percentage": 9 + }] + }, +{"name": "ESPmDNS/examples/mDNS-SD_Extended", + "sizes": [{ + "flash_bytes": 881834, + "flash_percentage": 67, + "ram_bytes": 46556, + "ram_percentage": 14 + }] + }, +{"name": "ESPmDNS/examples/mDNS_Web_Server", + "sizes": [{ + "flash_bytes": 899930, + "flash_percentage": 68, + "ram_bytes": 47860, + "ram_percentage": 14 + }] + }, +{"name": "Ethernet/examples/ETH_W5500_Arduino_SPI", + "sizes": [{ + "flash_bytes": 575298, + "flash_percentage": 43, + "ram_bytes": 25996, + "ram_percentage": 7 + }] + }, +{"name": "Ethernet/examples/ETH_W5500_IDF_SPI", + "sizes": [{ + "flash_bytes": 573630, + "flash_percentage": 43, + "ram_bytes": 25996, + "ram_percentage": 7 + }] + }, +{"name": "Ethernet/examples/ETH_WIFI_BRIDGE", + "sizes": [{ + "flash_bytes": 966666, + "flash_percentage": 73, + "ram_bytes": 45028, + "ram_percentage": 13 + }] + }, +{"name": "FFat/examples/FFat_Test", + "sizes": [{ + "flash_bytes": 360830, + "flash_percentage": 27, + "ram_bytes": 21128, + "ram_percentage": 6 + }] + }, +{"name": "FFat/examples/FFat_time", + "sizes": [{ + "flash_bytes": 916866, + "flash_percentage": 69, + "ram_bytes": 45780, + "ram_percentage": 13 + }] + }, +{"name": "HTTPClient/examples/Authorization", + "sizes": [{ + "flash_bytes": 991426, + "flash_percentage": 75, + "ram_bytes": 46188, + "ram_percentage": 14 + }] + }, +{"name": "HTTPClient/examples/BasicHttpClient", + "sizes": [{ + "flash_bytes": 991406, + "flash_percentage": 75, + "ram_bytes": 46188, + "ram_percentage": 14 + }] + }, +{"name": "HTTPClient/examples/BasicHttpsClient", + "sizes": [{ + "flash_bytes": 996078, + "flash_percentage": 75, + "ram_bytes": 46228, + "ram_percentage": 14 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2", + "target": "esp32s2", + "sketches": [ +{"name": "Ethernet/examples/ETH_W5500_Arduino_SPI", + "sizes": [{ + "flash_bytes": 536785, + "flash_percentage": 40, + "ram_bytes": 21016, + "ram_percentage": 6 + }] + }, +{"name": "Ethernet/examples/ETH_W5500_IDF_SPI", + "sizes": [{ + "flash_bytes": 535341, + "flash_percentage": 40, + "ram_bytes": 21016, + "ram_percentage": 6 + }] + }, +{"name": "Ethernet/examples/ETH_WIFI_BRIDGE", + "sizes": [{ + "flash_bytes": 929081, + "flash_percentage": 70, + "ram_bytes": 39628, + "ram_percentage": 12 + }] + }, +{"name": "FFat/examples/FFat_Test", + "sizes": [{ + "flash_bytes": 324949, + "flash_percentage": 24, + "ram_bytes": 16132, + "ram_percentage": 4 + }] + }, +{"name": "FFat/examples/FFat_time", + "sizes": [{ + "flash_bytes": 885477, + "flash_percentage": 67, + "ram_bytes": 40440, + "ram_percentage": 12 + }] + }, +{"name": "HTTPClient/examples/Authorization", + "sizes": [{ + "flash_bytes": 961605, + "flash_percentage": 73, + "ram_bytes": 40832, + "ram_percentage": 12 + }] + }, +{"name": "HTTPClient/examples/BasicHttpClient", + "sizes": [{ + "flash_bytes": 961585, + "flash_percentage": 73, + "ram_bytes": 40832, + "ram_percentage": 12 + }] + }, +{"name": "HTTPClient/examples/BasicHttpsClient", + "sizes": [{ + "flash_bytes": 966389, + "flash_percentage": 73, + "ram_bytes": 40872, + "ram_percentage": 12 + }] + }, +{"name": "HTTPClient/examples/HTTPClientEnterprise", + "sizes": [{ + "flash_bytes": 1016441, + "flash_percentage": 32, + "ram_bytes": 42328, + "ram_percentage": 12 + }] + }, +{"name": "HTTPClient/examples/ReuseConnection", + "sizes": [{ + "flash_bytes": 961193, + "flash_percentage": 73, + "ram_bytes": 41040, + "ram_percentage": 12 + }] + }, +{"name": "HTTPClient/examples/StreamHttpClient", + "sizes": [{ + "flash_bytes": 960917, + "flash_percentage": 73, + "ram_bytes": 40832, + "ram_percentage": 12 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdate", + "sizes": [{ + "flash_bytes": 906417, + "flash_percentage": 69, + "ram_bytes": 40988, + "ram_percentage": 12 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdateSPIFFS", + "sizes": [{ + "flash_bytes": 905697, + "flash_percentage": 69, + "ram_bytes": 40988, + "ram_percentage": 12 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdateSecure", + "sizes": [{ + "flash_bytes": 998097, + "flash_percentage": 31, + "ram_bytes": 41548, + "ram_percentage": 12 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3", + "target": "esp32c3", + "sketches": [ +{"name": "ESP32/examples/Utilities/HEXBuilder", + "sizes": [{ + "flash_bytes": 285594, + "flash_percentage": 21, + "ram_bytes": 11608, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Utilities/MD5Builder", + "sizes": [{ + "flash_bytes": 285852, + "flash_percentage": 21, + "ram_bytes": 11608, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Utilities/SHA1Builder", + "sizes": [{ + "flash_bytes": 292144, + "flash_percentage": 22, + "ram_bytes": 11608, + "ram_percentage": 3 + }] + }, +{"name": "ESP_I2S/examples/ES8388_loopback", + "sizes": [{ + "flash_bytes": 366394, + "flash_percentage": 27, + "ram_bytes": 13540, + "ram_percentage": 4 + }] + }, +{"name": "ESP_I2S/examples/Simple_tone", + "sizes": [{ + "flash_bytes": 311486, + "flash_percentage": 23, + "ram_bytes": 11736, + "ram_percentage": 3 + }] + }, +{"name": "ESP_NOW/examples/ESP_NOW_Broadcast_Master", + "sizes": [{ + "flash_bytes": 930574, + "flash_percentage": 70, + "ram_bytes": 35200, + "ram_percentage": 10 + }] + }, +{"name": "ESP_NOW/examples/ESP_NOW_Broadcast_Slave", + "sizes": [{ + "flash_bytes": 930774, + "flash_percentage": 71, + "ram_bytes": 35168, + "ram_percentage": 10 + }] + }, +{"name": "ESP_NOW/examples/ESP_NOW_Network", + "sizes": [{ + "flash_bytes": 934206, + "flash_percentage": 71, + "ram_bytes": 35264, + "ram_percentage": 10 + }] + }, +{"name": "ESP_NOW/examples/ESP_NOW_Serial", + "sizes": [{ + "flash_bytes": 933488, + "flash_percentage": 71, + "ram_bytes": 35256, + "ram_percentage": 10 + }] + }, +{"name": "ESPmDNS/examples/mDNS-SD_Extended", + "sizes": [{ + "flash_bytes": 953276, + "flash_percentage": 72, + "ram_bytes": 37312, + "ram_percentage": 11 + }] + }, +{"name": "ESPmDNS/examples/mDNS_Web_Server", + "sizes": [{ + "flash_bytes": 975650, + "flash_percentage": 74, + "ram_bytes": 38608, + "ram_percentage": 11 + }] + }, +{"name": "Ethernet/examples/ETH_W5500_Arduino_SPI", + "sizes": [{ + "flash_bytes": 580850, + "flash_percentage": 44, + "ram_bytes": 17784, + "ram_percentage": 5 + }] + }, +{"name": "Ethernet/examples/ETH_W5500_IDF_SPI", + "sizes": [{ + "flash_bytes": 579166, + "flash_percentage": 44, + "ram_bytes": 17784, + "ram_percentage": 5 + }] + }, +{"name": "Ethernet/examples/ETH_WIFI_BRIDGE", + "sizes": [{ + "flash_bytes": 1037416, + "flash_percentage": 79, + "ram_bytes": 36312, + "ram_percentage": 11 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c6", + "target": "esp32c6", + "sketches": [ +{"name": "ESPmDNS/examples/mDNS_Web_Server", + "sizes": [{ + "flash_bytes": 984125, + "flash_percentage": 75, + "ram_bytes": 44668, + "ram_percentage": 13 + }] + }, +{"name": "Ethernet/examples/ETH_W5500_Arduino_SPI", + "sizes": [{ + "flash_bytes": 540031, + "flash_percentage": 41, + "ram_bytes": 18964, + "ram_percentage": 5 + }] + }, +{"name": "Ethernet/examples/ETH_W5500_IDF_SPI", + "sizes": [{ + "flash_bytes": 538365, + "flash_percentage": 41, + "ram_bytes": 18964, + "ram_percentage": 5 + }] + }, +{"name": "Ethernet/examples/ETH_WIFI_BRIDGE", + "sizes": [{ + "flash_bytes": 1045915, + "flash_percentage": 79, + "ram_bytes": 42388, + "ram_percentage": 12 + }] + }, +{"name": "FFat/examples/FFat_Test", + "sizes": [{ + "flash_bytes": 296437, + "flash_percentage": 22, + "ram_bytes": 13584, + "ram_percentage": 4 + }] + }, +{"name": "FFat/examples/FFat_time", + "sizes": [{ + "flash_bytes": 989387, + "flash_percentage": 75, + "ram_bytes": 42596, + "ram_percentage": 12 + }] + }, +{"name": "HTTPClient/examples/Authorization", + "sizes": [{ + "flash_bytes": 1071781, + "flash_percentage": 81, + "ram_bytes": 43004, + "ram_percentage": 13 + }] + }, +{"name": "HTTPClient/examples/BasicHttpClient", + "sizes": [{ + "flash_bytes": 1071773, + "flash_percentage": 81, + "ram_bytes": 43004, + "ram_percentage": 13 + }] + }, +{"name": "HTTPClient/examples/BasicHttpsClient", + "sizes": [{ + "flash_bytes": 1076511, + "flash_percentage": 82, + "ram_bytes": 43036, + "ram_percentage": 13 + }] + }, +{"name": "HTTPClient/examples/HTTPClientEnterprise", + "sizes": [{ + "flash_bytes": 1132405, + "flash_percentage": 35, + "ram_bytes": 44404, + "ram_percentage": 13 + }] + }, +{"name": "HTTPClient/examples/ReuseConnection", + "sizes": [{ + "flash_bytes": 1071317, + "flash_percentage": 81, + "ram_bytes": 43212, + "ram_percentage": 13 + }] + }, +{"name": "HTTPClient/examples/StreamHttpClient", + "sizes": [{ + "flash_bytes": 1070763, + "flash_percentage": 81, + "ram_bytes": 43004, + "ram_percentage": 13 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdate", + "sizes": [{ + "flash_bytes": 1013075, + "flash_percentage": 77, + "ram_bytes": 43812, + "ram_percentage": 13 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdateSPIFFS", + "sizes": [{ + "flash_bytes": 1012457, + "flash_percentage": 77, + "ram_bytes": 43812, + "ram_percentage": 13 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdateSecure", + "sizes": [{ + "flash_bytes": 1113169, + "flash_percentage": 35, + "ram_bytes": 44356, + "ram_percentage": 13 + }] + }, +{"name": "HTTPUpdateServer/examples/WebUpdater", + "sizes": [{ + "flash_bytes": 1053249, + "flash_percentage": 80, + "ram_bytes": 46228, + "ram_percentage": 14 + }] + } +] +}, +{ "board": "espressif:esp32:esp32h2", + "target": "esp32h2", + "sketches": [ +{"name": "ESP32/examples/RMT/RMTCallback", + "sizes": [{ + "flash_bytes": 305581, + "flash_percentage": 23, + "ram_bytes": 14624, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/RMT/RMTLoopback", + "sizes": [{ + "flash_bytes": 307245, + "flash_percentage": 23, + "ram_bytes": 16048, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/RMT/RMTReadXJT", + "sizes": [{ + "flash_bytes": 306179, + "flash_percentage": 23, + "ram_bytes": 14496, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/RMT/RMTWrite_RGB_LED", + "sizes": [{ + "flash_bytes": 304627, + "flash_percentage": 23, + "ram_bytes": 17088, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/RMT/RMT_CPUFreq_Test", + "sizes": [{ + "flash_bytes": 305583, + "flash_percentage": 23, + "ram_bytes": 14008, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/RMT/RMT_EndOfTransmissionState", + "sizes": [{ + "flash_bytes": 305165, + "flash_percentage": 23, + "ram_bytes": 14064, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/RMT/RMT_LED_Blink", + "sizes": [{ + "flash_bytes": 307423, + "flash_percentage": 23, + "ram_bytes": 14120, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/ResetReason/ResetReason", + "sizes": [{ + "flash_bytes": 285025, + "flash_percentage": 21, + "ram_bytes": 12768, + "ram_percentage": 3 + }] + } +] +}, +{ "board": "espressif:esp32:esp32", + "target": "esp32", + "sketches": [ +{"name": "ESP32/examples/Timer/RepeatTimer", + "sizes": [{ + "flash_bytes": 314682, + "flash_percentage": 24, + "ram_bytes": 20640, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Timer/WatchdogTimer", + "sizes": [{ + "flash_bytes": 314470, + "flash_percentage": 23, + "ram_bytes": 20632, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Touch/TouchInterrupt", + "sizes": [{ + "flash_bytes": 312702, + "flash_percentage": 23, + "ram_bytes": 20776, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Touch/TouchRead", + "sizes": [{ + "flash_bytes": 313454, + "flash_percentage": 23, + "ram_bytes": 20768, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Utilities/HEXBuilder", + "sizes": [{ + "flash_bytes": 307266, + "flash_percentage": 23, + "ram_bytes": 20584, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Utilities/MD5Builder", + "sizes": [{ + "flash_bytes": 307510, + "flash_percentage": 23, + "ram_bytes": 20584, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Utilities/SHA1Builder", + "sizes": [{ + "flash_bytes": 312354, + "flash_percentage": 23, + "ram_bytes": 20584, + "ram_percentage": 6 + }] + }, +{"name": "ESP_I2S/examples/ES8388_loopback", + "sizes": [{ + "flash_bytes": 360998, + "flash_percentage": 27, + "ram_bytes": 22104, + "ram_percentage": 6 + }] + }, +{"name": "ESP_I2S/examples/Record_to_WAV", + "sizes": [{ + "flash_bytes": 410030, + "flash_percentage": 31, + "ram_bytes": 21508, + "ram_percentage": 6 + }] + }, +{"name": "ESP_I2S/examples/Simple_tone", + "sizes": [{ + "flash_bytes": 329610, + "flash_percentage": 25, + "ram_bytes": 20880, + "ram_percentage": 6 + }] + }, +{"name": "ESP_NOW/examples/ESP_NOW_Broadcast_Master", + "sizes": [{ + "flash_bytes": 907318, + "flash_percentage": 69, + "ram_bytes": 44804, + "ram_percentage": 13 + }] + }, +{"name": "ESP_NOW/examples/ESP_NOW_Broadcast_Slave", + "sizes": [{ + "flash_bytes": 907538, + "flash_percentage": 69, + "ram_bytes": 44772, + "ram_percentage": 13 + }] + }, +{"name": "ESP_NOW/examples/ESP_NOW_Network", + "sizes": [{ + "flash_bytes": 911090, + "flash_percentage": 69, + "ram_bytes": 44976, + "ram_percentage": 13 + }] + }, +{"name": "ESP_NOW/examples/ESP_NOW_Serial", + "sizes": [{ + "flash_bytes": 908086, + "flash_percentage": 69, + "ram_bytes": 44868, + "ram_percentage": 13 + }] + }, +{"name": "ESPmDNS/examples/mDNS-SD_Extended", + "sizes": [{ + "flash_bytes": 925354, + "flash_percentage": 70, + "ram_bytes": 46908, + "ram_percentage": 14 + }] + } +] +} +]} diff --git a/master_cli_compile/cli_compile_6.json b/master_cli_compile/cli_compile_6.json new file mode 100644 index 00000000000..6f9a8a3defc --- /dev/null +++ b/master_cli_compile/cli_compile_6.json @@ -0,0 +1,797 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32p4", + "target": "esp32p4", + "sketches": [ +{"name": "HTTPClient/examples/Authorization", + "sizes": [{ + "flash_bytes": 890091, + "flash_percentage": 67, + "ram_bytes": 29420, + "ram_percentage": 8 + }] + }, +{"name": "HTTPClient/examples/BasicHttpClient", + "sizes": [{ + "flash_bytes": 890075, + "flash_percentage": 67, + "ram_bytes": 29420, + "ram_percentage": 8 + }] + }, +{"name": "HTTPClient/examples/BasicHttpsClient", + "sizes": [{ + "flash_bytes": 894771, + "flash_percentage": 68, + "ram_bytes": 29444, + "ram_percentage": 8 + }] + }, +{"name": "HTTPClient/examples/ReuseConnection", + "sizes": [{ + "flash_bytes": 889623, + "flash_percentage": 67, + "ram_bytes": 29628, + "ram_percentage": 9 + }] + }, +{"name": "HTTPClient/examples/StreamHttpClient", + "sizes": [{ + "flash_bytes": 889069, + "flash_percentage": 67, + "ram_bytes": 29420, + "ram_percentage": 8 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdate", + "sizes": [{ + "flash_bytes": 732807, + "flash_percentage": 55, + "ram_bytes": 29092, + "ram_percentage": 8 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdateSPIFFS", + "sizes": [{ + "flash_bytes": 732193, + "flash_percentage": 55, + "ram_bytes": 29092, + "ram_percentage": 8 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdateSecure", + "sizes": [{ + "flash_bytes": 910595, + "flash_percentage": 28, + "ram_bytes": 29908, + "ram_percentage": 9 + }] + }, +{"name": "HTTPUpdateServer/examples/WebUpdater", + "sizes": [{ + "flash_bytes": 768059, + "flash_percentage": 58, + "ram_bytes": 31500, + "ram_percentage": 9 + }] + }, +{"name": "LittleFS/examples/LITTLEFS_test", + "sizes": [{ + "flash_bytes": 372231, + "flash_percentage": 28, + "ram_bytes": 22176, + "ram_percentage": 6 + }] + }, +{"name": "LittleFS/examples/LITTLEFS_time", + "sizes": [{ + "flash_bytes": 719045, + "flash_percentage": 54, + "ram_bytes": 28740, + "ram_percentage": 8 + }] + }, +{"name": "NetBIOS/examples/ESP_NBNST", + "sizes": [{ + "flash_bytes": 652253, + "flash_percentage": 49, + "ram_bytes": 27264, + "ram_percentage": 8 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s3", + "target": "esp32s3", + "sketches": [ +{"name": "HTTPClient/examples/HTTPClientEnterprise", + "sizes": [{ + "flash_bytes": 1047338, + "flash_percentage": 33, + "ram_bytes": 47660, + "ram_percentage": 14 + }] + }, +{"name": "HTTPClient/examples/ReuseConnection", + "sizes": [{ + "flash_bytes": 991054, + "flash_percentage": 75, + "ram_bytes": 46396, + "ram_percentage": 14 + }] + }, +{"name": "HTTPClient/examples/StreamHttpClient", + "sizes": [{ + "flash_bytes": 990786, + "flash_percentage": 75, + "ram_bytes": 46188, + "ram_percentage": 14 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdate", + "sizes": [{ + "flash_bytes": 945126, + "flash_percentage": 72, + "ram_bytes": 46428, + "ram_percentage": 14 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdateSPIFFS", + "sizes": [{ + "flash_bytes": 944406, + "flash_percentage": 72, + "ram_bytes": 46428, + "ram_percentage": 14 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdateSecure", + "sizes": [{ + "flash_bytes": 1035258, + "flash_percentage": 32, + "ram_bytes": 46988, + "ram_percentage": 14 + }] + }, +{"name": "HTTPUpdateServer/examples/WebUpdater", + "sizes": [{ + "flash_bytes": 971454, + "flash_percentage": 74, + "ram_bytes": 48788, + "ram_percentage": 14 + }] + }, +{"name": "Insights/examples/DiagnosticsSmokeTest", + "sizes": [{ + "flash_bytes": 992438, + "flash_percentage": 75, + "ram_bytes": 47732, + "ram_percentage": 14 + }] + }, +{"name": "Insights/examples/MinimalDiagnostics", + "sizes": [{ + "flash_bytes": 991906, + "flash_percentage": 75, + "ram_bytes": 47604, + "ram_percentage": 14 + }] + }, +{"name": "LittleFS/examples/LITTLEFS_test", + "sizes": [{ + "flash_bytes": 346198, + "flash_percentage": 26, + "ram_bytes": 21008, + "ram_percentage": 6 + }] + }, +{"name": "LittleFS/examples/LITTLEFS_time", + "sizes": [{ + "flash_bytes": 916242, + "flash_percentage": 69, + "ram_bytes": 45804, + "ram_percentage": 13 + }] + }, +{"name": "Matter/examples/MatterColorLight", + "sizes": [{ + "flash_bytes": 1704326, + "flash_percentage": 54, + "ram_bytes": 99636, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterCommissionTest", + "sizes": [{ + "flash_bytes": 1656986, + "flash_percentage": 52, + "ram_bytes": 99252, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterComposedLights", + "sizes": [{ + "flash_bytes": 1681538, + "flash_percentage": 53, + "ram_bytes": 99452, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterContactSensor", + "sizes": [{ + "flash_bytes": 1675878, + "flash_percentage": 53, + "ram_bytes": 99588, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterDimmableLight", + "sizes": [{ + "flash_bytes": 1689690, + "flash_percentage": 53, + "ram_bytes": 99636, + "ram_percentage": 30 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2", + "target": "esp32s2", + "sketches": [ +{"name": "HTTPUpdateServer/examples/WebUpdater", + "sizes": [{ + "flash_bytes": 934661, + "flash_percentage": 71, + "ram_bytes": 43372, + "ram_percentage": 13 + }] + }, +{"name": "Insights/examples/DiagnosticsSmokeTest", + "sizes": [{ + "flash_bytes": 962309, + "flash_percentage": 73, + "ram_bytes": 42352, + "ram_percentage": 12 + }] + }, +{"name": "Insights/examples/MinimalDiagnostics", + "sizes": [{ + "flash_bytes": 961801, + "flash_percentage": 73, + "ram_bytes": 42240, + "ram_percentage": 12 + }] + }, +{"name": "LittleFS/examples/LITTLEFS_test", + "sizes": [{ + "flash_bytes": 310865, + "flash_percentage": 23, + "ram_bytes": 16004, + "ram_percentage": 4 + }] + }, +{"name": "LittleFS/examples/LITTLEFS_time", + "sizes": [{ + "flash_bytes": 884817, + "flash_percentage": 67, + "ram_bytes": 40456, + "ram_percentage": 12 + }] + }, +{"name": "Matter/examples/MatterColorLight", + "sizes": [{ + "flash_bytes": 1665753, + "flash_percentage": 52, + "ram_bytes": 94220, + "ram_percentage": 28 + }] + }, +{"name": "Matter/examples/MatterCommissionTest", + "sizes": [{ + "flash_bytes": 1625313, + "flash_percentage": 51, + "ram_bytes": 93872, + "ram_percentage": 28 + }] + }, +{"name": "Matter/examples/MatterComposedLights", + "sizes": [{ + "flash_bytes": 1649993, + "flash_percentage": 52, + "ram_bytes": 94080, + "ram_percentage": 28 + }] + }, +{"name": "Matter/examples/MatterContactSensor", + "sizes": [{ + "flash_bytes": 1637345, + "flash_percentage": 52, + "ram_bytes": 94156, + "ram_percentage": 28 + }] + }, +{"name": "Matter/examples/MatterDimmableLight", + "sizes": [{ + "flash_bytes": 1651173, + "flash_percentage": 52, + "ram_bytes": 94220, + "ram_percentage": 28 + }] + }, +{"name": "Matter/examples/MatterEnhancedColorLight", + "sizes": [{ + "flash_bytes": 1673009, + "flash_percentage": 53, + "ram_bytes": 94260, + "ram_percentage": 28 + }] + }, +{"name": "Matter/examples/MatterFan", + "sizes": [{ + "flash_bytes": 1650633, + "flash_percentage": 52, + "ram_bytes": 94380, + "ram_percentage": 28 + }] + }, +{"name": "Matter/examples/MatterHumiditySensor", + "sizes": [{ + "flash_bytes": 1622965, + "flash_percentage": 51, + "ram_bytes": 93896, + "ram_percentage": 28 + }] + }, +{"name": "Matter/examples/MatterMinimum", + "sizes": [{ + "flash_bytes": 1643097, + "flash_percentage": 52, + "ram_bytes": 94180, + "ram_percentage": 28 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3", + "target": "esp32c3", + "sketches": [ +{"name": "FFat/examples/FFat_Test", + "sizes": [{ + "flash_bytes": 348660, + "flash_percentage": 26, + "ram_bytes": 12412, + "ram_percentage": 3 + }] + }, +{"name": "FFat/examples/FFat_time", + "sizes": [{ + "flash_bytes": 991258, + "flash_percentage": 75, + "ram_bytes": 36520, + "ram_percentage": 11 + }] + }, +{"name": "HTTPClient/examples/Authorization", + "sizes": [{ + "flash_bytes": 1072270, + "flash_percentage": 81, + "ram_bytes": 36928, + "ram_percentage": 11 + }] + }, +{"name": "HTTPClient/examples/BasicHttpClient", + "sizes": [{ + "flash_bytes": 1072262, + "flash_percentage": 81, + "ram_bytes": 36928, + "ram_percentage": 11 + }] + }, +{"name": "HTTPClient/examples/BasicHttpsClient", + "sizes": [{ + "flash_bytes": 1077092, + "flash_percentage": 82, + "ram_bytes": 36960, + "ram_percentage": 11 + }] + }, +{"name": "HTTPClient/examples/HTTPClientEnterprise", + "sizes": [{ + "flash_bytes": 1130900, + "flash_percentage": 35, + "ram_bytes": 37736, + "ram_percentage": 11 + }] + }, +{"name": "HTTPClient/examples/ReuseConnection", + "sizes": [{ + "flash_bytes": 1071806, + "flash_percentage": 81, + "ram_bytes": 37136, + "ram_percentage": 11 + }] + }, +{"name": "HTTPClient/examples/StreamHttpClient", + "sizes": [{ + "flash_bytes": 1071252, + "flash_percentage": 81, + "ram_bytes": 36928, + "ram_percentage": 11 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdate", + "sizes": [{ + "flash_bytes": 1012010, + "flash_percentage": 77, + "ram_bytes": 37704, + "ram_percentage": 11 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdateSPIFFS", + "sizes": [{ + "flash_bytes": 1011390, + "flash_percentage": 77, + "ram_bytes": 37704, + "ram_percentage": 11 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdateSecure", + "sizes": [{ + "flash_bytes": 1112210, + "flash_percentage": 35, + "ram_bytes": 38272, + "ram_percentage": 11 + }] + }, +{"name": "HTTPUpdateServer/examples/WebUpdater", + "sizes": [{ + "flash_bytes": 1045092, + "flash_percentage": 79, + "ram_bytes": 40152, + "ram_percentage": 12 + }] + }, +{"name": "Insights/examples/DiagnosticsSmokeTest", + "sizes": [{ + "flash_bytes": 1074312, + "flash_percentage": 81, + "ram_bytes": 38456, + "ram_percentage": 11 + }] + }, +{"name": "Insights/examples/MinimalDiagnostics", + "sizes": [{ + "flash_bytes": 1073686, + "flash_percentage": 81, + "ram_bytes": 38344, + "ram_percentage": 11 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c6", + "target": "esp32c6", + "sketches": [ +{"name": "Insights/examples/DiagnosticsSmokeTest", + "sizes": [{ + "flash_bytes": 1109573, + "flash_percentage": 84, + "ram_bytes": 44540, + "ram_percentage": 13 + }] + }, +{"name": "Insights/examples/MinimalDiagnostics", + "sizes": [{ + "flash_bytes": 1108923, + "flash_percentage": 84, + "ram_bytes": 44412, + "ram_percentage": 13 + }] + }, +{"name": "LittleFS/examples/LITTLEFS_test", + "sizes": [{ + "flash_bytes": 292359, + "flash_percentage": 22, + "ram_bytes": 13452, + "ram_percentage": 4 + }] + }, +{"name": "LittleFS/examples/LITTLEFS_time", + "sizes": [{ + "flash_bytes": 988397, + "flash_percentage": 75, + "ram_bytes": 42604, + "ram_percentage": 13 + }] + }, +{"name": "Matter/examples/MatterColorLight", + "sizes": [{ + "flash_bytes": 1691797, + "flash_percentage": 53, + "ram_bytes": 97044, + "ram_percentage": 29 + }] + }, +{"name": "Matter/examples/MatterCommissionTest", + "sizes": [{ + "flash_bytes": 1637759, + "flash_percentage": 52, + "ram_bytes": 96076, + "ram_percentage": 29 + }] + }, +{"name": "Matter/examples/MatterComposedLights", + "sizes": [{ + "flash_bytes": 1674491, + "flash_percentage": 53, + "ram_bytes": 96260, + "ram_percentage": 29 + }] + }, +{"name": "Matter/examples/MatterContactSensor", + "sizes": [{ + "flash_bytes": 1648605, + "flash_percentage": 52, + "ram_bytes": 96988, + "ram_percentage": 29 + }] + }, +{"name": "Matter/examples/MatterDimmableLight", + "sizes": [{ + "flash_bytes": 1668917, + "flash_percentage": 53, + "ram_bytes": 97044, + "ram_percentage": 29 + }] + }, +{"name": "Matter/examples/MatterEnhancedColorLight", + "sizes": [{ + "flash_bytes": 1702573, + "flash_percentage": 54, + "ram_bytes": 97092, + "ram_percentage": 29 + }] + }, +{"name": "Matter/examples/MatterFan", + "sizes": [{ + "flash_bytes": 1667895, + "flash_percentage": 53, + "ram_bytes": 97404, + "ram_percentage": 29 + }] + }, +{"name": "Matter/examples/MatterHumiditySensor", + "sizes": [{ + "flash_bytes": 1631265, + "flash_percentage": 51, + "ram_bytes": 96076, + "ram_percentage": 29 + }] + }, +{"name": "Matter/examples/MatterMinimum", + "sizes": [{ + "flash_bytes": 1658523, + "flash_percentage": 52, + "ram_bytes": 97012, + "ram_percentage": 29 + }] + }, +{"name": "Matter/examples/MatterOccupancySensor", + "sizes": [{ + "flash_bytes": 1633017, + "flash_percentage": 51, + "ram_bytes": 96076, + "ram_percentage": 29 + }] + }, +{"name": "Matter/examples/MatterOnIdentify", + "sizes": [{ + "flash_bytes": 1660199, + "flash_percentage": 52, + "ram_bytes": 97012, + "ram_percentage": 29 + }] + }, +{"name": "Matter/examples/MatterOnOffLight", + "sizes": [{ + "flash_bytes": 1661017, + "flash_percentage": 52, + "ram_bytes": 97020, + "ram_percentage": 29 + }] + } +] +}, +{ "board": "espressif:esp32:esp32h2", + "target": "esp32h2", + "sketches": [ +{"name": "ESP32/examples/ResetReason/ResetReason2", + "sizes": [{ + "flash_bytes": 284153, + "flash_percentage": 21, + "ram_bytes": 12768, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Serial/BaudRateDetect_Demo", + "sizes": [{ + "flash_bytes": 284117, + "flash_percentage": 21, + "ram_bytes": 12768, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Serial/OnReceiveError_BREAK_Demo", + "sizes": [{ + "flash_bytes": 287413, + "flash_percentage": 21, + "ram_bytes": 12808, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Serial/OnReceive_Demo", + "sizes": [{ + "flash_bytes": 285919, + "flash_percentage": 21, + "ram_bytes": 12784, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Serial/RS485_Echo_Demo", + "sizes": [{ + "flash_bytes": 284739, + "flash_percentage": 21, + "ram_bytes": 12768, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Serial/RxFIFOFull_Demo", + "sizes": [{ + "flash_bytes": 285325, + "flash_percentage": 21, + "ram_bytes": 12776, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Serial/RxTimeout_Demo", + "sizes": [{ + "flash_bytes": 285161, + "flash_percentage": 21, + "ram_bytes": 12776, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Serial/Serial_All_CPU_Freqs", + "sizes": [{ + "flash_bytes": 284931, + "flash_percentage": 21, + "ram_bytes": 12792, + "ram_percentage": 3 + }] + } +] +}, +{ "board": "espressif:esp32:esp32", + "target": "esp32", + "sketches": [ +{"name": "ESPmDNS/examples/mDNS_Web_Server", + "sizes": [{ + "flash_bytes": 944058, + "flash_percentage": 72, + "ram_bytes": 48204, + "ram_percentage": 14 + }] + }, +{"name": "Ethernet/examples/ETH_LAN8720", + "sizes": [{ + "flash_bytes": 523966, + "flash_percentage": 39, + "ram_bytes": 25672, + "ram_percentage": 7 + }] + }, +{"name": "Ethernet/examples/ETH_TLK110", + "sizes": [{ + "flash_bytes": 523966, + "flash_percentage": 39, + "ram_bytes": 25672, + "ram_percentage": 7 + }] + }, +{"name": "Ethernet/examples/ETH_W5500_Arduino_SPI", + "sizes": [{ + "flash_bytes": 560782, + "flash_percentage": 42, + "ram_bytes": 25688, + "ram_percentage": 7 + }] + }, +{"name": "Ethernet/examples/ETH_W5500_IDF_SPI", + "sizes": [{ + "flash_bytes": 559270, + "flash_percentage": 42, + "ram_bytes": 25688, + "ram_percentage": 7 + }] + }, +{"name": "Ethernet/examples/ETH_WIFI_BRIDGE", + "sizes": [{ + "flash_bytes": 988446, + "flash_percentage": 75, + "ram_bytes": 45068, + "ram_percentage": 13 + }] + }, +{"name": "FFat/examples/FFat_Test", + "sizes": [{ + "flash_bytes": 362810, + "flash_percentage": 27, + "ram_bytes": 21644, + "ram_percentage": 6 + }] + }, +{"name": "FFat/examples/FFat_time", + "sizes": [{ + "flash_bytes": 959874, + "flash_percentage": 73, + "ram_bytes": 46524, + "ram_percentage": 14 + }] + }, +{"name": "HTTPClient/examples/Authorization", + "sizes": [{ + "flash_bytes": 1035870, + "flash_percentage": 79, + "ram_bytes": 47884, + "ram_percentage": 14 + }] + }, +{"name": "HTTPClient/examples/BasicHttpClient", + "sizes": [{ + "flash_bytes": 1035846, + "flash_percentage": 79, + "ram_bytes": 47884, + "ram_percentage": 14 + }] + }, +{"name": "HTTPClient/examples/BasicHttpsClient", + "sizes": [{ + "flash_bytes": 1040490, + "flash_percentage": 79, + "ram_bytes": 48100, + "ram_percentage": 14 + }] + }, +{"name": "HTTPClient/examples/HTTPClientEnterprise", + "sizes": [{ + "flash_bytes": 1091810, + "flash_percentage": 34, + "ram_bytes": 49332, + "ram_percentage": 15 + }] + }, +{"name": "HTTPClient/examples/ReuseConnection", + "sizes": [{ + "flash_bytes": 1035478, + "flash_percentage": 79, + "ram_bytes": 48092, + "ram_percentage": 14 + }] + }, +{"name": "HTTPClient/examples/StreamHttpClient", + "sizes": [{ + "flash_bytes": 1035206, + "flash_percentage": 78, + "ram_bytes": 47884, + "ram_percentage": 14 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdate", + "sizes": [{ + "flash_bytes": 967654, + "flash_percentage": 73, + "ram_bytes": 47772, + "ram_percentage": 14 + }] + } +] +} +]} diff --git a/master_cli_compile/cli_compile_7.json b/master_cli_compile/cli_compile_7.json new file mode 100644 index 00000000000..ef5cb24b347 --- /dev/null +++ b/master_cli_compile/cli_compile_7.json @@ -0,0 +1,797 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32p4", + "target": "esp32p4", + "sketches": [ +{"name": "NetworkClientSecure/examples/WiFiClientInsecure", + "sizes": [{ + "flash_bytes": 849947, + "flash_percentage": 64, + "ram_bytes": 29376, + "ram_percentage": 8 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientPSK", + "sizes": [{ + "flash_bytes": 849979, + "flash_percentage": 64, + "ram_bytes": 29408, + "ram_percentage": 8 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientSecure", + "sizes": [{ + "flash_bytes": 851817, + "flash_percentage": 27, + "ram_bytes": 29376, + "ram_percentage": 8 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientSecureProtocolUpgrade", + "sizes": [{ + "flash_bytes": 850935, + "flash_percentage": 64, + "ram_bytes": 29376, + "ram_percentage": 8 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientShowPeerCredentials", + "sizes": [{ + "flash_bytes": 892033, + "flash_percentage": 68, + "ram_bytes": 29388, + "ram_percentage": 8 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientTrustOnFirstUse", + "sizes": [{ + "flash_bytes": 869621, + "flash_percentage": 66, + "ram_bytes": 29444, + "ram_percentage": 8 + }] + }, +{"name": "PPP/examples/PPP_Basic", + "sizes": [{ + "flash_bytes": 579527, + "flash_percentage": 44, + "ram_bytes": 26516, + "ram_percentage": 8 + }] + }, +{"name": "PPP/examples/PPP_WIFI_BRIDGE", + "sizes": [{ + "flash_bytes": 727491, + "flash_percentage": 55, + "ram_bytes": 27412, + "ram_percentage": 8 + }] + }, +{"name": "Preferences/examples/Prefs2Struct", + "sizes": [{ + "flash_bytes": 330763, + "flash_percentage": 25, + "ram_bytes": 21528, + "ram_percentage": 6 + }] + }, +{"name": "Preferences/examples/StartCounter", + "sizes": [{ + "flash_bytes": 330495, + "flash_percentage": 25, + "ram_bytes": 21528, + "ram_percentage": 6 + }] + }, +{"name": "SD/examples/SD_Test", + "sizes": [{ + "flash_bytes": 392505, + "flash_percentage": 29, + "ram_bytes": 22284, + "ram_percentage": 6 + }] + }, +{"name": "SD/examples/SD_time", + "sizes": [{ + "flash_bytes": 722185, + "flash_percentage": 55, + "ram_bytes": 28740, + "ram_percentage": 8 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s3", + "target": "esp32s3", + "sketches": [ +{"name": "Matter/examples/MatterEnhancedColorLight", + "sizes": [{ + "flash_bytes": 1711354, + "flash_percentage": 54, + "ram_bytes": 99676, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterFan", + "sizes": [{ + "flash_bytes": 1691878, + "flash_percentage": 53, + "ram_bytes": 99988, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterHumiditySensor", + "sizes": [{ + "flash_bytes": 1654422, + "flash_percentage": 52, + "ram_bytes": 99268, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterMinimum", + "sizes": [{ + "flash_bytes": 1681630, + "flash_percentage": 53, + "ram_bytes": 99612, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterOccupancySensor", + "sizes": [{ + "flash_bytes": 1655470, + "flash_percentage": 52, + "ram_bytes": 99268, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterOnIdentify", + "sizes": [{ + "flash_bytes": 1682958, + "flash_percentage": 53, + "ram_bytes": 99612, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterOnOffLight", + "sizes": [{ + "flash_bytes": 1684534, + "flash_percentage": 53, + "ram_bytes": 99620, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterOnOffPlugin", + "sizes": [{ + "flash_bytes": 1684458, + "flash_percentage": 53, + "ram_bytes": 99620, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterPressureSensor", + "sizes": [{ + "flash_bytes": 1654430, + "flash_percentage": 52, + "ram_bytes": 99268, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterSmartButon", + "sizes": [{ + "flash_bytes": 1658014, + "flash_percentage": 52, + "ram_bytes": 99292, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterTemperatureLight", + "sizes": [{ + "flash_bytes": 1709458, + "flash_percentage": 54, + "ram_bytes": 99652, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterTemperatureSensor", + "sizes": [{ + "flash_bytes": 1654446, + "flash_percentage": 52, + "ram_bytes": 99268, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterThermostat", + "sizes": [{ + "flash_bytes": 1674250, + "flash_percentage": 53, + "ram_bytes": 99404, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/WiFiProvWithinMatter", + "sizes": [{ + "flash_bytes": 2296626, + "flash_percentage": 73, + "ram_bytes": 121404, + "ram_percentage": 37 + }] + }, +{"name": "NetBIOS/examples/ESP_NBNST", + "sizes": [{ + "flash_bytes": 857202, + "flash_percentage": 65, + "ram_bytes": 44276, + "ram_percentage": 13 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientInsecure", + "sizes": [{ + "flash_bytes": 953686, + "flash_percentage": 72, + "ram_bytes": 46100, + "ram_percentage": 14 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2", + "target": "esp32s2", + "sketches": [ +{"name": "Matter/examples/MatterOccupancySensor", + "sizes": [{ + "flash_bytes": 1624045, + "flash_percentage": 51, + "ram_bytes": 93896, + "ram_percentage": 28 + }] + }, +{"name": "Matter/examples/MatterOnIdentify", + "sizes": [{ + "flash_bytes": 1644445, + "flash_percentage": 52, + "ram_bytes": 94180, + "ram_percentage": 28 + }] + }, +{"name": "Matter/examples/MatterOnOffLight", + "sizes": [{ + "flash_bytes": 1646001, + "flash_percentage": 52, + "ram_bytes": 94188, + "ram_percentage": 28 + }] + }, +{"name": "Matter/examples/MatterOnOffPlugin", + "sizes": [{ + "flash_bytes": 1645929, + "flash_percentage": 52, + "ram_bytes": 94188, + "ram_percentage": 28 + }] + }, +{"name": "Matter/examples/MatterPressureSensor", + "sizes": [{ + "flash_bytes": 1622985, + "flash_percentage": 51, + "ram_bytes": 93896, + "ram_percentage": 28 + }] + }, +{"name": "Matter/examples/MatterSmartButon", + "sizes": [{ + "flash_bytes": 1626501, + "flash_percentage": 51, + "ram_bytes": 93920, + "ram_percentage": 28 + }] + }, +{"name": "Matter/examples/MatterTemperatureLight", + "sizes": [{ + "flash_bytes": 1670977, + "flash_percentage": 53, + "ram_bytes": 94236, + "ram_percentage": 28 + }] + }, +{"name": "Matter/examples/MatterTemperatureSensor", + "sizes": [{ + "flash_bytes": 1622997, + "flash_percentage": 51, + "ram_bytes": 93896, + "ram_percentage": 28 + }] + }, +{"name": "Matter/examples/MatterThermostat", + "sizes": [{ + "flash_bytes": 1642629, + "flash_percentage": 52, + "ram_bytes": 94032, + "ram_percentage": 28 + }] + }, +{"name": "Matter/examples/WiFiProvWithinMatter", + "sizes": [{ + "flash_bytes": 1776917, + "flash_percentage": 56, + "ram_bytes": 94268, + "ram_percentage": 28 + }] + }, +{"name": "NetBIOS/examples/ESP_NBNST", + "sizes": [{ + "flash_bytes": 826449, + "flash_percentage": 63, + "ram_bytes": 38928, + "ram_percentage": 11 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientInsecure", + "sizes": [{ + "flash_bytes": 924433, + "flash_percentage": 70, + "ram_bytes": 40744, + "ram_percentage": 12 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientPSK", + "sizes": [{ + "flash_bytes": 924461, + "flash_percentage": 70, + "ram_bytes": 40776, + "ram_percentage": 12 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientSecure", + "sizes": [{ + "flash_bytes": 926265, + "flash_percentage": 29, + "ram_bytes": 40744, + "ram_percentage": 12 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3", + "target": "esp32c3", + "sketches": [ +{"name": "LittleFS/examples/LITTLEFS_test", + "sizes": [{ + "flash_bytes": 333978, + "flash_percentage": 25, + "ram_bytes": 12280, + "ram_percentage": 3 + }] + }, +{"name": "LittleFS/examples/LITTLEFS_time", + "sizes": [{ + "flash_bytes": 990374, + "flash_percentage": 75, + "ram_bytes": 36528, + "ram_percentage": 11 + }] + }, +{"name": "Matter/examples/MatterColorLight", + "sizes": [{ + "flash_bytes": 1682506, + "flash_percentage": 53, + "ram_bytes": 90968, + "ram_percentage": 27 + }] + }, +{"name": "Matter/examples/MatterCommissionTest", + "sizes": [{ + "flash_bytes": 1628412, + "flash_percentage": 51, + "ram_bytes": 90000, + "ram_percentage": 27 + }] + }, +{"name": "Matter/examples/MatterComposedLights", + "sizes": [{ + "flash_bytes": 1664872, + "flash_percentage": 52, + "ram_bytes": 90160, + "ram_percentage": 27 + }] + }, +{"name": "Matter/examples/MatterContactSensor", + "sizes": [{ + "flash_bytes": 1639226, + "flash_percentage": 52, + "ram_bytes": 90912, + "ram_percentage": 27 + }] + }, +{"name": "Matter/examples/MatterDimmableLight", + "sizes": [{ + "flash_bytes": 1659596, + "flash_percentage": 52, + "ram_bytes": 90968, + "ram_percentage": 27 + }] + }, +{"name": "Matter/examples/MatterEnhancedColorLight", + "sizes": [{ + "flash_bytes": 1693020, + "flash_percentage": 53, + "ram_bytes": 91000, + "ram_percentage": 27 + }] + }, +{"name": "Matter/examples/MatterFan", + "sizes": [{ + "flash_bytes": 1655666, + "flash_percentage": 52, + "ram_bytes": 91128, + "ram_percentage": 27 + }] + }, +{"name": "Matter/examples/MatterHumiditySensor", + "sizes": [{ + "flash_bytes": 1621608, + "flash_percentage": 51, + "ram_bytes": 89992, + "ram_percentage": 27 + }] + }, +{"name": "Matter/examples/MatterMinimum", + "sizes": [{ + "flash_bytes": 1649156, + "flash_percentage": 52, + "ram_bytes": 90936, + "ram_percentage": 27 + }] + }, +{"name": "Matter/examples/MatterOccupancySensor", + "sizes": [{ + "flash_bytes": 1623354, + "flash_percentage": 51, + "ram_bytes": 89992, + "ram_percentage": 27 + }] + }, +{"name": "Matter/examples/MatterOnIdentify", + "sizes": [{ + "flash_bytes": 1650842, + "flash_percentage": 52, + "ram_bytes": 90936, + "ram_percentage": 27 + }] + }, +{"name": "Matter/examples/MatterOnOffLight", + "sizes": [{ + "flash_bytes": 1651662, + "flash_percentage": 52, + "ram_bytes": 90944, + "ram_percentage": 27 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c6", + "target": "esp32c6", + "sketches": [ +{"name": "Matter/examples/MatterOnOffPlugin", + "sizes": [{ + "flash_bytes": 1660921, + "flash_percentage": 52, + "ram_bytes": 97020, + "ram_percentage": 29 + }] + }, +{"name": "Matter/examples/MatterPressureSensor", + "sizes": [{ + "flash_bytes": 1631241, + "flash_percentage": 51, + "ram_bytes": 96076, + "ram_percentage": 29 + }] + }, +{"name": "Matter/examples/MatterSmartButon", + "sizes": [{ + "flash_bytes": 1637215, + "flash_percentage": 52, + "ram_bytes": 96092, + "ram_percentage": 29 + }] + }, +{"name": "Matter/examples/MatterTemperatureLight", + "sizes": [{ + "flash_bytes": 1699975, + "flash_percentage": 54, + "ram_bytes": 97060, + "ram_percentage": 29 + }] + }, +{"name": "Matter/examples/MatterTemperatureSensor", + "sizes": [{ + "flash_bytes": 1631281, + "flash_percentage": 51, + "ram_bytes": 96076, + "ram_percentage": 29 + }] + }, +{"name": "Matter/examples/MatterThermostat", + "sizes": [{ + "flash_bytes": 1662117, + "flash_percentage": 52, + "ram_bytes": 96204, + "ram_percentage": 29 + }] + }, +{"name": "Matter/examples/WiFiProvWithinMatter", + "sizes": [{ + "flash_bytes": 2472383, + "flash_percentage": 78, + "ram_bytes": 118496, + "ram_percentage": 36 + }] + }, +{"name": "NetBIOS/examples/ESP_NBNST", + "sizes": [{ + "flash_bytes": 932009, + "flash_percentage": 71, + "ram_bytes": 41108, + "ram_percentage": 12 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientInsecure", + "sizes": [{ + "flash_bytes": 1040811, + "flash_percentage": 79, + "ram_bytes": 42924, + "ram_percentage": 13 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientPSK", + "sizes": [{ + "flash_bytes": 1040845, + "flash_percentage": 79, + "ram_bytes": 42948, + "ram_percentage": 13 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientSecure", + "sizes": [{ + "flash_bytes": 1042693, + "flash_percentage": 33, + "ram_bytes": 42932, + "ram_percentage": 13 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientSecureEnterprise", + "sizes": [{ + "flash_bytes": 1105901, + "flash_percentage": 35, + "ram_bytes": 44388, + "ram_percentage": 13 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientSecureProtocolUpgrade", + "sizes": [{ + "flash_bytes": 1041831, + "flash_percentage": 79, + "ram_bytes": 42924, + "ram_percentage": 13 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientShowPeerCredentials", + "sizes": [{ + "flash_bytes": 1074207, + "flash_percentage": 81, + "ram_bytes": 42940, + "ram_percentage": 13 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientTrustOnFirstUse", + "sizes": [{ + "flash_bytes": 1054997, + "flash_percentage": 80, + "ram_bytes": 42964, + "ram_percentage": 13 + }] + }, +{"name": "OpenThread/examples/COAP/coap_lamp", + "sizes": [{ + "flash_bytes": 1102145, + "flash_percentage": 84, + "ram_bytes": 48048, + "ram_percentage": 14 + }] + } +] +}, +{ "board": "espressif:esp32:esp32h2", + "target": "esp32h2", + "sketches": [ +{"name": "ESP32/examples/Serial/Serial_STD_Func_OnReceive", + "sizes": [{ + "flash_bytes": 285665, + "flash_percentage": 21, + "ram_bytes": 12776, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Serial/onReceiveExample", + "sizes": [{ + "flash_bytes": 285267, + "flash_percentage": 21, + "ram_bytes": 12784, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/TWAI/TWAIreceive", + "sizes": [{ + "flash_bytes": 288923, + "flash_percentage": 22, + "ram_bytes": 12768, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/TWAI/TWAItransmit", + "sizes": [{ + "flash_bytes": 289155, + "flash_percentage": 22, + "ram_bytes": 12776, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Template/ExampleTemplate", + "sizes": [{ + "flash_bytes": 268249, + "flash_percentage": 20, + "ram_bytes": 12760, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Timer/RepeatTimer", + "sizes": [{ + "flash_bytes": 294991, + "flash_percentage": 22, + "ram_bytes": 13140, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Timer/WatchdogTimer", + "sizes": [{ + "flash_bytes": 294791, + "flash_percentage": 22, + "ram_bytes": 13132, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Utilities/HEXBuilder", + "sizes": [{ + "flash_bytes": 286187, + "flash_percentage": 21, + "ram_bytes": 12768, + "ram_percentage": 3 + }] + } +] +}, +{ "board": "espressif:esp32:esp32", + "target": "esp32", + "sketches": [ +{"name": "HTTPUpdate/examples/httpUpdateSPIFFS", + "sizes": [{ + "flash_bytes": 966914, + "flash_percentage": 73, + "ram_bytes": 47772, + "ram_percentage": 14 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdateSecure", + "sizes": [{ + "flash_bytes": 1059254, + "flash_percentage": 33, + "ram_bytes": 48492, + "ram_percentage": 14 + }] + }, +{"name": "HTTPUpdateServer/examples/WebUpdater", + "sizes": [{ + "flash_bytes": 994394, + "flash_percentage": 75, + "ram_bytes": 48820, + "ram_percentage": 14 + }] + }, +{"name": "Insights/examples/DiagnosticsSmokeTest", + "sizes": [{ + "flash_bytes": 1035166, + "flash_percentage": 78, + "ram_bytes": 48068, + "ram_percentage": 14 + }] + }, +{"name": "Insights/examples/MinimalDiagnostics", + "sizes": [{ + "flash_bytes": 1034662, + "flash_percentage": 78, + "ram_bytes": 47956, + "ram_percentage": 14 + }] + }, +{"name": "LittleFS/examples/LITTLEFS_test", + "sizes": [{ + "flash_bytes": 348618, + "flash_percentage": 26, + "ram_bytes": 21256, + "ram_percentage": 6 + }] + }, +{"name": "LittleFS/examples/LITTLEFS_time", + "sizes": [{ + "flash_bytes": 959146, + "flash_percentage": 73, + "ram_bytes": 46460, + "ram_percentage": 14 + }] + }, +{"name": "Matter/examples/MatterColorLight", + "sizes": [{ + "flash_bytes": 1755534, + "flash_percentage": 55, + "ram_bytes": 99964, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterCommissionTest", + "sizes": [{ + "flash_bytes": 1719894, + "flash_percentage": 54, + "ram_bytes": 99712, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterComposedLights", + "sizes": [{ + "flash_bytes": 1746278, + "flash_percentage": 55, + "ram_bytes": 99880, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterContactSensor", + "sizes": [{ + "flash_bytes": 1718054, + "flash_percentage": 54, + "ram_bytes": 99696, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterDimmableLight", + "sizes": [{ + "flash_bytes": 1740254, + "flash_percentage": 55, + "ram_bytes": 99964, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterEnhancedColorLight", + "sizes": [{ + "flash_bytes": 1762770, + "flash_percentage": 56, + "ram_bytes": 100004, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterFan", + "sizes": [{ + "flash_bytes": 1741830, + "flash_percentage": 55, + "ram_bytes": 100124, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterHumiditySensor", + "sizes": [{ + "flash_bytes": 1717974, + "flash_percentage": 54, + "ram_bytes": 99696, + "ram_percentage": 30 + }] + } +] +} +]} diff --git a/master_cli_compile/cli_compile_8.json b/master_cli_compile/cli_compile_8.json new file mode 100644 index 00000000000..aa7bf6eb632 --- /dev/null +++ b/master_cli_compile/cli_compile_8.json @@ -0,0 +1,797 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32p4", + "target": "esp32p4", + "sketches": [ +{"name": "SD_MMC/examples/SD2USBMSC", + "sizes": [{ + "flash_bytes": 454957, + "flash_percentage": 34, + "ram_bytes": 49972, + "ram_percentage": 15 + }] + }, +{"name": "SD_MMC/examples/SDMMC_Test", + "sizes": [{ + "flash_bytes": 419583, + "flash_percentage": 32, + "ram_bytes": 22716, + "ram_percentage": 6 + }] + }, +{"name": "SD_MMC/examples/SDMMC_time", + "sizes": [{ + "flash_bytes": 720305, + "flash_percentage": 54, + "ram_bytes": 28784, + "ram_percentage": 8 + }] + }, +{"name": "SPI/examples/SPI_Multiple_Buses", + "sizes": [{ + "flash_bytes": 312385, + "flash_percentage": 23, + "ram_bytes": 21576, + "ram_percentage": 6 + }] + }, +{"name": "SPIFFS/examples/SPIFFS_Test", + "sizes": [{ + "flash_bytes": 364401, + "flash_percentage": 27, + "ram_bytes": 22044, + "ram_percentage": 6 + }] + }, +{"name": "SPIFFS/examples/SPIFFS_time", + "sizes": [{ + "flash_bytes": 712271, + "flash_percentage": 54, + "ram_bytes": 28608, + "ram_percentage": 8 + }] + }, +{"name": "TFLiteMicro/examples/hello_world", + "sizes": [{ + "flash_bytes": 344091, + "flash_percentage": 26, + "ram_bytes": 23836, + "ram_percentage": 7 + }] + }, +{"name": "Ticker/examples/Blinker", + "sizes": [{ + "flash_bytes": 311687, + "flash_percentage": 23, + "ram_bytes": 21616, + "ram_percentage": 6 + }] + }, +{"name": "Ticker/examples/TickerBasic", + "sizes": [{ + "flash_bytes": 311477, + "flash_percentage": 23, + "ram_bytes": 21592, + "ram_percentage": 6 + }] + }, +{"name": "Ticker/examples/TickerParameter", + "sizes": [{ + "flash_bytes": 311359, + "flash_percentage": 23, + "ram_bytes": 21616, + "ram_percentage": 6 + }] + }, +{"name": "USB/examples/CompositeDevice", + "sizes": [{ + "flash_bytes": 415083, + "flash_percentage": 31, + "ram_bytes": 49732, + "ram_percentage": 15 + }] + }, +{"name": "USB/examples/ConsumerControl", + "sizes": [{ + "flash_bytes": 350421, + "flash_percentage": 26, + "ram_bytes": 49296, + "ram_percentage": 15 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s3", + "target": "esp32s3", + "sketches": [ +{"name": "NetworkClientSecure/examples/WiFiClientPSK", + "sizes": [{ + "flash_bytes": 953734, + "flash_percentage": 72, + "ram_bytes": 46148, + "ram_percentage": 14 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientSecure", + "sizes": [{ + "flash_bytes": 955538, + "flash_percentage": 30, + "ram_bytes": 46116, + "ram_percentage": 14 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientSecureEnterprise", + "sizes": [{ + "flash_bytes": 1013354, + "flash_percentage": 32, + "ram_bytes": 47636, + "ram_percentage": 14 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientSecureProtocolUpgrade", + "sizes": [{ + "flash_bytes": 954474, + "flash_percentage": 72, + "ram_bytes": 46100, + "ram_percentage": 14 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientShowPeerCredentials", + "sizes": [{ + "flash_bytes": 995654, + "flash_percentage": 75, + "ram_bytes": 46124, + "ram_percentage": 14 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientTrustOnFirstUse", + "sizes": [{ + "flash_bytes": 967358, + "flash_percentage": 73, + "ram_bytes": 46172, + "ram_percentage": 14 + }] + }, +{"name": "PPP/examples/PPP_Basic", + "sizes": [{ + "flash_bytes": 554110, + "flash_percentage": 42, + "ram_bytes": 25700, + "ram_percentage": 7 + }] + }, +{"name": "PPP/examples/PPP_WIFI_BRIDGE", + "sizes": [{ + "flash_bytes": 950030, + "flash_percentage": 72, + "ram_bytes": 44764, + "ram_percentage": 13 + }] + }, +{"name": "Preferences/examples/Prefs2Struct", + "sizes": [{ + "flash_bytes": 311510, + "flash_percentage": 23, + "ram_bytes": 20368, + "ram_percentage": 6 + }] + }, +{"name": "Preferences/examples/StartCounter", + "sizes": [{ + "flash_bytes": 312342, + "flash_percentage": 23, + "ram_bytes": 20352, + "ram_percentage": 6 + }] + }, +{"name": "RainMaker/examples/RMakerCustom", + "sizes": [{ + "flash_bytes": 1797914, + "flash_percentage": 44, + "ram_bytes": 70340, + "ram_percentage": 21 + }] + }, +{"name": "RainMaker/examples/RMakerCustomAirCooler", + "sizes": [{ + "flash_bytes": 1785554, + "flash_percentage": 44, + "ram_bytes": 70456, + "ram_percentage": 21 + }] + }, +{"name": "RainMaker/examples/RMakerSonoffDualR3", + "sizes": [{ + "flash_bytes": 1801342, + "flash_percentage": 44, + "ram_bytes": 70916, + "ram_percentage": 21 + }] + }, +{"name": "RainMaker/examples/RMakerSwitch", + "sizes": [{ + "flash_bytes": 1809342, + "flash_percentage": 44, + "ram_bytes": 70436, + "ram_percentage": 21 + }] + }, +{"name": "SD/examples/SD_Test", + "sizes": [{ + "flash_bytes": 391706, + "flash_percentage": 9, + "ram_bytes": 21796, + "ram_percentage": 6 + }] + }, +{"name": "SD/examples/SD_time", + "sizes": [{ + "flash_bytes": 944606, + "flash_percentage": 72, + "ram_bytes": 46140, + "ram_percentage": 14 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2", + "target": "esp32s2", + "sketches": [ +{"name": "NetworkClientSecure/examples/WiFiClientSecureEnterprise", + "sizes": [{ + "flash_bytes": 982585, + "flash_percentage": 31, + "ram_bytes": 42288, + "ram_percentage": 12 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientSecureProtocolUpgrade", + "sizes": [{ + "flash_bytes": 925157, + "flash_percentage": 70, + "ram_bytes": 40744, + "ram_percentage": 12 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientShowPeerCredentials", + "sizes": [{ + "flash_bytes": 965797, + "flash_percentage": 73, + "ram_bytes": 40768, + "ram_percentage": 12 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientTrustOnFirstUse", + "sizes": [{ + "flash_bytes": 938097, + "flash_percentage": 71, + "ram_bytes": 40832, + "ram_percentage": 12 + }] + }, +{"name": "PPP/examples/PPP_Basic", + "sizes": [{ + "flash_bytes": 513457, + "flash_percentage": 39, + "ram_bytes": 20656, + "ram_percentage": 6 + }] + }, +{"name": "PPP/examples/PPP_WIFI_BRIDGE", + "sizes": [{ + "flash_bytes": 913005, + "flash_percentage": 69, + "ram_bytes": 39364, + "ram_percentage": 12 + }] + }, +{"name": "Preferences/examples/Prefs2Struct", + "sizes": [{ + "flash_bytes": 276441, + "flash_percentage": 21, + "ram_bytes": 15372, + "ram_percentage": 4 + }] + }, +{"name": "Preferences/examples/StartCounter", + "sizes": [{ + "flash_bytes": 277257, + "flash_percentage": 21, + "ram_bytes": 15372, + "ram_percentage": 4 + }] + }, +{"name": "RainMaker/examples/RMakerCustom", + "sizes": [{ + "flash_bytes": 1278757, + "flash_percentage": 31, + "ram_bytes": 43196, + "ram_percentage": 13 + }] + }, +{"name": "RainMaker/examples/RMakerCustomAirCooler", + "sizes": [{ + "flash_bytes": 1267021, + "flash_percentage": 31, + "ram_bytes": 43340, + "ram_percentage": 13 + }] + }, +{"name": "RainMaker/examples/RMakerSonoffDualR3", + "sizes": [{ + "flash_bytes": 1281937, + "flash_percentage": 31, + "ram_bytes": 43764, + "ram_percentage": 13 + }] + }, +{"name": "RainMaker/examples/RMakerSwitch", + "sizes": [{ + "flash_bytes": 1289893, + "flash_percentage": 31, + "ram_bytes": 43292, + "ram_percentage": 13 + }] + }, +{"name": "SD/examples/SD_Test", + "sizes": [{ + "flash_bytes": 348501, + "flash_percentage": 8, + "ram_bytes": 16776, + "ram_percentage": 5 + }] + }, +{"name": "SD/examples/SD_time", + "sizes": [{ + "flash_bytes": 906049, + "flash_percentage": 69, + "ram_bytes": 40740, + "ram_percentage": 12 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3", + "target": "esp32c3", + "sketches": [ +{"name": "Matter/examples/MatterOnOffPlugin", + "sizes": [{ + "flash_bytes": 1651566, + "flash_percentage": 52, + "ram_bytes": 90944, + "ram_percentage": 27 + }] + }, +{"name": "Matter/examples/MatterPressureSensor", + "sizes": [{ + "flash_bytes": 1621584, + "flash_percentage": 51, + "ram_bytes": 89992, + "ram_percentage": 27 + }] + }, +{"name": "Matter/examples/MatterSmartButon", + "sizes": [{ + "flash_bytes": 1627556, + "flash_percentage": 51, + "ram_bytes": 90008, + "ram_percentage": 27 + }] + }, +{"name": "Matter/examples/MatterTemperatureLight", + "sizes": [{ + "flash_bytes": 1690494, + "flash_percentage": 53, + "ram_bytes": 90984, + "ram_percentage": 27 + }] + }, +{"name": "Matter/examples/MatterTemperatureSensor", + "sizes": [{ + "flash_bytes": 1621624, + "flash_percentage": 51, + "ram_bytes": 89992, + "ram_percentage": 27 + }] + }, +{"name": "Matter/examples/MatterThermostat", + "sizes": [{ + "flash_bytes": 1648526, + "flash_percentage": 52, + "ram_bytes": 90128, + "ram_percentage": 27 + }] + }, +{"name": "Matter/examples/WiFiProvWithinMatter", + "sizes": [{ + "flash_bytes": 2362340, + "flash_percentage": 75, + "ram_bytes": 112760, + "ram_percentage": 34 + }] + }, +{"name": "NetBIOS/examples/ESP_NBNST", + "sizes": [{ + "flash_bytes": 923976, + "flash_percentage": 70, + "ram_bytes": 35032, + "ram_percentage": 10 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientInsecure", + "sizes": [{ + "flash_bytes": 1032320, + "flash_percentage": 78, + "ram_bytes": 36848, + "ram_percentage": 11 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientPSK", + "sizes": [{ + "flash_bytes": 1032354, + "flash_percentage": 78, + "ram_bytes": 36888, + "ram_percentage": 11 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientSecure", + "sizes": [{ + "flash_bytes": 1034202, + "flash_percentage": 32, + "ram_bytes": 36856, + "ram_percentage": 11 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientSecureEnterprise", + "sizes": [{ + "flash_bytes": 1095426, + "flash_percentage": 34, + "ram_bytes": 37704, + "ram_percentage": 11 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientSecureProtocolUpgrade", + "sizes": [{ + "flash_bytes": 1033334, + "flash_percentage": 78, + "ram_bytes": 36848, + "ram_percentage": 11 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientShowPeerCredentials", + "sizes": [{ + "flash_bytes": 1074440, + "flash_percentage": 81, + "ram_bytes": 36880, + "ram_percentage": 11 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c6", + "target": "esp32c6", + "sketches": [ +{"name": "OpenThread/examples/COAP/coap_switch", + "sizes": [{ + "flash_bytes": 1102185, + "flash_percentage": 84, + "ram_bytes": 48028, + "ram_percentage": 14 + }] + }, +{"name": "OpenThread/examples/SimpleCLI", + "sizes": [{ + "flash_bytes": 1079203, + "flash_percentage": 82, + "ram_bytes": 46708, + "ram_percentage": 14 + }] + }, +{"name": "OpenThread/examples/SimpleNode", + "sizes": [{ + "flash_bytes": 1081163, + "flash_percentage": 82, + "ram_bytes": 46708, + "ram_percentage": 14 + }] + }, +{"name": "OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode", + "sizes": [{ + "flash_bytes": 1082493, + "flash_percentage": 82, + "ram_bytes": 46708, + "ram_percentage": 14 + }] + }, +{"name": "OpenThread/examples/SimpleThreadNetwork/LeaderNode", + "sizes": [{ + "flash_bytes": 1079807, + "flash_percentage": 82, + "ram_bytes": 46708, + "ram_percentage": 14 + }] + }, +{"name": "OpenThread/examples/SimpleThreadNetwork/RouterNode", + "sizes": [{ + "flash_bytes": 1079871, + "flash_percentage": 82, + "ram_bytes": 46708, + "ram_percentage": 14 + }] + }, +{"name": "OpenThread/examples/ThreadScan", + "sizes": [{ + "flash_bytes": 1079551, + "flash_percentage": 82, + "ram_bytes": 46708, + "ram_percentage": 14 + }] + }, +{"name": "OpenThread/examples/onReceive", + "sizes": [{ + "flash_bytes": 1079093, + "flash_percentage": 82, + "ram_bytes": 46708, + "ram_percentage": 14 + }] + }, +{"name": "PPP/examples/PPP_Basic", + "sizes": [{ + "flash_bytes": 517003, + "flash_percentage": 39, + "ram_bytes": 18712, + "ram_percentage": 5 + }] + }, +{"name": "PPP/examples/PPP_WIFI_BRIDGE", + "sizes": [{ + "flash_bytes": 1028315, + "flash_percentage": 78, + "ram_bytes": 42164, + "ram_percentage": 12 + }] + }, +{"name": "Preferences/examples/Prefs2Struct", + "sizes": [{ + "flash_bytes": 251091, + "flash_percentage": 19, + "ram_bytes": 12812, + "ram_percentage": 3 + }] + }, +{"name": "Preferences/examples/StartCounter", + "sizes": [{ + "flash_bytes": 250851, + "flash_percentage": 19, + "ram_bytes": 12820, + "ram_percentage": 3 + }] + }, +{"name": "RainMaker/examples/RMakerCustom", + "sizes": [{ + "flash_bytes": 2126497, + "flash_percentage": 52, + "ram_bytes": 67400, + "ram_percentage": 20 + }] + }, +{"name": "RainMaker/examples/RMakerCustomAirCooler", + "sizes": [{ + "flash_bytes": 2113513, + "flash_percentage": 52, + "ram_bytes": 67568, + "ram_percentage": 20 + }] + }, +{"name": "RainMaker/examples/RMakerSonoffDualR3", + "sizes": [{ + "flash_bytes": 2128987, + "flash_percentage": 52, + "ram_bytes": 67800, + "ram_percentage": 20 + }] + }, +{"name": "RainMaker/examples/RMakerSwitch", + "sizes": [{ + "flash_bytes": 2139847, + "flash_percentage": 52, + "ram_bytes": 67488, + "ram_percentage": 20 + }] + } +] +}, +{ "board": "espressif:esp32:esp32h2", + "target": "esp32h2", + "sketches": [ +{"name": "ESP32/examples/Utilities/MD5Builder", + "sizes": [{ + "flash_bytes": 286449, + "flash_percentage": 21, + "ram_bytes": 12768, + "ram_percentage": 3 + }] + }, +{"name": "ESP32/examples/Utilities/SHA1Builder", + "sizes": [{ + "flash_bytes": 292737, + "flash_percentage": 22, + "ram_bytes": 12768, + "ram_percentage": 3 + }] + }, +{"name": "ESP_I2S/examples/ES8388_loopback", + "sizes": [{ + "flash_bytes": 367469, + "flash_percentage": 28, + "ram_bytes": 15388, + "ram_percentage": 4 + }] + }, +{"name": "ESP_I2S/examples/Simple_tone", + "sizes": [{ + "flash_bytes": 311909, + "flash_percentage": 23, + "ram_bytes": 12904, + "ram_percentage": 3 + }] + }, +{"name": "Ethernet/examples/ETH_W5500_Arduino_SPI", + "sizes": [{ + "flash_bytes": 575927, + "flash_percentage": 43, + "ram_bytes": 18960, + "ram_percentage": 5 + }] + }, +{"name": "Ethernet/examples/ETH_W5500_IDF_SPI", + "sizes": [{ + "flash_bytes": 574261, + "flash_percentage": 43, + "ram_bytes": 18960, + "ram_percentage": 5 + }] + }, +{"name": "FFat/examples/FFat_Test", + "sizes": [{ + "flash_bytes": 349359, + "flash_percentage": 26, + "ram_bytes": 13548, + "ram_percentage": 4 + }] + }, +{"name": "LittleFS/examples/LITTLEFS_test", + "sizes": [{ + "flash_bytes": 334727, + "flash_percentage": 25, + "ram_bytes": 13424, + "ram_percentage": 4 + }] + } +] +}, +{ "board": "espressif:esp32:esp32", + "target": "esp32", + "sketches": [ +{"name": "Matter/examples/MatterMinimum", + "sizes": [{ + "flash_bytes": 1724086, + "flash_percentage": 54, + "ram_bytes": 99720, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterOccupancySensor", + "sizes": [{ + "flash_bytes": 1719030, + "flash_percentage": 54, + "ram_bytes": 99696, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterOnIdentify", + "sizes": [{ + "flash_bytes": 1725494, + "flash_percentage": 54, + "ram_bytes": 99720, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterOnOffLight", + "sizes": [{ + "flash_bytes": 1727070, + "flash_percentage": 54, + "ram_bytes": 99728, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterOnOffPlugin", + "sizes": [{ + "flash_bytes": 1726994, + "flash_percentage": 54, + "ram_bytes": 99728, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterPressureSensor", + "sizes": [{ + "flash_bytes": 1717982, + "flash_percentage": 54, + "ram_bytes": 99696, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterSmartButon", + "sizes": [{ + "flash_bytes": 1721626, + "flash_percentage": 54, + "ram_bytes": 99720, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterTemperatureLight", + "sizes": [{ + "flash_bytes": 1754386, + "flash_percentage": 55, + "ram_bytes": 99980, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterTemperatureSensor", + "sizes": [{ + "flash_bytes": 1717994, + "flash_percentage": 54, + "ram_bytes": 99696, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/MatterThermostat", + "sizes": [{ + "flash_bytes": 1738310, + "flash_percentage": 55, + "ram_bytes": 99832, + "ram_percentage": 30 + }] + }, +{"name": "Matter/examples/WiFiProvWithinMatter", + "sizes": [{ + "flash_bytes": 2530986, + "flash_percentage": 80, + "ram_bytes": 114128, + "ram_percentage": 34 + }] + }, +{"name": "NetBIOS/examples/ESP_NBNST", + "sizes": [{ + "flash_bytes": 900086, + "flash_percentage": 68, + "ram_bytes": 44636, + "ram_percentage": 13 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientInsecure", + "sizes": [{ + "flash_bytes": 998630, + "flash_percentage": 76, + "ram_bytes": 46468, + "ram_percentage": 14 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientPSK", + "sizes": [{ + "flash_bytes": 998658, + "flash_percentage": 76, + "ram_bytes": 46492, + "ram_percentage": 14 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientSecure", + "sizes": [{ + "flash_bytes": 1000470, + "flash_percentage": 31, + "ram_bytes": 46468, + "ram_percentage": 14 + }] + } +] +} +]} diff --git a/master_cli_compile/cli_compile_9.json b/master_cli_compile/cli_compile_9.json new file mode 100644 index 00000000000..8d5158781fa --- /dev/null +++ b/master_cli_compile/cli_compile_9.json @@ -0,0 +1,797 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32p4", + "target": "esp32p4", + "sketches": [ +{"name": "USB/examples/CustomHIDDevice", + "sizes": [{ + "flash_bytes": 367529, + "flash_percentage": 28, + "ram_bytes": 49308, + "ram_percentage": 15 + }] + }, +{"name": "USB/examples/FirmwareMSC", + "sizes": [{ + "flash_bytes": 393249, + "flash_percentage": 30, + "ram_bytes": 49292, + "ram_percentage": 15 + }] + }, +{"name": "USB/examples/Gamepad", + "sizes": [{ + "flash_bytes": 367867, + "flash_percentage": 28, + "ram_bytes": 49316, + "ram_percentage": 15 + }] + }, +{"name": "USB/examples/HIDVendor", + "sizes": [{ + "flash_bytes": 371331, + "flash_percentage": 28, + "ram_bytes": 49372, + "ram_percentage": 15 + }] + }, +{"name": "USB/examples/Keyboard/KeyboardLogout", + "sizes": [{ + "flash_bytes": 352177, + "flash_percentage": 26, + "ram_bytes": 49312, + "ram_percentage": 15 + }] + }, +{"name": "USB/examples/Keyboard/KeyboardMessage", + "sizes": [{ + "flash_bytes": 352529, + "flash_percentage": 26, + "ram_bytes": 49320, + "ram_percentage": 15 + }] + }, +{"name": "USB/examples/Keyboard/KeyboardReprogram", + "sizes": [{ + "flash_bytes": 352713, + "flash_percentage": 26, + "ram_bytes": 49320, + "ram_percentage": 15 + }] + }, +{"name": "USB/examples/Keyboard/KeyboardSerial", + "sizes": [{ + "flash_bytes": 364669, + "flash_percentage": 27, + "ram_bytes": 49316, + "ram_percentage": 15 + }] + }, +{"name": "USB/examples/KeyboardAndMouseControl", + "sizes": [{ + "flash_bytes": 369269, + "flash_percentage": 28, + "ram_bytes": 49332, + "ram_percentage": 15 + }] + }, +{"name": "USB/examples/MIDI/MidiController", + "sizes": [{ + "flash_bytes": 376793, + "flash_percentage": 28, + "ram_bytes": 49740, + "ram_percentage": 15 + }] + }, +{"name": "USB/examples/MIDI/MidiInterface", + "sizes": [{ + "flash_bytes": 362547, + "flash_percentage": 27, + "ram_bytes": 49276, + "ram_percentage": 15 + }] + }, +{"name": "USB/examples/MIDI/MidiMusicBox", + "sizes": [{ + "flash_bytes": 366323, + "flash_percentage": 27, + "ram_bytes": 49292, + "ram_percentage": 15 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s3", + "target": "esp32s3", + "sketches": [ +{"name": "SD_MMC/examples/SD2USBMSC", + "sizes": [{ + "flash_bytes": 448694, + "flash_percentage": 34, + "ram_bytes": 40892, + "ram_percentage": 12 + }] + }, +{"name": "SD_MMC/examples/SDMMC_Test", + "sizes": [{ + "flash_bytes": 387462, + "flash_percentage": 29, + "ram_bytes": 21352, + "ram_percentage": 6 + }] + }, +{"name": "SD_MMC/examples/SDMMC_time", + "sizes": [{ + "flash_bytes": 946950, + "flash_percentage": 72, + "ram_bytes": 46124, + "ram_percentage": 14 + }] + }, +{"name": "SPI/examples/SPI_Multiple_Buses", + "sizes": [{ + "flash_bytes": 323810, + "flash_percentage": 24, + "ram_bytes": 21100, + "ram_percentage": 6 + }] + }, +{"name": "SPIFFS/examples/SPIFFS_Test", + "sizes": [{ + "flash_bytes": 340134, + "flash_percentage": 25, + "ram_bytes": 20872, + "ram_percentage": 6 + }] + }, +{"name": "SPIFFS/examples/SPIFFS_time", + "sizes": [{ + "flash_bytes": 910838, + "flash_percentage": 69, + "ram_bytes": 45676, + "ram_percentage": 13 + }] + }, +{"name": "SimpleBLE/examples/SimpleBleDevice", + "sizes": [{ + "flash_bytes": 860022, + "flash_percentage": 65, + "ram_bytes": 47380, + "ram_percentage": 14 + }] + }, +{"name": "TFLiteMicro/examples/hello_world", + "sizes": [{ + "flash_bytes": 326054, + "flash_percentage": 24, + "ram_bytes": 22648, + "ram_percentage": 6 + }] + }, +{"name": "Ticker/examples/Blinker", + "sizes": [{ + "flash_bytes": 320138, + "flash_percentage": 24, + "ram_bytes": 21108, + "ram_percentage": 6 + }] + }, +{"name": "Ticker/examples/TickerBasic", + "sizes": [{ + "flash_bytes": 319946, + "flash_percentage": 24, + "ram_bytes": 21052, + "ram_percentage": 6 + }] + }, +{"name": "Ticker/examples/TickerParameter", + "sizes": [{ + "flash_bytes": 319874, + "flash_percentage": 24, + "ram_bytes": 21084, + "ram_percentage": 6 + }] + }, +{"name": "USB/examples/CompositeDevice", + "sizes": [{ + "flash_bytes": 417742, + "flash_percentage": 31, + "ram_bytes": 40892, + "ram_percentage": 12 + }] + }, +{"name": "USB/examples/ConsumerControl", + "sizes": [{ + "flash_bytes": 363182, + "flash_percentage": 27, + "ram_bytes": 40428, + "ram_percentage": 12 + }] + }, +{"name": "USB/examples/CustomHIDDevice", + "sizes": [{ + "flash_bytes": 376166, + "flash_percentage": 28, + "ram_bytes": 40444, + "ram_percentage": 12 + }] + }, +{"name": "USB/examples/FirmwareMSC", + "sizes": [{ + "flash_bytes": 401478, + "flash_percentage": 30, + "ram_bytes": 40444, + "ram_percentage": 12 + }] + }, +{"name": "USB/examples/Gamepad", + "sizes": [{ + "flash_bytes": 376510, + "flash_percentage": 28, + "ram_bytes": 40452, + "ram_percentage": 12 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2", + "target": "esp32s2", + "sketches": [ +{"name": "SPI/examples/SPI_Multiple_Buses", + "sizes": [{ + "flash_bytes": 281413, + "flash_percentage": 21, + "ram_bytes": 16072, + "ram_percentage": 4 + }] + }, +{"name": "SPIFFS/examples/SPIFFS_Test", + "sizes": [{ + "flash_bytes": 304949, + "flash_percentage": 23, + "ram_bytes": 15876, + "ram_percentage": 4 + }] + }, +{"name": "SPIFFS/examples/SPIFFS_time", + "sizes": [{ + "flash_bytes": 879357, + "flash_percentage": 67, + "ram_bytes": 40320, + "ram_percentage": 12 + }] + }, +{"name": "TFLiteMicro/examples/hello_world", + "sizes": [{ + "flash_bytes": 289593, + "flash_percentage": 22, + "ram_bytes": 17644, + "ram_percentage": 5 + }] + }, +{"name": "Ticker/examples/Blinker", + "sizes": [{ + "flash_bytes": 281073, + "flash_percentage": 21, + "ram_bytes": 16096, + "ram_percentage": 4 + }] + }, +{"name": "Ticker/examples/TickerBasic", + "sizes": [{ + "flash_bytes": 280893, + "flash_percentage": 21, + "ram_bytes": 16056, + "ram_percentage": 4 + }] + }, +{"name": "Ticker/examples/TickerParameter", + "sizes": [{ + "flash_bytes": 280837, + "flash_percentage": 21, + "ram_bytes": 16096, + "ram_percentage": 4 + }] + }, +{"name": "USB/examples/CompositeDevice", + "sizes": [{ + "flash_bytes": 357705, + "flash_percentage": 27, + "ram_bytes": 35588, + "ram_percentage": 10 + }] + }, +{"name": "USB/examples/ConsumerControl", + "sizes": [{ + "flash_bytes": 303497, + "flash_percentage": 23, + "ram_bytes": 35148, + "ram_percentage": 10 + }] + }, +{"name": "USB/examples/CustomHIDDevice", + "sizes": [{ + "flash_bytes": 316705, + "flash_percentage": 24, + "ram_bytes": 35156, + "ram_percentage": 10 + }] + }, +{"name": "USB/examples/FirmwareMSC", + "sizes": [{ + "flash_bytes": 337125, + "flash_percentage": 25, + "ram_bytes": 34780, + "ram_percentage": 10 + }] + }, +{"name": "USB/examples/Gamepad", + "sizes": [{ + "flash_bytes": 317049, + "flash_percentage": 24, + "ram_bytes": 35164, + "ram_percentage": 10 + }] + }, +{"name": "USB/examples/HIDVendor", + "sizes": [{ + "flash_bytes": 319089, + "flash_percentage": 24, + "ram_bytes": 35236, + "ram_percentage": 10 + }] + }, +{"name": "USB/examples/Keyboard/KeyboardLogout", + "sizes": [{ + "flash_bytes": 304665, + "flash_percentage": 23, + "ram_bytes": 35180, + "ram_percentage": 10 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3", + "target": "esp32c3", + "sketches": [ +{"name": "NetworkClientSecure/examples/WiFiClientTrustOnFirstUse", + "sizes": [{ + "flash_bytes": 1045886, + "flash_percentage": 79, + "ram_bytes": 36880, + "ram_percentage": 11 + }] + }, +{"name": "PPP/examples/PPP_Basic", + "sizes": [{ + "flash_bytes": 558394, + "flash_percentage": 42, + "ram_bytes": 17524, + "ram_percentage": 5 + }] + }, +{"name": "PPP/examples/PPP_WIFI_BRIDGE", + "sizes": [{ + "flash_bytes": 1019932, + "flash_percentage": 77, + "ram_bytes": 36096, + "ram_percentage": 11 + }] + }, +{"name": "Preferences/examples/Prefs2Struct", + "sizes": [{ + "flash_bytes": 292896, + "flash_percentage": 22, + "ram_bytes": 11640, + "ram_percentage": 3 + }] + }, +{"name": "Preferences/examples/StartCounter", + "sizes": [{ + "flash_bytes": 292630, + "flash_percentage": 22, + "ram_bytes": 11640, + "ram_percentage": 3 + }] + }, +{"name": "RainMaker/examples/RMakerCustom", + "sizes": [{ + "flash_bytes": 1985454, + "flash_percentage": 49, + "ram_bytes": 61680, + "ram_percentage": 18 + }] + }, +{"name": "RainMaker/examples/RMakerCustomAirCooler", + "sizes": [{ + "flash_bytes": 1972080, + "flash_percentage": 48, + "ram_bytes": 61792, + "ram_percentage": 18 + }] + }, +{"name": "RainMaker/examples/RMakerSonoffDualR3", + "sizes": [{ + "flash_bytes": 1987706, + "flash_percentage": 49, + "ram_bytes": 61944, + "ram_percentage": 18 + }] + }, +{"name": "RainMaker/examples/RMakerSwitch", + "sizes": [{ + "flash_bytes": 1998554, + "flash_percentage": 49, + "ram_bytes": 61768, + "ram_percentage": 18 + }] + }, +{"name": "SD/examples/SD_Test", + "sizes": [{ + "flash_bytes": 374682, + "flash_percentage": 9, + "ram_bytes": 13612, + "ram_percentage": 4 + }] + }, +{"name": "SD/examples/SD_time", + "sizes": [{ + "flash_bytes": 1013760, + "flash_percentage": 77, + "ram_bytes": 37416, + "ram_percentage": 11 + }] + }, +{"name": "SPI/examples/SPI_Multiple_Buses", + "sizes": [{ + "flash_bytes": 297954, + "flash_percentage": 22, + "ram_bytes": 12900, + "ram_percentage": 3 + }] + }, +{"name": "SPIFFS/examples/SPIFFS_Test", + "sizes": [{ + "flash_bytes": 326268, + "flash_percentage": 24, + "ram_bytes": 12160, + "ram_percentage": 3 + }] + }, +{"name": "SPIFFS/examples/SPIFFS_time", + "sizes": [{ + "flash_bytes": 983600, + "flash_percentage": 75, + "ram_bytes": 36400, + "ram_percentage": 11 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c6", + "target": "esp32c6", + "sketches": [ +{"name": "SD/examples/SD_Test", + "sizes": [{ + "flash_bytes": 322311, + "flash_percentage": 24, + "ram_bytes": 14784, + "ram_percentage": 4 + }] + }, +{"name": "SD/examples/SD_time", + "sizes": [{ + "flash_bytes": 1011893, + "flash_percentage": 77, + "ram_bytes": 43500, + "ram_percentage": 13 + }] + }, +{"name": "SPI/examples/SPI_Multiple_Buses", + "sizes": [{ + "flash_bytes": 255071, + "flash_percentage": 19, + "ram_bytes": 14080, + "ram_percentage": 4 + }] + }, +{"name": "SPIFFS/examples/SPIFFS_Test", + "sizes": [{ + "flash_bytes": 284619, + "flash_percentage": 21, + "ram_bytes": 13324, + "ram_percentage": 4 + }] + }, +{"name": "SPIFFS/examples/SPIFFS_time", + "sizes": [{ + "flash_bytes": 981739, + "flash_percentage": 74, + "ram_bytes": 42476, + "ram_percentage": 12 + }] + }, +{"name": "SimpleBLE/examples/SimpleBleDevice", + "sizes": [{ + "flash_bytes": 1016387, + "flash_percentage": 77, + "ram_bytes": 38320, + "ram_percentage": 11 + }] + }, +{"name": "TFLiteMicro/examples/hello_world", + "sizes": [{ + "flash_bytes": 266173, + "flash_percentage": 20, + "ram_bytes": 15108, + "ram_percentage": 4 + }] + }, +{"name": "Ticker/examples/Blinker", + "sizes": [{ + "flash_bytes": 251875, + "flash_percentage": 19, + "ram_bytes": 14096, + "ram_percentage": 4 + }] + }, +{"name": "Ticker/examples/TickerBasic", + "sizes": [{ + "flash_bytes": 251655, + "flash_percentage": 19, + "ram_bytes": 14048, + "ram_percentage": 4 + }] + }, +{"name": "Ticker/examples/TickerParameter", + "sizes": [{ + "flash_bytes": 251533, + "flash_percentage": 19, + "ram_bytes": 14088, + "ram_percentage": 4 + }] + }, +{"name": "Update/examples/AWS_S3_OTA_Update", + "sizes": [{ + "flash_bytes": 975573, + "flash_percentage": 74, + "ram_bytes": 43516, + "ram_percentage": 13 + }] + }, +{"name": "Update/examples/HTTPS_OTA_Update", + "sizes": [{ + "flash_bytes": 1094669, + "flash_percentage": 83, + "ram_bytes": 43228, + "ram_percentage": 13 + }] + }, +{"name": "Update/examples/HTTP_Client_AES_OTA_Update", + "sizes": [{ + "flash_bytes": 1014317, + "flash_percentage": 77, + "ram_bytes": 43612, + "ram_percentage": 13 + }] + }, +{"name": "Update/examples/HTTP_Server_AES_OTA_Update", + "sizes": [{ + "flash_bytes": 1055293, + "flash_percentage": 80, + "ram_bytes": 46276, + "ram_percentage": 14 + }] + }, +{"name": "Update/examples/OTAWebUpdater", + "sizes": [{ + "flash_bytes": 1038293, + "flash_percentage": 79, + "ram_bytes": 46148, + "ram_percentage": 14 + }] + }, +{"name": "Update/examples/SD_Update", + "sizes": [{ + "flash_bytes": 327943, + "flash_percentage": 25, + "ram_bytes": 14640, + "ram_percentage": 4 + }] + } +] +}, +{ "board": "espressif:esp32:esp32h2", + "target": "esp32h2", + "sketches": [ +{"name": "OpenThread/examples/COAP/coap_lamp", + "sizes": [{ + "flash_bytes": 1122617, + "flash_percentage": 85, + "ram_bytes": 47096, + "ram_percentage": 14 + }] + }, +{"name": "OpenThread/examples/COAP/coap_switch", + "sizes": [{ + "flash_bytes": 1122655, + "flash_percentage": 85, + "ram_bytes": 47060, + "ram_percentage": 14 + }] + }, +{"name": "OpenThread/examples/SimpleCLI", + "sizes": [{ + "flash_bytes": 1099609, + "flash_percentage": 83, + "ram_bytes": 45736, + "ram_percentage": 13 + }] + }, +{"name": "OpenThread/examples/SimpleNode", + "sizes": [{ + "flash_bytes": 1101569, + "flash_percentage": 84, + "ram_bytes": 45736, + "ram_percentage": 13 + }] + }, +{"name": "OpenThread/examples/SimpleThreadNetwork/ExtendedRouterNode", + "sizes": [{ + "flash_bytes": 1102905, + "flash_percentage": 84, + "ram_bytes": 45744, + "ram_percentage": 13 + }] + }, +{"name": "OpenThread/examples/SimpleThreadNetwork/LeaderNode", + "sizes": [{ + "flash_bytes": 1100283, + "flash_percentage": 83, + "ram_bytes": 45744, + "ram_percentage": 13 + }] + }, +{"name": "OpenThread/examples/SimpleThreadNetwork/RouterNode", + "sizes": [{ + "flash_bytes": 1100347, + "flash_percentage": 83, + "ram_bytes": 45744, + "ram_percentage": 13 + }] + }, +{"name": "OpenThread/examples/ThreadScan", + "sizes": [{ + "flash_bytes": 1099959, + "flash_percentage": 83, + "ram_bytes": 45736, + "ram_percentage": 13 + }] + } +] +}, +{ "board": "espressif:esp32:esp32", + "target": "esp32", + "sketches": [ +{"name": "NetworkClientSecure/examples/WiFiClientSecureEnterprise", + "sizes": [{ + "flash_bytes": 1058274, + "flash_percentage": 33, + "ram_bytes": 47956, + "ram_percentage": 14 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientSecureProtocolUpgrade", + "sizes": [{ + "flash_bytes": 999370, + "flash_percentage": 76, + "ram_bytes": 46468, + "ram_percentage": 14 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientShowPeerCredentials", + "sizes": [{ + "flash_bytes": 1039586, + "flash_percentage": 79, + "ram_bytes": 47828, + "ram_percentage": 14 + }] + }, +{"name": "NetworkClientSecure/examples/WiFiClientTrustOnFirstUse", + "sizes": [{ + "flash_bytes": 1012554, + "flash_percentage": 77, + "ram_bytes": 46492, + "ram_percentage": 14 + }] + }, +{"name": "PPP/examples/PPP_Basic", + "sizes": [{ + "flash_bytes": 544102, + "flash_percentage": 41, + "ram_bytes": 25376, + "ram_percentage": 7 + }] + }, +{"name": "PPP/examples/PPP_WIFI_BRIDGE", + "sizes": [{ + "flash_bytes": 973930, + "flash_percentage": 74, + "ram_bytes": 44772, + "ram_percentage": 13 + }] + }, +{"name": "Preferences/examples/Prefs2Struct", + "sizes": [{ + "flash_bytes": 313158, + "flash_percentage": 23, + "ram_bytes": 20608, + "ram_percentage": 6 + }] + }, +{"name": "Preferences/examples/StartCounter", + "sizes": [{ + "flash_bytes": 314010, + "flash_percentage": 23, + "ram_bytes": 20616, + "ram_percentage": 6 + }] + }, +{"name": "SD/examples/SD_Test", + "sizes": [{ + "flash_bytes": 369614, + "flash_percentage": 28, + "ram_bytes": 21676, + "ram_percentage": 6 + }] + }, +{"name": "SD/examples/SD_time", + "sizes": [{ + "flash_bytes": 966634, + "flash_percentage": 73, + "ram_bytes": 46540, + "ram_percentage": 14 + }] + }, +{"name": "SD_MMC/examples/SDMMC_Test", + "sizes": [{ + "flash_bytes": 389686, + "flash_percentage": 29, + "ram_bytes": 21844, + "ram_percentage": 6 + }] + }, +{"name": "SD_MMC/examples/SDMMC_time", + "sizes": [{ + "flash_bytes": 990426, + "flash_percentage": 75, + "ram_bytes": 46812, + "ram_percentage": 14 + }] + }, +{"name": "SPI/examples/SPI_Multiple_Buses", + "sizes": [{ + "flash_bytes": 300438, + "flash_percentage": 22, + "ram_bytes": 20704, + "ram_percentage": 6 + }] + }, +{"name": "SPIFFS/examples/SPIFFS_Test", + "sizes": [{ + "flash_bytes": 342894, + "flash_percentage": 26, + "ram_bytes": 21128, + "ram_percentage": 6 + }] + }, +{"name": "SPIFFS/examples/SPIFFS_time", + "sizes": [{ + "flash_bytes": 953974, + "flash_percentage": 72, + "ram_bytes": 46324, + "ram_percentage": 14 + }] + } +] +} +]} diff --git a/package_esp32_dev_index.json b/package_esp32_dev_index.json index edef8c5006d..ecaf489adb6 100644 --- a/package_esp32_dev_index.json +++ b/package_esp32_dev_index.json @@ -12,12 +12,12 @@ { "name": "esp32", "architecture": "esp32", - "version": "2.0.7", + "version": "3.3.0-alpha1", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.7/esp32-2.0.7.zip", - "archiveFileName": "esp32-2.0.7.zip", - "checksum": "SHA-256:b5a7a54fca36501d1108413310ec50ae2df655c14c3881325903cde2c7ae5f80", - "size": "278966011", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.3.0-alpha1/esp32-3.3.0-alpha1.zip", + "archiveFileName": "esp32-3.3.0-alpha1.zip", + "checksum": "SHA-256:1ecaa232ccdf4d32211d55d203e1a655e75945c6326e8c27e8c059eca7946d37", + "size": "25494893", "help": { "online": "" }, @@ -25,6 +25,18 @@ { "name": "ESP32 Dev Board" }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "ESP32-C6 Dev Board" + }, + { + "name": "ESP32-H2 Dev Board" + }, + { + "name": "ESP32-P4 Dev Board" + }, { "name": "ESP32-S2 Dev Board" }, @@ -32,39 +44,44 @@ "name": "ESP32-S3 Dev Board" }, { - "name": "ESP32-C3 Dev Board" + "name": "Arduino Nano ESP32" } ], "toolsDependencies": [ { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "esp-2021r2-patch5-8.4.0" + "name": "esp32-arduino-libs", + "version": "idf-master-d930a386-v1" }, { "packager": "esp32", - "name": "xtensa-esp32s2-elf-gcc", - "version": "esp-2021r2-patch5-8.4.0" + "name": "esp-x32", + "version": "2411" }, { "packager": "esp32", - "name": "xtensa-esp32s3-elf-gcc", - "version": "esp-2021r2-patch5-8.4.0" + "name": "xtensa-esp-elf-gdb", + "version": "16.2_20250324" }, { "packager": "esp32", - "name": "riscv32-esp-elf-gcc", - "version": "esp-2021r2-patch5-8.4.0" + "name": "esp-rv32", + "version": "2411" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "16.2_20250324" }, { "packager": "esp32", "name": "openocd-esp32", - "version": "v0.11.0-esp32-20221026" + "version": "v0.12.0-esp32-20250226" }, { "packager": "esp32", "name": "esptool_py", - "version": "4.5" + "version": "4.9.dev3" }, { "packager": "esp32", @@ -75,18 +92,23 @@ "packager": "esp32", "name": "mklittlefs", "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { "name": "esp32", "architecture": "esp32", - "version": "2.0.6", + "version": "3.2.0", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esp32-2.0.6.zip", - "archiveFileName": "esp32-2.0.6.zip", - "checksum": "SHA-256:ea56d300404cc1b5bc15295f29790246b02025c493e0664a6d271164a602a351", - "size": "264579419", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.2.0/esp32-3.2.0.zip", + "archiveFileName": "esp32-3.2.0.zip", + "checksum": "SHA-256:d38b16fef6e519fc0d19bc5af0b39cdbed7dfc2ce69214c1971ded0e61ecd911", + "size": "25447136", "help": { "online": "" }, @@ -94,6 +116,18 @@ { "name": "ESP32 Dev Board" }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "ESP32-C6 Dev Board" + }, + { + "name": "ESP32-H2 Dev Board" + }, + { + "name": "ESP32-P4 Dev Board" + }, { "name": "ESP32-S2 Dev Board" }, @@ -101,39 +135,44 @@ "name": "ESP32-S3 Dev Board" }, { - "name": "ESP32-C3 Dev Board" + "name": "Arduino Nano ESP32" } ], "toolsDependencies": [ { "packager": "esp32", - "name": "riscv32-esp-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch5" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.4-2f7dcd86-v1" }, { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch5" + "name": "esp-x32", + "version": "2411" }, { "packager": "esp32", - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch5" + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403" }, { "packager": "esp32", - "name": "xtensa-esp32s3-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch5" + "name": "esp-rv32", + "version": "2411" }, { "packager": "esp32", - "name": "esptool_py", - "version": "4.2.1" + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403" }, { "packager": "esp32", "name": "openocd-esp32", - "version": "v0.11.0-esp32-20220706" + "version": "v0.12.0-esp32-20241016" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.9.dev3" }, { "packager": "esp32", @@ -144,18 +183,23 @@ "packager": "esp32", "name": "mklittlefs", "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { "name": "esp32", "architecture": "esp32", - "version": "2.0.5", + "version": "3.2.0-RC2", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.5/esp32-2.0.5.zip", - "archiveFileName": "esp32-2.0.5.zip", - "checksum": "SHA-256:c7a1040c5f007a799ef9eb249508e3544c3cf5246f67cdfdc1e80f7d0ca7b41d", - "size": "260916106", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.2.0-RC2/esp32-3.2.0-RC2.zip", + "archiveFileName": "esp32-3.2.0-RC2.zip", + "checksum": "SHA-256:fe6aacce1704f0782062d7d3fde24b40bf2591903de3351c86a55fa254a19e64", + "size": "25450856", "help": { "online": "" }, @@ -171,33 +215,46 @@ }, { "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], "toolsDependencies": [ { "packager": "esp32", - "name": "riscv32-esp-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.4-d4aa25a3-v1" }, { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "esp-x32", + "version": "2411" }, { "packager": "esp32", - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403" }, { "packager": "esp32", - "name": "xtensa-esp32s3-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "esp-rv32", + "version": "2411" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016" }, { "packager": "esp32", "name": "esptool_py", - "version": "4.2.1" + "version": "4.9.dev3" }, { "packager": "esp32", @@ -208,18 +265,23 @@ "packager": "esp32", "name": "mklittlefs", "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { "name": "esp32", "architecture": "esp32", - "version": "2.0.4", + "version": "3.2.0-RC1", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esp32-2.0.4.zip", - "archiveFileName": "esp32-2.0.4.zip", - "checksum": "SHA-256:832609d6f4cd0edf4e471f02e30b7f0e1c86fdd1b950990ef40431e656237214", - "size": "259715595", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.2.0-RC1/esp32-3.2.0-RC1.zip", + "archiveFileName": "esp32-3.2.0-RC1.zip", + "checksum": "SHA-256:dc70818eaeb8a596c6857953fbc59ed10fbedd28a5d3e5405e6bbd050e49e46b", + "size": "25443000", "help": { "online": "" }, @@ -235,33 +297,46 @@ }, { "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], "toolsDependencies": [ { "packager": "esp32", - "name": "riscv32-esp-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.4-bcb3c32d-v1" }, { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "esp-x32", + "version": "2411" }, { "packager": "esp32", - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403" }, { "packager": "esp32", - "name": "xtensa-esp32s3-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "esp-rv32", + "version": "2411" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016" }, { "packager": "esp32", "name": "esptool_py", - "version": "3.3.0" + "version": "4.9.dev3" }, { "packager": "esp32", @@ -272,18 +347,23 @@ "packager": "esp32", "name": "mklittlefs", "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { "name": "esp32", "architecture": "esp32", - "version": "2.0.3-RC1", + "version": "3.1.3", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.3-RC1/esp32-2.0.3-RC1.zip", - "archiveFileName": "esp32-2.0.3-RC1.zip", - "checksum": "SHA-256:2995a67715086056cbece36e0b142d5dc9a7062165473fdc4ca47d38843c30eb", - "size": "246117997", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.3/esp32-3.1.3.zip", + "archiveFileName": "esp32-3.1.3.zip", + "checksum": "SHA-256:747160dbc81c6634c7bff9e8a57213e9982d52fe90d2a8f75a93a9f7b527defb", + "size": "25396700", "help": { "online": "" }, @@ -294,35 +374,51 @@ { "name": "ESP32-S2 Dev Board" }, + { + "name": "ESP32-S3 Dev Board" + }, { "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], "toolsDependencies": [ { "packager": "esp32", - "name": "riscv32-esp-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-489d7a2b-v1" }, { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "esp-x32", + "version": "2405" }, { "packager": "esp32", - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403" }, { "packager": "esp32", - "name": "xtensa-esp32s3-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "esp-rv32", + "version": "2405" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016" }, { "packager": "esp32", "name": "esptool_py", - "version": "3.3.0" + "version": "4.9.dev3" }, { "packager": "esp32", @@ -333,18 +429,23 @@ "packager": "esp32", "name": "mklittlefs", "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { "name": "esp32", "architecture": "esp32", - "version": "2.0.3", + "version": "3.1.2", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.3/esp32-2.0.3.zip", - "archiveFileName": "esp32-2.0.3.zip", - "checksum": "SHA-256:7a44ab32a2bfe18a84fd1f75aa1921dae92c6b4a74a2eb4d0c7d479b34996f3b", - "size": "246542267", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.2/esp32-3.1.2.zip", + "archiveFileName": "esp32-3.1.2.zip", + "checksum": "SHA-256:17214f51a7b9de547baa777419d2b041e1f09cfb17adb33c18617a756190f9f6", + "size": "25396684", "help": { "online": "" }, @@ -360,33 +461,46 @@ }, { "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], "toolsDependencies": [ { "packager": "esp32", - "name": "riscv32-esp-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-489d7a2b-v1" }, { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "esp-x32", + "version": "2405" }, { "packager": "esp32", - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403" }, { "packager": "esp32", - "name": "xtensa-esp32s3-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "esp-rv32", + "version": "2405" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016" }, { "packager": "esp32", "name": "esptool_py", - "version": "3.3.0" + "version": "4.9.dev3" }, { "packager": "esp32", @@ -397,18 +511,23 @@ "packager": "esp32", "name": "mklittlefs", "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { "name": "esp32", "architecture": "esp32", - "version": "2.0.2", + "version": "3.1.1", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esp32-2.0.2.zip", - "archiveFileName": "esp32-2.0.2.zip", - "checksum": "SHA-256:e139f22aab9cbe8109815de0be110e58a8f1d6c90a2e263eb0b0d646b53a5a33", - "size": "151846438", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.1/esp32-3.1.1.zip", + "archiveFileName": "esp32-3.1.1.zip", + "checksum": "SHA-256:e20982b2860eab4900ce16a0f2b7f9fc3ffb205e490dc933f625d53a5c9e8129", + "size": "25253828", "help": { "online": "" }, @@ -419,30 +538,51 @@ { "name": "ESP32-S2 Dev Board" }, + { + "name": "ESP32-S3 Dev Board" + }, { "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], "toolsDependencies": [ { "packager": "esp32", - "name": "riscv32-esp-elf-gcc", - "version": "gcc8_4_0-esp-2021r2" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-cfea4f7c-v1" }, { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2021r2" + "name": "esp-x32", + "version": "2405" }, { "packager": "esp32", - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2021r2" + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2405" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016" }, { "packager": "esp32", "name": "esptool_py", - "version": "3.1.0" + "version": "4.9.dev3" }, { "packager": "esp32", @@ -453,52 +593,78 @@ "packager": "esp32", "name": "mklittlefs", "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { "name": "esp32", "architecture": "esp32", - "version": "2.0.1-RC1", + "version": "3.1.0", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.1-RC1/esp32-2.0.1-RC1.zip", - "archiveFileName": "esp32-2.0.1-RC1.zip", - "checksum": "SHA-256:0ec6f42b42eef2c8f64d0d46bfc33ae1053aa90b24d87cbd9cf4e9812501d652", - "size": "118638415", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0/esp32-3.1.0.zip", + "archiveFileName": "esp32-3.1.0.zip", + "checksum": "SHA-256:0db044159e3fc737435b3f1d547bf85c60a33a175342c317d2a5c08c42977f80", + "size": "25225607", "help": { "online": "" }, "boards": [ { - "name": "ESP32 Dev Module" + "name": "ESP32 Dev Board" }, { - "name": "WEMOS LoLin32" + "name": "ESP32-S2 Dev Board" }, { - "name": "WEMOS D1 MINI ESP32" + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], "toolsDependencies": [ { "packager": "esp32", - "name": "riscv32-esp-elf-gcc", - "version": "gcc8_4_0-esp-2021r1" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-083aad99-v2" }, { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2021r1" + "name": "esp-x32", + "version": "2405" }, { "packager": "esp32", - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2021r1" + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2405" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016" }, { "packager": "esp32", "name": "esptool_py", - "version": "3.1.0" + "version": "4.9.dev3" }, { "packager": "esp32", @@ -509,18 +675,23 @@ "packager": "esp32", "name": "mklittlefs", "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { "name": "esp32", "architecture": "esp32", - "version": "2.0.1", + "version": "3.1.0-RC3", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.1/esp32-2.0.1.zip", - "archiveFileName": "esp32-2.0.1.zip", - "checksum": "SHA-256:3a7cd46ba47990dd37fbe02b7f0a910dd5cc7af1d190350b69d320ed36cd6b41", - "size": "148976301", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC3/esp32-3.1.0-RC3.zip", + "archiveFileName": "esp32-3.1.0-RC3.zip", + "checksum": "SHA-256:60c8a9a0a4fba8533ce278ca1315425a55e2abf0c83c94d9fc0b8cafb50f6d3f", + "size": "24652789", "help": { "online": "" }, @@ -531,30 +702,51 @@ { "name": "ESP32-S2 Dev Board" }, + { + "name": "ESP32-S3 Dev Board" + }, { "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], "toolsDependencies": [ { "packager": "esp32", - "name": "riscv32-esp-elf-gcc", - "version": "gcc8_4_0-esp-2021r2" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-a0f798cf" }, { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2021r2" + "name": "esp-x32", + "version": "2405" }, { "packager": "esp32", - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2021r2" + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2405" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016" }, { "packager": "esp32", "name": "esptool_py", - "version": "3.1.0" + "version": "4.9.dev1" }, { "packager": "esp32", @@ -565,52 +757,78 @@ "packager": "esp32", "name": "mklittlefs", "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { "name": "esp32", "architecture": "esp32", - "version": "2.0.0", + "version": "3.1.0-RC2", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0/esp32-2.0.0.zip", - "archiveFileName": "esp32-2.0.0.zip", - "checksum": "SHA-256:10e1c42dbf11d2359259a80008f13f37d2f9bb8f49a25d34d387cf4531052cbc", - "size": "139313137", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC2/esp32-3.1.0-RC2.zip", + "archiveFileName": "esp32-3.1.0-RC2.zip", + "checksum": "SHA-256:374c3cd330d0dad1e1c39c00951c51c51cb5dd6964d9e92c84a2fe732061390d", + "size": "24606170", "help": { "online": "" }, "boards": [ { - "name": "ESP32 Dev Module" + "name": "ESP32 Dev Board" }, { - "name": "WEMOS LoLin32" + "name": "ESP32-S2 Dev Board" }, { - "name": "WEMOS D1 MINI ESP32" + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], "toolsDependencies": [ { "packager": "esp32", - "name": "riscv32-esp-elf-gcc", - "version": "gcc8_4_0-esp-2021r1" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-a0f798cf" }, { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2021r1" + "name": "esp-x32", + "version": "2405" }, { "packager": "esp32", - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2021r1" + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2405" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016" }, { "packager": "esp32", "name": "esptool_py", - "version": "3.1.0" + "version": "4.8.1" }, { "packager": "esp32", @@ -621,52 +839,78 @@ "packager": "esp32", "name": "mklittlefs", "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { "name": "esp32", "architecture": "esp32", - "version": "2.0.0-rc2", + "version": "3.1.0-RC1", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0-rc2/esp32-2.0.0-rc2.zip", - "archiveFileName": "esp32-2.0.0-rc2.zip", - "checksum": "SHA-256:f544d8aeecff3f841a92ef5a4c821b34174b676e4d23af27dc3d0697483d3275", - "size": "139373175", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC1/esp32-3.1.0-RC1.zip", + "archiveFileName": "esp32-3.1.0-RC1.zip", + "checksum": "SHA-256:2b386cbd6e761b728864aa4c36fc435f6c5d3e52a5c12bfaeb0132e0dc354a6c", + "size": "24118034", "help": { "online": "" }, "boards": [ { - "name": "ESP32 Dev Module" + "name": "ESP32 Dev Board" }, { - "name": "WEMOS LoLin32" + "name": "ESP32-S2 Dev Board" }, { - "name": "WEMOS D1 MINI ESP32" + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], "toolsDependencies": [ { "packager": "esp32", - "name": "riscv32-esp-elf-gcc", - "version": "gcc8_4_0-esp-2021r1" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-466a392a" }, { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2021r1" + "name": "esp-x32", + "version": "2405" }, { "packager": "esp32", - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2021r1" + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2405" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240318" }, { "packager": "esp32", "name": "esptool_py", - "version": "3.1.0" + "version": "4.6" }, { "packager": "esp32", @@ -677,52 +921,88 @@ "packager": "esp32", "name": "mklittlefs", "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { "name": "esp32", "architecture": "esp32", - "version": "2.0.0-rc1", + "version": "3.0.7", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0-rc1/esp32-2.0.0-rc1.zip", - "archiveFileName": "esp32-2.0.0-rc1.zip", - "checksum": "SHA-256:5be36a7c9af6ff97f93e74d14e72a62459c89f5af75fa13c46a612aee757e22a", - "size": "139197301", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.7/esp32-3.0.7.zip", + "archiveFileName": "esp32-3.0.7.zip", + "checksum": "SHA-256:6b48f5bd889e55d7b93b95849dff77c6a5e4b9ee58c7298d7872d558a4d04931", + "size": "24546342", "help": { "online": "" }, "boards": [ { - "name": "ESP32 Dev Module" + "name": "ESP32 Dev Board" }, { - "name": "WEMOS LoLin32" + "name": "ESP32-S2 Dev Board" }, { - "name": "WEMOS D1 MINI ESP32" + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], "toolsDependencies": [ { "packager": "esp32", - "name": "riscv32-esp-elf-gcc", - "version": "gcc8_4_0-esp-2021r1" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-632e0c2a" }, { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2021r1" + "name": "esp-x32", + "version": "2302" }, { "packager": "esp32", - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2021r1" + "name": "esp-xs2", + "version": "2302" + }, + { + "packager": "esp32", + "name": "esp-xs3", + "version": "2302" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240821" }, { "packager": "esp32", "name": "esptool_py", - "version": "3.1.0" + "version": "4.6" }, { "packager": "esp32", @@ -733,2997 +1013,7223 @@ "packager": "esp32", "name": "mklittlefs", "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { "name": "esp32", "architecture": "esp32", - "version": "2.0.0-alpha1", + "version": "3.0.6", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esp32-2.0.0-alpha1.zip", - "archiveFileName": "esp32-2.0.0-alpha1.zip", - "checksum": "SHA-256:95e9e6b7ab6d245710f2deb9c911ab2f17c0ed0c6a6b20363ca8eae3f3006749", - "size": "136986408", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.6/esp32-3.0.6.zip", + "archiveFileName": "esp32-3.0.6.zip", + "checksum": "SHA-256:7b4d87d0a18e69cba81e7aa7e69f088dc7c4f6cc89a20adc256bf77c86992dc5", + "size": "24546256", "help": { "online": "" }, "boards": [ { - "name": "ESP32 Dev Module" + "name": "ESP32 Dev Board" }, { - "name": "WEMOS LoLin32" + "name": "ESP32-S2 Dev Board" }, { - "name": "WEMOS D1 MINI ESP32" + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], "toolsDependencies": [ { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2020r3" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-632e0c2a" }, { "packager": "esp32", - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2020r3" + "name": "esp-x32", + "version": "2302" }, { "packager": "esp32", - "name": "riscv32-esp-elf-gcc", - "version": "gcc8_4_0-crosstool-ng-1.24.0-123-g64eb9ff" + "name": "esp-xs2", + "version": "2302" }, { "packager": "esp32", - "name": "esptool_py", - "version": "3.0.0" + "name": "esp-xs3", + "version": "2302" }, { "packager": "esp32", - "name": "mkspiffs", - "version": "0.2.3" + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023" }, { "packager": "esp32", - "name": "mkfatfs", - "version": "0.3.6" + "name": "esp-rv32", + "version": "2302" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240821" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" }, { "packager": "esp32", "name": "mklittlefs", "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { "name": "esp32", "architecture": "esp32", - "version": "1.0.6", + "version": "3.0.5", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.6/esp32-1.0.6.zip", - "archiveFileName": "esp32-1.0.6.zip", - "checksum": "SHA-256:982da9aaa181b6cb9c692dd4c9622b022ecc0d1e3aa0c5b70428ccc3c1b4556b", - "size": "51126662", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.5/esp32-3.0.5.zip", + "archiveFileName": "esp32-3.0.5.zip", + "checksum": "SHA-256:6ead4c452e69146b8eb08bee5a77898acc75a0637e9fccb5bbf665385ddc28db", + "size": "24481707", "help": { "online": "" }, "boards": [ { - "name": "ESP32 Dev Module" + "name": "ESP32 Dev Board" }, { - "name": "WEMOS LoLin32" + "name": "ESP32-S2 Dev Board" }, { - "name": "WEMOS D1 MINI ESP32" + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], "toolsDependencies": [ { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "1.22.0-97-gc752ad5-5.2.0" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-33fbade6" }, { "packager": "esp32", - "name": "esptool_py", - "version": "3.0.0" + "name": "esp-x32", + "version": "2302" }, { "packager": "esp32", - "name": "mkspiffs", - "version": "0.2.3" - } - ] - }, - { - "name": "esp32", - "architecture": "esp32", - "version": "1.0.5", - "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5/esp32-1.0.5.zip", - "archiveFileName": "esp32-1.0.5.zip", - "checksum": "SHA-256:dc5c6c72a127b3171c654f3c3476911d3c2b0ab21affdb7b0f0756c105ca71a7", - "size": "49552769", - "help": { - "online": "" - }, - "boards": [ + "name": "esp-xs2", + "version": "2302" + }, { - "name": "ESP32 Dev Module" + "packager": "esp32", + "name": "esp-xs3", + "version": "2302" }, { - "name": "WEMOS LoLin32" + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023" }, { - "name": "WEMOS D1 MINI ESP32" - } - ], - "toolsDependencies": [ + "packager": "esp32", + "name": "esp-rv32", + "version": "2302" + }, { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "1.22.0-97-gc752ad5-5.2.0" + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240821" }, { "packager": "esp32", "name": "esptool_py", - "version": "3.0.0" + "version": "4.6" }, { "packager": "esp32", "name": "mkspiffs", "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { "name": "esp32", "architecture": "esp32", - "version": "1.0.5-rc7", + "version": "3.0.4", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc7/esp32-1.0.5-rc7.zip", - "archiveFileName": "esp32-1.0.5-rc7.zip", - "checksum": "SHA-256:f9866d188d6523dd24ca20edd41b6ebfc10e2e8670833d8f7fa793a3445a8bec", - "size": "47542392", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.4/esp32-3.0.4.zip", + "archiveFileName": "esp32-3.0.4.zip", + "checksum": "SHA-256:58fcd9b033be0358afbcbcf9a1d8eb216217f65f6b28f2e2cd739c7d016dda4f", + "size": "23937821", "help": { "online": "" }, "boards": [ { - "name": "ESP32 Dev Module" + "name": "ESP32 Dev Board" }, { - "name": "WEMOS LoLin32" + "name": "ESP32-S2 Dev Board" }, { - "name": "WEMOS D1 MINI ESP32" + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], "toolsDependencies": [ { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "1.22.0-97-gc752ad5-5.2.0" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-b6b4727c58" }, { "packager": "esp32", - "name": "esptool_py", - "version": "3.0.0" + "name": "esp-x32", + "version": "2302" }, { "packager": "esp32", - "name": "mkspiffs", - "version": "0.2.3" - } - ] - }, - { - "name": "esp32", - "architecture": "esp32", - "version": "1.0.5-rc6", - "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc6/esp32-1.0.5-rc6.zip", - "archiveFileName": "esp32-1.0.5-rc6.zip", - "checksum": "SHA-256:0fbeebd94fa3fce480398e6023c1e2f1228527ce628927c37bf32395d3ef5201", - "size": "47493370", - "help": { - "online": "" - }, - "boards": [ + "name": "esp-xs2", + "version": "2302" + }, { - "name": "ESP32 Dev Module" + "packager": "esp32", + "name": "esp-xs3", + "version": "2302" }, { - "name": "WEMOS LoLin32" + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023" }, { - "name": "WEMOS D1 MINI ESP32" - } - ], - "toolsDependencies": [ + "packager": "esp32", + "name": "esp-rv32", + "version": "2302" + }, { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "1.22.0-97-gc752ad5-5.2.0" + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240318" }, { "packager": "esp32", "name": "esptool_py", - "version": "3.0.0" + "version": "4.6" }, { "packager": "esp32", "name": "mkspiffs", "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { "name": "esp32", "architecture": "esp32", - "version": "1.0.5-rc5", + "version": "3.0.3", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/esp32-1.0.5-rc5.zip", - "archiveFileName": "esp32-1.0.5-rc5.zip", - "checksum": "SHA-256:0921837f2b2a6a2b230ba0f1fd3cb9ae0833976e62cc5f41a0e8b6c4202b0b76", - "size": "47493370", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.3/esp32-3.0.3.zip", + "archiveFileName": "esp32-3.0.3.zip", + "checksum": "SHA-256:b4aa70711293955a9835ad641279dc7cd524aeb405f7d294afa05c2ece7ded45", + "size": "23920341", "help": { "online": "" }, "boards": [ { - "name": "ESP32 Dev Module" + "name": "ESP32 Dev Board" }, { - "name": "WEMOS LoLin32" + "name": "ESP32-S2 Dev Board" }, { - "name": "WEMOS D1 MINI ESP32" - } - ], - "toolsDependencies": [ + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "1.22.0-96-g2852398-5.2.0" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-dc859c1e67" }, { "packager": "esp32", - "name": "esptool_py", - "version": "3.0.0" + "name": "esp-x32", + "version": "2302" }, { "packager": "esp32", - "name": "mkspiffs", - "version": "0.2.3" - } - ] - }, - { - "name": "esp32", - "architecture": "esp32", - "version": "1.0.5-rc4", - "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc4/esp32-1.0.5-rc4.zip", - "archiveFileName": "esp32-1.0.5-rc4.zip", - "checksum": "SHA-256:007a6639a8d77e682575fb55c89f9600cbe0efe69b0b865c67004761c3754fe3", - "size": "47454089", - "help": { - "online": "" - }, - "boards": [ + "name": "esp-xs2", + "version": "2302" + }, { - "name": "ESP32 Dev Module" + "packager": "esp32", + "name": "esp-xs3", + "version": "2302" }, { - "name": "WEMOS LoLin32" + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023" }, { - "name": "WEMOS D1 MINI ESP32" - } - ], - "toolsDependencies": [ + "packager": "esp32", + "name": "esp-rv32", + "version": "2302" + }, { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "1.22.0-96-g2852398-5.2.0" + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240318" }, { "packager": "esp32", "name": "esptool_py", - "version": "3.0.0" + "version": "4.6" }, { "packager": "esp32", "name": "mkspiffs", "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { "name": "esp32", "architecture": "esp32", - "version": "1.0.5-rc3", + "version": "3.0.2", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc3/esp32-1.0.5-rc3.zip", - "archiveFileName": "esp32-1.0.5-rc3.zip", - "checksum": "SHA-256:bb82ab4727c26e18503a8c02ad8e2dc1ba62113cee54e3f605b95e2de1053b65", - "size": "47478086", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.2/esp32-3.0.2.zip", + "archiveFileName": "esp32-3.0.2.zip", + "checksum": "SHA-256:bd90630fbe9e99f3bb3340c25a87574d5551dd2823849adbf285f8430b6884cf", + "size": "23893902", "help": { "online": "" }, "boards": [ { - "name": "ESP32 Dev Module" + "name": "ESP32 Dev Board" }, { - "name": "WEMOS LoLin32" + "name": "ESP32-S2 Dev Board" }, { - "name": "WEMOS D1 MINI ESP32" + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], "toolsDependencies": [ { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "1.22.0-96-g2852398-5.2.0" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-bd2b9390ef" }, { "packager": "esp32", - "name": "esptool_py", - "version": "3.0.0" + "name": "esp-x32", + "version": "2302" }, { "packager": "esp32", - "name": "mkspiffs", - "version": "0.2.3" - } - ] - }, - { - "name": "esp32", - "architecture": "esp32", - "version": "1.0.5-rc2", - "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc2/esp32-1.0.5-rc2.zip", - "archiveFileName": "esp32-1.0.5-rc2.zip", - "checksum": "SHA-256:f89e8296b868f78dfed89c35ee59b5b78d34d369b94cf030c4e3ba5aa7b9d666", - "size": "47475953", - "help": { - "online": "" - }, - "boards": [ + "name": "esp-xs2", + "version": "2302" + }, { - "name": "ESP32 Dev Module" + "packager": "esp32", + "name": "esp-xs3", + "version": "2302" }, { - "name": "WEMOS LoLin32" + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023" }, { - "name": "WEMOS D1 MINI ESP32" - } - ], - "toolsDependencies": [ + "packager": "esp32", + "name": "esp-rv32", + "version": "2302" + }, { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "1.22.0-96-g2852398-5.2.0" + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240318" }, { "packager": "esp32", "name": "esptool_py", - "version": "3.0.0" + "version": "4.6" }, { "packager": "esp32", "name": "mkspiffs", "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { "name": "esp32", "architecture": "esp32", - "version": "1.0.5-rc1", + "version": "3.0.1", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc1/esp32-1.0.5-rc1.zip", - "archiveFileName": "esp32-1.0.5-rc1.zip", - "checksum": "SHA-256:e1c2c85943a9d1b6851488f07474c3016f516a9294d5b7c5b747e443fc52b91f", - "size": "47470210", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.1/esp32-3.0.1.zip", + "archiveFileName": "esp32-3.0.1.zip", + "checksum": "SHA-256:b7169d0dd51b64e450a7c09fafb7a4782820a9bc745f7b1e4618316440db0930", + "size": "23895257", "help": { "online": "" }, "boards": [ { - "name": "ESP32 Dev Module" + "name": "ESP32 Dev Board" }, { - "name": "WEMOS LoLin32" + "name": "ESP32-S2 Dev Board" }, { - "name": "WEMOS D1 MINI ESP32" + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], "toolsDependencies": [ { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "1.22.0-96-g2852398-5.2.0" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-442a798083" }, { "packager": "esp32", - "name": "esptool_py", - "version": "2.6.1" + "name": "esp-x32", + "version": "2302" }, { "packager": "esp32", - "name": "mkspiffs", - "version": "0.2.3" - } - ] - }, - { - "category": "ESP32", - "name": "esp32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.4/esp32-1.0.4.zip", - "checksum": "SHA-256:d9108bf873933c4e48a3ca401fb51e41b2cc3f98d7c9b9be9881e7ca34bf0efe", - "help": { - "online": "" - }, - "version": "1.0.4", - "architecture": "esp32", - "archiveFileName": "esp32-1.0.4.zip", - "boards": [ + "name": "esp-xs2", + "version": "2302" + }, { - "name": "ESP32 Dev Module" + "packager": "esp32", + "name": "esp-xs3", + "version": "2302" }, { - "name": "WEMOS LoLin32" + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023" }, { - "name": "WEMOS D1 MINI ESP32" - } - ], - "toolsDependencies": [ + "packager": "esp32", + "name": "esp-rv32", + "version": "2302" + }, { "packager": "esp32", - "version": "1.22.0-80-g6c4433a-5.2.0", - "name": "xtensa-esp32-elf-gcc" + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023" }, { "packager": "esp32", - "version": "2.6.1", - "name": "esptool_py" + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921" }, { "packager": "esp32", - "version": "0.2.3", - "name": "mkspiffs" + "name": "esptool_py", + "version": "4.6" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } - ], - "size": "36853332" + ] }, { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.0", "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.0/esp32-3.0.0.zip", + "archiveFileName": "esp32-3.0.0.zip", + "checksum": "SHA-256:0960cf786992e0e3770d8c1e1979eaf01bd0ac9209b24fb00948cf93d43cf95c", + "size": "23891610", "help": { "online": "" }, - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.4-rc1/esp32-1.0.4-rc1.zip", - "checksum": "SHA-256:42d4c03869575bcb875a081a0c9ddd9365aaef63715551946635b00a4be80860", - "version": "1.0.4-rc1", - "architecture": "esp32", - "archiveFileName": "esp32-1.0.4-rc1.zip", "boards": [ { - "name": "ESP32 Dev Module" + "name": "ESP32 Dev Board" }, { - "name": "WEMOS LoLin32" + "name": "ESP32-S2 Dev Board" }, { - "name": "WEMOS D1 MINI ESP32" + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], - "size": "36867561", "toolsDependencies": [ { "packager": "esp32", - "version": "1.22.0-80-g6c4433a-5.2.0", - "name": "xtensa-esp32-elf-gcc" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-442a798083" }, { "packager": "esp32", - "version": "2.6.1", - "name": "esptool_py" + "name": "xtensa-esp32-elf-gcc", + "version": "esp-12.2.0_20230208" }, { "packager": "esp32", - "version": "0.2.3", - "name": "mkspiffs" - } - ], - "name": "esp32" - }, - { - "category": "ESP32", - "help": { - "online": "" - }, - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.3/esp32-1.0.3.zip", - "checksum": "SHA-256:19a30ece8a3ab26ab420c3d5531a9a1c51cb04e421a4f1d86dc072c209060436", - "version": "1.0.3", - "architecture": "esp32", - "archiveFileName": "esp32-1.0.3.zip", - "boards": [ + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-12.2.0_20230208" + }, { - "name": "ESP32 Dev Module" + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-12.2.0_20230208" }, { - "name": "WEMOS LoLin32" + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023" }, { - "name": "WEMOS D1 MINI ESP32" - } - ], - "size": "36811826", - "toolsDependencies": [ + "packager": "esp32", + "name": "esp-rv32", + "version": "2302" + }, { "packager": "esp32", - "version": "1.22.0-80-g6c4433a-5.2.0", - "name": "xtensa-esp32-elf-gcc" + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023" }, { "packager": "esp32", - "version": "2.6.1", - "name": "esptool_py" + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921" }, { "packager": "esp32", - "version": "0.2.3", - "name": "mkspiffs" + "name": "esptool_py", + "version": "4.6" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } - ], - "name": "esp32" + ] }, { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.0-rc3", "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.0-rc3/esp32-3.0.0-rc3.zip", + "archiveFileName": "esp32-3.0.0-rc3.zip", + "checksum": "SHA-256:87ff8e3499c8c2112c3d6faf0017998e64135c0f3553088d76be6f8b6a5af1ef", + "size": "23906520", "help": { "online": "" }, - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.3-rc3/esp32-1.0.3-rc3.zip", - "checksum": "SHA-256:4db3cb87369ce2e5d81320451fc2c18b182a35ffb79a4e89f2b5eb6600e5a261", - "version": "1.0.3-rc3", - "architecture": "esp32", - "archiveFileName": "esp32-1.0.3-rc3.zip", "boards": [ { - "name": "ESP32 Dev Module" + "name": "ESP32 Dev Board" }, { - "name": "WEMOS LoLin32" + "name": "ESP32-S2 Dev Board" }, { - "name": "WEMOS D1 MINI ESP32" + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], - "size": "36833259", "toolsDependencies": [ { "packager": "esp32", - "version": "1.22.0-80-g6c4433a-5.2.0", - "name": "xtensa-esp32-elf-gcc" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-442a798083" }, { "packager": "esp32", - "version": "2.6.1", - "name": "esptool_py" + "name": "xtensa-esp32-elf-gcc", + "version": "esp-12.2.0_20230208" }, { "packager": "esp32", - "version": "0.2.3", - "name": "mkspiffs" - } - ], - "name": "esp32" - }, - { - "category": "ESP32", - "help": { - "online": "" - }, - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.3-rc2/esp32-1.0.3-rc2.zip", - "checksum": "SHA-256:ab9385ab70cc4e7d1636cd99a273608fbb2584592be35999f7206e77506acb30", - "name": "esp32", - "version": "1.0.3-rc2", - "architecture": "esp32", - "archiveFileName": "esp32-1.0.3-rc2.zip", - "size": "36827206", - "toolsDependencies": [ + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-12.2.0_20230208" + }, { "packager": "esp32", - "version": "1.22.0-80-g6c4433a-5.2.0", - "name": "xtensa-esp32-elf-gcc" + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-12.2.0_20230208" }, { "packager": "esp32", - "version": "2.6.1", - "name": "esptool_py" + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023" }, { "packager": "esp32", - "version": "0.2.3", - "name": "mkspiffs" - } - ], - "boards": [ + "name": "esp-rv32", + "version": "2302" + }, { - "name": "ESP32 Dev Module" + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023" }, { - "name": "WEMOS LoLin32" + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921" }, { - "name": "WEMOS D1 MINI ESP32" + "packager": "esp32", + "name": "esptool_py", + "version": "4.6" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.0-rc2", "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.0-rc2/esp32-3.0.0-rc2.zip", + "archiveFileName": "esp32-3.0.0-rc2.zip", + "checksum": "SHA-256:a5953dbc8ce425ce44fde6d66d23b056bc2569d96e177e2fa8d5c3161f87eb40", + "size": "23887041", "help": { "online": "" }, - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.3-rc1/esp32-1.0.3-rc1.zip", - "checksum": "SHA-256:eb2461109db6fe8d5d6a13a8b27fb601ee9fa59b3b0a48a587f3b0c13ca9604e", - "version": "1.0.3-rc1", - "architecture": "esp32", - "archiveFileName": "esp32-1.0.3-rc1.zip", "boards": [ { - "name": "ESP32 Dev Module" + "name": "ESP32 Dev Board" }, { - "name": "WEMOS LoLin32" + "name": "ESP32-S2 Dev Board" }, { - "name": "WEMOS D1 MINI ESP32" + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], - "size": "31167549", "toolsDependencies": [ { "packager": "esp32", - "version": "1.22.0-80-g6c4433a-5.2.0", - "name": "xtensa-esp32-elf-gcc" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-442a798083" }, { "packager": "esp32", - "version": "2.6.1", - "name": "esptool_py" + "name": "xtensa-esp32-elf-gcc", + "version": "esp-12.2.0_20230208" }, { "packager": "esp32", - "version": "0.2.3", - "name": "mkspiffs" - } - ], - "name": "esp32" - }, - { - "category": "ESP32", - "help": { - "online": "" - }, - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.2/esp32-1.0.2.zip", - "checksum": "SHA-256:c3a5a5050705d41ab205d25a7399e921057b754ef8f883419f58c0c7f08df11c", - "name": "esp32", - "version": "1.0.2", - "architecture": "esp32", - "archiveFileName": "esp32-1.0.2.zip", - "size": "31174160", - "toolsDependencies": [ + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-12.2.0_20230208" + }, { "packager": "esp32", - "version": "1.22.0-80-g6c4433a-5.2.0", - "name": "xtensa-esp32-elf-gcc" + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-12.2.0_20230208" }, { "packager": "esp32", - "version": "2.6.1", - "name": "esptool_py" + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023" }, { "packager": "esp32", - "version": "0.2.3", - "name": "mkspiffs" - } - ], - "boards": [ + "name": "esp-rv32", + "version": "2302" + }, { - "name": "ESP32 Dev Module" + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023" }, { - "name": "WEMOS LoLin32" + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.0-rc1", "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.0-rc1/esp32-3.0.0-rc1.zip", + "archiveFileName": "esp32-3.0.0-rc1.zip", + "checksum": "SHA-256:d4d96e1dc0ca687d2bcdde9836bcc3664cfa868cb324b7b737005efe0b050f3a", + "size": "23944015", "help": { "online": "" }, - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.2-rc2/esp32-1.0.2-rc2.zip", - "checksum": "SHA-256:3e61611d206849cd00fc325c4ec6b2bf5111013a09961f4d000a026fac7d6f87", - "version": "1.0.2-rc2", - "architecture": "esp32", - "archiveFileName": "esp32-1.0.2-rc2.zip", "boards": [ { - "name": "ESP32 Dev Module" + "name": "ESP32 Dev Board" }, { - "name": "WEMOS LoLin32" - } - ], - "size": "31193529", - "toolsDependencies": [ + "name": "ESP32-S2 Dev Board" + }, { - "packager": "esp32", - "version": "1.22.0-80-g6c4433a-5.2.0", - "name": "xtensa-esp32-elf-gcc" + "name": "ESP32-S3 Dev Board" }, { - "packager": "esp32", - "version": "2.6.1", - "name": "esptool_py" + "name": "ESP32-C3 Dev Board" }, { - "packager": "esp32", - "version": "0.2.3", - "name": "mkspiffs" + "name": "Arduino Nano ESP32" } ], - "name": "esp32" - }, - { - "category": "ESP32", - "help": { - "online": "" - }, - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.2-rc1/esp32-1.0.2-rc1.zip", - "checksum": "SHA-256:b03bb22da11c8380ac47915fc2589f8a15ae16daa3065c8cd2a3265e9a12405d", - "name": "esp32", - "version": "1.0.2-rc1", - "architecture": "esp32", - "archiveFileName": "esp32-1.0.2-rc1.zip", - "size": "31337487", "toolsDependencies": [ { "packager": "esp32", - "version": "1.22.0-80-g6c4433a-5.2.0", - "name": "xtensa-esp32-elf-gcc" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-3662303f312" }, { "packager": "esp32", - "version": "2.6.1", - "name": "esptool_py" + "name": "xtensa-esp32-elf-gcc", + "version": "esp-12.2.0_20230208" }, { "packager": "esp32", - "version": "0.2.3", - "name": "mkspiffs" - } - ], - "boards": [ - { - "name": "ESP32 Dev Module" + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-12.2.0_20230208" }, { - "name": "WEMOS LoLin32" - } - ] - }, - { - "category": "ESP32", - "help": { - "online": "" - }, - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.1/esp32-1.0.1.zip", - "checksum": "SHA-256:1a7fa2f9bb0b6b5a20dfea227497f4851dc8b886caf7ecb998f745589c97ed34", - "version": "1.0.1", - "architecture": "esp32", - "archiveFileName": "esp32-1.0.1.zip", - "boards": [ - { - "name": "ESP32 Dev Module" + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-12.2.0_20230208" }, - { - "name": "WEMOS LoLin32" - } - ], - "size": "31273425", - "toolsDependencies": [ { "packager": "esp32", - "version": "1.22.0-80-g6c4433a-5.2.0", - "name": "xtensa-esp32-elf-gcc" + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023" }, { "packager": "esp32", - "version": "2.6.0", - "name": "esptool_py" + "name": "esp-rv32", + "version": "2302" }, { "packager": "esp32", - "version": "0.2.3", - "name": "mkspiffs" - } - ], - "name": "esp32" - }, - { - "category": "ESP32", - "help": { - "online": "" - }, - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.1-rc4/esp32-1.0.1-rc4.zip", - "checksum": "SHA-256:d103d6167ce7f6f70635f2fc3549edc00f08f3e4c8633e3a3f2fa48c759c3304", - "name": "esp32", - "version": "1.0.1-rc4", - "architecture": "esp32", - "archiveFileName": "esp32-1.0.1-rc4.zip", - "size": "31293432", - "toolsDependencies": [ + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023" + }, { "packager": "esp32", - "version": "1.22.0-80-g6c4433a-5.2.0", - "name": "xtensa-esp32-elf-gcc" + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921" }, { "packager": "esp32", - "version": "2.6.0", - "name": "esptool_py" + "name": "esptool_py", + "version": "4.6" }, { "packager": "esp32", - "version": "0.2.3", - "name": "mkspiffs" - } - ], - "boards": [ + "name": "mkspiffs", + "version": "0.2.3" + }, { - "name": "ESP32 Dev Module" + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" }, { - "name": "WEMOS LoLin32" + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.0-alpha3", "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.0-alpha3/esp32-3.0.0-alpha3.zip", + "archiveFileName": "esp32-3.0.0-alpha3.zip", + "checksum": "SHA-256:02b94c17f065ed5dfef765af7ed7e11f2c7fafa2bd82b00fb7d07cdb2ad78509", + "size": "21114660", "help": { "online": "" }, - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.1-rc3/esp32-1.0.1-rc3.zip", - "checksum": "SHA-256:7b3ff66a4a8de4f183ba429bc4f3436f62b07787f86a0c07b1e058a0877262ab", - "version": "1.0.1-rc3", - "architecture": "esp32", - "archiveFileName": "esp32-1.0.1-rc3.zip", "boards": [ { - "name": "ESP32 Dev Module" + "name": "ESP32 Dev Board" }, { - "name": "WEMOS LoLin32" + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], - "size": "31291832", "toolsDependencies": [ { "packager": "esp32", - "version": "1.22.0-80-g6c4433a-5.2.0", - "name": "xtensa-esp32-elf-gcc" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-3662303f31" }, { "packager": "esp32", - "version": "2.6.0", - "name": "esptool_py" + "name": "xtensa-esp32-elf-gcc", + "version": "esp-12.2.0_20230208" }, { "packager": "esp32", - "version": "0.2.3", - "name": "mkspiffs" - } - ], - "name": "esp32" - }, - { - "category": "ESP32", - "help": { - "online": "" - }, - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.1-rc2/esp32-1.0.1-rc2.zip", - "checksum": "SHA-256:c5c27d82f56c8126494b603e5cc3ac05aee43f930f3429641587804598fc0b78", - "name": "esp32", - "version": "1.0.1-rc2", - "architecture": "esp32", - "archiveFileName": "esp32-1.0.1-rc2.zip", - "size": "29455599", - "toolsDependencies": [ + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-12.2.0_20230208" + }, { "packager": "esp32", - "version": "1.22.0-80-g6c4433a-5.2.0", - "name": "xtensa-esp32-elf-gcc" + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-12.2.0_20230208" }, { "packager": "esp32", - "version": "2.6.0", - "name": "esptool_py" + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20221002" }, { "packager": "esp32", - "version": "0.2.3", - "name": "mkspiffs" - } - ], - "boards": [ + "name": "esp-rv32", + "version": "2302" + }, { - "name": "ESP32 Dev Module" + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20221002" }, { - "name": "WEMOS LoLin32" + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.17", "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.17/esp32-2.0.17.zip", + "archiveFileName": "esp32-2.0.17.zip", + "checksum": "SHA-256:1f8658d4b18a8001ce782142ad08164af2991d70b83a147c3437a6ee30a9b225", + "size": "254658377", "help": { "online": "" }, - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.1-rc1/esp32-1.0.1-rc1.zip", - "checksum": "SHA-256:619e30fd3ec8cf2bc3051ee4e6d07db42942bfa5c0b04456834ad49154d38c55", - "version": "1.0.1-rc1", - "architecture": "esp32", - "archiveFileName": "esp32-1.0.1-rc1.zip", "boards": [ { - "name": "ESP32 Dev Module" + "name": "ESP32 Dev Board" }, { - "name": "WEMOS LoLin32" + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], - "size": "29219094", "toolsDependencies": [ { "packager": "esp32", - "version": "1.22.0-80-g6c4433a-5.2.0", - "name": "xtensa-esp32-elf-gcc" + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { "packager": "esp32", - "version": "2.5.0", - "name": "esptool" + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { "packager": "esp32", - "version": "0.2.3", - "name": "mkspiffs" - } - ], - "name": "esp32" - }, - { - "category": "ESP32", - "help": { - "online": "" - }, - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.0/esp32-1.0.0.zip", - "checksum": "SHA-256:94d586174f103e2014be590ab307c5cdda6fa2ec70204c7f121882ace5e05c80", - "name": "esp32", - "version": "1.0.0", - "architecture": "esp32", - "archiveFileName": "esp32-1.0.0.zip", - "size": "26381887", - "toolsDependencies": [ + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, { "packager": "esp32", - "version": "1.22.0-80-g6c4433a-5.2.0", - "name": "xtensa-esp32-elf-gcc" + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823" }, { "packager": "esp32", - "version": "2.3.1", - "name": "esptool" + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { "packager": "esp32", - "version": "0.2.3", - "name": "mkspiffs" - } - ], - "boards": [ + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823" + }, { - "name": "ESP32 Dev Module" + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921" }, { - "name": "WEMOS LoLin32" + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.16", "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.16/esp32-2.0.16.zip", + "archiveFileName": "esp32-2.0.16.zip", + "checksum": "SHA-256:6615fd16fd6d3ee2fa7ca2dd40a4f65220eddf094a88b7cee2141a0c077987bc", + "size": "254657760", "help": { "online": "" }, - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.0-rc4/esp32-1.0.0-rc4.zip", - "checksum": "SHA-256:db455356a07b84ab6b5de33e9836e866863c0cc7c8e4c770cf112e6705c392e5", - "version": "1.0.0-rc4", - "architecture": "esp32", - "archiveFileName": "esp32-1.0.0-rc4.zip", "boards": [ { - "name": "ESP32 Dev Module" + "name": "ESP32 Dev Board" }, { - "name": "WEMOS LoLin32" + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], - "size": "26394170", "toolsDependencies": [ { "packager": "esp32", - "version": "1.22.0-80-g6c4433a-5.2.0", - "name": "xtensa-esp32-elf-gcc" + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { "packager": "esp32", - "version": "2.3.1", - "name": "esptool" + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { "packager": "esp32", - "version": "0.2.3", - "name": "mkspiffs" - } - ], - "name": "esp32" - }, - { - "category": "ESP32", - "help": { - "online": "" - }, - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.0-rc3/esp32-1.0.0-rc3.zip", - "checksum": "SHA-256:58bd0314e41841b6e8163a18c69f9f0c97dfe79cdbef1e16466dff42a81199de", - "name": "esp32", - "version": "1.0.0-rc3", - "architecture": "esp32", - "archiveFileName": "esp32-1.0.0-rc3.zip", - "size": "26387466", - "toolsDependencies": [ + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, { "packager": "esp32", - "version": "1.22.0-80-g6c4433a-5.2.0", - "name": "xtensa-esp32-elf-gcc" + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823" }, { "packager": "esp32", - "version": "2.3.1", - "name": "esptool" + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { "packager": "esp32", - "version": "0.2.3", - "name": "mkspiffs" - } - ], - "boards": [ + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823" + }, { - "name": "ESP32 Dev Module" + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921" }, { - "name": "WEMOS LoLin32" + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.15", "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.15/esp32-2.0.15.zip", + "archiveFileName": "esp32-2.0.15.zip", + "checksum": "SHA-256:2219c1636264f55e19b2a5e7f41c81b669b1355017b15ee31773c85674b3e9bb", + "size": "254657764", "help": { "online": "" }, - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.0-rc2/esp32-1.0.0-rc2.zip", - "checksum": "SHA-256:87e7d4ed3b4cc0f07d5808f4ae0fd06f93892ef4cbb828f695d29f9df13876c4", - "version": "1.0.0-rc2", - "architecture": "esp32", - "archiveFileName": "esp32-1.0.0-rc2.zip", "boards": [ { - "name": "ESP32 Dev Module" + "name": "ESP32 Dev Board" }, { - "name": "WEMOS LoLin32" + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], - "size": "26383609", "toolsDependencies": [ { "packager": "esp32", - "version": "1.22.0-80-g6c4433a-5.2.0", - "name": "xtensa-esp32-elf-gcc" + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { "packager": "esp32", - "version": "2.3.1", - "name": "esptool" + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { "packager": "esp32", - "version": "0.2.3", - "name": "mkspiffs" + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } - ], - "name": "esp32" + ] }, { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.14", "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.14/esp32-2.0.14.zip", + "archiveFileName": "esp32-2.0.14.zip", + "checksum": "SHA-256:77c71eba520c97ab30161eb2f9c6a46b019e48d13936244b18f6ad4dbecf0a58", + "size": "252506057", "help": { "online": "" }, - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.0-rc1/esp32-1.0.0-rc1.zip", - "checksum": "SHA-256:64fbe8680f11398a813d6d77bb287559d0adb8662bfa2b5ec77122c7e5ba3842", - "version": "1.0.0-rc1", - "architecture": "esp32", - "archiveFileName": "esp32-1.0.0-rc1.zip", "boards": [ { - "name": "ESP32 Dev Module" + "name": "ESP32 Dev Board" }, { - "name": "WEMOS LoLin32" + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], - "size": "26383609", "toolsDependencies": [ { "packager": "esp32", - "version": "1.22.0-80-g6c4433a-5.2.0", - "name": "xtensa-esp32-elf-gcc" + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { "packager": "esp32", - "version": "da31d9d2", - "name": "esptool" + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { "packager": "esp32", - "version": "0.2.3", - "name": "mkspiffs" - } - ], - "name": "esp32" - } - ], - "tools": [ - { - "name": "xtensa-esp32-elf-gcc", - "version": "esp-2021r2-patch5-8.4.0", - "systems": [ + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "checksum": "SHA-256:8ef14e0409c2011b41e504a30f70d3e35287313a795d1f2462ad2cd0e2052d37", - "size": "94397702" + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "checksum": "SHA-256:e7d217ac2ef52c746a41f8647840b2717edcd8afc15f081bc1c4505e10a189b7", - "size": "90684219" + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "checksum": "SHA-256:ea6631f8a5105ae90d7fc462c10ed4f9049924ea8c2f9391d90b339d5f881dac", - "size": "89954866" + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "checksum": "SHA-256:ecb90af9cede0982672234da0b1bd7b7f76eadde60aa5c82eefdf37d64ffe49f", - "size": "96354023" + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230419" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "checksum": "SHA-256:19af109fda024a3a4c989f7ccaa104f9b1b74cfd6c9363e730bb8cb9b50d5dc4", - "size": "101712946" + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1" }, { - "host": "arm64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", - "checksum": "SHA-256:b14189772d70a96813895fff7731d0f2fec0c825cfc02e002d6d91a0cc4b6b1d", - "size": "93104016" + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" }, { - "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "checksum": "SHA-256:9851c2cfa355e1fad8abfb643a1c945d27385b1851f3ae468915ea78fcbec940", - "size": "118610020" + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" }, { - "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "checksum": "SHA-256:a328b3c55631846241bbe7999a309b20b797c8dc50b6e8dccf463e66a2da5fb4", - "size": "121846722" + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch5", - "systems": [ + "name": "esp32", + "architecture": "esp32", + "version": "2.0.13", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.13/esp32-2.0.13.zip", + "archiveFileName": "esp32-2.0.13.zip", + "checksum": "SHA-256:ee4c277bac0eecb7ca8853780da9d49b4e260926059cf6a9f9bac1923059de0c", + "size": "250665913", + "help": { + "online": "" + }, + "boards": [ { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "checksum": "SHA-256:8ef14e0409c2011b41e504a30f70d3e35287313a795d1f2462ad2cd0e2052d37", - "size": "94397702" + "name": "ESP32 Dev Board" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "checksum": "SHA-256:e7d217ac2ef52c746a41f8647840b2717edcd8afc15f081bc1c4505e10a189b7", - "size": "90684219" + "name": "ESP32-S2 Dev Board" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "checksum": "SHA-256:ea6631f8a5105ae90d7fc462c10ed4f9049924ea8c2f9391d90b339d5f881dac", - "size": "89954866" + "name": "ESP32-S3 Dev Board" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "checksum": "SHA-256:ecb90af9cede0982672234da0b1bd7b7f76eadde60aa5c82eefdf37d64ffe49f", - "size": "96354023" + "name": "ESP32-C3 Dev Board" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "checksum": "SHA-256:19af109fda024a3a4c989f7ccaa104f9b1b74cfd6c9363e730bb8cb9b50d5dc4", - "size": "101712946" + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "checksum": "SHA-256:9851c2cfa355e1fad8abfb643a1c945d27385b1851f3ae468915ea78fcbec940", - "size": "118610020" + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "checksum": "SHA-256:a328b3c55631846241bbe7999a309b20b797c8dc50b6e8dccf463e66a2da5fb4", - "size": "121846722" - } - ] - }, - { - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3", - "systems": [ + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", - "checksum": "SHA-256:9edd1e77627688f435561922d14299f6a0021ba1f6ff67e472e1108695a69e53", - "size": "90569312" + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", - "checksum": "SHA-256:3a21a3e310e6b1e7d7bed1f3e59698a5bd29ed3a5ca79fba9265d7dd2f1e0cd2", - "size": "86838362" + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", - "checksum": "SHA-256:89313c4c1d8db1b01624f31b58bf3fbe527160569828ac4301e9daa75c52716d", - "size": "86187540" + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", - "checksum": "SHA-256:a1f165a836f175daa6fbfde4ca99cb93b377f021fbfc41f79a700bd4df965a9a", - "size": "92580267" + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", - "checksum": "SHA-256:dda3d7a43efd995d9a51d5a5741626dbf915df46078aef0b5aea7163ac82398b", - "size": "97807647" + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1" }, { - "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", - "checksum": "SHA-256:fd147592928ef2d7092ba34b01ecd776fe26ba3d7e3f9b6b215a3b46e981ee2c", - "size": "116464819" + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" }, { - "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", - "checksum": "SHA-256:9395315c07de0b9f05c9a6616ba1f05e76ab651053f2f40479163a8e03cfa830", - "size": "119511910" + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2021r2", - "systems": [ + "name": "esp32", + "architecture": "esp32", + "version": "2.0.12", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.12/esp32-2.0.12.zip", + "archiveFileName": "esp32-2.0.12.zip", + "checksum": "SHA-256:9a4f844ca67812c547a9635cdb0dd2c347cae7a3e855f95f9d490b2f8d340dbe", + "size": "250664387", + "help": { + "online": "" + }, + "boards": [ { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", - "checksum": "SHA-256:3eb3d68b27fa6ba5af6f88da21cb8face9be0094daaa8960793cfe570ab785ff", - "size": "90565318" + "name": "ESP32 Dev Board" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", - "checksum": "SHA-256:aa534be24e45e06b7080a6a3bb8cd9e3cfb818f5f8bce2244d7cfb5e91336541", - "size": "86860292" + "name": "ESP32-S2 Dev Board" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", - "checksum": "SHA-256:f0e49ce06fe7833ff5d76961dc2dac5449d320f823bb8c05a302cf85a3a6eb04", - "size": "86183421" + "name": "ESP32-S3 Dev Board" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", - "checksum": "SHA-256:06de09b74652de43e5b22db3b7fc992623044baa75e9faaab68317a986715ba3", - "size": "92582250" + "name": "ESP32-C3 Dev Board" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", - "checksum": "SHA-256:96443f69c8569417c780ee749d91ef33cffe22153fffa30a0fbf12107d87381b", - "size": "97808961" + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win32.zip", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win32.zip", - "checksum": "SHA-256:076a4171bdc33e5ced3952efffb233d70263dfa760e636704050597a9edf61db", - "size": "112578260" + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win64.zip", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win64.zip", - "checksum": "SHA-256:c35b7998f7f503e0cb22055d1e279ae14b6b0e09bb3ff3846b17d552ece9c247", - "size": "115278695" - } - ] - }, - { - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2021r1", - "systems": [ + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", - "checksum": "SHA-256:44a0b467b9d2b759ab48b2f27aed684581f33c96e2842992781c4e045992c5b0", - "size": "86361217" + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", - "checksum": "SHA-256:fdacdb2a7bbf6293bcafda9b52463a4da8a2f3b7e1df9f83d35ff9d1efa22012", - "size": "84520407" + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", - "checksum": "SHA-256:e2024096492dfaa50fc6ac336cd8faa2e395e8cebb617753eab0b5f16d3dd0dc", - "size": "88375391" + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", - "checksum": "SHA-256:7bbc6a2b94f009cd8a3351b9c7acf7a5caa1c4d3700500ead60f84965386a61b", - "size": "93357296" + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026" }, { - "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-win32.zip", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-win32.zip", - "checksum": "SHA-256:e4f9fdda192abfc9807e3e7fcd6e9fea30c1a0cf3f3c5a5c961b5114fc8c9b7e", - "size": "105603626" + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2020r3", - "systems": [ + "name": "esp32", + "architecture": "esp32", + "version": "2.0.11", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.11/esp32-2.0.11.zip", + "archiveFileName": "esp32-2.0.11.zip", + "checksum": "SHA-256:d15386308dc72f94816ce80b5508af999f2fd0d88eb5e1ffba48316ab0b9c5d6", + "size": "250401265", + "help": { + "online": "" + }, + "boards": [ { - "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2020r3/xtensa-esp32-elf-gcc8_4_0-esp-2020r3-win32.zip", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2020r3-win32.zip", - "checksum": "SHA-256:81cecd5493a3fcf2118977f3fd60bd0a13a4aeac8fe6760d912f96d2c34fab66", - "size": "104226379" + "name": "ESP32 Dev Board" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2020r3/xtensa-esp32-elf-gcc8_4_0-esp-2020r3-macos.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2020r3-macos.tar.gz", - "checksum": "SHA-256:6845f786303b26c4a55ede57487ba65bd25737232fe6104be03f25bb62f4631c", - "size": "92424226" + "name": "ESP32-S2 Dev Board" }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2020r3/xtensa-esp32-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz", - "checksum": "SHA-256:674080a12f9c5ebe5a3a5ce51c6deaeffe6dfb06d6416233df86f25b574e9279", - "size": "85731226" + "name": "ESP32-S3 Dev Board" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2020r3/xtensa-esp32-elf-gcc8_4_0-esp-2020r3-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2020r3-linux-i686.tar.gz", - "checksum": "SHA-256:076b7e05304e26aa6ec105c9e0dc74addca079bc2cae6e42ee7575c5ded29877", - "size": "87715092" + "name": "ESP32-C3 Dev Board" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2020r3/xtensa-esp32-elf-gcc8_4_0-esp-2020r3-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2020r3-linux-armel.tar.gz", - "checksum": "SHA-256:6771e011dffa2438ef84ff3474538b4a69df8f9d4cfae3b3707ca31c782ed7db", - "size": "83888892" + "name": "Arduino Nano ESP32" } - ] - }, - { - "name": "xtensa-esp32-elf-gcc", - "version": "1.22.0-97-gc752ad5-5.2.0", - "systems": [ + ], + "toolsDependencies": [ { - "host": "i686-mingw32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-win32-1.22.0-97-gc752ad5-5.2.0.zip", - "archiveFileName": "xtensa-esp32-elf-win32-1.22.0-97-gc752ad5-5.2.0.zip", - "checksum": "SHA-256:80571e5d5a63494f4fa758bb9d8fb882ba4059853a8c412a84d232dc1c1400e6", - "size": "125747216" + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-macos-1.22.0-97-gc752ad5-5.2.0.tar.gz", - "archiveFileName": "xtensa-esp32-elf-macos-1.22.0-97-gc752ad5-5.2.0.tar.gz", - "checksum": "SHA-256:b1ce39a563ae359cf363fb7d8ee80cb1e5226fda83188203cff60f16f55e33ef", - "size": "50525386" + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux64-1.22.0-97-gc752ad5-5.2.0.tar.gz", - "archiveFileName": "xtensa-esp32-elf-linux64-1.22.0-97-gc752ad5-5.2.0.tar.gz", - "checksum": "SHA-256:96f5f6e7611a0ed1dc47048c54c3113fc5cebffbf0ba90d8bfcd497afc7ef9f3", - "size": "44225380" + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux32-1.22.0-97-gc752ad5-5.2.0.tar.gz", - "archiveFileName": "xtensa-esp32-elf-linux32-1.22.0-97-gc752ad5-5.2.0.tar.gz", - "checksum": "SHA-256:8094a2c30b474e99ce64dd0ba8f310c4614eb3b3cac884a3aea0fd5f565af119", - "size": "45575521" + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", - "archiveFileName": "xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", - "checksum": "SHA-256:d70d550f88448fa476b29fa50ef5502ab497a16ac7fa9ca24c6d0a39bb1e681e", - "size": "50657803" + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", - "archiveFileName": "xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", - "checksum": "SHA-256:d70d550f88448fa476b29fa50ef5502ab497a16ac7fa9ca24c6d0a39bb1e681e", - "size": "50657803" - } - ] - }, - { - "name": "xtensa-esp32-elf-gcc", - "version": "1.22.0-96-g2852398-5.2.0", - "systems": [ - { - "host": "i686-mingw32", - "url": "https://dl.espressif.com/dl/xtensa-esp32-elf-win32-1.22.0-96-g2852398-5.2.0.zip", - "archiveFileName": "xtensa-esp32-elf-win32-1.22.0-96-g2852398-5.2.0.zip", - "checksum": "SHA-256:8e2a2e25d4714ae6e4b992be1b1c261caed5b523b0cc0887b6749229c9febbb0", - "size": "125810912" + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823" }, { - "host": "x86_64-apple-darwin", - "url": "https://dl.espressif.com/dl/xtensa-esp32-elf-macos-1.22.0-96-g2852398-5.2.0.tar.gz", - "archiveFileName": "xtensa-esp32-elf-macos-1.22.0-96-g2852398-5.2.0.tar.gz", - "checksum": "SHA-256:6aeae9547f0cd7e442d1df21821cea8b15d0a6ce349bbd86466e2997b738a99c", - "size": "50520203" + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026" }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-96-g2852398-5.2.0.tar.gz", - "archiveFileName": "xtensa-esp32-elf-linux64-1.22.0-96-g2852398-5.2.0.tar.gz", - "checksum": "SHA-256:798a8638f11ad37f41b9640582f869c61ffb4da6d932279fde94a2b636ad2dac", - "size": "44211883" + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1" }, { - "host": "i686-pc-linux-gnu", - "url": "https://dl.espressif.com/dl/xtensa-esp32-elf-linux32-1.22.0-96-g2852398-5.2.0.tar.gz", - "archiveFileName": "xtensa-esp32-elf-linux32-1.22.0-96-g2852398-5.2.0.tar.gz", - "checksum": "SHA-256:4eea601188aa8f3c3d45d7936ab4c0fabb75b4970dccf7a061de47dba49e377f", - "size": "45563578" + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" }, { - "host": "arm-linux-gnueabihf", - "url": "https://dl.espressif.com/dl/xtensa-esp32-elf-linux-armel-1.22.0-96-g2852398-5.2.0.tar.gz", - "archiveFileName": "xtensa-esp32-elf-linux-armel-1.22.0-96-g2852398-5.2.0.tar.gz", - "checksum": "SHA-256:abfe06522f7c3479f6c7434c4bf926c50fa2039362b96abe95fa1f05ec519a9b", - "size": "50670980" + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" }, { - "host": "aarch64-linux-gnu", - "url": "https://dl.espressif.com/dl/xtensa-esp32-elf-linux-armel-1.22.0-96-g2852398-5.2.0.tar.gz", - "archiveFileName": "xtensa-esp32-elf-linux-armel-1.22.0-96-g2852398-5.2.0.tar.gz", - "checksum": "SHA-256:abfe06522f7c3479f6c7434c4bf926c50fa2039362b96abe95fa1f05ec519a9b", - "size": "50670980" + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { - "version": "1.22.0-80-g6c4433a-5.2.0", - "name": "xtensa-esp32-elf-gcc", - "systems": [ + "name": "esp32", + "architecture": "esp32", + "version": "2.0.10", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.10/esp32-2.0.10.zip", + "archiveFileName": "esp32-2.0.10.zip", + "checksum": "SHA-256:6028cb623c838723c41000869963d95f7cb811d58643133068eed31c03c2d7c0", + "size": "250401273", + "help": { + "online": "" + }, + "boards": [ { - "url": "https://dl.espressif.com/dl/xtensa-esp32-elf-win32-1.22.0-80-g6c4433a-5.2.0.zip", - "checksum": "SHA-256:f217fccbeaaa8c92db239036e0d6202458de4488b954a3a38f35ac2ec48058a4", - "host": "i686-mingw32", - "archiveFileName": "xtensa-esp32-elf-win32-1.22.0-80-g6c4433a-5.2.0.zip", - "size": "125719261" + "name": "ESP32 Dev Board" }, { - "url": "https://dl.espressif.com/dl/xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz", - "checksum": "SHA-256:a4307a97945d2f2f2745f415fbe80d727750e19f91f9a1e7e2f8a6065652f9da", - "host": "x86_64-apple-darwin", - "archiveFileName": "xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz", - "size": "46517409" + "name": "ESP32-S2 Dev Board" }, { - "url": "https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz", - "checksum": "SHA-256:3fe96c151d46c1d4e5edc6ed690851b8e53634041114bad04729bc16b0445156", - "host": "x86_64-pc-linux-gnu", - "archiveFileName": "xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz", - "size": "44219107" + "name": "ESP32-S3 Dev Board" }, { - "url": "https://dl.espressif.com/dl/xtensa-esp32-elf-linux32-1.22.0-80-g6c4433a-5.2.0.tar.gz", - "checksum": "SHA-256:b4055695ffc2dfc0bcb6dafdc2572a6e01151c4179ef5fa972b3fcb2183eb155", - "host": "i686-pc-linux-gnu", - "archiveFileName": "xtensa-esp32-elf-linux32-1.22.0-80-g6c4433a-5.2.0.tar.gz", - "size": "45566336" + "name": "ESP32-C3 Dev Board" }, { - "url": "https://dl.espressif.com/dl/xtensa-esp32-elf-linux-armel-1.22.0-87-gb57bad3-5.2.0.tar.gz", - "checksum": "SHA-256:9c68c87bb23b1256dc0a1859b515946763e5292dcab4a4159a52fae5618ce861", - "host": "arm-linux-gnueabihf", - "archiveFileName": "xtensa-esp32-elf-linux-armel-1.22.0-87-gb57bad3-5.2.0.tar.gz", - "size": "50655584" + "name": "Arduino Nano ESP32" } - ] - }, - { - "name": "xtensa-esp32s2-elf-gcc", - "version": "esp-2021r2-patch5-8.4.0", - "systems": [ + ], + "toolsDependencies": [ { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "checksum": "SHA-256:19c77bd91fefab7c8c40a6334f9b985e2d9a1c7fac6d424b692110930dd3682f", - "size": "67849099" + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "checksum": "SHA-256:bdcd24676ef2a65b670ca9e0a01768ece47f4dfcfb545a3307f76a054c33b522", - "size": "64154532" + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "checksum": "SHA-256:b26723b6ce1c35b90f204eb39e5ab06a6f80fb7895f000e16b6962e4c176ae32", - "size": "63448105" + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "checksum": "SHA-256:da3b5c45e4997d14269df1814c92dd7004902bb810608341bc3819c3e506fa0b", - "size": "69656104" + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "checksum": "SHA-256:8eb63745b44083edef7cc6fdf3b06999f576b75134bc5e8b0ef881ca439b72d7", - "size": "75154138" + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "arm64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", - "checksum": "SHA-256:4cd38d6ec31076c0aa083f62ab84ab5c33aa07fafd0af61366186e5f553aa008", - "size": "66457613" + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823" }, { - "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "checksum": "SHA-256:c758062295804b082fbd77fcd59a356f62d4e76372aaa29589cc871603309cba", - "size": "82338511" + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026" }, { - "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "checksum": "SHA-256:1c1e168ff8bc460a9719f3b216d3c1125d29040389786d738244838499362c74", - "size": "85579252" + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.9", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.9/esp32-2.0.9.zip", + "archiveFileName": "esp32-2.0.9.zip", + "checksum": "SHA-256:37072185026db3cdc0ed4b6fb12840d7f41571a16c60eec97bec2a4abec8dcee", + "size": "278964028", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.8", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.8/esp32-2.0.8.zip", + "archiveFileName": "esp32-2.0.8.zip", + "checksum": "SHA-256:2c5daa3ce7456e752fb8d8a35b0b6b2eb8e494032cba57569ba12dd53eb235f2", + "size": "278963636", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.7", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.7/esp32-2.0.7.zip", + "archiveFileName": "esp32-2.0.7.zip", + "checksum": "SHA-256:b5a7a54fca36501d1108413310ec50ae2df655c14c3881325903cde2c7ae5f80", + "size": "278966011", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.6", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esp32-2.0.6.zip", + "archiveFileName": "esp32-2.0.6.zip", + "checksum": "SHA-256:ea56d300404cc1b5bc15295f29790246b02025c493e0664a6d271164a602a351", + "size": "264579419", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.2.1" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20220706" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.5", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.5/esp32-2.0.5.zip", + "archiveFileName": "esp32-2.0.5.zip", + "checksum": "SHA-256:c7a1040c5f007a799ef9eb249508e3544c3cf5246f67cdfdc1e80f7d0ca7b41d", + "size": "260916106", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.2.1" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.4", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esp32-2.0.4.zip", + "archiveFileName": "esp32-2.0.4.zip", + "checksum": "SHA-256:832609d6f4cd0edf4e471f02e30b7f0e1c86fdd1b950990ef40431e656237214", + "size": "259715595", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.3.0" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.3", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.3/esp32-2.0.3.zip", + "archiveFileName": "esp32-2.0.3.zip", + "checksum": "SHA-256:7a44ab32a2bfe18a84fd1f75aa1921dae92c6b4a74a2eb4d0c7d479b34996f3b", + "size": "246542267", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.3.0" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.2", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esp32-2.0.2.zip", + "archiveFileName": "esp32-2.0.2.zip", + "checksum": "SHA-256:e139f22aab9cbe8109815de0be110e58a8f1d6c90a2e263eb0b0d646b53a5a33", + "size": "151846438", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.1.0" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.1", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.1/esp32-2.0.1.zip", + "archiveFileName": "esp32-2.0.1.zip", + "checksum": "SHA-256:3a7cd46ba47990dd37fbe02b7f0a910dd5cc7af1d190350b69d320ed36cd6b41", + "size": "148976301", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.1.0" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.0", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0/esp32-2.0.0.zip", + "archiveFileName": "esp32-2.0.0.zip", + "checksum": "SHA-256:10e1c42dbf11d2359259a80008f13f37d2f9bb8f49a25d34d387cf4531052cbc", + "size": "139313137", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + }, + { + "name": "WEMOS D1 MINI ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r1" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r1" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r1" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.1.0" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "1.0.6", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.6/esp32-1.0.6.zip", + "archiveFileName": "esp32-1.0.6.zip", + "checksum": "SHA-256:982da9aaa181b6cb9c692dd4c9622b022ecc0d1e3aa0c5b70428ccc3c1b4556b", + "size": "51126662", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + }, + { + "name": "WEMOS D1 MINI ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "1.22.0-97-gc752ad5-5.2.0" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.0.0" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "1.0.5", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5/esp32-1.0.5.zip", + "archiveFileName": "esp32-1.0.5.zip", + "checksum": "SHA-256:dc5c6c72a127b3171c654f3c3476911d3c2b0ab21affdb7b0f0756c105ca71a7", + "size": "49552769", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + }, + { + "name": "WEMOS D1 MINI ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "1.22.0-97-gc752ad5-5.2.0" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.0.0" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + } + ] + }, + { + "category": "ESP32", + "name": "esp32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.4/esp32-1.0.4.zip", + "checksum": "SHA-256:d9108bf873933c4e48a3ca401fb51e41b2cc3f98d7c9b9be9881e7ca34bf0efe", + "help": { + "online": "" + }, + "version": "1.0.4", + "architecture": "esp32", + "archiveFileName": "esp32-1.0.4.zip", + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + }, + { + "name": "WEMOS D1 MINI ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "version": "1.22.0-80-g6c4433a-5.2.0", + "name": "xtensa-esp32-elf-gcc" + }, + { + "packager": "esp32", + "version": "2.6.1", + "name": "esptool_py" + }, + { + "packager": "esp32", + "version": "0.2.3", + "name": "mkspiffs" + } + ], + "size": "36853332" + }, + { + "category": "ESP32", + "name": "esp32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.3/esp32-1.0.3.zip", + "checksum": "SHA-256:19a30ece8a3ab26ab420c3d5531a9a1c51cb04e421a4f1d86dc072c209060436", + "help": { + "online": "" + }, + "version": "1.0.3", + "architecture": "esp32", + "archiveFileName": "esp32-1.0.3.zip", + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + }, + { + "name": "WEMOS D1 MINI ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "version": "1.22.0-80-g6c4433a-5.2.0", + "name": "xtensa-esp32-elf-gcc" + }, + { + "packager": "esp32", + "version": "2.6.1", + "name": "esptool_py" + }, + { + "packager": "esp32", + "version": "0.2.3", + "name": "mkspiffs" + } + ], + "size": "36811826" + }, + { + "category": "ESP32", + "help": { + "online": "" + }, + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.2/esp32-1.0.2.zip", + "checksum": "SHA-256:c3a5a5050705d41ab205d25a7399e921057b754ef8f883419f58c0c7f08df11c", + "version": "1.0.2", + "architecture": "esp32", + "archiveFileName": "esp32-1.0.2.zip", + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + } + ], + "size": "31174160", + "toolsDependencies": [ + { + "packager": "esp32", + "version": "1.22.0-80-g6c4433a-5.2.0", + "name": "xtensa-esp32-elf-gcc" + }, + { + "packager": "esp32", + "version": "2.6.1", + "name": "esptool_py" + }, + { + "packager": "esp32", + "version": "0.2.3", + "name": "mkspiffs" + } + ], + "name": "esp32" + }, + { + "category": "ESP32", + "help": { + "online": "" + }, + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.1/esp32-1.0.1.zip", + "checksum": "SHA-256:1a7fa2f9bb0b6b5a20dfea227497f4851dc8b886caf7ecb998f745589c97ed34", + "name": "esp32", + "version": "1.0.1", + "architecture": "esp32", + "archiveFileName": "esp32-1.0.1.zip", + "size": "31273425", + "toolsDependencies": [ + { + "packager": "esp32", + "version": "1.22.0-80-g6c4433a-5.2.0", + "name": "xtensa-esp32-elf-gcc" + }, + { + "packager": "esp32", + "version": "2.6.0", + "name": "esptool_py" + }, + { + "packager": "esp32", + "version": "0.2.3", + "name": "mkspiffs" + } + ], + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + } + ] + }, + { + "category": "ESP32", + "help": { + "online": "" + }, + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.0/esp32-1.0.0.zip", + "checksum": "SHA-256:94d586174f103e2014be590ab307c5cdda6fa2ec70204c7f121882ace5e05c80", + "name": "esp32", + "version": "1.0.0", + "architecture": "esp32", + "archiveFileName": "esp32-1.0.0.zip", + "size": "26381887", + "toolsDependencies": [ + { + "packager": "esp32", + "version": "1.22.0-80-g6c4433a-5.2.0", + "name": "xtensa-esp32-elf-gcc" + }, + { + "packager": "esp32", + "version": "2.3.1", + "name": "esptool" + }, + { + "packager": "esp32", + "version": "0.2.3", + "name": "mkspiffs" + } + ], + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + } + ] + } + ], + "tools": [ + { + "name": "esp32-arduino-libs", + "version": "idf-master-d930a386-v1", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-master/esp32-arduino-libs-idf-master-d930a386-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-master-d930a386-v1.zip", + "checksum": "SHA-256:0310daa4f08f807f2bf3babd2587c2694df64c70e367863eadf5020636b717ae", + "size": "422376381" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-master/esp32-arduino-libs-idf-master-d930a386-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-master-d930a386-v1.zip", + "checksum": "SHA-256:0310daa4f08f807f2bf3babd2587c2694df64c70e367863eadf5020636b717ae", + "size": "422376381" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-master/esp32-arduino-libs-idf-master-d930a386-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-master-d930a386-v1.zip", + "checksum": "SHA-256:0310daa4f08f807f2bf3babd2587c2694df64c70e367863eadf5020636b717ae", + "size": "422376381" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-master/esp32-arduino-libs-idf-master-d930a386-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-master-d930a386-v1.zip", + "checksum": "SHA-256:0310daa4f08f807f2bf3babd2587c2694df64c70e367863eadf5020636b717ae", + "size": "422376381" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-master/esp32-arduino-libs-idf-master-d930a386-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-master-d930a386-v1.zip", + "checksum": "SHA-256:0310daa4f08f807f2bf3babd2587c2694df64c70e367863eadf5020636b717ae", + "size": "422376381" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-master/esp32-arduino-libs-idf-master-d930a386-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-master-d930a386-v1.zip", + "checksum": "SHA-256:0310daa4f08f807f2bf3babd2587c2694df64c70e367863eadf5020636b717ae", + "size": "422376381" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-master/esp32-arduino-libs-idf-master-d930a386-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-master-d930a386-v1.zip", + "checksum": "SHA-256:0310daa4f08f807f2bf3babd2587c2694df64c70e367863eadf5020636b717ae", + "size": "422376381" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-master/esp32-arduino-libs-idf-master-d930a386-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-master-d930a386-v1.zip", + "checksum": "SHA-256:0310daa4f08f807f2bf3babd2587c2694df64c70e367863eadf5020636b717ae", + "size": "422376381" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.4-2f7dcd86-v1", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.4-d4aa25a3-v1", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "checksum": "SHA-256:81101d580ebafb78f71bd494f4f5162fd829279d18634282c0f8f95c9e928335", + "size": "350941396" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "checksum": "SHA-256:81101d580ebafb78f71bd494f4f5162fd829279d18634282c0f8f95c9e928335", + "size": "350941396" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "checksum": "SHA-256:81101d580ebafb78f71bd494f4f5162fd829279d18634282c0f8f95c9e928335", + "size": "350941396" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "checksum": "SHA-256:81101d580ebafb78f71bd494f4f5162fd829279d18634282c0f8f95c9e928335", + "size": "350941396" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "checksum": "SHA-256:81101d580ebafb78f71bd494f4f5162fd829279d18634282c0f8f95c9e928335", + "size": "350941396" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "checksum": "SHA-256:81101d580ebafb78f71bd494f4f5162fd829279d18634282c0f8f95c9e928335", + "size": "350941396" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "checksum": "SHA-256:81101d580ebafb78f71bd494f4f5162fd829279d18634282c0f8f95c9e928335", + "size": "350941396" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "checksum": "SHA-256:81101d580ebafb78f71bd494f4f5162fd829279d18634282c0f8f95c9e928335", + "size": "350941396" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.4-bcb3c32d-v1", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "checksum": "SHA-256:2ab7a8565d4eadd805c1d00c9a1550292d3287dc43efa166d7ad3ba5322344bb", + "size": "345570903" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "checksum": "SHA-256:2ab7a8565d4eadd805c1d00c9a1550292d3287dc43efa166d7ad3ba5322344bb", + "size": "345570903" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "checksum": "SHA-256:2ab7a8565d4eadd805c1d00c9a1550292d3287dc43efa166d7ad3ba5322344bb", + "size": "345570903" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "checksum": "SHA-256:2ab7a8565d4eadd805c1d00c9a1550292d3287dc43efa166d7ad3ba5322344bb", + "size": "345570903" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "checksum": "SHA-256:2ab7a8565d4eadd805c1d00c9a1550292d3287dc43efa166d7ad3ba5322344bb", + "size": "345570903" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "checksum": "SHA-256:2ab7a8565d4eadd805c1d00c9a1550292d3287dc43efa166d7ad3ba5322344bb", + "size": "345570903" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "checksum": "SHA-256:2ab7a8565d4eadd805c1d00c9a1550292d3287dc43efa166d7ad3ba5322344bb", + "size": "345570903" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "checksum": "SHA-256:2ab7a8565d4eadd805c1d00c9a1550292d3287dc43efa166d7ad3ba5322344bb", + "size": "345570903" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-489d7a2b-v1", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-cfea4f7c-v1", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-083aad99-v2", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-a0f798cf", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "checksum": "SHA-256:f552d02ecef616389f1d0c973cb270718a192e6258db426656cd5965db3c6ed0", + "size": "339750940" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "checksum": "SHA-256:f552d02ecef616389f1d0c973cb270718a192e6258db426656cd5965db3c6ed0", + "size": "339750940" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "checksum": "SHA-256:f552d02ecef616389f1d0c973cb270718a192e6258db426656cd5965db3c6ed0", + "size": "339750940" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "checksum": "SHA-256:f552d02ecef616389f1d0c973cb270718a192e6258db426656cd5965db3c6ed0", + "size": "339750940" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "checksum": "SHA-256:f552d02ecef616389f1d0c973cb270718a192e6258db426656cd5965db3c6ed0", + "size": "339750940" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "checksum": "SHA-256:f552d02ecef616389f1d0c973cb270718a192e6258db426656cd5965db3c6ed0", + "size": "339750940" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "checksum": "SHA-256:f552d02ecef616389f1d0c973cb270718a192e6258db426656cd5965db3c6ed0", + "size": "339750940" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "checksum": "SHA-256:f552d02ecef616389f1d0c973cb270718a192e6258db426656cd5965db3c6ed0", + "size": "339750940" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-632e0c2a", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-33fbade6", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-466a392a", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "checksum": "SHA-256:8c2d36bd4be5b6a9446efd3c2b2f93f544f4b2a22dab23c4991aec5711c72884", + "size": "318864212" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "checksum": "SHA-256:8c2d36bd4be5b6a9446efd3c2b2f93f544f4b2a22dab23c4991aec5711c72884", + "size": "318864212" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "checksum": "SHA-256:8c2d36bd4be5b6a9446efd3c2b2f93f544f4b2a22dab23c4991aec5711c72884", + "size": "318864212" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "checksum": "SHA-256:8c2d36bd4be5b6a9446efd3c2b2f93f544f4b2a22dab23c4991aec5711c72884", + "size": "318864212" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "checksum": "SHA-256:8c2d36bd4be5b6a9446efd3c2b2f93f544f4b2a22dab23c4991aec5711c72884", + "size": "318864212" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "checksum": "SHA-256:8c2d36bd4be5b6a9446efd3c2b2f93f544f4b2a22dab23c4991aec5711c72884", + "size": "318864212" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "checksum": "SHA-256:8c2d36bd4be5b6a9446efd3c2b2f93f544f4b2a22dab23c4991aec5711c72884", + "size": "318864212" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "checksum": "SHA-256:8c2d36bd4be5b6a9446efd3c2b2f93f544f4b2a22dab23c4991aec5711c72884", + "size": "318864212" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-b6b4727c58", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-dc859c1e67", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-bd2b9390ef", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-442a798083", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-3662303f312", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.0-rc1/esp32-arduino-libs-3.0.0-rc1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-rc1.zip", + "checksum": "SHA-256:0fb5d5b794a6bbfba5ec5330537cde675a214356b4b3bb1371d7ddc3829128c7", + "size": "350651673" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.0-rc1/esp32-arduino-libs-3.0.0-rc1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-rc1.zip", + "checksum": "SHA-256:0fb5d5b794a6bbfba5ec5330537cde675a214356b4b3bb1371d7ddc3829128c7", + "size": "350651673" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.0-rc1/esp32-arduino-libs-3.0.0-rc1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-rc1.zip", + "checksum": "SHA-256:0fb5d5b794a6bbfba5ec5330537cde675a214356b4b3bb1371d7ddc3829128c7", + "size": "350651673" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.0-rc1/esp32-arduino-libs-3.0.0-rc1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-rc1.zip", + "checksum": "SHA-256:0fb5d5b794a6bbfba5ec5330537cde675a214356b4b3bb1371d7ddc3829128c7", + "size": "350651673" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.0-rc1/esp32-arduino-libs-3.0.0-rc1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-rc1.zip", + "checksum": "SHA-256:0fb5d5b794a6bbfba5ec5330537cde675a214356b4b3bb1371d7ddc3829128c7", + "size": "350651673" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.0-rc1/esp32-arduino-libs-3.0.0-rc1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-rc1.zip", + "checksum": "SHA-256:0fb5d5b794a6bbfba5ec5330537cde675a214356b4b3bb1371d7ddc3829128c7", + "size": "350651673" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.0-rc1/esp32-arduino-libs-3.0.0-rc1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-rc1.zip", + "checksum": "SHA-256:0fb5d5b794a6bbfba5ec5330537cde675a214356b4b3bb1371d7ddc3829128c7", + "size": "350651673" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.0-rc1/esp32-arduino-libs-3.0.0-rc1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-rc1.zip", + "checksum": "SHA-256:0fb5d5b794a6bbfba5ec5330537cde675a214356b4b3bb1371d7ddc3829128c7", + "size": "350651673" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-3662303f31", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.0-alpha3/esp32-arduino-libs-3.0.0-alpha3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-alpha3.zip", + "checksum": "SHA-256:18a278b74a37211d142d1f1d5795af5b6a9526c360c0feee07bb72c04e898c41", + "size": "350651673" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.0-alpha3/esp32-arduino-libs-3.0.0-alpha3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-alpha3.zip", + "checksum": "SHA-256:18a278b74a37211d142d1f1d5795af5b6a9526c360c0feee07bb72c04e898c41", + "size": "350651673" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.0-alpha3/esp32-arduino-libs-3.0.0-alpha3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-alpha3.zip", + "checksum": "SHA-256:18a278b74a37211d142d1f1d5795af5b6a9526c360c0feee07bb72c04e898c41", + "size": "350651673" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.0-alpha3/esp32-arduino-libs-3.0.0-alpha3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-alpha3.zip", + "checksum": "SHA-256:18a278b74a37211d142d1f1d5795af5b6a9526c360c0feee07bb72c04e898c41", + "size": "350651673" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.0-alpha3/esp32-arduino-libs-3.0.0-alpha3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-alpha3.zip", + "checksum": "SHA-256:18a278b74a37211d142d1f1d5795af5b6a9526c360c0feee07bb72c04e898c41", + "size": "350651673" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.0-alpha3/esp32-arduino-libs-3.0.0-alpha3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-alpha3.zip", + "checksum": "SHA-256:18a278b74a37211d142d1f1d5795af5b6a9526c360c0feee07bb72c04e898c41", + "size": "350651673" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.0-alpha3/esp32-arduino-libs-3.0.0-alpha3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-alpha3.zip", + "checksum": "SHA-256:18a278b74a37211d142d1f1d5795af5b6a9526c360c0feee07bb72c04e898c41", + "size": "350651673" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.0-alpha3/esp32-arduino-libs-3.0.0-alpha3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-alpha3.zip", + "checksum": "SHA-256:18a278b74a37211d142d1f1d5795af5b6a9526c360c0feee07bb72c04e898c41", + "size": "350651673" + } + ] + }, + { + "name": "esp-x32", + "version": "2411", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:b1859df334a85541ae746e1b86439f59180d87f8cf1cc04c2e770fadf9f006e9", + "size": "323678089" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:7ff023033a5c00e55b9fc0a0b26d18fb0e476c24e24c5b0459bcb2e05a3729f1", + "size": "320064691" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:bb11dbf3ed25d4e0cc9e938749519e8236cfa2609e85742d311f1d869111805a", + "size": "319454139" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:5ac611dca62ec791d413d1f417d566c444b006d2a4f97bd749b15f782d87249b", + "size": "328335914" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-x86_64-apple-darwin_signed.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-x86_64-apple-darwin_signed.tar.gz", + "checksum": "SHA-256:15b3e60362028eaeff9156dc82dac3f1436b4aeef3920b28d7650974d8c34751", + "size": "336215844" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-aarch64-apple-darwin_signed.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-aarch64-apple-darwin_signed.tar.gz", + "checksum": "SHA-256:45c475518735133789bacccad31f872318b7ecc0b31cc9b7924aad880034f0bf", + "size": "318797396" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-i686-w64-mingw32.zip", + "checksum": "SHA-256:b30e450e0af279783c54a9ae77c3b367dd556b78eda930a92ec7b784a74c28c8", + "size": "382457717" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:62ae704777d73c30689efff6e81178632a1ca44d1a2d60f4621eb997e040e028", + "size": "386316009" + } + ] + }, + { + "name": "esp-x32", + "version": "2405", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:bce77e8480701d5a90545369d1b5848f6048eb39c0022d2446d1e33a8e127490", + "size": "208911713" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:7c9e3c1adc733d042ed87b92daa1d6396e1b441c1755f1fa14cb88855719ba88", + "size": "202519931" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:d6955e8ea6af91574bf9213b92f32ca09eb8640103446b7fa19a63cfeeec5421", + "size": "202206516" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:3666ee74ecb693ee6488f11469802630a7b0d32608184045a4f35cb413f59e3d", + "size": "213304863" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:948cf57b6eecc898b5f70e06ad08ba88c08b627be570ec631dfcd72f6295194a", + "size": "221357024" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:6f03fdf0cc14a7f3900ee59977f62e8626d8b7c208506e52f1fd883ac223427a", + "size": "199689745" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-i686-w64-mingw32_hotfix.zip", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-i686-w64-mingw32_hotfix.zip", + "checksum": "SHA-256:d6b227c50e3c8e21d62502b3140e5ab74a4cb502c2b4169c36238b9858a8fb88", + "size": "266042967" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-x86_64-w64-mingw32_hotfix.zip", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-x86_64-w64-mingw32_hotfix.zip", + "checksum": "SHA-256:155ee97b531236e6a7c763395c68ca793e55e74d2cb4d38a23057a153e01e7d0", + "size": "269831985" + } + ] + }, + { + "name": "esp-x32", + "version": "2302", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:e8d35938385447cf9c34735fee2a3b2b61cca6be07db77a45856a1c2a347e423", + "size": "111766903" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:569988acfc2673369f222037c64bac96990cee08cebeebc4f8860e0d984f8bd9", + "size": "106473247" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:6a844f16021e936cc9b87b203978356f57ab2144554f6f2a0f73ffa3d3d316c5", + "size": "105576049" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:743d6f03a89329bb09f9550d27fcab677f5cf06b4720793bbcef7883a932681d", + "size": "114870843" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:4d32d764e984f3a570aacfb2f4957619540fb4629534d969b2e83997901334c3", + "size": "119424029" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:dc8fa7f4933bf5cb08e83bacce6160cc9dfe93d7aad1e8f92599bb81ff5b2e28", + "size": "106136827" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:62bb6428d107ed3f44c212c77ecf24804b74c97327b0f0ad2029c656c6dbd6ee", + "size": "130847086" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:8febfe4a6476efc69012390106c8c660a14418f025137b0513670c72124339cf", + "size": "134985117" + } + ] + }, + { + "name": "xtensa-esp-elf-gdb", + "version": "16.2_20250324", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/xtensa-esp-elf-gdb-16.2_20250324-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-16.2_20250324-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:27b58ab12248e04277c4fdc74038cf0a001d5142df091ab94939ad35053738fd", + "size": "36361058" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/xtensa-esp-elf-gdb-16.2_20250324-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-16.2_20250324-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:24f85aa778e1605098a13ff7bd29d5760767faf012705c8915cb08b32cad0206", + "size": "35442104" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/xtensa-esp-elf-gdb-16.2_20250324-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-16.2_20250324-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:c73e43038b6d50374cd0ee714370ce748189e0b00404d581babd2bb0115c4785", + "size": "31260410" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/xtensa-esp-elf-gdb-16.2_20250324-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-16.2_20250324-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:dc7b8aad0fb1c6a1abfdb8dff4f08221ea08a0f28fb837f181969ac1174d4dc6", + "size": "35067894" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/xtensa-esp-elf-gdb-16.2_20250324-x86_64-apple-darwin21.1.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-16.2_20250324-x86_64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:398c429cfe696bad01d636c5488cadc87b20471c1b5ed02c60eee5ef2a775c93", + "size": "54992785" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/xtensa-esp-elf-gdb-16.2_20250324-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-16.2_20250324-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:b6d85c0d76d653bb55f9d06b0cd509eab7e99db541c88b8c849c64827e9d74a9", + "size": "43538967" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/xtensa-esp-elf-gdb-16.2_20250324-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-16.2_20250324-i686-w64-mingw32.zip", + "checksum": "SHA-256:f748d6b65fdf66733b82e12d0d85a05e3134122416280379df129cfebe2aa4b2", + "size": "32189419" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/xtensa-esp-elf-gdb-16.2_20250324-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-16.2_20250324-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:e970fc3ec8a1d0acee2432e91e0a01b348613a0425aacfa981b2fc505fe920cc", + "size": "32290997" + } + ] + }, + { + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:9d68472d4cba5cf8c2b79d94f86f92c828e76a632bd1e6be5e7706e5b304d36e", + "size": "31010320" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:bdabc3217994815fc311c4e16e588b78f6596b5ad4ffa46c80b40e982cfb1e66", + "size": "30954580" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:d54b8d703ba897b28c627da3d27106a3906dd01ba298778a67064710bc33c76d", + "size": "28697281" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:64d3bc992ed8fdec383d49e8b803ac494605a38117c8293db8da055037de96b0", + "size": "29890994" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:023e74b3fda793da4bc0509b02de776ee0dad6efaaac17bef5916fb7dc9c26b9", + "size": "44446611" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:ea757c6bf8c25238f6d2fdcc6bbab25a1b00608a0f9e19b7ddd2f37ddbdc3fb1", + "size": "37021423" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-i686-w64-mingw32.zip", + "checksum": "SHA-256:322e8d9b700dc32d8158e3dc55fb85ec55de48d0bb7789375ee39a28d5d655e2", + "size": "26302466" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:a27a2fe20f192f8e0a51b8936428b4e1cf8935cfe008ee445cc49f6fc7f6db2e", + "size": "28366035" + } + ] + }, + { + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:d0743ec43cd92c35452a9097f7863281de4e72f04120d63cfbcf9d591a373529", + "size": "36942094" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:bc1fac0366c6a08e26c45896ca21c8c90efc2cdd431b8ba084e8772e15502d0e", + "size": "37134601" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:25efc51d52b71f097ccec763c5c885c8f5026b432fec4b5badd6a5f36fe34d04", + "size": "34579556" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:e0af0b3b4a6b29a843cd5f47e331a966d9258f7d825b4656c6251490f71b05b2", + "size": "35676578" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:bd146fd99a52b2d71c7ce0f62b9e18f3423d6cae7b2b2c954046b0dd7a23142f", + "size": "52863941" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:5edc76565bf9d2fadf24e443ddf3df7567354f336a65d4af5b2ee805cdfcec24", + "size": "33504923" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-i686-w64-mingw32.zip", + "checksum": "SHA-256:ea4f3ee6b95ad1ad2e07108a21a50037a3e64a420cdeb34b2ba95d612faed898", + "size": "31068749" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:13bb97f39173948d1cfb6e651d9b335ea9d52f1fdd0dda1eda3a2d23d8c63644", + "size": "33514906" + } + ] + }, + { + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20221002", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/xtensa-esp-elf-gdb-12.1_20221002-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20221002-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:d056f2435ef05cccadac5d8fcefa3efd8f8c456c3d853f5eba1edb501acfe4f7", + "size": "32006939" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/xtensa-esp-elf-gdb-12.1_20221002-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20221002-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:7fc9674cc4f4c5e7bc94ca05bc5deaaa4c4bbcc972a9caee6fcd6a872c804c02", + "size": "32227425" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/xtensa-esp-elf-gdb-12.1_20221002-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20221002-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:68118ff36e9dd2284d92a7a529d0e2a8d20f6426036a0736fa1147935614ece2", + "size": "29960020" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/xtensa-esp-elf-gdb-12.1_20221002-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20221002-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:cf6cac8ed70726d390d30713d537754544872715e1b70a8a4a28b5dc616193b9", + "size": "30877187" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/xtensa-esp-elf-gdb-12.1_20221002-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20221002-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:417fcf8d1b596b9481603d6987def1d6cfcebdb9739f53940887334a7de855fa", + "size": "45941853" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/xtensa-esp-elf-gdb-12.1_20221002-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20221002-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:95d6ed2311d6a72bf349e152d096aeeb151f9c5989bfa3120facb1c99e879196", + "size": "27596410" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/xtensa-esp-elf-gdb-12.1_20221002-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20221002-i686-w64-mingw32.zip", + "checksum": "SHA-256:642b6a135c38ff1d5e54ad2c29469b769f8e1b101dab363d06101b02284bb979", + "size": "27387730" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/xtensa-esp-elf-gdb-12.1_20221002-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20221002-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:2d958570ff6aa69ed32cbb076cbaf303349a26b3301a7c4628be8d7ad39cf9f1", + "size": "29561472" + } + ] + }, + { + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:b5f7cc3e4b5a58db655754083ed9652e4953e71c3b4922fb624e7a034ec24a64", + "size": 26947336 + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:816acfae38b6b443f4f1590395f68f079243539259d19c7772ae6416c6519444", + "size": 27134508 + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:4dd1bace0633196fddfdcef3cebcc4bbfce22f5a0d2d1e3d618f3d8a6cbfcacc", + "size": 25205239 + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:27744d09d171be2f55ec15fa7f2d7f8ff94d33f7e130d24ebe082cb6c438618b", + "size": 25978028 + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:1432faa12d7301133f6ee654d60751b57adcc6cf323ee1ecc393f06f0225eff4", + "size": 38386785 + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:d0b542ef070ea72857f9cf554f176a0a9d868cd59e05ac293ad39402bcc5277d", + "size": 21671964 + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-i686-w64-mingw32.zip", + "checksum": "SHA-256:1678b06aa80b1d689d05548056635efde5b73b98f2c3de5d555bcfc6f374c5d0", + "size": 23241302 + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:7060df4b6aa133e282147c3651d50222d677d6a0fff92979c500353b099a3f41", + "size": 25135265 + } + ] + }, + { + "name": "esp-rv32", + "version": "2411", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:a16942465d33c7f0334c16e83bc6feb62e06eeb79cf19099293480bb8d48c0cd", + "size": "593721156" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:22486233d0e0fd58a54ae453b701f195f1432fc6f2e17085b9d6c8d5d9acefb7", + "size": "587879927" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:27a72d5d96cdb56dae2a1da5dfde1717c18a8c1f9a1454c8e34a8bd34abe662d", + "size": "586531522" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:b7bd6e4cd53a4c55831d48e96a3d500bfffb091bec84a30bc8c3ad687e3eb3a2", + "size": "597070471" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-x86_64-apple-darwin_signed.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-x86_64-apple-darwin_signed.tar.gz", + "checksum": "SHA-256:5f8b571e1aedbe9f856f3bdeca6600cd5510ccff1ca102c4f001421eda560585", + "size": "602343061" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-aarch64-apple-darwin_signed.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-aarch64-apple-darwin_signed.tar.gz", + "checksum": "SHA-256:a7276042a7eb2d33c2dff7167539e445c32c07d43a2c6827e86d035642503e0b", + "size": "578521565" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-i686-w64-mingw32.zip", + "checksum": "SHA-256:54193a97bd75205678ead8d11f00b351cfa3c2a6e5ab5d966341358b9f9422d7", + "size": "672055172" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:24c8407fa467448d394e0639436a5ede31caf1838e35e8435e19df58ebed438c", + "size": "677812937" + } + ] + }, + { + "name": "esp-rv32", + "version": "2405", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:e7fbfffbb19dcd3764a9848a141bf44e19ad0b48e0bd1515912345c26fe52fba", + "size": "294346758" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:a178a895b807ed2e87d5d62153c36a6aae048581f527c0eb152f0a02b8de9571", + "size": "288374597" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:4a2f176d0f5bc8a70645975e2a08ea94145fb69b7225c5cdcbd6024a4836aaf5", + "size": "287737495" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:7a6f02f1b2effafb18600bbf602818f6923fd320f000fb8659f34acbfda8812f", + "size": "299138540" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-x86_64-apple-darwin.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:a193b4f025d0d836b0a9d9cbe760af1c53e53af66fc332fe98952bc4c456dd9a", + "size": "305025700" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-aarch64-apple-darwin.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:7082dd2e2123dea5609a24092d19ac6612ae7e219df1d298de6b2f64cb4af0df", + "size": "285458443" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-i686-w64-mingw32.zip", + "checksum": "SHA-256:590bfb10576702639825581cc00c445da6e577012840a787137417e80d15f46d", + "size": "366573064" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:413eb9f6adf8fdaf25544d014c850fc09eb38bb93a2fc5ebd107ab1b0de1bb3a", + "size": "369820297" + } + ] + }, + { + "name": "esp-rv32", + "version": "2302", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:1eb0d65990547ee9706b90406600cbc3638814d5feb7c1f7b44bb5416478a5bd", + "size": "257615266" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:921fcdc170c7fe5d6a0a30470ed1875c8926d910c19739fc950c8d1836e4c1c5", + "size": "253094184" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:f66e06312b58251c2121c1b1df1102565708573b86b2a9fe0c03ea1b0e9a7511", + "size": "252558021" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:8abcac0331ef8973d1c705e77523364ebec7e98b37640d4a1d036912f3cbe946", + "size": "261248375" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:76a334bc75a4e3891c222c84d7968817f2d0699d2976fc2a1658e56395283bec", + "size": "268987133" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:f30571945b257a10a26901bba3c5892e07c192aacf9ed6e8fcd11ca36ed827d2", + "size": "252159713" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:a5dfbb6dbf6fc6c6ea9beb2723af059ba3c5b2c86c2f0dc3b21afdc7bb229bf5", + "size": "324863847" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:9deae9e0013b2f7bbf017f9c8135755bfa89522f337c7dca35872bf12ec08176", + "size": "328092732" + } + ] + }, + { + "name": "riscv32-esp-elf-gdb", + "version": "16.2_20250324", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/riscv32-esp-elf-gdb-16.2_20250324-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-16.2_20250324-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:f9b172d8d72d0a1e2b0b80127df29263a0cb0d0c4e998e09c27031bfac09f3ec", + "size": "36528201" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/riscv32-esp-elf-gdb-16.2_20250324-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-16.2_20250324-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:68bb6a85fb58b8a738f799e8fb4fa1f56cfeffc4de803ceb03c8a33cb2cd919d", + "size": "35643464" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/riscv32-esp-elf-gdb-16.2_20250324-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-16.2_20250324-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:673038ab9fb2b7391ff9252824194e3b9e40668efe9ce54d1e582a9d6c51f04a", + "size": "32154574" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/riscv32-esp-elf-gdb-16.2_20250324-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-16.2_20250324-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:62f05d5fe08145b25e423dd0b3f1ae260be99abf5462b8cfd918bf2231e26e30", + "size": "35410891" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/riscv32-esp-elf-gdb-16.2_20250324-x86_64-apple-darwin21.1.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-16.2_20250324-x86_64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:63ae12cfbab648e2d2ca7a700a0c615c4f36a6fbe6876c11ba108115ee0d60f2", + "size": "55359246" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/riscv32-esp-elf-gdb-16.2_20250324-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-16.2_20250324-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:bfbe49774f839020cef988537da0a06896dfe4a382674c62285361ed9bd4aee3", + "size": "43926592" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/riscv32-esp-elf-gdb-16.2_20250324-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-16.2_20250324-i686-w64-mingw32.zip", + "checksum": "SHA-256:e8b84eec990ff514729b3770edf2b543f36670f43663ce0c3b624fb4884812ca", + "size": "32914955" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/riscv32-esp-elf-gdb-16.2_20250324-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-16.2_20250324-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:37c79178900c19ca7487c26af4b5ad6b0d3f34683bd0e9c2ddd39038c999e429", + "size": "32667353" + } + ] + }, + { + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:ce004bc0bbd71b246800d2d13b239218b272a38bd528e316f21f1af2db8a4b13", + "size": "30707431" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:ba10f2866c61410b88c65957274280b1a62e3bed05131654ed9b6758efe18e55", + "size": "30824065" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:88539db5d987f28827efac7e26080a2803b9b539342ccd2963ccfdd56d7f08f7", + "size": "29000575" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:0e628ee37438ab6ba05eb889a76d09e50cb98e0020a16b8e2b935c5cf19b4ed2", + "size": "29947521" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:8f6bda832d70dad5860a639d55aba4237bd10cbac9f4822db1eece97357b34a9", + "size": "44196117" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:d88b6116e86456c8480ce9bc95aed375a35c0d091f1da0a53b86be0e6ef3d320", + "size": "36794404" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-i686-w64-mingw32.zip", + "checksum": "SHA-256:d6e7ce05805b0d8d4dd138ad239b98a1adf8da98941867d60760eb1ae5361730", + "size": "26486295" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:5c9f211dc46daf6b96fad09d709284a0f0186fef8947d9f6edd6bca5b5ad4317", + "size": "27942579" + } + ] + }, + { + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:2c78b806be176b1e449e07ff83429d38dfc39a13f89a127ac1ffa6c1230537a0", + "size": "36630145" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:33f80117c8777aaff9179e27953e41764c5c46b3c576dc96a37ecc7a368807ec", + "size": "36980143" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:292e6ec0a9381c1480bbadf5caae25e86428b68fb5d030c9be7deda5e7f070e0", + "size": "34950318" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:68a25fbcfc6371ec4dbe503ec92211977eb2006f0c29e67dbce6b93c70c6b7ec", + "size": "35801607" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:322c722e6c12225ed8cd97f95a0375105756dc5113d369958ce0858ad1a90257", + "size": "52618688" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:c2224b3a8d02451c530cf004c29653292d963a1b4021b4b472b862b6dbe97e0b", + "size": "33149392" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-i686-w64-mingw32.zip", + "checksum": "SHA-256:4b42149a99dd87ee7e6dde25c99bad966c7f964253fa8f771593d7cef69f5602", + "size": "31635103" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:728231546ad5006d34463f972658b2a89e52f660a42abab08a29bedd4a8046ad", + "size": "33400816" + } + ] + }, + { + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20221002", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/riscv32-esp-elf-gdb-12.1_20221002-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20221002-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:f0cf0821eaac7e8cf2c63b14f2b69d612f4f8c266b29d02d5547b7d7cbbd0e11", + "size": "32035173" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/riscv32-esp-elf-gdb-12.1_20221002-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20221002-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:6812344dfb5c50a81d2fd8354463516f0aa5f582e8ab406cbaeca8722b45fa94", + "size": "32362642" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/riscv32-esp-elf-gdb-12.1_20221002-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20221002-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:b73042b8e1df5a3fc8008ec3cd000ef579f155d72a66c6ade1d48906d843e738", + "size": "30580290" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/riscv32-esp-elf-gdb-12.1_20221002-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20221002-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:3f07a1b8dc87127a1a6bec6fbace4f8daca44755356f0692e9a5d4c8c4bfd81d", + "size": "31309798" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/riscv32-esp-elf-gdb-12.1_20221002-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20221002-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:bb139229f9a4998cab9cfb617d3ecb05b77cbfa9a3a59c54969035f1b4007487", + "size": "46120661" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/riscv32-esp-elf-gdb-12.1_20221002-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20221002-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:f6513b57f28245497f9c39a201f3f6444d4180e16b39765c629e01036286c0e6", + "size": "27662484" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/riscv32-esp-elf-gdb-12.1_20221002-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20221002-i686-w64-mingw32.zip", + "checksum": "SHA-256:8287fa2891e8d032e8283210048d653705791cda31504369418288d3e4753dd6", + "size": "27839143" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/riscv32-esp-elf-gdb-12.1_20221002-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20221002-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:9debae1135df8f5868a9d945468f0480cdaab25f77ead6a55cc85142c4487abd", + "size": "29404989" + } + ] + }, + { + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:6bf5b5d2d407e074af2a74fc826764934ac1625a1751c52fbc0d4d7772061f8f", + "size": 26799809 + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:e54ef67cdb5724fc2da8f0487f19b2c83c08b560fff317f5ffd98fbb230b397a", + "size": 27021672 + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:86772c6aee8a05b2c75a6b04e9da630e35e8415b64da8ccde92a5fb2d3c7fcf4", + "size": 25532577 + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:3463be3e24182b7f1bd0fb232020534445b2d0ea0e7093c1b4f4da102b3baf52", + "size": 26188698 + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:a9db1811ebb9271134eba2f7c303fc2587bd4b2a1ae33cd05ff2605cd2fb30d2", + "size": 38397584 + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:c94fb6d726b8d97e65e23237f5126a41343bca8f22a0414df5f0e6777e36f51c", + "size": 21593613 + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-i686-w64-mingw32.zip", + "checksum": "SHA-256:20cdee8a1c01428363ef02f4cc8035c65508d6b43560c525733eae94b7c7bb50", + "size": 23436802 + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:add72366485b784b66837ce263548980f1df144d0954c42d75a81f6acbd43cac", + "size": 24802315 + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20250226", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20250226/openocd-esp32-linux-amd64-0.12.0-esp32-20250226.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20250226.tar.gz", + "checksum": "SHA-256:914c726342ba5828e53f41aa454f01f317c42d8e6772d3d874593a6960fc4729", + "size": "2414924" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20250226/openocd-esp32-linux-arm64-0.12.0-esp32-20250226.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20250226.tar.gz", + "checksum": "SHA-256:c44ee99a9209c0234dbbcec86339fd685f5c61a763b29c33eba590bf62db2296", + "size": "2293923" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20250226/openocd-esp32-linux-armel-0.12.0-esp32-20250226.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20250226.tar.gz", + "checksum": "SHA-256:21ab6af3cf05f9290f4d59f1f381d5094dd2755fc528d3d2feb9334348fc0d8d", + "size": "2436071" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20250226/openocd-esp32-macos-0.12.0-esp32-20250226.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20250226.tar.gz", + "checksum": "SHA-256:0b5751699e93b6d101381611c96216ddff8c7dfd16425c610993fa27993f9a0a", + "size": "2525387" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20250226/openocd-esp32-macos-arm64-0.12.0-esp32-20250226.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20250226.tar.gz", + "checksum": "SHA-256:8bffbbb594b27a4971a3922792135f8c836fff26991f7f450094386920263531", + "size": "2568843" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20250226/openocd-esp32-win32-0.12.0-esp32-20250226.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20250226.zip", + "checksum": "SHA-256:aaf3c955bb4eb47805a1ba108dfd07a8a56ce720cb40194a354362b5f0961230", + "size": "2960226" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20250226/openocd-esp32-win64-0.12.0-esp32-20250226.zip", + "archiveFileName": "openocd-esp32-win64-0.12.0-esp32-20250226.zip", + "checksum": "SHA-256:79baf35325117a53093b62f6b9bee677dd12275d7066e3f8a274d2a80e986b6e", + "size": "2960225" + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-linux-amd64-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:e82b0f036dc99244bead5f09a86e91bb2365cbcd1122ac68261e5647942485df", + "size": "2398717" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-linux-arm64-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:8f8daf5bd22ec5d2fa9257b0862ec33da18ee677e023fb9a9eb17f74ce208c76", + "size": "2271584" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-linux-armel-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:bc9c020ecf20e2000f76cffa44305fd5bc44d2e688ea78cce423399d33f19767", + "size": "2414206" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-macos-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:02a2dffe801a2d005fa9e614d80ff8173395b2cb0b5d3118d0229d094a9946a7", + "size": "2508089" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-macos-arm64-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:c382f9e884d6565cb6089bff5f200f4810994667d885f062c3d3c5625a0fa9d6", + "size": "2552569" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-win32-0.12.0-esp32-20241016.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20241016.zip", + "checksum": "SHA-256:3b5d615e0a72cc771a45dd469031312d5881c01d7b6bc9edb29b8b6bda8c2e90", + "size": "2946244" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-win64-0.12.0-esp32-20241016.zip", + "archiveFileName": "openocd-esp32-win64-0.12.0-esp32-20241016.zip", + "checksum": "SHA-256:5e7b2fd1947d3a8625f6a11db7a2340cf2f41ff4c61284c022c7d7c32b18780a", + "size": "2946244" + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240821", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-linux-amd64-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:f8c68541fa38307bc0c0763b7e1e3fe4e943d5d45da07d817a73b492e103b652", + "size": "2373094" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-linux-arm64-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:4d6e263d84e447354dc685848557d6c284dda7fe007ee451f729a7edfa7baad7", + "size": "2251272" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-linux-armel-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:9d45679f2c4cf450d5e2350047cf57bb76dde2487d30cebce0a72c9173b5c45b", + "size": "2390074" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-macos-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:565c8fabc5f19a6e7a0864a294d74b307eec30b9291d16d3fc90e273f0330cb4", + "size": "2485320" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-macos-arm64-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:68c5c7cf3d15b9810939a5edabc6ff2c9f4fc32262de91fc292a180bc5cc0637", + "size": "2530336" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-win32-0.12.0-esp32-20240821.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20240821.zip", + "checksum": "SHA-256:463fc2903ddaf03f86ff50836c5c63cc696550b0446140159eddfd2e85570c5d", + "size": "2916409" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-win64-0.12.0-esp32-20240821.zip", + "archiveFileName": "openocd-esp32-win64-0.12.0-esp32-20240821.zip", + "checksum": "SHA-256:550f57369f1f1f6cc600b5dffa3378fd6164d8ea8db7c567cf41091771f090cb", + "size": "2916408" + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240318", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-linux-amd64-0.12.0-esp32-20240318.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20240318.tar.gz", + "checksum": "SHA-256:cf26c5cef4f6b04aa23cd2778675604e5a74a4ce4d8d17b854d05fbcb782d52c", + "size": "2252682" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-linux-arm64-0.12.0-esp32-20240318.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20240318.tar.gz", + "checksum": "SHA-256:9b97a37aa2cab94424a778c25c0b4aa0f90d6ef9cda764a1d9289d061305f4b7", + "size": "2132904" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-linux-armel-0.12.0-esp32-20240318.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20240318.tar.gz", + "checksum": "SHA-256:b7e82776ec374983807d3389df09c632ad9bc8341f2075690b6b500319dfeaf4", + "size": "2271761" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-macos-0.12.0-esp32-20240318.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20240318.tar.gz", + "checksum": "SHA-256:b16c3082c94df1079367c44d99f7a8605534cd48aabc18898e46e94a2c8c57e7", + "size": "2365588" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-macos-arm64-0.12.0-esp32-20240318.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20240318.tar.gz", + "checksum": "SHA-256:534ec925ae6e35e869e4e4e6e4d2c4a1eb081f97ebcc2dd5efdc52d12f4c2f86", + "size": "2406377" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-win32-0.12.0-esp32-20240318.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20240318.zip", + "checksum": "SHA-256:d379329eba052435173ab0d69c9b15bc164a6ce489e2a67cd11169d2dabff633", + "size": "2783915" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-win32-0.12.0-esp32-20240318.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20240318.zip", + "checksum": "SHA-256:d379329eba052435173ab0d69c9b15bc164a6ce489e2a67cd11169d2dabff633", + "size": "2783915" + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-linux-amd64-0.12.0-esp32-20230921.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20230921.tar.gz", + "checksum": "SHA-256:61e38e0a13a5c1664624ec1c397d7f7d6868554b0d345d3fb1f7294cce38cc4b", + "size": "2193783" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-linux-arm64-0.12.0-esp32-20230921.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20230921.tar.gz", + "checksum": "SHA-256:6430315dc1b926541c93cef63d2b08982543ad3f9fe6e0d7107c8a518ef20432", + "size": "2062058" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-linux-armel-0.12.0-esp32-20230921.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20230921.tar.gz", + "checksum": "SHA-256:5df16d8a91f013a547f6b3b914c655a9d267996a3b6503031b335ac04a4f8d15", + "size": "2206666" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-macos-0.12.0-esp32-20230921.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20230921.tar.gz", + "checksum": "SHA-256:0a4f764934f488af18cdac2a0d152dd36b4870f3bec1a2d4e25b6b3b7a5258a0", + "size": "2305832" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-macos-arm64-0.12.0-esp32-20230921.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20230921.tar.gz", + "checksum": "SHA-256:6dce89048f642eb0559a915b6e514f90feb2a95afe21b84f0b0ebf2b27824816", + "size": "2341406" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-win32-0.12.0-esp32-20230921.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20230921.zip", + "checksum": "SHA-256:ac9d522a63b0816f64d921547bd55c031788035ced85c067d8e7c2862cb1bd0d", + "size": "2710475" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-win32-0.12.0-esp32-20230921.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20230921.zip", + "checksum": "SHA-256:ac9d522a63b0816f64d921547bd55c031788035ced85c067d8e7c2862cb1bd0d", + "size": "2710475" + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230419", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-linux-amd64-0.12.0-esp32-20230419.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20230419.tar.gz", + "checksum": "SHA-256:5144e7516cd75a2152b35ecae0a400f7d3d4424c2488fbacc49433564f54c70d", + "size": 2126949 + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-linux-arm64-0.12.0-esp32-20230419.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20230419.tar.gz", + "checksum": "SHA-256:1c4d900c738fe00730c6033abb6cf1cc6587717dbeee291d5908272d153d329a", + "size": 1989161 + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-linux-armel-0.12.0-esp32-20230419.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20230419.tar.gz", + "checksum": "SHA-256:293258fd67618dd352e1096137ad9f2b801926eaf74ffcd570540ae94ad8ee5c", + "size": 2129727 + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-macos-0.12.0-esp32-20230419.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20230419.tar.gz", + "checksum": "SHA-256:621aad7d011c6817cde9570dfea42c7bcc699458bf43c37706cb4c2f6475a247", + "size": 2237976 + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-macos-arm64-0.12.0-esp32-20230419.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20230419.tar.gz", + "checksum": "SHA-256:3af7eac3a7de3939731ec4c13fb5d72a8e6ce5e5d274bb9697f5d93039561e42", + "size": 2270699 + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-win32-0.12.0-esp32-20230419.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20230419.zip", + "checksum": "SHA-256:f2cb3d9cacfe789c20d3272af846d726a062ce8f2e4ee142bddb27501d7dd7a7", + "size": 2619680 + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-win32-0.12.0-esp32-20230419.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20230419.zip", + "checksum": "SHA-256:f2cb3d9cacfe789c20d3272af846d726a062ce8f2e4ee142bddb27501d7dd7a7", + "size": 2619680 + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-linux-amd64-0.11.0-esp32-20221026.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.11.0-esp32-20221026.tar.gz", + "checksum": "SHA-256:ce63e9b1dfab60cc62da5dc2abcc22ba7036c42afe74671c787eb026744e7d0b", + "size": "2051435" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-linux-arm64-0.11.0-esp32-20221026.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.11.0-esp32-20221026.tar.gz", + "checksum": "SHA-256:fe60a3a603e8c6bee47367e40fcb8c0da3a38e01163e9674ebc919b067700506", + "size": "1993843" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-linux-armel-0.11.0-esp32-20221026.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.11.0-esp32-20221026.tar.gz", + "checksum": "SHA-256:6ef76101cca196a4be30fc74f191eff34abb423e32930a383012b866c9b76135", + "size": "2092111" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-macos-0.11.0-esp32-20221026.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.11.0-esp32-20221026.tar.gz", + "checksum": "SHA-256:8edc666a0a230432554b73df7c62e0b5ec21fb018e7fda13b11a7ca8b6c1763b", + "size": "2199855" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-macos-arm64-0.11.0-esp32-20221026.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.11.0-esp32-20221026.tar.gz", + "checksum": "SHA-256:c426c0158ba6488e2f432f7c5b22e79155b5b0fae6d1ad5bbd7894723b43aa12", + "size": "2247179" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-win32-0.11.0-esp32-20221026.zip", + "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20221026.zip", + "checksum": "SHA-256:e0e789d35308c029c6b53457cf4a42a5620cb1a3014740026c089c2ed4fd77b2", + "size": "2493214" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-win32-0.11.0-esp32-20221026.zip", + "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20221026.zip", + "checksum": "SHA-256:e0e789d35308c029c6b53457cf4a42a5620cb1a3014740026c089c2ed4fd77b2", + "size": "2493214" + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20220706", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-win32-0.11.0-esp32-20220706.zip", + "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20220706.zip", + "checksum": "SHA-256:c3d39eb4365a9947e71f1d3780ce031185bc6437f21186568a5c05f23f57a8d0", + "size": "2608736" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-win32-0.11.0-esp32-20220706.zip", + "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20220706.zip", + "checksum": "SHA-256:c3d39eb4365a9947e71f1d3780ce031185bc6437f21186568a5c05f23f57a8d0", + "size": "2608736" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-macos-0.11.0-esp32-20220706.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.11.0-esp32-20220706.tar.gz", + "checksum": "SHA-256:333ee2ec3c9b5dc6ad4509faae55335cdea7f8bf83a56bfcf5327e4497c8538a", + "size": "2077882" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", + "checksum": "SHA-256:26f1f18dd93eb70a13203848d3fb1cc2e0de1fd6749c7dd771b2de8709735aed", + "size": "2011201" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", + "checksum": "SHA-256:26f1f18dd93eb70a13203848d3fb1cc2e0de1fd6749c7dd771b2de8709735aed", + "size": "2011201" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-armhf-0.11.0-esp32-20220706.tar.gz", + "archiveFileName": "openocd-esp32-linux-armhf-0.11.0-esp32-20220706.tar.gz", + "checksum": "SHA-256:7f3b57332104e8b8e6194553365a70a9d3754878cfc063d5dc5d839513a63de9", + "size": "1902964" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-arm64-0.11.0-esp32-20220706.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.11.0-esp32-20220706.tar.gz", + "checksum": "SHA-256:f97792bc2852937ec0accb9f0eb2e49926c0f747a71f101a4e34aed75d2c6fcc", + "size": "1954685" + } + ] + }, + { + "name": "esptool_py", + "version": "4.9.dev3", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-linux-amd64.tar.gz", + "archiveFileName": "esptool-v4.9.dev3-linux-amd64.tar.gz", + "checksum": "SHA-256:4ecaf51836cbf4ea3c19840018bfef3b0b8cd8fc3c95f6e1e043ca5bbeab9bf0", + "size": "64958202" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-linux-armv7.tar.gz", + "archiveFileName": "esptool-v4.9.dev3-linux-armv7.tar.gz", + "checksum": "SHA-256:fff818573bce483ee793ac83c8211f6abf764aa3350f198228859f696a0a0b36", + "size": "31530030" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-linux-aarch64.tar.gz", + "archiveFileName": "esptool-v4.9.dev3-linux-aarch64.tar.gz", + "checksum": "SHA-256:5b274bdff2f62e6a07c3c1dfa51b1128924621f661747eca3dbe0f77972f2f06", + "size": "33663882" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-macos-amd64.tar.gz", + "archiveFileName": "esptool-v4.9.dev3-macos-amd64.tar.gz", + "checksum": "SHA-256:c733c83b58fcf5f642fbb2fddb8ff24640c2c785126cba0821fb70c4a5ceea7a", + "size": "32767836" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-macos-arm64.tar.gz", + "archiveFileName": "esptool-v4.9.dev3-macos-arm64.tar.gz", + "checksum": "SHA-256:83c195a15981e6a5e7a130db2ccfb21e2d8093912e5b003681f9a5abadd71af7", + "size": "30121441" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-win64.zip", + "archiveFileName": "esptool-v4.9.dev3-win64.zip", + "checksum": "SHA-256:890051a4fdc684ff6f4af18d0bb27d274ca940ee0eef716a9455f8c64b25b215", + "size": "36072564" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-win64.zip", + "archiveFileName": "esptool-v4.9.dev3-win64.zip", + "checksum": "SHA-256:890051a4fdc684ff6f4af18d0bb27d274ca940ee0eef716a9455f8c64b25b215", + "size": "36072564" + } + ] + }, + { + "name": "esptool_py", + "version": "4.9.dev1", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC2/esptool-v4.9.dev1-linux-amd64.tar.gz", + "archiveFileName": "esptool-v4.9.dev1-linux-amd64.tar.gz", + "checksum": "SHA-256:21f6c2155f0ec9e5b475c8a4bf59803d8cfb4d74f4e488a80f97da3d77542bba", + "size": "64632960" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC2/esptool-v4.9.dev1-linux-arm32.tar.gz", + "archiveFileName": "esptool-v4.9.dev1-linux-arm32.tar.gz", + "checksum": "SHA-256:818477f10814b2bd82078fc6695663ac84220d3947722ce1880a6c867d5c2997", + "size": "46042432" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC2/esptool-v4.9.dev1-linux-arm64.tar.gz", + "archiveFileName": "esptool-v4.9.dev1-linux-arm64.tar.gz", + "checksum": "SHA-256:b377a130a4dca58f3a31c66ed0b9858cc057c998741222cccdb6e5a724651a1f", + "size": "54459357" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC2/esptool-v4.9.dev1-macos-amd64.tar.gz", + "archiveFileName": "esptool-v4.9.dev1-macos-amd64.tar.gz", + "checksum": "SHA-256:25cc246b20230afc287ffdfe95f57b3fab23cec88a6dde3b5092ec05926b5431", + "size": "32386336" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC2/esptool-v4.9.dev1-macos-arm64.tar.gz", + "archiveFileName": "esptool-v4.9.dev1-macos-arm64.tar.gz", + "checksum": "SHA-256:b845d678db1d1559d82894e68366683a7fc3809371a5f5def67c30c9dee15912", + "size": "29841092" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC2/esptool-v4.9.dev1-win64.zip", + "archiveFileName": "esptool-v4.9.dev1-win64.zip", + "checksum": "SHA-256:f649a212e086b06ca6ee595feffd7a4706696ea43a2cd1a4f49352829e8ac96e", + "size": "35812159" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC2/esptool-v4.9.dev1-win64.zip", + "archiveFileName": "esptool-v4.9.dev1-win64.zip", + "checksum": "SHA-256:f649a212e086b06ca6ee595feffd7a4706696ea43a2cd1a4f49352829e8ac96e", + "size": "35812159" + } + ] + }, + { + "name": "esptool_py", + "version": "4.8.1", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC1/esptool-v4.8.1-linux-amd64.tar.gz", + "archiveFileName": "esptool-v4.8.1-linux-amd64.tar.gz", + "checksum": "SHA-256:aaaaa25e1c64442ae93604812376783dbc50f34536221b5897456e12f01e1bfd", + "size": "64635657" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC1/esptool-v4.8.1-linux-arm64.tar.gz", + "archiveFileName": "esptool-v4.8.1-linux-arm64.tar.gz", + "checksum": "SHA-256:76170a9282bdc52fddd75e4498fd6bee55fe19088a34ab363b3aeff800d73f60", + "size": "54449306" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC1/esptool-v4.8.1-linux-arm32.tar.gz", + "archiveFileName": "esptool-v4.8.1-linux-arm32.tar.gz", + "checksum": "SHA-256:26b842e22a66b3d01e830a4784686a69cfb107d774a4093327ec6bba7bb17794", + "size": "45868720" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC1/esptool-v4.8.1-macos.tar.gz", + "archiveFileName": "esptool-v4.8.1-macos.tar.gz", + "checksum": "SHA-256:6e1fc5ea04490e849c925c48d5cee590164fcf9b9bd419a7b014c2fb48a13743", + "size": "29828542" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC1/esptool-v4.8.1-win64.zip", + "archiveFileName": "esptool-v4.8.1-win64.zip", + "checksum": "SHA-256:3e97fb990fdd721b923b478eaaa046967c7919dbc9cbd04c445307571177918a", + "size": "33612728" + } + ] + }, + { + "name": "esptool_py", + "version": "4.6", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-src.tar.gz", + "archiveFileName": "esptool-v4.6-src.tar.gz", + "checksum": "SHA-256:22f9bad0cd1cea14e554ac1f4a6d8f67415ff7029a66ce9130756276e7264e5a", + "size": "99141" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-src.tar.gz", + "archiveFileName": "esptool-v4.6-src.tar.gz", + "checksum": "SHA-256:22f9bad0cd1cea14e554ac1f4a6d8f67415ff7029a66ce9130756276e7264e5a", + "size": "99141" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-src.tar.gz", + "archiveFileName": "esptool-v4.6-src.tar.gz", + "checksum": "SHA-256:22f9bad0cd1cea14e554ac1f4a6d8f67415ff7029a66ce9130756276e7264e5a", + "size": "99141" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-src.tar.gz", + "archiveFileName": "esptool-v4.6-src.tar.gz", + "checksum": "SHA-256:22f9bad0cd1cea14e554ac1f4a6d8f67415ff7029a66ce9130756276e7264e5a", + "size": "99141" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-macos.tar.gz", + "archiveFileName": "esptool-v4.6-macos.tar.gz", + "checksum": "SHA-256:885ec69fcffdcb9e7c6eacd2589f13a45ce6bcb6742bea368ec3a73bcca6dd59", + "size": "5851297" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-win64.zip", + "archiveFileName": "esptool-v4.6-win64.zip", + "checksum": "SHA-256:c7c68cd1aa520cbfce488ff6a77818ece272272eb012831b9d9ab1280a7c393f", + "size": "6638480" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-win64.zip", + "archiveFileName": "esptool-v4.6-win64.zip", + "checksum": "SHA-256:c7c68cd1aa520cbfce488ff6a77818ece272272eb012831b9d9ab1280a7c393f", + "size": "6638480" + } + ] + }, + { + "name": "esptool_py", + "version": "4.5.1", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-src.tar.gz", + "archiveFileName": "esptool-v4.5.1-src.tar.gz", + "checksum": "SHA-256:aa06831a7d88d8ccde4ea21241e983a08dbdae967290e181658b0d18bffc8f86", + "size": "96922" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-src.tar.gz", + "archiveFileName": "esptool-v4.5.1-src.tar.gz", + "checksum": "SHA-256:aa06831a7d88d8ccde4ea21241e983a08dbdae967290e181658b0d18bffc8f86", + "size": "96922" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-src.tar.gz", + "archiveFileName": "esptool-v4.5.1-src.tar.gz", + "checksum": "SHA-256:aa06831a7d88d8ccde4ea21241e983a08dbdae967290e181658b0d18bffc8f86", + "size": "96922" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-src.tar.gz", + "archiveFileName": "esptool-v4.5.1-src.tar.gz", + "checksum": "SHA-256:aa06831a7d88d8ccde4ea21241e983a08dbdae967290e181658b0d18bffc8f86", + "size": "96922" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-macos.tar.gz", + "archiveFileName": "esptool-v4.5.1-macos.tar.gz", + "checksum": "SHA-256:78b52acfd51541ceb97cee893b7d4d49b8ddc284602be8c73ea47e3d849e0956", + "size": "5850888" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-win64.zip", + "archiveFileName": "esptool-v4.5.1-win64.zip", + "checksum": "SHA-256:64d0c24499d46b80d6bd7a05c98bdacc3455ab6d503cc2a99e35711310216045", + "size": "6638448" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-win64.zip", + "archiveFileName": "esptool-v4.5.1-win64.zip", + "checksum": "SHA-256:64d0c24499d46b80d6bd7a05c98bdacc3455ab6d503cc2a99e35711310216045", + "size": "6638448" + } + ] + }, + { + "name": "esptool_py", + "version": "4.5", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", + "archiveFileName": "esptool-v4.5-src.tar.gz", + "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", + "size": "96621" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", + "archiveFileName": "esptool-v4.5-src.tar.gz", + "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", + "size": "96621" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", + "archiveFileName": "esptool-v4.5-src.tar.gz", + "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", + "size": "96621" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", + "archiveFileName": "esptool-v4.5-src.tar.gz", + "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", + "size": "96621" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-macos.tar.gz", + "archiveFileName": "esptool-v4.5-macos.tar.gz", + "checksum": "SHA-256:adcce051f282a19f78da30717ff0e4334b0edaf16a7f14d185ba4cae464586e2", + "size": "5850835" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-win64.zip", + "archiveFileName": "esptool-v4.5-win64.zip", + "checksum": "SHA-256:a55c5f7d490fbd2cd5fdf486d71f2ed13e3304482d54374b6aa23d42c9b98a96", + "size": "6639416" + } + ] + }, + { + "name": "esptool_py", + "version": "4.2.1", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-windows.zip", + "archiveFileName": "esptool-4.2.1-windows.zip", + "checksum": "SHA-256:582560067bfbd9895f4862eb5fdf87558ddee5d4d30e7575c9b8bcb0dd60fd94", + "size": "6368279" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-windows.zip", + "archiveFileName": "esptool-4.2.1-windows.zip", + "checksum": "SHA-256:582560067bfbd9895f4862eb5fdf87558ddee5d4d30e7575c9b8bcb0dd60fd94", + "size": "6368279" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-macos.tar.gz", + "archiveFileName": "esptool-4.2.1-macos.tar.gz", + "checksum": "SHA-256:a984f7ad8bdb40c42d0d368bf4bb21b69a9587aed46b7b6d7de23ca58a3f150d", + "size": "5816598" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", + "archiveFileName": "esptool-4.2.1-linux.tar.gz", + "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", + "size": "90123" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", + "archiveFileName": "esptool-4.2.1-linux.tar.gz", + "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", + "size": "90123" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", + "archiveFileName": "esptool-4.2.1-linux.tar.gz", + "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", + "size": "90123" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", + "archiveFileName": "esptool-4.2.1-linux.tar.gz", + "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", + "size": "90123" + } + ] + }, + { + "name": "esptool_py", + "version": "3.3.0", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-windows.zip", + "archiveFileName": "esptool-3.3-windows.zip", + "checksum": "SHA-256:55a1d7165414bf4dbd2bb16ca094e555d671958450f5d1536b457a518d2b15df", + "size": "7436864" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-windows.zip", + "archiveFileName": "esptool-3.3-windows.zip", + "checksum": "SHA-256:55a1d7165414bf4dbd2bb16ca094e555d671958450f5d1536b457a518d2b15df", + "size": "7436864" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-macos.tar.gz", + "archiveFileName": "esptool-3.3-macos.tar.gz", + "checksum": "SHA-256:3e5f7b521ae33c8c63f3b48efc909c08f37bef1a083c0eafa408312c09900afd", + "size": "6944975" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", + "archiveFileName": "esptool-3.3-linux.tar.gz", + "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", + "size": "97026" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", + "archiveFileName": "esptool-3.3-linux.tar.gz", + "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", + "size": "97026" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", + "archiveFileName": "esptool-3.3-linux.tar.gz", + "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", + "size": "97026" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", + "archiveFileName": "esptool-3.3-linux.tar.gz", + "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", + "size": "97026" + } + ] + }, + { + "name": "esptool_py", + "version": "3.1.0", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-windows.zip", + "archiveFileName": "esptool-3.1.0-windows.zip", + "checksum": "SHA-256:c9b4f9bc6e94db136c2545c87c00c7ab1441644ca0bac50811bc3c014e22514b", + "size": "7411889" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-macos.tar.gz", + "archiveFileName": "esptool-3.1.0-macos.tar.gz", + "checksum": "SHA-256:1dffcb884665fb616779aea62a68f517aac251ea6dfe95560906c364d6ef3065", + "size": "6776909" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", + "archiveFileName": "esptool-3.1.0-linux.tar.gz", + "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", + "size": "80550" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", + "archiveFileName": "esptool-3.1.0-linux.tar.gz", + "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", + "size": "80550" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", + "archiveFileName": "esptool-3.1.0-linux.tar.gz", + "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", + "size": "80550" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", + "archiveFileName": "esptool-3.1.0-linux.tar.gz", + "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", + "size": "80550" + } + ] + }, + { + "name": "esptool_py", + "version": "3.0.0", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-windows.zip", + "archiveFileName": "esptool-3.0.0.2-windows.zip", + "checksum": "SHA-256:b192bfc1545a3c92658ce586b4edcc2aca3f0ad4b3fa8417d658bc8a48f1387e", + "size": "3434736" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-macos.tar.gz", + "archiveFileName": "esptool-3.0.0.2-macos.tar.gz", + "checksum": "SHA-256:2cafab7f1ebce89475b84c115548eaace40b6366d7b3f9862cdb2fc64f806643", + "size": "3859642" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-linux.tar.gz", + "archiveFileName": "esptool-3.0.0.2-linux.tar.gz", + "checksum": "SHA-256:d5cb51da1c74ff69f81b820470d2ecccb5c7c3a2dec7776483d4c89588b00020", + "size": "57526" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-linux.tar.gz", + "archiveFileName": "esptool-3.0.0.2-linux.tar.gz", + "checksum": "SHA-256:d5cb51da1c74ff69f81b820470d2ecccb5c7c3a2dec7776483d4c89588b00020", + "size": "57526" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-linux.tar.gz", + "archiveFileName": "esptool-3.0.0.2-linux.tar.gz", + "checksum": "SHA-256:d5cb51da1c74ff69f81b820470d2ecccb5c7c3a2dec7776483d4c89588b00020", + "size": "57526" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-linux.tar.gz", + "archiveFileName": "esptool-3.0.0.2-linux.tar.gz", + "checksum": "SHA-256:d5cb51da1c74ff69f81b820470d2ecccb5c7c3a2dec7776483d4c89588b00020", + "size": "57526" + } + ] + }, + { + "version": "2.6.1", + "name": "esptool_py", + "systems": [ + { + "url": "https://dl.espressif.com/dl/esptool-2.6.1-windows.zip", + "checksum": "SHA-256:84cf0b369a7707fe566434faba148852fc464992111d5baa95b658b374802f96", + "host": "i686-mingw32", + "archiveFileName": "esptool-2.6.1-windows.zip", + "size": "3422445" + }, + { + "url": "https://dl.espressif.com/dl/esptool-2.6.1-macos.tar.gz", + "checksum": "SHA-256:f4eb758a301d6902cc9dfcd49d36345d2f075ad123da7cf8132d15cfb7533457", + "host": "x86_64-apple-darwin", + "archiveFileName": "esptool-2.6.1-macos.tar.gz", + "size": "3837085" + }, + { + "url": "https://dl.espressif.com/dl/esptool-2.6.1-linux.tar.gz", + "checksum": "SHA-256:eaf82ff4070d9792f6a42ae1e485375de5a87bec59ef01dfb95de901519ec7fb", + "host": "x86_64-pc-linux-gnu", + "archiveFileName": "esptool-2.6.1-linux.tar.gz", + "size": "44762" + }, + { + "url": "https://dl.espressif.com/dl/esptool-2.6.1-linux.tar.gz", + "checksum": "SHA-256:eaf82ff4070d9792f6a42ae1e485375de5a87bec59ef01dfb95de901519ec7fb", + "host": "i686-pc-linux-gnu", + "archiveFileName": "esptool-2.6.1-linux.tar.gz", + "size": "44762" + }, + { + "url": "https://dl.espressif.com/dl/esptool-2.6.1-linux.tar.gz", + "checksum": "SHA-256:eaf82ff4070d9792f6a42ae1e485375de5a87bec59ef01dfb95de901519ec7fb", + "host": "arm-linux-gnueabihf", + "archiveFileName": "esptool-2.6.1-linux.tar.gz", + "size": "44762" + } + ] + }, + { + "version": "2.6.0", + "name": "esptool_py", + "systems": [ + { + "url": "https://dl.espressif.com/dl/esptool-2.6.0-windows.zip", + "checksum": "SHA-256:a73f4cf68db240d7f1d250c5c7f2dfcb53c17a37483729f1bf71f8f43d79a799", + "host": "i686-mingw32", + "archiveFileName": "esptool-2.6.0-windows.zip", + "size": "3421208" + }, + { + "url": "https://dl.espressif.com/dl/esptool-2.6.0-macos.tar.gz", + "checksum": "SHA-256:0a881b91547c840fab8c72ae3d031069384278b8c2e5241647e8c8292c5e4a4b", + "host": "x86_64-apple-darwin", + "archiveFileName": "esptool-2.6.0-macos.tar.gz", + "size": "3835660" + }, + { + "url": "https://dl.espressif.com/dl/esptool-2.6.0-linux.tar.gz", + "checksum": "SHA-256:6d162f70f395ca31f5008829dd7e833e729f044a9c7355d5be8ce333a054e110", + "host": "x86_64-pc-linux-gnu", + "archiveFileName": "esptool-2.6.0-linux.tar.gz", + "size": "43535" + }, + { + "url": "https://dl.espressif.com/dl/esptool-2.6.0-linux.tar.gz", + "checksum": "SHA-256:6d162f70f395ca31f5008829dd7e833e729f044a9c7355d5be8ce333a054e110", + "host": "i686-pc-linux-gnu", + "archiveFileName": "esptool-2.6.0-linux.tar.gz", + "size": "43535" + }, + { + "url": "https://dl.espressif.com/dl/esptool-2.6.0-linux.tar.gz", + "checksum": "SHA-256:6d162f70f395ca31f5008829dd7e833e729f044a9c7355d5be8ce333a054e110", + "host": "arm-linux-gnueabihf", + "archiveFileName": "esptool-2.6.0-linux.tar.gz", + "size": "43535" + } + ] + }, + { + "version": "3.0.0-gnu12-dc7f933", + "name": "mklittlefs", + "systems": [ + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/aarch64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "archiveFileName": "aarch64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "checksum": "SHA-256:fc56e389383749e4cf4fab0fcf75cc0ebc41e59383caf6c2eff1c3d9794af200", + "size": "44651" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/arm-linux-gnueabihf.mklittlefs-c41e51a.200706.tar.gz", + "archiveFileName": "arm-linux-gnueabihf.mklittlefs-c41e51a.200706.tar.gz", + "checksum": "SHA-256:52b642dd0545eb3bd8dfb75dde6601df21700e4867763fd2696274be279294c5", + "size": "37211" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/i686-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "archiveFileName": "i686-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "checksum": "SHA-256:7886051d8ccc54aed0af2e7cdf6ff992bb51638df86f3b545955697720b6d062", + "size": "48033" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/i686-w64-mingw32.mklittlefs-c41e51a.200706.zip", + "archiveFileName": "i686-w64-mingw32.mklittlefs-c41e51a.200706.zip", + "checksum": "SHA-256:43740db30ce451454f2337331f10ab4ed41bd83dbf0fa0cb4387107388b59f42", + "size": "332655" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/x86_64-apple-darwin14.mklittlefs-c41e51a.200706.tar.gz", + "archiveFileName": "x86_64-apple-darwin14.mklittlefs-c41e51a.200706.tar.gz", + "checksum": "SHA-256:e3edd5e05b70db3c7df6b9d626558348ad04804022fe955c799aeb51808c7dc3", + "size": "362608" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/x86_64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "archiveFileName": "x86_64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "checksum": "SHA-256:66e84dda0aad747517da3785125e05738a540948aab2b7eaa02855167a1eea53", + "size": "46778" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/x86_64-w64-mingw32.mklittlefs-c41e51a.200706.zip", + "archiveFileName": "x86_64-w64-mingw32.mklittlefs-c41e51a.200706.zip", + "checksum": "SHA-256:2e319077491f8e832e96eb4f2f7a70dd919333cee4b388c394e0e848d031d542", + "size": "345132" + } + ] + }, + { + "name": "mkspiffs", + "version": "0.2.3", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-win32.zip", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-win32.zip", + "checksum": "SHA-256:b647f2c2efe6949819c85ea9404271b55c7c9c25bcb98d3b98a1d0ba771adf56", + "size": "249809" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", + "checksum": "SHA-256:9f43fc74a858cf564966b5035322c3e5e61c31a647c5a1d71b388ed6efc48423", + "size": "130270" + }, + { + "host": "i386-apple-darwin", + "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", + "checksum": "SHA-256:9f43fc74a858cf564966b5035322c3e5e61c31a647c5a1d71b388ed6efc48423", + "size": "130270" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux64.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux64.tar.gz", + "checksum": "SHA-256:5e1a4ff41385e842f389f6b5254102a547e566a06b49babeffa93ef37115cb5d", + "size": "50646" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux32.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux32.tar.gz", + "checksum": "SHA-256:464463a93e8833209cdc29ba65e1a12fec31718dc10075c195a2445b2c3f6cb0", + "size": "48751" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", + "checksum": "SHA-256:ade3dc00117912ac08a1bdbfbfe76b12d21a34bc5fa1de0cfc45fe7a8d0a0185", + "size": "40665" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", + "checksum": "SHA-256:ade3dc00117912ac08a1bdbfbfe76b12d21a34bc5fa1de0cfc45fe7a8d0a0185", + "size": "40665" } ] }, { - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch5", + "name": "esp-xs2", + "version": "2302", "systems": [ { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "checksum": "SHA-256:19c77bd91fefab7c8c40a6334f9b985e2d9a1c7fac6d424b692110930dd3682f", - "size": "67849099" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:2ff838520a5003d2768b275f5bb5ead69dd2388c3b7cd9043cb59891ba43147f", + "size": "112199211" }, { "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "checksum": "SHA-256:bdcd24676ef2a65b670ca9e0a01768ece47f4dfcfb545a3307f76a054c33b522", - "size": "64154532" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:6d79d5b14fc7129a9b8208d54e19b05dedb565f50f7a96264c9df84b06ad3be0", + "size": "106953064" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "checksum": "SHA-256:b26723b6ce1c35b90f204eb39e5ab06a6f80fb7895f000e16b6962e4c176ae32", - "size": "63448105" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:e5bd03b6ad19179b015a93ada9992adc3610036ebf6aeb0835a09c9aadb50a14", + "size": "106026829" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "checksum": "SHA-256:da3b5c45e4997d14269df1814c92dd7004902bb810608341bc3819c3e506fa0b", - "size": "69656104" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:fb45943557b2d201bbb1bdc7514a1872f9bb96c2dfb48b95abdba281cc792f75", + "size": "115288662" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "checksum": "SHA-256:8eb63745b44083edef7cc6fdf3b06999f576b75134bc5e8b0ef881ca439b72d7", - "size": "75154138" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:e965236cb80e45282d16f40184af183e013b63b177bd1884736c463eac636564", + "size": "119711811" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:78a55eec18650b21378d97494989ffe208748e0f49bb2b2d6756b264e1863919", + "size": "106540817" }, { "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "checksum": "SHA-256:c758062295804b082fbd77fcd59a356f62d4e76372aaa29589cc871603309cba", - "size": "82338511" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:1e6dac5162ab75f94b88c47ebeabb6600c652fb4f615ed07c1724d037c02fd19", + "size": "131273859" }, { "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "checksum": "SHA-256:1c1e168ff8bc460a9719f3b216d3c1125d29040389786d738244838499362c74", - "size": "85579252" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:8a785cc4e0838cebe404f82c0ead7a0f9ac5fabc660a742e33a41ddac6326cc1", + "size": "135373049" } ] }, { - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3", + "name": "esp-xs3", + "version": "2302", "systems": [ { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", - "checksum": "SHA-256:a32451a8edc1104b83cd9971178e61826e957d7db9ad9f81798a8969fd5a954e", - "size": "90894048" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:61495ffe575e00c6998ae7274ff917658c04bded62ece0937c7042d6dcbf46de", + "size": "111971129" }, { "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", - "checksum": "SHA-256:2ac2c94a533a99a091d2159c678c611c712c494b5f68d97913254712047260f9", - "size": "87178224" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:9008d395be46fcfe68c7de6edc850fc1595f28323a28e7922e5c085bd310cb90", + "size": "106616800" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", - "checksum": "SHA-256:da49afee1e2e03eaab3f492718789442d33b562800e2a892679f95b50be24d14", - "size": "86569314" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:568857bdac7dea389dffc7fbc6871b4af299150a8ecf1bf965f224d2a1655edb", + "size": "105700326" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", - "checksum": "SHA-256:36d3c4990a5feb68aa8534463bc9e8ee367fe23886f78e1d726f4411c7571462", - "size": "92884013" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:d122738bcc6c2f52d05fa89b2fb1afe6a7894cda8a07a1879aca867a31507ed0", + "size": "115098400" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", - "checksum": "SHA-256:de9af641678c93775e932ee5ec4f478f8925cfc1ebc22e41adc4fb85430a0c35", - "size": "98224709" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:7defcddb98788b0991416ad2e0cb6a3b248b8030f22d5d76b8832117cc1494ca", + "size": "119883189" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:b59e076f8e4b9ca99535d449f9fc4cbb443188051dce4ad934e38f16b095f8d9", + "size": "106464677" }, { "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", - "checksum": "SHA-256:ccf08afe60046f87b0e81ca17dc5073eda68ab5e7522c163dd5b583d713b7b39", - "size": "116924759" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:3ddf51774817e815e5d41c312a90c1159226978fb45fd0d4f7085c567f8b73ab", + "size": "131134034" }, { "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", - "checksum": "SHA-256:37c91490b8fc75e638c23785e261eaf553be2dcd106cf6cff5b76981fa02955b", - "size": "119912142" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:1d15ca65e3508388a86d8bed3048c46d07538f5bc88d3e4296f9c03152087cd1", + "size": "135381926" } ] }, { - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2021r2", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-12.2.0_20230208", "systems": [ { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", - "checksum": "SHA-256:a6e0947c92b823ca04f062522249f0a428357e0b056f1ff4c6bcabef83cf63a7", - "size": "90901736" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:e8d35938385447cf9c34735fee2a3b2b61cca6be07db77a45856a1c2a347e423", + "size": "111766903" }, { "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", - "checksum": "SHA-256:d2e5600fc194b508bd393b236a09fd62ed70afb6c36619d4b106b696a56ca66d", - "size": "87176557" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:569988acfc2673369f222037c64bac96990cee08cebeebc4f8860e0d984f8bd9", + "size": "106473247" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", - "checksum": "SHA-256:3fff4199e986dd74660f17ca27d9414cb98f1b911a7f13bb3b22e784cb1156cf", - "size": "86581102" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:6a844f16021e936cc9b87b203978356f57ab2144554f6f2a0f73ffa3d3d316c5", + "size": "105576049" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", - "checksum": "SHA-256:7732f9fb371d36b6b324820e300beecc33c2719921a61cf1cdb5bc625016b346", - "size": "92875986" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:743d6f03a89329bb09f9550d27fcab677f5cf06b4720793bbcef7883a932681d", + "size": "114870843" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", - "checksum": "SHA-256:e6dd32782fcff8f633299b97d1c671d6b6513390aca2ddbd7543c2cc62e72d7e", - "size": "98212907" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:4d32d764e984f3a570aacfb2f4957619540fb4629534d969b2e83997901334c3", + "size": "119424029" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:dc8fa7f4933bf5cb08e83bacce6160cc9dfe93d7aad1e8f92599bb81ff5b2e28", + "size": "106136827" }, { "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win32.zip", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win32.zip", - "checksum": "SHA-256:41b917b35f6fbe7d30b7de91c32cf348c406acfa729a1eabc450d040dc46fbe2", - "size": "113022469" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:62bb6428d107ed3f44c212c77ecf24804b74c97327b0f0ad2029c656c6dbd6ee", + "size": "130847086" }, { "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win64.zip", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win64.zip", - "checksum": "SHA-256:a764c1a0ee743d69f8cbfadbe4426a2c15c0e233b0894244c7cadf3b4d7dd32a", - "size": "115696999" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:8febfe4a6476efc69012390106c8c660a14418f025137b0513670c72124339cf", + "size": "134985117" } ] }, { - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2021r1", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0", "systems": [ { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", - "checksum": "SHA-256:b127baccfe6949ee7eaf3d0782ea772750a9b8e2732b16ce6bcc9dcd91f7209a", - "size": "86687290" - }, - { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", - "checksum": "SHA-256:7ca0d240f11e1c53c01a56257b0c968f876ab405142d1068d8c9b456d939554c", - "size": "84916701" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:8ef14e0409c2011b41e504a30f70d3e35287313a795d1f2462ad2cd0e2052d37", + "size": "94397702" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", - "checksum": "SHA-256:9941f993ff84d1c606b45ffbeeb7bcdc5a72cf24e787bb9230390510fe3511c6", - "size": "88699953" + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:e7d217ac2ef52c746a41f8647840b2717edcd8afc15f081bc1c4505e10a189b7", + "size": "90684219" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", - "checksum": "SHA-256:4b55b1a9ca7fc945be6fc3513802b6cece9264bee4cbca76013569cec2695973", - "size": "93757895" + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:ea6631f8a5105ae90d7fc462c10ed4f9049924ea8c2f9391d90b339d5f881dac", + "size": "89954866" }, { - "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-win32.zip", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-win32.zip", - "checksum": "SHA-256:c94ec1e45c81b7e4944d216bab4aa41d46849768d7761fd691661dab1a3df828", - "size": "106013515" - } - ] - }, - { - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2020r3", - "systems": [ - { - "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2020r3/xtensa-esp32s2-elf-gcc8_4_0-esp-2020r3-win32.zip", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2020r3-win32.zip", - "checksum": "SHA-256:d078d614ae864ae4a37fcb5b83323af0a5cfdbd8243607664becdd0f977a1e33", - "size": "104659541" + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:ecb90af9cede0982672234da0b1bd7b7f76eadde60aa5c82eefdf37d64ffe49f", + "size": "96354023" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2020r3/xtensa-esp32s2-elf-gcc8_4_0-esp-2020r3-macos.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2020r3-macos.tar.gz", - "checksum": "SHA-256:fe19b0c873879d8d89ec040f4db04a3ab27d769d3fd5f55fe59a28b6b111d09c", - "size": "92817351" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:19af109fda024a3a4c989f7ccaa104f9b1b74cfd6c9363e730bb8cb9b50d5dc4", + "size": "101712946" }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2020r3/xtensa-esp32s2-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz", - "checksum": "SHA-256:40fafa47045167feda0cd07827db5207ebfeb4a3b6b24475957a921bc92805ed", - "size": "86069526" + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "checksum": "SHA-256:b14189772d70a96813895fff7731d0f2fec0c825cfc02e002d6d91a0cc4b6b1d", + "size": "93104016" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2020r3/xtensa-esp32s2-elf-gcc8_4_0-esp-2020r3-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2020r3-linux-i686.tar.gz", - "checksum": "SHA-256:bd3a91166206a1a7ff7c572e15389e1938c3cdce588032a5e915be677a945638", - "size": "88053499" + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:9851c2cfa355e1fad8abfb643a1c945d27385b1851f3ae468915ea78fcbec940", + "size": "118610020" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2020r3/xtensa-esp32s2-elf-gcc8_4_0-esp-2020r3-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2020r3-linux-armel.tar.gz", - "checksum": "SHA-256:6c1efec4c7829202279388ccb388e8a17a34464bc351d677c4f04d95ea4b4ce0", - "size": "84254468" + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:a328b3c55631846241bbe7999a309b20b797c8dc50b6e8dccf463e66a2da5fb4", + "size": "121846722" } ] }, { - "name": "xtensa-esp32s3-elf-gcc", - "version": "esp-2021r2-patch5-8.4.0", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5", "systems": [ { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "checksum": "SHA-256:8aa17a6adf01efa5b1628c8ac578063a44d26ae9581d39486b92223a41ef262f", - "size": "68099473" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:8ef14e0409c2011b41e504a30f70d3e35287313a795d1f2462ad2cd0e2052d37", + "size": "94397702" }, { "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "checksum": "SHA-256:b218c11122e5565b6442376ebd21a652abdfcbf90981afa3e177ce978710225d", - "size": "64233211" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:e7d217ac2ef52c746a41f8647840b2717edcd8afc15f081bc1c4505e10a189b7", + "size": "90684219" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "checksum": "SHA-256:967477434ad5483718915936a77ce915a10c5972a6b3fd02688a5c4e14182bfb", - "size": "63530586" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:ea6631f8a5105ae90d7fc462c10ed4f9049924ea8c2f9391d90b339d5f881dac", + "size": "89954866" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "checksum": "SHA-256:07671d01a63ebd389912787efb2b263677c7b351c07fe430ded733cdae95e81d", - "size": "70025439" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:ecb90af9cede0982672234da0b1bd7b7f76eadde60aa5c82eefdf37d64ffe49f", + "size": "96354023" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "checksum": "SHA-256:99b6d44cea5aebbedc8b6965e7bf551aa4a40ed83ddbe1c0e9b7cb255564ded5", - "size": "75719772" - }, - { - "host": "arm64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", - "checksum": "SHA-256:c64b05be25d26916c65dcfe11de9e60b96d58980b2df706d3074cb70b1ef6cb9", - "size": "66791095" - }, - { - "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "checksum": "SHA-256:658d3036ffdf11ddad6f0a784c8829f6ffd4dbd7c252d7f61722256d0ad43975", - "size": "82665716" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:19af109fda024a3a4c989f7ccaa104f9b1b74cfd6c9363e730bb8cb9b50d5dc4", + "size": "101712946" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:9851c2cfa355e1fad8abfb643a1c945d27385b1851f3ae468915ea78fcbec940", + "size": "118610020" }, { "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "checksum": "SHA-256:9000be38d44bf79c39b93a2aeb99b42e956c593ccbc02fe31cb9c71ae1bbcb22", - "size": "86022563" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:a328b3c55631846241bbe7999a309b20b797c8dc50b6e8dccf463e66a2da5fb4", + "size": "121846722" } ] }, { - "name": "xtensa-esp32s3-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch5", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3", "systems": [ { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "checksum": "SHA-256:8aa17a6adf01efa5b1628c8ac578063a44d26ae9581d39486b92223a41ef262f", - "size": "68099473" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "checksum": "SHA-256:9edd1e77627688f435561922d14299f6a0021ba1f6ff67e472e1108695a69e53", + "size": "90569312" }, { "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "checksum": "SHA-256:b218c11122e5565b6442376ebd21a652abdfcbf90981afa3e177ce978710225d", - "size": "64233211" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "checksum": "SHA-256:3a21a3e310e6b1e7d7bed1f3e59698a5bd29ed3a5ca79fba9265d7dd2f1e0cd2", + "size": "86838362" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "checksum": "SHA-256:967477434ad5483718915936a77ce915a10c5972a6b3fd02688a5c4e14182bfb", - "size": "63530586" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "checksum": "SHA-256:89313c4c1d8db1b01624f31b58bf3fbe527160569828ac4301e9daa75c52716d", + "size": "86187540" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "checksum": "SHA-256:07671d01a63ebd389912787efb2b263677c7b351c07fe430ded733cdae95e81d", - "size": "70025439" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "checksum": "SHA-256:a1f165a836f175daa6fbfde4ca99cb93b377f021fbfc41f79a700bd4df965a9a", + "size": "92580267" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "checksum": "SHA-256:99b6d44cea5aebbedc8b6965e7bf551aa4a40ed83ddbe1c0e9b7cb255564ded5", - "size": "75719772" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "checksum": "SHA-256:dda3d7a43efd995d9a51d5a5741626dbf915df46078aef0b5aea7163ac82398b", + "size": "97807647" }, { "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "checksum": "SHA-256:658d3036ffdf11ddad6f0a784c8829f6ffd4dbd7c252d7f61722256d0ad43975", - "size": "82665716" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "checksum": "SHA-256:fd147592928ef2d7092ba34b01ecd776fe26ba3d7e3f9b6b215a3b46e981ee2c", + "size": "116464819" }, { "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "checksum": "SHA-256:9000be38d44bf79c39b93a2aeb99b42e956c593ccbc02fe31cb9c71ae1bbcb22", - "size": "86022563" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "checksum": "SHA-256:9395315c07de0b9f05c9a6616ba1f05e76ab651053f2f40479163a8e03cfa830", + "size": "119511910" } ] }, { - "name": "xtensa-esp32s3-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2", "systems": [ { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", - "checksum": "SHA-256:59b271d014ff3915b6db1b43b610a45eea15fe5d6877d12cae8a191cc996ed37", - "size": "90903617" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "checksum": "SHA-256:3eb3d68b27fa6ba5af6f88da21cb8face9be0094daaa8960793cfe570ab785ff", + "size": "90565318" }, { "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", - "checksum": "SHA-256:7051b32483e61f98606d71c98e372929428a5165df791dcd5830ed9517763152", - "size": "87065204" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "checksum": "SHA-256:aa534be24e45e06b7080a6a3bb8cd9e3cfb818f5f8bce2244d7cfb5e91336541", + "size": "86860292" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", - "checksum": "SHA-256:48c8dbbf96eec691a812327dc580042d9718fe989e60c2111ebfd692ac710081", - "size": "86455731" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "checksum": "SHA-256:f0e49ce06fe7833ff5d76961dc2dac5449d320f823bb8c05a302cf85a3a6eb04", + "size": "86183421" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", - "checksum": "SHA-256:552dca3f4302ab7ca88a934b0391200198c9d10a4d8ac413fe604cbf8601f950", - "size": "92906274" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "checksum": "SHA-256:06de09b74652de43e5b22db3b7fc992623044baa75e9faaab68317a986715ba3", + "size": "92582250" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", - "checksum": "SHA-256:e5af78f05d3af07617805d06ebb45ff2fe9b6aed6970a84c35eea28a5d8d5e53", - "size": "98553473" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "checksum": "SHA-256:96443f69c8569417c780ee749d91ef33cffe22153fffa30a0fbf12107d87381b", + "size": "97808961" }, { "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", - "checksum": "SHA-256:1b70163acccc5655449de1d149427a54f384156bd35816ec60c422d76d033f05", - "size": "116847008" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win32.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win32.zip", + "checksum": "SHA-256:076a4171bdc33e5ced3952efffb233d70263dfa760e636704050597a9edf61db", + "size": "112578260" }, { "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", - "checksum": "SHA-256:58e58575d1938879fd51e822181e54bcb343aa846eb3fca8f616c2cde7bd0041", - "size": "120066269" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win64.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win64.zip", + "checksum": "SHA-256:c35b7998f7f503e0cb22055d1e279ae14b6b0e09bb3ff3846b17d552ece9c247", + "size": "115278695" } ] }, { - "name": "riscv32-esp-elf-gcc", - "version": "esp-2021r2-patch5-8.4.0", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r1", "systems": [ { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "checksum": "SHA-256:f7d73e5f9e2df3ea6ca8e2c95d6ca6d23d6b38fd101ea5d3012f3cb3cd59f39f", - "size": "192388486" - }, - { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "checksum": "SHA-256:cf520ae3a72f65b9758ea187524b105b8b7546566d738c32e60a0df9846ef1af", - "size": "188626914" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "checksum": "SHA-256:44a0b467b9d2b759ab48b2f27aed684581f33c96e2842992781c4e045992c5b0", + "size": "86361217" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "checksum": "SHA-256:2dc3536214caa1697f6834bb4701d05894ca55b53589fc5b54064b050ef93799", - "size": "188624050" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "checksum": "SHA-256:fdacdb2a7bbf6293bcafda9b52463a4da8a2f3b7e1df9f83d35ff9d1efa22012", + "size": "84520407" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "checksum": "SHA-256:165d6d53e76d79f5ade7e2b7ade54b2b495ecfda0d1184d84d6343659d0e3bdb", - "size": "194606113" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "checksum": "SHA-256:e2024096492dfaa50fc6ac336cd8faa2e395e8cebb617753eab0b5f16d3dd0dc", + "size": "88375391" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "checksum": "SHA-256:d6d4cef216cbf28d6fbb88f3e127d4f42a376d9497c260bf8c1ad9cef440f839", - "size": "199411930" - }, - { - "host": "arm64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", - "checksum": "SHA-256:6e03f2ab1f145be13f8890c6de77b53f52c7bffe3d9d5824549db20298f5ba91", - "size": "191209735" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "checksum": "SHA-256:7bbc6a2b94f009cd8a3351b9c7acf7a5caa1c4d3700500ead60f84965386a61b", + "size": "93357296" }, { "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "checksum": "SHA-256:1e0cfcfbc8f82c441261cadd21742f66d716ec18c18bf10ed7c7d5b0bee6752f", - "size": "257844437" - }, - { - "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "checksum": "SHA-256:b08f568e8fe5069dd521b87da21b8e56117e5c2c3b492f73a51966a46d3379a4", - "size": "259712666" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-win32.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-win32.zip", + "checksum": "SHA-256:e4f9fdda192abfc9807e3e7fcd6e9fea30c1a0cf3f3c5a5c961b5114fc8c9b7e", + "size": "105603626" } ] }, { - "name": "riscv32-esp-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch5", + "name": "xtensa-esp32-elf-gcc", + "version": "1.22.0-97-gc752ad5-5.2.0", "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-win32-1.22.0-97-gc752ad5-5.2.0.zip", + "archiveFileName": "xtensa-esp32-elf-win32-1.22.0-97-gc752ad5-5.2.0.zip", + "checksum": "SHA-256:80571e5d5a63494f4fa758bb9d8fb882ba4059853a8c412a84d232dc1c1400e6", + "size": "125747216" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-macos-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "archiveFileName": "xtensa-esp32-elf-macos-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "checksum": "SHA-256:b1ce39a563ae359cf363fb7d8ee80cb1e5226fda83188203cff60f16f55e33ef", + "size": "50525386" + }, { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "checksum": "SHA-256:f7d73e5f9e2df3ea6ca8e2c95d6ca6d23d6b38fd101ea5d3012f3cb3cd59f39f", - "size": "192388486" + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux64-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "archiveFileName": "xtensa-esp32-elf-linux64-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "checksum": "SHA-256:96f5f6e7611a0ed1dc47048c54c3113fc5cebffbf0ba90d8bfcd497afc7ef9f3", + "size": "44225380" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "checksum": "SHA-256:cf520ae3a72f65b9758ea187524b105b8b7546566d738c32e60a0df9846ef1af", - "size": "188626914" + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux32-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "archiveFileName": "xtensa-esp32-elf-linux32-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "checksum": "SHA-256:8094a2c30b474e99ce64dd0ba8f310c4614eb3b3cac884a3aea0fd5f565af119", + "size": "45575521" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "checksum": "SHA-256:2dc3536214caa1697f6834bb4701d05894ca55b53589fc5b54064b050ef93799", - "size": "188624050" + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "archiveFileName": "xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "checksum": "SHA-256:d70d550f88448fa476b29fa50ef5502ab497a16ac7fa9ca24c6d0a39bb1e681e", + "size": "50657803" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "checksum": "SHA-256:165d6d53e76d79f5ade7e2b7ade54b2b495ecfda0d1184d84d6343659d0e3bdb", - "size": "194606113" + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "archiveFileName": "xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "checksum": "SHA-256:d70d550f88448fa476b29fa50ef5502ab497a16ac7fa9ca24c6d0a39bb1e681e", + "size": "50657803" + } + ] + }, + { + "version": "1.22.0-80-g6c4433a-5.2.0", + "name": "xtensa-esp32-elf-gcc", + "systems": [ + { + "url": "https://dl.espressif.com/dl/xtensa-esp32-elf-win32-1.22.0-80-g6c4433a-5.2.0.zip", + "checksum": "SHA-256:f217fccbeaaa8c92db239036e0d6202458de4488b954a3a38f35ac2ec48058a4", + "host": "i686-mingw32", + "archiveFileName": "xtensa-esp32-elf-win32-1.22.0-80-g6c4433a-5.2.0.zip", + "size": "125719261" }, { + "url": "https://dl.espressif.com/dl/xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "checksum": "SHA-256:a4307a97945d2f2f2745f415fbe80d727750e19f91f9a1e7e2f8a6065652f9da", "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "checksum": "SHA-256:d6d4cef216cbf28d6fbb88f3e127d4f42a376d9497c260bf8c1ad9cef440f839", - "size": "199411930" + "archiveFileName": "xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "size": "46517409" }, { - "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "checksum": "SHA-256:1e0cfcfbc8f82c441261cadd21742f66d716ec18c18bf10ed7c7d5b0bee6752f", - "size": "257844437" + "url": "https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "checksum": "SHA-256:3fe96c151d46c1d4e5edc6ed690851b8e53634041114bad04729bc16b0445156", + "host": "x86_64-pc-linux-gnu", + "archiveFileName": "xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "size": "44219107" }, { - "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "checksum": "SHA-256:b08f568e8fe5069dd521b87da21b8e56117e5c2c3b492f73a51966a46d3379a4", - "size": "259712666" + "url": "https://dl.espressif.com/dl/xtensa-esp32-elf-linux32-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "checksum": "SHA-256:b4055695ffc2dfc0bcb6dafdc2572a6e01151c4179ef5fa972b3fcb2183eb155", + "host": "i686-pc-linux-gnu", + "archiveFileName": "xtensa-esp32-elf-linux32-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "size": "45566336" + }, + { + "url": "https://dl.espressif.com/dl/xtensa-esp32-elf-linux-armel-1.22.0-87-gb57bad3-5.2.0.tar.gz", + "checksum": "SHA-256:9c68c87bb23b1256dc0a1859b515946763e5292dcab4a4159a52fae5618ce861", + "host": "arm-linux-gnueabihf", + "archiveFileName": "xtensa-esp32-elf-linux-armel-1.22.0-87-gb57bad3-5.2.0.tar.gz", + "size": "50655584" } ] }, { - "name": "riscv32-esp-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-12.2.0_20230208", "systems": [ { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", - "checksum": "SHA-256:179cbad579790ad35e0f414a18d90017c0f158c397022411a8e9867db2174f15", - "size": "106843321" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:2ff838520a5003d2768b275f5bb5ead69dd2388c3b7cd9043cb59891ba43147f", + "size": "112199211" }, { "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", - "checksum": "SHA-256:fb339d476c79c76db8f903b265cab6bb6950d5ed954dec644445252d3378023c", - "size": "103277393" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:6d79d5b14fc7129a9b8208d54e19b05dedb565f50f7a96264c9df84b06ad3be0", + "size": "106953064" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", - "checksum": "SHA-256:51a6296d8334b7452dba44b2b62e87afd7fd1c74bafa1aa29b1f4ab72cb9e5e0", - "size": "103062256" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:e5bd03b6ad19179b015a93ada9992adc3610036ebf6aeb0835a09c9aadb50a14", + "size": "106026829" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", - "checksum": "SHA-256:fef60f7ef37ffaa50416d8f244cdbd710d6729dae41ef06c4ec0e50a1f3b7dd7", - "size": "109460025" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:fb45943557b2d201bbb1bdc7514a1872f9bb96c2dfb48b95abdba281cc792f75", + "size": "115288662" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", - "checksum": "SHA-256:4aacc1742a76349d790b1ac8e9e9d963daefda5346dbd6741cfe8e7a35a44e4e", - "size": "113703959" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:e965236cb80e45282d16f40184af183e013b63b177bd1884736c463eac636564", + "size": "119711811" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:78a55eec18650b21378d97494989ffe208748e0f49bb2b2d6756b264e1863919", + "size": "106540817" }, { "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", - "checksum": "SHA-256:eb2a442d7f551ebeb842995ec372ec4b364314ca2d7aae779399a74972f7d6bc", - "size": "144711970" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:1e6dac5162ab75f94b88c47ebeabb6600c652fb4f615ed07c1724d037c02fd19", + "size": "131273859" }, { "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", - "checksum": "SHA-256:f5607e5187317d521f0474cade83f8eb590f2d165d95c3779b6ce11fbac21d1f", - "size": "146606480" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:8a785cc4e0838cebe404f82c0ead7a0f9ac5fabc660a742e33a41ddac6326cc1", + "size": "135373049" } ] }, { - "name": "riscv32-esp-elf-gcc", - "version": "gcc8_4_0-esp-2021r2", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0", "systems": [ { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", - "checksum": "SHA-256:812d735063da9d063b374b59f55832a96c41fbd27ddaef19000a75de8607ba21", - "size": "106837189" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:19c77bd91fefab7c8c40a6334f9b985e2d9a1c7fac6d424b692110930dd3682f", + "size": "67849099" }, { "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", - "checksum": "SHA-256:712f1fbc3e08304a6f32aa18b346b16bbcb413b507b3d4c7c3211bf0d7dc4813", - "size": "103273444" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:bdcd24676ef2a65b670ca9e0a01768ece47f4dfcfb545a3307f76a054c33b522", + "size": "64154532" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", - "checksum": "SHA-256:80a3342cda2cd4b6b75ebb2b36d5d12fce7d375cfadadcff01ec3a907f0a16a2", - "size": "103058744" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:b26723b6ce1c35b90f204eb39e5ab06a6f80fb7895f000e16b6962e4c176ae32", + "size": "63448105" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", - "checksum": "SHA-256:7f0162a81558ab0ed09d6c5d356def25b5cb3d5c2d61358f20152fa260ccc8ae", - "size": "109447789" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:da3b5c45e4997d14269df1814c92dd7004902bb810608341bc3819c3e506fa0b", + "size": "69656104" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", - "checksum": "SHA-256:3ff7e5427907cf8e271c1f959b70fb01e39625c3caf61a6567e7b38aa0c11578", - "size": "113672945" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:8eb63745b44083edef7cc6fdf3b06999f576b75134bc5e8b0ef881ca439b72d7", + "size": "75154138" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "checksum": "SHA-256:4cd38d6ec31076c0aa083f62ab84ab5c33aa07fafd0af61366186e5f553aa008", + "size": "66457613" }, { "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-win32.zip", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-win32.zip", - "checksum": "SHA-256:c8ff08883c1456c278fad85e1c43b7c6e251d525683214168655550e85c5b82e", - "size": "140809778" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:c758062295804b082fbd77fcd59a356f62d4e76372aaa29589cc871603309cba", + "size": "82338511" }, { "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-win64.zip", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-win64.zip", - "checksum": "SHA-256:6c04cb4728db928ec6473e63146b695b6dec686a0d40dd73dd3353f05247b19e", - "size": "142365782" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:1c1e168ff8bc460a9719f3b216d3c1125d29040389786d738244838499362c74", + "size": "85579252" } ] }, { - "name": "riscv32-esp-elf-gcc", - "version": "gcc8_4_0-esp-2021r1", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5", "systems": [ { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", - "checksum": "SHA-256:3459618f33bbd5f54d7d7783e807cb6eef6472a220f2f1eb3faced735b9d13bb", - "size": "152812483" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:19c77bd91fefab7c8c40a6334f9b985e2d9a1c7fac6d424b692110930dd3682f", + "size": "67849099" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:bdcd24676ef2a65b670ca9e0a01768ece47f4dfcfb545a3307f76a054c33b522", + "size": "64154532" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", - "checksum": "SHA-256:24b9e54b348bbd5fb816fc4c52abb47337c702beecdbba840750b7cfb9d38069", - "size": "151726623" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:b26723b6ce1c35b90f204eb39e5ab06a6f80fb7895f000e16b6962e4c176ae32", + "size": "63448105" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", - "checksum": "SHA-256:954d340ebffef12a2ce9be1ea004e6f45a8863f1e6f41f46fd3f04f58499627c", - "size": "155430963" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:da3b5c45e4997d14269df1814c92dd7004902bb810608341bc3819c3e506fa0b", + "size": "69656104" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", - "checksum": "SHA-256:612fb3a3f84f703222327bd16581df8f80fda8cdf137637fe5d611587d1b664e", - "size": "159836199" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:8eb63745b44083edef7cc6fdf3b06999f576b75134bc5e8b0ef881ca439b72d7", + "size": "75154138" }, { "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-win32.zip", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-win32.zip", - "checksum": "SHA-256:5711eb407ffe44adddbd1281b6b575a5645e7193ca78faefa27dc5bc5b662bec", - "size": "191266312" - } - ] - }, - { - "name": "riscv32-esp-elf-gcc", - "version": "gcc8_4_0-crosstool-ng-1.24.0-123-g64eb9ff", - "systems": [ - { - "host": "i686-mingw32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.6/riscv32-esp-elf-gcc8_4_0-crosstool-ng-1.24.0-123-g64eb9ff-win32.zip", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-crosstool-ng-1.24.0-123-g64eb9ff-win32.zip", - "checksum": "SHA-256:4f576b08620f57c270ac677cc94dce2767fff72d27a539e348d448f63b480d1f", - "size": "190014086" - }, - { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.6/riscv32-esp-elf-gcc8_4_0-crosstool-ng-1.24.0-123-g64eb9ff-macos.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-crosstool-ng-1.24.0-123-g64eb9ff-macos.tar.gz", - "checksum": "SHA-256:35b1aef85b7e6b4268774f627e8e835d087bcf8b9972cfb6436614aa2e40d4a9", - "size": "158594401" - }, - { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.6/riscv32-esp-elf-gcc8_4_0-crosstool-ng-1.24.0-123-g64eb9ff-linux-amd64.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-crosstool-ng-1.24.0-123-g64eb9ff-linux-amd64.tar.gz", - "checksum": "SHA-256:425454c5c4e2cde5dd2dd3a1d398befc70addf71547840fb6d0ec4b307b08894", - "size": "152042971" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:c758062295804b082fbd77fcd59a356f62d4e76372aaa29589cc871603309cba", + "size": "82338511" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.6/riscv32-esp-elf-gcc8_4_0-crosstool-ng-1.24.0-123-g64eb9ff-linux-armel.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-crosstool-ng-1.24.0-123-g64eb9ff-linux-armel.tar.gz", - "checksum": "SHA-256:8ae098751b5196ca8a80d832cc9930bc4d639762a6cb22be3cfe0a8d71b2f230", - "size": "150801079" + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:1c1e168ff8bc460a9719f3b216d3c1125d29040389786d738244838499362c74", + "size": "85579252" } ] }, { - "name": "openocd-esp32", - "version": "v0.11.0-esp32-20221026", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3", "systems": [ { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-linux-amd64-0.11.0-esp32-20221026.tar.gz", - "archiveFileName": "openocd-esp32-linux-amd64-0.11.0-esp32-20221026.tar.gz", - "checksum": "SHA-256:ce63e9b1dfab60cc62da5dc2abcc22ba7036c42afe74671c787eb026744e7d0b", - "size": "2051435" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "checksum": "SHA-256:a32451a8edc1104b83cd9971178e61826e957d7db9ad9f81798a8969fd5a954e", + "size": "90894048" }, { "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-linux-arm64-0.11.0-esp32-20221026.tar.gz", - "archiveFileName": "openocd-esp32-linux-arm64-0.11.0-esp32-20221026.tar.gz", - "checksum": "SHA-256:fe60a3a603e8c6bee47367e40fcb8c0da3a38e01163e9674ebc919b067700506", - "size": "1993843" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "checksum": "SHA-256:2ac2c94a533a99a091d2159c678c611c712c494b5f68d97913254712047260f9", + "size": "87178224" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-linux-armel-0.11.0-esp32-20221026.tar.gz", - "archiveFileName": "openocd-esp32-linux-armel-0.11.0-esp32-20221026.tar.gz", - "checksum": "SHA-256:6ef76101cca196a4be30fc74f191eff34abb423e32930a383012b866c9b76135", - "size": "2092111" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "checksum": "SHA-256:da49afee1e2e03eaab3f492718789442d33b562800e2a892679f95b50be24d14", + "size": "86569314" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-macos-0.11.0-esp32-20221026.tar.gz", - "archiveFileName": "openocd-esp32-macos-0.11.0-esp32-20221026.tar.gz", - "checksum": "SHA-256:8edc666a0a230432554b73df7c62e0b5ec21fb018e7fda13b11a7ca8b6c1763b", - "size": "2199855" + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "checksum": "SHA-256:36d3c4990a5feb68aa8534463bc9e8ee367fe23886f78e1d726f4411c7571462", + "size": "92884013" }, { - "host": "arm64-apple-darwin", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-macos-arm64-0.11.0-esp32-20221026.tar.gz", - "archiveFileName": "openocd-esp32-macos-arm64-0.11.0-esp32-20221026.tar.gz", - "checksum": "SHA-256:c426c0158ba6488e2f432f7c5b22e79155b5b0fae6d1ad5bbd7894723b43aa12", - "size": "2247179" + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "checksum": "SHA-256:de9af641678c93775e932ee5ec4f478f8925cfc1ebc22e41adc4fb85430a0c35", + "size": "98224709" }, { "host": "i686-mingw32", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-win32-0.11.0-esp32-20221026.zip", - "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20221026.zip", - "checksum": "SHA-256:e0e789d35308c029c6b53457cf4a42a5620cb1a3014740026c089c2ed4fd77b2", - "size": "2493214" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "checksum": "SHA-256:ccf08afe60046f87b0e81ca17dc5073eda68ab5e7522c163dd5b583d713b7b39", + "size": "116924759" }, { "host": "x86_64-mingw32", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-win32-0.11.0-esp32-20221026.zip", - "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20221026.zip", - "checksum": "SHA-256:e0e789d35308c029c6b53457cf4a42a5620cb1a3014740026c089c2ed4fd77b2", - "size": "2493214" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "checksum": "SHA-256:37c91490b8fc75e638c23785e261eaf553be2dcd106cf6cff5b76981fa02955b", + "size": "119912142" } ] }, { - "name": "openocd-esp32", - "version": "v0.11.0-esp32-20220706", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2", "systems": [ { - "host": "i686-mingw32", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-win32-0.11.0-esp32-20220706.zip", - "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20220706.zip", - "checksum": "SHA-256:c3d39eb4365a9947e71f1d3780ce031185bc6437f21186568a5c05f23f57a8d0", - "size": "2608736" + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "checksum": "SHA-256:a6e0947c92b823ca04f062522249f0a428357e0b056f1ff4c6bcabef83cf63a7", + "size": "90901736" }, { - "host": "x86_64-mingw32", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-win32-0.11.0-esp32-20220706.zip", - "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20220706.zip", - "checksum": "SHA-256:c3d39eb4365a9947e71f1d3780ce031185bc6437f21186568a5c05f23f57a8d0", - "size": "2608736" + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "checksum": "SHA-256:d2e5600fc194b508bd393b236a09fd62ed70afb6c36619d4b106b696a56ca66d", + "size": "87176557" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-macos-0.11.0-esp32-20220706.tar.gz", - "archiveFileName": "openocd-esp32-macos-0.11.0-esp32-20220706.tar.gz", - "checksum": "SHA-256:333ee2ec3c9b5dc6ad4509faae55335cdea7f8bf83a56bfcf5327e4497c8538a", - "size": "2077882" + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "checksum": "SHA-256:3fff4199e986dd74660f17ca27d9414cb98f1b911a7f13bb3b22e784cb1156cf", + "size": "86581102" }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", - "archiveFileName": "openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", - "checksum": "SHA-256:26f1f18dd93eb70a13203848d3fb1cc2e0de1fd6749c7dd771b2de8709735aed", - "size": "2011201" + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "checksum": "SHA-256:7732f9fb371d36b6b324820e300beecc33c2719921a61cf1cdb5bc625016b346", + "size": "92875986" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", - "archiveFileName": "openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", - "checksum": "SHA-256:26f1f18dd93eb70a13203848d3fb1cc2e0de1fd6749c7dd771b2de8709735aed", - "size": "2011201" + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "checksum": "SHA-256:e6dd32782fcff8f633299b97d1c671d6b6513390aca2ddbd7543c2cc62e72d7e", + "size": "98212907" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-armhf-0.11.0-esp32-20220706.tar.gz", - "archiveFileName": "openocd-esp32-linux-armhf-0.11.0-esp32-20220706.tar.gz", - "checksum": "SHA-256:7f3b57332104e8b8e6194553365a70a9d3754878cfc063d5dc5d839513a63de9", - "size": "1902964" + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win32.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win32.zip", + "checksum": "SHA-256:41b917b35f6fbe7d30b7de91c32cf348c406acfa729a1eabc450d040dc46fbe2", + "size": "113022469" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-arm64-0.11.0-esp32-20220706.tar.gz", - "archiveFileName": "openocd-esp32-linux-arm64-0.11.0-esp32-20220706.tar.gz", - "checksum": "SHA-256:f97792bc2852937ec0accb9f0eb2e49926c0f747a71f101a4e34aed75d2c6fcc", - "size": "1954685" + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win64.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win64.zip", + "checksum": "SHA-256:a764c1a0ee743d69f8cbfadbe4426a2c15c0e233b0894244c7cadf3b4d7dd32a", + "size": "115696999" } ] }, { - "name": "esptool_py", - "version": "4.5", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r1", "systems": [ { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", - "archiveFileName": "esptool-v4.5-src.tar.gz", - "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", - "size": "96621" - }, - { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", - "archiveFileName": "esptool-v4.5-src.tar.gz", - "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", - "size": "96621" - }, - { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", - "archiveFileName": "esptool-v4.5-src.tar.gz", - "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", - "size": "96621" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "checksum": "SHA-256:b127baccfe6949ee7eaf3d0782ea772750a9b8e2732b16ce6bcc9dcd91f7209a", + "size": "86687290" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", - "archiveFileName": "esptool-v4.5-src.tar.gz", - "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", - "size": "96621" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "checksum": "SHA-256:7ca0d240f11e1c53c01a56257b0c968f876ab405142d1068d8c9b456d939554c", + "size": "84916701" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-macos.tar.gz", - "archiveFileName": "esptool-v4.5-macos.tar.gz", - "checksum": "SHA-256:adcce051f282a19f78da30717ff0e4334b0edaf16a7f14d185ba4cae464586e2", - "size": "5850835" + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "checksum": "SHA-256:9941f993ff84d1c606b45ffbeeb7bcdc5a72cf24e787bb9230390510fe3511c6", + "size": "88699953" }, { - "host": "x86_64-mingw32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-win64.zip", - "archiveFileName": "esptool-v4.5-win64.zip", - "checksum": "SHA-256:a55c5f7d490fbd2cd5fdf486d71f2ed13e3304482d54374b6aa23d42c9b98a96", - "size": "6639416" + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "checksum": "SHA-256:4b55b1a9ca7fc945be6fc3513802b6cece9264bee4cbca76013569cec2695973", + "size": "93757895" }, { "host": "i686-mingw32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-win64.zip", - "archiveFileName": "esptool-v4.5-win64.zip", - "checksum": "SHA-256:a55c5f7d490fbd2cd5fdf486d71f2ed13e3304482d54374b6aa23d42c9b98a96", - "size": "6639416" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-win32.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-win32.zip", + "checksum": "SHA-256:c94ec1e45c81b7e4944d216bab4aa41d46849768d7761fd691661dab1a3df828", + "size": "106013515" } ] }, { - "name": "esptool_py", - "version": "4.2.1", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-12.2.0_20230208", "systems": [ { - "host": "i686-mingw32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-windows.zip", - "archiveFileName": "esptool-4.2.1-windows.zip", - "checksum": "SHA-256:582560067bfbd9895f4862eb5fdf87558ddee5d4d30e7575c9b8bcb0dd60fd94", - "size": "6368279" + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:61495ffe575e00c6998ae7274ff917658c04bded62ece0937c7042d6dcbf46de", + "size": "111971129" }, { - "host": "x86_64-mingw32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-windows.zip", - "archiveFileName": "esptool-4.2.1-windows.zip", - "checksum": "SHA-256:582560067bfbd9895f4862eb5fdf87558ddee5d4d30e7575c9b8bcb0dd60fd94", - "size": "6368279" + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:9008d395be46fcfe68c7de6edc850fc1595f28323a28e7922e5c085bd310cb90", + "size": "106616800" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-macos.tar.gz", - "archiveFileName": "esptool-4.2.1-macos.tar.gz", - "checksum": "SHA-256:a984f7ad8bdb40c42d0d368bf4bb21b69a9587aed46b7b6d7de23ca58a3f150d", - "size": "5816598" + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:568857bdac7dea389dffc7fbc6871b4af299150a8ecf1bf965f224d2a1655edb", + "size": "105700326" }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", - "archiveFileName": "esptool-4.2.1-linux.tar.gz", - "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", - "size": "90123" + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:d122738bcc6c2f52d05fa89b2fb1afe6a7894cda8a07a1879aca867a31507ed0", + "size": "115098400" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", - "archiveFileName": "esptool-4.2.1-linux.tar.gz", - "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", - "size": "90123" + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:7defcddb98788b0991416ad2e0cb6a3b248b8030f22d5d76b8832117cc1494ca", + "size": "119883189" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", - "archiveFileName": "esptool-4.2.1-linux.tar.gz", - "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", - "size": "90123" + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:b59e076f8e4b9ca99535d449f9fc4cbb443188051dce4ad934e38f16b095f8d9", + "size": "106464677" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", - "archiveFileName": "esptool-4.2.1-linux.tar.gz", - "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", - "size": "90123" + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:3ddf51774817e815e5d41c312a90c1159226978fb45fd0d4f7085c567f8b73ab", + "size": "131134034" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:1d15ca65e3508388a86d8bed3048c46d07538f5bc88d3e4296f9c03152087cd1", + "size": "135381926" } ] }, { - "name": "esptool_py", - "version": "3.3.0", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0", "systems": [ { - "host": "i686-mingw32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-windows.zip", - "archiveFileName": "esptool-3.3-windows.zip", - "checksum": "SHA-256:55a1d7165414bf4dbd2bb16ca094e555d671958450f5d1536b457a518d2b15df", - "size": "7436864" + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:8aa17a6adf01efa5b1628c8ac578063a44d26ae9581d39486b92223a41ef262f", + "size": "68099473" }, { - "host": "x86_64-mingw32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-windows.zip", - "archiveFileName": "esptool-3.3-windows.zip", - "checksum": "SHA-256:55a1d7165414bf4dbd2bb16ca094e555d671958450f5d1536b457a518d2b15df", - "size": "7436864" + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:b218c11122e5565b6442376ebd21a652abdfcbf90981afa3e177ce978710225d", + "size": "64233211" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-macos.tar.gz", - "archiveFileName": "esptool-3.3-macos.tar.gz", - "checksum": "SHA-256:3e5f7b521ae33c8c63f3b48efc909c08f37bef1a083c0eafa408312c09900afd", - "size": "6944975" + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:967477434ad5483718915936a77ce915a10c5972a6b3fd02688a5c4e14182bfb", + "size": "63530586" }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", - "archiveFileName": "esptool-3.3-linux.tar.gz", - "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", - "size": "97026" + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:07671d01a63ebd389912787efb2b263677c7b351c07fe430ded733cdae95e81d", + "size": "70025439" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:99b6d44cea5aebbedc8b6965e7bf551aa4a40ed83ddbe1c0e9b7cb255564ded5", + "size": "75719772" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", - "archiveFileName": "esptool-3.3-linux.tar.gz", - "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", - "size": "97026" + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "checksum": "SHA-256:c64b05be25d26916c65dcfe11de9e60b96d58980b2df706d3074cb70b1ef6cb9", + "size": "66791095" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", - "archiveFileName": "esptool-3.3-linux.tar.gz", - "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", - "size": "97026" + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:658d3036ffdf11ddad6f0a784c8829f6ffd4dbd7c252d7f61722256d0ad43975", + "size": "82665716" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", - "archiveFileName": "esptool-3.3-linux.tar.gz", - "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", - "size": "97026" + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:9000be38d44bf79c39b93a2aeb99b42e956c593ccbc02fe31cb9c71ae1bbcb22", + "size": "86022563" } ] }, { - "name": "esptool_py", - "version": "3.1.0", + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5", "systems": [ { - "host": "i686-mingw32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-windows.zip", - "archiveFileName": "esptool-3.1.0-windows.zip", - "checksum": "SHA-256:c9b4f9bc6e94db136c2545c87c00c7ab1441644ca0bac50811bc3c014e22514b", - "size": "7411889" + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:8aa17a6adf01efa5b1628c8ac578063a44d26ae9581d39486b92223a41ef262f", + "size": "68099473" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-macos.tar.gz", - "archiveFileName": "esptool-3.1.0-macos.tar.gz", - "checksum": "SHA-256:1dffcb884665fb616779aea62a68f517aac251ea6dfe95560906c364d6ef3065", - "size": "6776909" + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:b218c11122e5565b6442376ebd21a652abdfcbf90981afa3e177ce978710225d", + "size": "64233211" }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", - "archiveFileName": "esptool-3.1.0-linux.tar.gz", - "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", - "size": "80550" + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:967477434ad5483718915936a77ce915a10c5972a6b3fd02688a5c4e14182bfb", + "size": "63530586" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", - "archiveFileName": "esptool-3.1.0-linux.tar.gz", - "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", - "size": "80550" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:07671d01a63ebd389912787efb2b263677c7b351c07fe430ded733cdae95e81d", + "size": "70025439" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", - "archiveFileName": "esptool-3.1.0-linux.tar.gz", - "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", - "size": "80550" + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:99b6d44cea5aebbedc8b6965e7bf551aa4a40ed83ddbe1c0e9b7cb255564ded5", + "size": "75719772" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", - "archiveFileName": "esptool-3.1.0-linux.tar.gz", - "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", - "size": "80550" + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:658d3036ffdf11ddad6f0a784c8829f6ffd4dbd7c252d7f61722256d0ad43975", + "size": "82665716" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:9000be38d44bf79c39b93a2aeb99b42e956c593ccbc02fe31cb9c71ae1bbcb22", + "size": "86022563" } ] }, { - "name": "esptool_py", - "version": "3.0.0", + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3", "systems": [ { - "host": "i686-mingw32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.6/esptool-3.0.0.3-windows.zip", - "archiveFileName": "esptool-3.0.0.3-windows.zip", - "checksum": "SHA-256:3c99b3b9bbad1f416988973b536b9f02fae852a145c4c0b7c1e3200d25ef9551", - "size": "3450498" + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "checksum": "SHA-256:59b271d014ff3915b6db1b43b610a45eea15fe5d6877d12cae8a191cc996ed37", + "size": "90903617" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.6/esptool-3.0.0.3-macos.tar.gz", - "archiveFileName": "esptool-3.0.0.3-macos.tar.gz", - "checksum": "SHA-256:9f956e4c49c0c37ad95752adea7f8b3338e6f33c4726d6dc20239827d3f8a096", - "size": "3866415" + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "checksum": "SHA-256:7051b32483e61f98606d71c98e372929428a5165df791dcd5830ed9517763152", + "size": "87065204" }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.6/esptool-3.0.0.3-linux.tar.gz", - "archiveFileName": "esptool-3.0.0.3-linux.tar.gz", - "checksum": "SHA-256:2ec3041d508b1393d4e4bfa833dec8d7f5a74561c939c071748f89293a515f26", - "size": "73901" + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "checksum": "SHA-256:48c8dbbf96eec691a812327dc580042d9718fe989e60c2111ebfd692ac710081", + "size": "86455731" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.6/esptool-3.0.0.3-linux.tar.gz", - "archiveFileName": "esptool-3.0.0.3-linux.tar.gz", - "checksum": "SHA-256:2ec3041d508b1393d4e4bfa833dec8d7f5a74561c939c071748f89293a515f26", - "size": "73901" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "checksum": "SHA-256:552dca3f4302ab7ca88a934b0391200198c9d10a4d8ac413fe604cbf8601f950", + "size": "92906274" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.6/esptool-3.0.0.3-linux.tar.gz", - "archiveFileName": "esptool-3.0.0.3-linux.tar.gz", - "checksum": "SHA-256:2ec3041d508b1393d4e4bfa833dec8d7f5a74561c939c071748f89293a515f26", - "size": "73901" + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "checksum": "SHA-256:e5af78f05d3af07617805d06ebb45ff2fe9b6aed6970a84c35eea28a5d8d5e53", + "size": "98553473" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.6/esptool-3.0.0.3-linux.tar.gz", - "archiveFileName": "esptool-3.0.0.3-linux.tar.gz", - "checksum": "SHA-256:2ec3041d508b1393d4e4bfa833dec8d7f5a74561c939c071748f89293a515f26", - "size": "73901" + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "checksum": "SHA-256:1b70163acccc5655449de1d149427a54f384156bd35816ec60c422d76d033f05", + "size": "116847008" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "checksum": "SHA-256:58e58575d1938879fd51e822181e54bcb343aa846eb3fca8f616c2cde7bd0041", + "size": "120066269" } ] }, { - "name": "esptool_py", - "version": "2.6.1", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0", "systems": [ { - "host": "i686-mingw32", - "url": "https://dl.espressif.com/dl/esptool-2.6.1-windows.zip", - "archiveFileName": "esptool-2.6.1-windows.zip", - "checksum": "SHA-256:84cf0b369a7707fe566434faba148852fc464992111d5baa95b658b374802f96", - "size": "3422445" + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:f7d73e5f9e2df3ea6ca8e2c95d6ca6d23d6b38fd101ea5d3012f3cb3cd59f39f", + "size": "192388486" }, { - "host": "x86_64-apple-darwin", - "url": "https://dl.espressif.com/dl/esptool-2.6.1-macos.tar.gz", - "archiveFileName": "esptool-2.6.1-macos.tar.gz", - "checksum": "SHA-256:f4eb758a301d6902cc9dfcd49d36345d2f075ad123da7cf8132d15cfb7533457", - "size": "3837085" + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:cf520ae3a72f65b9758ea187524b105b8b7546566d738c32e60a0df9846ef1af", + "size": "188626914" }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://dl.espressif.com/dl/esptool-2.6.1-linux.tar.gz", - "archiveFileName": "esptool-2.6.1-linux.tar.gz", - "checksum": "SHA-256:eaf82ff4070d9792f6a42ae1e485375de5a87bec59ef01dfb95de901519ec7fb", - "size": "44762" + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:2dc3536214caa1697f6834bb4701d05894ca55b53589fc5b54064b050ef93799", + "size": "188624050" }, { "host": "i686-pc-linux-gnu", - "url": "https://dl.espressif.com/dl/esptool-2.6.1-linux.tar.gz", - "archiveFileName": "esptool-2.6.1-linux.tar.gz", - "checksum": "SHA-256:eaf82ff4070d9792f6a42ae1e485375de5a87bec59ef01dfb95de901519ec7fb", - "size": "44762" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:165d6d53e76d79f5ade7e2b7ade54b2b495ecfda0d1184d84d6343659d0e3bdb", + "size": "194606113" }, { - "host": "arm-linux-gnueabihf", - "url": "https://dl.espressif.com/dl/esptool-2.6.1-linux.tar.gz", - "archiveFileName": "esptool-2.6.1-linux.tar.gz", - "checksum": "SHA-256:eaf82ff4070d9792f6a42ae1e485375de5a87bec59ef01dfb95de901519ec7fb", - "size": "44762" + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:d6d4cef216cbf28d6fbb88f3e127d4f42a376d9497c260bf8c1ad9cef440f839", + "size": "199411930" }, { - "host": "aarch64-linux-gnu", - "url": "https://dl.espressif.com/dl/esptool-2.6.1-linux.tar.gz", - "archiveFileName": "esptool-2.6.1-linux.tar.gz", - "checksum": "SHA-256:eaf82ff4070d9792f6a42ae1e485375de5a87bec59ef01dfb95de901519ec7fb", - "size": "44762" + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "checksum": "SHA-256:6e03f2ab1f145be13f8890c6de77b53f52c7bffe3d9d5824549db20298f5ba91", + "size": "191209735" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:1e0cfcfbc8f82c441261cadd21742f66d716ec18c18bf10ed7c7d5b0bee6752f", + "size": "257844437" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:b08f568e8fe5069dd521b87da21b8e56117e5c2c3b492f73a51966a46d3379a4", + "size": "259712666" } ] }, { - "version": "2.6.0", - "name": "esptool_py", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5", "systems": [ { - "url": "https://dl.espressif.com/dl/esptool-2.6.0-windows.zip", - "checksum": "SHA-256:a73f4cf68db240d7f1d250c5c7f2dfcb53c17a37483729f1bf71f8f43d79a799", - "host": "i686-mingw32", - "archiveFileName": "esptool-2.6.0-windows.zip", - "size": "3421208" + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:f7d73e5f9e2df3ea6ca8e2c95d6ca6d23d6b38fd101ea5d3012f3cb3cd59f39f", + "size": "192388486" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:cf520ae3a72f65b9758ea187524b105b8b7546566d738c32e60a0df9846ef1af", + "size": "188626914" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:2dc3536214caa1697f6834bb4701d05894ca55b53589fc5b54064b050ef93799", + "size": "188624050" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:165d6d53e76d79f5ade7e2b7ade54b2b495ecfda0d1184d84d6343659d0e3bdb", + "size": "194606113" }, { - "url": "https://dl.espressif.com/dl/esptool-2.6.0-macos.tar.gz", - "checksum": "SHA-256:0a881b91547c840fab8c72ae3d031069384278b8c2e5241647e8c8292c5e4a4b", "host": "x86_64-apple-darwin", - "archiveFileName": "esptool-2.6.0-macos.tar.gz", - "size": "3835660" - }, - { - "url": "https://dl.espressif.com/dl/esptool-2.6.0-linux.tar.gz", - "checksum": "SHA-256:6d162f70f395ca31f5008829dd7e833e729f044a9c7355d5be8ce333a054e110", - "host": "x86_64-pc-linux-gnu", - "archiveFileName": "esptool-2.6.0-linux.tar.gz", - "size": "43535" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:d6d4cef216cbf28d6fbb88f3e127d4f42a376d9497c260bf8c1ad9cef440f839", + "size": "199411930" }, { - "url": "https://dl.espressif.com/dl/esptool-2.6.0-linux.tar.gz", - "checksum": "SHA-256:6d162f70f395ca31f5008829dd7e833e729f044a9c7355d5be8ce333a054e110", - "host": "i686-pc-linux-gnu", - "archiveFileName": "esptool-2.6.0-linux.tar.gz", - "size": "43535" + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:1e0cfcfbc8f82c441261cadd21742f66d716ec18c18bf10ed7c7d5b0bee6752f", + "size": "257844437" }, { - "url": "https://dl.espressif.com/dl/esptool-2.6.0-linux.tar.gz", - "checksum": "SHA-256:6d162f70f395ca31f5008829dd7e833e729f044a9c7355d5be8ce333a054e110", - "host": "arm-linux-gnueabihf", - "archiveFileName": "esptool-2.6.0-linux.tar.gz", - "size": "43535" + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:b08f568e8fe5069dd521b87da21b8e56117e5c2c3b492f73a51966a46d3379a4", + "size": "259712666" } ] }, { - "version": "3.0.0-gnu12-dc7f933", - "name": "mklittlefs", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3", "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "checksum": "SHA-256:179cbad579790ad35e0f414a18d90017c0f158c397022411a8e9867db2174f15", + "size": "106843321" + }, { "host": "aarch64-linux-gnu", - "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/aarch64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", - "archiveFileName": "aarch64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", - "checksum": "SHA-256:fc56e389383749e4cf4fab0fcf75cc0ebc41e59383caf6c2eff1c3d9794af200", - "size": "44651" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "checksum": "SHA-256:fb339d476c79c76db8f903b265cab6bb6950d5ed954dec644445252d3378023c", + "size": "103277393" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/arm-linux-gnueabihf.mklittlefs-c41e51a.200706.tar.gz", - "archiveFileName": "arm-linux-gnueabihf.mklittlefs-c41e51a.200706.tar.gz", - "checksum": "SHA-256:52b642dd0545eb3bd8dfb75dde6601df21700e4867763fd2696274be279294c5", - "size": "37211" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "checksum": "SHA-256:51a6296d8334b7452dba44b2b62e87afd7fd1c74bafa1aa29b1f4ab72cb9e5e0", + "size": "103062256" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/i686-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", - "archiveFileName": "i686-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", - "checksum": "SHA-256:7886051d8ccc54aed0af2e7cdf6ff992bb51638df86f3b545955697720b6d062", - "size": "48033" - }, - { - "host": "i686-mingw32", - "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/i686-w64-mingw32.mklittlefs-c41e51a.200706.zip", - "archiveFileName": "i686-w64-mingw32.mklittlefs-c41e51a.200706.zip", - "checksum": "SHA-256:43740db30ce451454f2337331f10ab4ed41bd83dbf0fa0cb4387107388b59f42", - "size": "332655" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "checksum": "SHA-256:fef60f7ef37ffaa50416d8f244cdbd710d6729dae41ef06c4ec0e50a1f3b7dd7", + "size": "109460025" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/x86_64-apple-darwin14.mklittlefs-c41e51a.200706.tar.gz", - "archiveFileName": "x86_64-apple-darwin14.mklittlefs-c41e51a.200706.tar.gz", - "checksum": "SHA-256:e3edd5e05b70db3c7df6b9d626558348ad04804022fe955c799aeb51808c7dc3", - "size": "362608" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "checksum": "SHA-256:4aacc1742a76349d790b1ac8e9e9d963daefda5346dbd6741cfe8e7a35a44e4e", + "size": "113703959" }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/x86_64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", - "archiveFileName": "x86_64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", - "checksum": "SHA-256:66e84dda0aad747517da3785125e05738a540948aab2b7eaa02855167a1eea53", - "size": "46778" + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "checksum": "SHA-256:eb2a442d7f551ebeb842995ec372ec4b364314ca2d7aae779399a74972f7d6bc", + "size": "144711970" }, { "host": "x86_64-mingw32", - "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/x86_64-w64-mingw32.mklittlefs-c41e51a.200706.zip", - "archiveFileName": "x86_64-w64-mingw32.mklittlefs-c41e51a.200706.zip", - "checksum": "SHA-256:2e319077491f8e832e96eb4f2f7a70dd919333cee4b388c394e0e848d031d542", - "size": "345132" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "checksum": "SHA-256:f5607e5187317d521f0474cade83f8eb590f2d165d95c3779b6ce11fbac21d1f", + "size": "146606480" } ] }, { - "name": "mkspiffs", - "version": "0.2.3", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2", "systems": [ { - "host": "i686-mingw32", - "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-win32.zip", - "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-win32.zip", - "checksum": "SHA-256:b647f2c2efe6949819c85ea9404271b55c7c9c25bcb98d3b98a1d0ba771adf56", - "size": "249809" + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "checksum": "SHA-256:812d735063da9d063b374b59f55832a96c41fbd27ddaef19000a75de8607ba21", + "size": "106837189" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", - "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", - "checksum": "SHA-256:9f43fc74a858cf564966b5035322c3e5e61c31a647c5a1d71b388ed6efc48423", - "size": "130270" + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "checksum": "SHA-256:712f1fbc3e08304a6f32aa18b346b16bbcb413b507b3d4c7c3211bf0d7dc4813", + "size": "103273444" }, { - "host": "i386-apple-darwin", - "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", - "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", - "checksum": "SHA-256:9f43fc74a858cf564966b5035322c3e5e61c31a647c5a1d71b388ed6efc48423", - "size": "130270" + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "checksum": "SHA-256:80a3342cda2cd4b6b75ebb2b36d5d12fce7d375cfadadcff01ec3a907f0a16a2", + "size": "103058744" }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux64.tar.gz", - "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux64.tar.gz", - "checksum": "SHA-256:5e1a4ff41385e842f389f6b5254102a547e566a06b49babeffa93ef37115cb5d", - "size": "50646" + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "checksum": "SHA-256:7f0162a81558ab0ed09d6c5d356def25b5cb3d5c2d61358f20152fa260ccc8ae", + "size": "109447789" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux32.tar.gz", - "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux32.tar.gz", - "checksum": "SHA-256:464463a93e8833209cdc29ba65e1a12fec31718dc10075c195a2445b2c3f6cb0", - "size": "48751" + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "checksum": "SHA-256:3ff7e5427907cf8e271c1f959b70fb01e39625c3caf61a6567e7b38aa0c11578", + "size": "113672945" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", - "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", - "checksum": "SHA-256:ade3dc00117912ac08a1bdbfbfe76b12d21a34bc5fa1de0cfc45fe7a8d0a0185", - "size": "40665" + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-win32.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-win32.zip", + "checksum": "SHA-256:c8ff08883c1456c278fad85e1c43b7c6e251d525683214168655550e85c5b82e", + "size": "140809778" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", - "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", - "checksum": "SHA-256:ade3dc00117912ac08a1bdbfbfe76b12d21a34bc5fa1de0cfc45fe7a8d0a0185", - "size": "40665" + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-win64.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-win64.zip", + "checksum": "SHA-256:6c04cb4728db928ec6473e63146b695b6dec686a0d40dd73dd3353f05247b19e", + "size": "142365782" } ] }, { - "version": "0.3.6", - "name": "mkfatfs", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r1", "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "checksum": "SHA-256:3459618f33bbd5f54d7d7783e807cb6eef6472a220f2f1eb3faced735b9d13bb", + "size": "152812483" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "checksum": "SHA-256:24b9e54b348bbd5fb816fc4c52abb47337c702beecdbba840750b7cfb9d38069", + "size": "151726623" + }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/lorol/arduino-esp32fatfs-plugin/raw/master/extra/mkfatfs.tar.gz", - "archiveFileName": "mkfatfs.tar.gz", - "checksum": "SHA-256:41dc0346a38d6aab5674d4301937868e69471b69d8317ed667d2eeb7c4a077ee", - "size": "102575" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "checksum": "SHA-256:954d340ebffef12a2ce9be1ea004e6f45a8863f1e6f41f46fd3f04f58499627c", + "size": "155430963" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "checksum": "SHA-256:612fb3a3f84f703222327bd16581df8f80fda8cdf137637fe5d611587d1b664e", + "size": "159836199" }, { "host": "i686-mingw32", - "url": "https://github.com/lorol/arduino-esp32fatfs-plugin/raw/master/extra/mkfatfs.zip", - "archiveFileName": "mkfatfs.zip", - "checksum": "SHA-256:966f378da8bba524197d7d8a919e93b21b4680ead03ae69cac8bb56f8ec864a6", - "size": "612169" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-win32.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-win32.zip", + "checksum": "SHA-256:5711eb407ffe44adddbd1281b6b575a5645e7193ca78faefa27dc5bc5b662bec", + "size": "191266312" } ] }, @@ -3767,88 +8273,6 @@ "size": "39563" } ] - }, - { - "version": "2.5.0", - "name": "esptool", - "systems": [ - { - "url": "https://dl.espressif.com/dl/esptool-2.5.0-windows.zip", - "checksum": "SHA-256:576b8068b577cae0e6e937566a9d32a08ff7ff82963fb60400eacb6691f2fbfb", - "host": "i686-mingw32", - "archiveFileName": "esptool-2.5.0-windows.zip", - "size": "3420959" - }, - { - "url": "https://dl.espressif.com/dl/esptool-2.5.0-macos.tar.gz", - "checksum": "SHA-256:2da8ba3b83d99b5d808cab955a077e3e0738ec640b51de932d047cad7fac1157", - "host": "x86_64-apple-darwin", - "archiveFileName": "esptool-2.5.0-macos.tar.gz", - "size": "3835397" - }, - { - "url": "https://dl.espressif.com/dl/esptool-2.5.0-linux.tar.gz", - "checksum": "SHA-256:34d63b9a0bf2acb9b6fdac15f91a8756f4e722065de031e8fbce4e4abc369e54", - "host": "x86_64-pc-linux-gnu", - "archiveFileName": "esptool-2.5.0-linux.tar.gz", - "size": "43468" - }, - { - "url": "https://dl.espressif.com/dl/esptool-2.5.0-linux.tar.gz", - "checksum": "SHA-256:34d63b9a0bf2acb9b6fdac15f91a8756f4e722065de031e8fbce4e4abc369e54", - "host": "i686-pc-linux-gnu", - "archiveFileName": "esptool-2.5.0-linux.tar.gz", - "size": "43468" - }, - { - "url": "https://dl.espressif.com/dl/esptool-2.5.0-linux.tar.gz", - "checksum": "SHA-256:34d63b9a0bf2acb9b6fdac15f91a8756f4e722065de031e8fbce4e4abc369e54", - "host": "arm-linux-gnueabihf", - "archiveFileName": "esptool-2.5.0-linux.tar.gz", - "size": "43468" - } - ] - }, - { - "version": "da31d9d2", - "name": "esptool", - "systems": [ - { - "url": "https://dl.espressif.com/dl/esptool-da31d9d2-windows.zip", - "checksum": "SHA-256:5e3b5154b9adaf38aeb580222b434bf6e9381a8b989e227f3ad6b2cecc56a57b", - "host": "i686-mingw32", - "archiveFileName": "esptool-da31d9d2-windows.zip", - "size": "3396085" - }, - { - "url": "https://dl.espressif.com/dl/esptool-da31d9d2-macos.tar.gz", - "checksum": "SHA-256:00f2c16e3b44064596e883fcb20392c9e52ebf74484672170fbeb4c6641e37cc", - "host": "x86_64-apple-darwin", - "archiveFileName": "esptool-da31d9d2-macos.tar.gz", - "size": "3810936" - }, - { - "url": "https://dl.espressif.com/dl/esptool-da31d9d2-linux.tar.gz", - "checksum": "SHA-256:a8a23028bde25b25fae39554b4e6138592ef18e099bfeb239b4a003a2ae3f55c", - "host": "x86_64-pc-linux-gnu", - "archiveFileName": "esptool-da31d9d2-linux.tar.gz", - "size": "39563" - }, - { - "url": "https://dl.espressif.com/dl/esptool-da31d9d2-linux.tar.gz", - "checksum": "SHA-256:a8a23028bde25b25fae39554b4e6138592ef18e099bfeb239b4a003a2ae3f55c", - "host": "i686-pc-linux-gnu", - "archiveFileName": "esptool-da31d9d2-linux.tar.gz", - "size": "39563" - }, - { - "url": "https://dl.espressif.com/dl/esptool-da31d9d2-linux.tar.gz", - "checksum": "SHA-256:a8a23028bde25b25fae39554b4e6138592ef18e099bfeb239b4a003a2ae3f55c", - "host": "arm-linux-gnueabihf", - "archiveFileName": "esptool-da31d9d2-linux.tar.gz", - "size": "39563" - } - ] } ] } diff --git a/package_esp32_dev_index_cn.json b/package_esp32_dev_index_cn.json new file mode 100644 index 00000000000..2b90ba52818 --- /dev/null +++ b/package_esp32_dev_index_cn.json @@ -0,0 +1,8280 @@ +{ + "packages": [ + { + "name": "esp32", + "maintainer": "Espressif Systems", + "websiteURL": "https://github.com/espressif/arduino-esp32", + "email": "hristo@espressif.com", + "help": { + "online": "http://esp32.com" + }, + "platforms": [ + { + "name": "esp32", + "architecture": "esp32", + "version": "3.3.0-alpha1-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.3.0-alpha1/esp32-3.3.0-alpha1.zip", + "archiveFileName": "esp32-3.3.0-alpha1.zip", + "checksum": "SHA-256:1ecaa232ccdf4d32211d55d203e1a655e75945c6326e8c27e8c059eca7946d37", + "size": "25494893", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "ESP32-C6 Dev Board" + }, + { + "name": "ESP32-H2 Dev Board" + }, + { + "name": "ESP32-P4 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-master-d930a386-v1-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2411-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "16.2_20250324-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2411-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "16.2_20250324-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20250226-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.9.dev3-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.2.0-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.2.0/esp32-3.2.0.zip", + "archiveFileName": "esp32-3.2.0.zip", + "checksum": "SHA-256:d38b16fef6e519fc0d19bc5af0b39cdbed7dfc2ce69214c1971ded0e61ecd911", + "size": "25447136", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "ESP32-C6 Dev Board" + }, + { + "name": "ESP32-H2 Dev Board" + }, + { + "name": "ESP32-P4 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.4-2f7dcd86-v1-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2411-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2411-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.9.dev3-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.2.0-RC2-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.2.0-RC2/esp32-3.2.0-RC2.zip", + "archiveFileName": "esp32-3.2.0-RC2.zip", + "checksum": "SHA-256:fe6aacce1704f0782062d7d3fde24b40bf2591903de3351c86a55fa254a19e64", + "size": "25450856", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.4-d4aa25a3-v1-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2411-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2411-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.9.dev3-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.2.0-RC1-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.2.0-RC1/esp32-3.2.0-RC1.zip", + "archiveFileName": "esp32-3.2.0-RC1.zip", + "checksum": "SHA-256:dc70818eaeb8a596c6857953fbc59ed10fbedd28a5d3e5405e6bbd050e49e46b", + "size": "25443000", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.4-bcb3c32d-v1-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2411-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2411-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.9.dev3-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.1.3-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.3/esp32-3.1.3.zip", + "archiveFileName": "esp32-3.1.3.zip", + "checksum": "SHA-256:747160dbc81c6634c7bff9e8a57213e9982d52fe90d2a8f75a93a9f7b527defb", + "size": "25396700", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-489d7a2b-v1-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.9.dev3-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.1.2-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.2/esp32-3.1.2.zip", + "archiveFileName": "esp32-3.1.2.zip", + "checksum": "SHA-256:17214f51a7b9de547baa777419d2b041e1f09cfb17adb33c18617a756190f9f6", + "size": "25396684", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-489d7a2b-v1-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.9.dev3-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.1.1-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.1/esp32-3.1.1.zip", + "archiveFileName": "esp32-3.1.1.zip", + "checksum": "SHA-256:e20982b2860eab4900ce16a0f2b7f9fc3ffb205e490dc933f625d53a5c9e8129", + "size": "25253828", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-cfea4f7c-v1-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.9.dev3-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.1.0-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0/esp32-3.1.0.zip", + "archiveFileName": "esp32-3.1.0.zip", + "checksum": "SHA-256:0db044159e3fc737435b3f1d547bf85c60a33a175342c317d2a5c08c42977f80", + "size": "25225607", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-083aad99-v2-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.9.dev3-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.1.0-RC3-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC3/esp32-3.1.0-RC3.zip", + "archiveFileName": "esp32-3.1.0-RC3.zip", + "checksum": "SHA-256:60c8a9a0a4fba8533ce278ca1315425a55e2abf0c83c94d9fc0b8cafb50f6d3f", + "size": "24652789", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-a0f798cf-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.9.dev1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.1.0-RC2-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC2/esp32-3.1.0-RC2.zip", + "archiveFileName": "esp32-3.1.0-RC2.zip", + "checksum": "SHA-256:374c3cd330d0dad1e1c39c00951c51c51cb5dd6964d9e92c84a2fe732061390d", + "size": "24606170", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-a0f798cf-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.8.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.1.0-RC1-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC1/esp32-3.1.0-RC1.zip", + "archiveFileName": "esp32-3.1.0-RC1.zip", + "checksum": "SHA-256:2b386cbd6e761b728864aa4c36fc435f6c5d3e52a5c12bfaeb0132e0dc354a6c", + "size": "24118034", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-466a392a-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240318-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.7-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.7/esp32-3.0.7.zip", + "archiveFileName": "esp32-3.0.7.zip", + "checksum": "SHA-256:6b48f5bd889e55d7b93b95849dff77c6a5e4b9ee58c7298d7872d558a4d04931", + "size": "24546342", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-632e0c2a-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs2", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs3", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240821-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.6-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.6/esp32-3.0.6.zip", + "archiveFileName": "esp32-3.0.6.zip", + "checksum": "SHA-256:7b4d87d0a18e69cba81e7aa7e69f088dc7c4f6cc89a20adc256bf77c86992dc5", + "size": "24546256", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-632e0c2a-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs2", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs3", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240821-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.5-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.5/esp32-3.0.5.zip", + "archiveFileName": "esp32-3.0.5.zip", + "checksum": "SHA-256:6ead4c452e69146b8eb08bee5a77898acc75a0637e9fccb5bbf665385ddc28db", + "size": "24481707", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-33fbade6-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs2", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs3", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240821-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.4-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.4/esp32-3.0.4.zip", + "archiveFileName": "esp32-3.0.4.zip", + "checksum": "SHA-256:58fcd9b033be0358afbcbcf9a1d8eb216217f65f6b28f2e2cd739c7d016dda4f", + "size": "23937821", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-b6b4727c58-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs2", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs3", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240318-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.3-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.3/esp32-3.0.3.zip", + "archiveFileName": "esp32-3.0.3.zip", + "checksum": "SHA-256:b4aa70711293955a9835ad641279dc7cd524aeb405f7d294afa05c2ece7ded45", + "size": "23920341", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-dc859c1e67-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs2", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs3", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240318-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.2-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.2/esp32-3.0.2.zip", + "archiveFileName": "esp32-3.0.2.zip", + "checksum": "SHA-256:bd90630fbe9e99f3bb3340c25a87574d5551dd2823849adbf285f8430b6884cf", + "size": "23893902", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-bd2b9390ef-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs2", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs3", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240318-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.1-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.1/esp32-3.0.1.zip", + "archiveFileName": "esp32-3.0.1.zip", + "checksum": "SHA-256:b7169d0dd51b64e450a7c09fafb7a4782820a9bc745f7b1e4618316440db0930", + "size": "23895257", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-442a798083-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs2", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs3", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.0-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.0/esp32-3.0.0.zip", + "archiveFileName": "esp32-3.0.0.zip", + "checksum": "SHA-256:0960cf786992e0e3770d8c1e1979eaf01bd0ac9209b24fb00948cf93d43cf95c", + "size": "23891610", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-442a798083-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-12.2.0_20230208-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-12.2.0_20230208-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-12.2.0_20230208-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.0-rc3-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.0-rc3/esp32-3.0.0-rc3.zip", + "archiveFileName": "esp32-3.0.0-rc3.zip", + "checksum": "SHA-256:87ff8e3499c8c2112c3d6faf0017998e64135c0f3553088d76be6f8b6a5af1ef", + "size": "23906520", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-442a798083-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-12.2.0_20230208-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-12.2.0_20230208-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-12.2.0_20230208-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.0-rc2-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.0-rc2/esp32-3.0.0-rc2.zip", + "archiveFileName": "esp32-3.0.0-rc2.zip", + "checksum": "SHA-256:a5953dbc8ce425ce44fde6d66d23b056bc2569d96e177e2fa8d5c3161f87eb40", + "size": "23887041", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-442a798083-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-12.2.0_20230208-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-12.2.0_20230208-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-12.2.0_20230208-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.0-rc1-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.0-rc1/esp32-3.0.0-rc1.zip", + "archiveFileName": "esp32-3.0.0-rc1.zip", + "checksum": "SHA-256:d4d96e1dc0ca687d2bcdde9836bcc3664cfa868cb324b7b737005efe0b050f3a", + "size": "23944015", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-3662303f312-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-12.2.0_20230208-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-12.2.0_20230208-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-12.2.0_20230208-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.0-alpha3-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.0-alpha3/esp32-3.0.0-alpha3.zip", + "archiveFileName": "esp32-3.0.0-alpha3.zip", + "checksum": "SHA-256:02b94c17f065ed5dfef765af7ed7e11f2c7fafa2bd82b00fb7d07cdb2ad78509", + "size": "21114660", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-3662303f31-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-12.2.0_20230208-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-12.2.0_20230208-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-12.2.0_20230208-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20221002-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20221002-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.17-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.17/esp32-2.0.17.zip", + "archiveFileName": "esp32-2.0.17.zip", + "checksum": "SHA-256:1f8658d4b18a8001ce782142ad08164af2991d70b83a147c3437a6ee30a9b225", + "size": "254658377", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.16-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.16/esp32-2.0.16.zip", + "archiveFileName": "esp32-2.0.16.zip", + "checksum": "SHA-256:6615fd16fd6d3ee2fa7ca2dd40a4f65220eddf094a88b7cee2141a0c077987bc", + "size": "254657760", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.15-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.15/esp32-2.0.15.zip", + "archiveFileName": "esp32-2.0.15.zip", + "checksum": "SHA-256:2219c1636264f55e19b2a5e7f41c81b669b1355017b15ee31773c85674b3e9bb", + "size": "254657764", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.14-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.14/esp32-2.0.14.zip", + "archiveFileName": "esp32-2.0.14.zip", + "checksum": "SHA-256:77c71eba520c97ab30161eb2f9c6a46b019e48d13936244b18f6ad4dbecf0a58", + "size": "252506057", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230419-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.13-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.13/esp32-2.0.13.zip", + "archiveFileName": "esp32-2.0.13.zip", + "checksum": "SHA-256:ee4c277bac0eecb7ca8853780da9d49b4e260926059cf6a9f9bac1923059de0c", + "size": "250665913", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.12-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.12/esp32-2.0.12.zip", + "archiveFileName": "esp32-2.0.12.zip", + "checksum": "SHA-256:9a4f844ca67812c547a9635cdb0dd2c347cae7a3e855f95f9d490b2f8d340dbe", + "size": "250664387", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.11-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.11/esp32-2.0.11.zip", + "archiveFileName": "esp32-2.0.11.zip", + "checksum": "SHA-256:d15386308dc72f94816ce80b5508af999f2fd0d88eb5e1ffba48316ab0b9c5d6", + "size": "250401265", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.10-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.10/esp32-2.0.10.zip", + "archiveFileName": "esp32-2.0.10.zip", + "checksum": "SHA-256:6028cb623c838723c41000869963d95f7cb811d58643133068eed31c03c2d7c0", + "size": "250401273", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.9-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.9/esp32-2.0.9.zip", + "archiveFileName": "esp32-2.0.9.zip", + "checksum": "SHA-256:37072185026db3cdc0ed4b6fb12840d7f41571a16c60eec97bec2a4abec8dcee", + "size": "278964028", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.8-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.8/esp32-2.0.8.zip", + "archiveFileName": "esp32-2.0.8.zip", + "checksum": "SHA-256:2c5daa3ce7456e752fb8d8a35b0b6b2eb8e494032cba57569ba12dd53eb235f2", + "size": "278963636", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.7-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.7/esp32-2.0.7.zip", + "archiveFileName": "esp32-2.0.7.zip", + "checksum": "SHA-256:b5a7a54fca36501d1108413310ec50ae2df655c14c3881325903cde2c7ae5f80", + "size": "278966011", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.6-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.6/esp32-2.0.6.zip", + "archiveFileName": "esp32-2.0.6.zip", + "checksum": "SHA-256:ea56d300404cc1b5bc15295f29790246b02025c493e0664a6d271164a602a351", + "size": "264579419", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.2.1-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20220706-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.5-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.5/esp32-2.0.5.zip", + "archiveFileName": "esp32-2.0.5.zip", + "checksum": "SHA-256:c7a1040c5f007a799ef9eb249508e3544c3cf5246f67cdfdc1e80f7d0ca7b41d", + "size": "260916106", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.2.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.4-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.4/esp32-2.0.4.zip", + "archiveFileName": "esp32-2.0.4.zip", + "checksum": "SHA-256:832609d6f4cd0edf4e471f02e30b7f0e1c86fdd1b950990ef40431e656237214", + "size": "259715595", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.3.0-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.3-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.3/esp32-2.0.3.zip", + "archiveFileName": "esp32-2.0.3.zip", + "checksum": "SHA-256:7a44ab32a2bfe18a84fd1f75aa1921dae92c6b4a74a2eb4d0c7d479b34996f3b", + "size": "246542267", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.3.0-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.2-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.2/esp32-2.0.2.zip", + "archiveFileName": "esp32-2.0.2.zip", + "checksum": "SHA-256:e139f22aab9cbe8109815de0be110e58a8f1d6c90a2e263eb0b0d646b53a5a33", + "size": "151846438", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.1.0-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.1-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.1/esp32-2.0.1.zip", + "archiveFileName": "esp32-2.0.1.zip", + "checksum": "SHA-256:3a7cd46ba47990dd37fbe02b7f0a910dd5cc7af1d190350b69d320ed36cd6b41", + "size": "148976301", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.1.0-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.0-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.0/esp32-2.0.0.zip", + "archiveFileName": "esp32-2.0.0.zip", + "checksum": "SHA-256:10e1c42dbf11d2359259a80008f13f37d2f9bb8f49a25d34d387cf4531052cbc", + "size": "139313137", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + }, + { + "name": "WEMOS D1 MINI ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r1-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r1-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r1-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.1.0-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "1.0.6-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.6/esp32-1.0.6.zip", + "archiveFileName": "esp32-1.0.6.zip", + "checksum": "SHA-256:982da9aaa181b6cb9c692dd4c9622b022ecc0d1e3aa0c5b70428ccc3c1b4556b", + "size": "51126662", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + }, + { + "name": "WEMOS D1 MINI ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "1.22.0-97-gc752ad5-5.2.0-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.0.0-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "1.0.5-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5/esp32-1.0.5.zip", + "archiveFileName": "esp32-1.0.5.zip", + "checksum": "SHA-256:dc5c6c72a127b3171c654f3c3476911d3c2b0ab21affdb7b0f0756c105ca71a7", + "size": "49552769", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + }, + { + "name": "WEMOS D1 MINI ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "1.22.0-97-gc752ad5-5.2.0-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.0.0-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + } + ] + }, + { + "category": "ESP32", + "name": "esp32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.4/esp32-1.0.4.zip", + "checksum": "SHA-256:d9108bf873933c4e48a3ca401fb51e41b2cc3f98d7c9b9be9881e7ca34bf0efe", + "help": { + "online": "" + }, + "version": "1.0.4-cn", + "architecture": "esp32", + "archiveFileName": "esp32-1.0.4.zip", + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + }, + { + "name": "WEMOS D1 MINI ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "version": "1.22.0-80-g6c4433a-5.2.0-cn", + "name": "xtensa-esp32-elf-gcc" + }, + { + "packager": "esp32", + "version": "2.6.1-cn", + "name": "esptool_py" + }, + { + "packager": "esp32", + "version": "0.2.3-cn", + "name": "mkspiffs" + } + ], + "size": "36853332" + }, + { + "category": "ESP32", + "name": "esp32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.3/esp32-1.0.3.zip", + "checksum": "SHA-256:19a30ece8a3ab26ab420c3d5531a9a1c51cb04e421a4f1d86dc072c209060436", + "help": { + "online": "" + }, + "version": "1.0.3-cn", + "architecture": "esp32", + "archiveFileName": "esp32-1.0.3.zip", + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + }, + { + "name": "WEMOS D1 MINI ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "version": "1.22.0-80-g6c4433a-5.2.0-cn", + "name": "xtensa-esp32-elf-gcc" + }, + { + "packager": "esp32", + "version": "2.6.1-cn", + "name": "esptool_py" + }, + { + "packager": "esp32", + "version": "0.2.3-cn", + "name": "mkspiffs" + } + ], + "size": "36811826" + }, + { + "category": "ESP32", + "help": { + "online": "" + }, + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.2/esp32-1.0.2.zip", + "checksum": "SHA-256:c3a5a5050705d41ab205d25a7399e921057b754ef8f883419f58c0c7f08df11c", + "version": "1.0.2-cn", + "architecture": "esp32", + "archiveFileName": "esp32-1.0.2.zip", + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + } + ], + "size": "31174160", + "toolsDependencies": [ + { + "packager": "esp32", + "version": "1.22.0-80-g6c4433a-5.2.0-cn", + "name": "xtensa-esp32-elf-gcc" + }, + { + "packager": "esp32", + "version": "2.6.1-cn", + "name": "esptool_py" + }, + { + "packager": "esp32", + "version": "0.2.3-cn", + "name": "mkspiffs" + } + ], + "name": "esp32" + }, + { + "category": "ESP32", + "help": { + "online": "" + }, + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.1/esp32-1.0.1.zip", + "checksum": "SHA-256:1a7fa2f9bb0b6b5a20dfea227497f4851dc8b886caf7ecb998f745589c97ed34", + "name": "esp32", + "version": "1.0.1-cn", + "architecture": "esp32", + "archiveFileName": "esp32-1.0.1.zip", + "size": "31273425", + "toolsDependencies": [ + { + "packager": "esp32", + "version": "1.22.0-80-g6c4433a-5.2.0-cn", + "name": "xtensa-esp32-elf-gcc" + }, + { + "packager": "esp32", + "version": "2.6.0-cn", + "name": "esptool_py" + }, + { + "packager": "esp32", + "version": "0.2.3-cn", + "name": "mkspiffs" + } + ], + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + } + ] + }, + { + "category": "ESP32", + "help": { + "online": "" + }, + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.0/esp32-1.0.0.zip", + "checksum": "SHA-256:94d586174f103e2014be590ab307c5cdda6fa2ec70204c7f121882ace5e05c80", + "name": "esp32", + "version": "1.0.0-cn", + "architecture": "esp32", + "archiveFileName": "esp32-1.0.0.zip", + "size": "26381887", + "toolsDependencies": [ + { + "packager": "esp32", + "version": "1.22.0-80-g6c4433a-5.2.0-cn", + "name": "xtensa-esp32-elf-gcc" + }, + { + "packager": "esp32", + "version": "2.3.1-cn", + "name": "esptool" + }, + { + "packager": "esp32", + "version": "0.2.3-cn", + "name": "mkspiffs" + } + ], + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + } + ] + } + ], + "tools": [ + { + "name": "esp32-arduino-libs", + "version": "idf-master-d930a386-v1-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-master/esp32-arduino-libs-idf-master-d930a386-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-master-d930a386-v1.zip", + "checksum": "SHA-256:0310daa4f08f807f2bf3babd2587c2694df64c70e367863eadf5020636b717ae", + "size": "422376381" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-master/esp32-arduino-libs-idf-master-d930a386-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-master-d930a386-v1.zip", + "checksum": "SHA-256:0310daa4f08f807f2bf3babd2587c2694df64c70e367863eadf5020636b717ae", + "size": "422376381" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-master/esp32-arduino-libs-idf-master-d930a386-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-master-d930a386-v1.zip", + "checksum": "SHA-256:0310daa4f08f807f2bf3babd2587c2694df64c70e367863eadf5020636b717ae", + "size": "422376381" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-master/esp32-arduino-libs-idf-master-d930a386-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-master-d930a386-v1.zip", + "checksum": "SHA-256:0310daa4f08f807f2bf3babd2587c2694df64c70e367863eadf5020636b717ae", + "size": "422376381" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-master/esp32-arduino-libs-idf-master-d930a386-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-master-d930a386-v1.zip", + "checksum": "SHA-256:0310daa4f08f807f2bf3babd2587c2694df64c70e367863eadf5020636b717ae", + "size": "422376381" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-master/esp32-arduino-libs-idf-master-d930a386-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-master-d930a386-v1.zip", + "checksum": "SHA-256:0310daa4f08f807f2bf3babd2587c2694df64c70e367863eadf5020636b717ae", + "size": "422376381" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-master/esp32-arduino-libs-idf-master-d930a386-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-master-d930a386-v1.zip", + "checksum": "SHA-256:0310daa4f08f807f2bf3babd2587c2694df64c70e367863eadf5020636b717ae", + "size": "422376381" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-master/esp32-arduino-libs-idf-master-d930a386-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-master-d930a386-v1.zip", + "checksum": "SHA-256:0310daa4f08f807f2bf3babd2587c2694df64c70e367863eadf5020636b717ae", + "size": "422376381" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.4-2f7dcd86-v1-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.4-d4aa25a3-v1-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "checksum": "SHA-256:81101d580ebafb78f71bd494f4f5162fd829279d18634282c0f8f95c9e928335", + "size": "350941396" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "checksum": "SHA-256:81101d580ebafb78f71bd494f4f5162fd829279d18634282c0f8f95c9e928335", + "size": "350941396" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "checksum": "SHA-256:81101d580ebafb78f71bd494f4f5162fd829279d18634282c0f8f95c9e928335", + "size": "350941396" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "checksum": "SHA-256:81101d580ebafb78f71bd494f4f5162fd829279d18634282c0f8f95c9e928335", + "size": "350941396" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "checksum": "SHA-256:81101d580ebafb78f71bd494f4f5162fd829279d18634282c0f8f95c9e928335", + "size": "350941396" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "checksum": "SHA-256:81101d580ebafb78f71bd494f4f5162fd829279d18634282c0f8f95c9e928335", + "size": "350941396" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "checksum": "SHA-256:81101d580ebafb78f71bd494f4f5162fd829279d18634282c0f8f95c9e928335", + "size": "350941396" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-d4aa25a3-v1.zip", + "checksum": "SHA-256:81101d580ebafb78f71bd494f4f5162fd829279d18634282c0f8f95c9e928335", + "size": "350941396" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.4-bcb3c32d-v1-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "checksum": "SHA-256:2ab7a8565d4eadd805c1d00c9a1550292d3287dc43efa166d7ad3ba5322344bb", + "size": "345570903" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "checksum": "SHA-256:2ab7a8565d4eadd805c1d00c9a1550292d3287dc43efa166d7ad3ba5322344bb", + "size": "345570903" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "checksum": "SHA-256:2ab7a8565d4eadd805c1d00c9a1550292d3287dc43efa166d7ad3ba5322344bb", + "size": "345570903" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "checksum": "SHA-256:2ab7a8565d4eadd805c1d00c9a1550292d3287dc43efa166d7ad3ba5322344bb", + "size": "345570903" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "checksum": "SHA-256:2ab7a8565d4eadd805c1d00c9a1550292d3287dc43efa166d7ad3ba5322344bb", + "size": "345570903" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "checksum": "SHA-256:2ab7a8565d4eadd805c1d00c9a1550292d3287dc43efa166d7ad3ba5322344bb", + "size": "345570903" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "checksum": "SHA-256:2ab7a8565d4eadd805c1d00c9a1550292d3287dc43efa166d7ad3ba5322344bb", + "size": "345570903" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-bcb3c32d-v1.zip", + "checksum": "SHA-256:2ab7a8565d4eadd805c1d00c9a1550292d3287dc43efa166d7ad3ba5322344bb", + "size": "345570903" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-489d7a2b-v1-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-cfea4f7c-v1-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-083aad99-v2-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-a0f798cf-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "checksum": "SHA-256:f552d02ecef616389f1d0c973cb270718a192e6258db426656cd5965db3c6ed0", + "size": "339750940" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "checksum": "SHA-256:f552d02ecef616389f1d0c973cb270718a192e6258db426656cd5965db3c6ed0", + "size": "339750940" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "checksum": "SHA-256:f552d02ecef616389f1d0c973cb270718a192e6258db426656cd5965db3c6ed0", + "size": "339750940" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "checksum": "SHA-256:f552d02ecef616389f1d0c973cb270718a192e6258db426656cd5965db3c6ed0", + "size": "339750940" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "checksum": "SHA-256:f552d02ecef616389f1d0c973cb270718a192e6258db426656cd5965db3c6ed0", + "size": "339750940" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "checksum": "SHA-256:f552d02ecef616389f1d0c973cb270718a192e6258db426656cd5965db3c6ed0", + "size": "339750940" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "checksum": "SHA-256:f552d02ecef616389f1d0c973cb270718a192e6258db426656cd5965db3c6ed0", + "size": "339750940" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-a0f798cf.zip", + "checksum": "SHA-256:f552d02ecef616389f1d0c973cb270718a192e6258db426656cd5965db3c6ed0", + "size": "339750940" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-632e0c2a-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-33fbade6-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-466a392a-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "checksum": "SHA-256:8c2d36bd4be5b6a9446efd3c2b2f93f544f4b2a22dab23c4991aec5711c72884", + "size": "318864212" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "checksum": "SHA-256:8c2d36bd4be5b6a9446efd3c2b2f93f544f4b2a22dab23c4991aec5711c72884", + "size": "318864212" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "checksum": "SHA-256:8c2d36bd4be5b6a9446efd3c2b2f93f544f4b2a22dab23c4991aec5711c72884", + "size": "318864212" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "checksum": "SHA-256:8c2d36bd4be5b6a9446efd3c2b2f93f544f4b2a22dab23c4991aec5711c72884", + "size": "318864212" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "checksum": "SHA-256:8c2d36bd4be5b6a9446efd3c2b2f93f544f4b2a22dab23c4991aec5711c72884", + "size": "318864212" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "checksum": "SHA-256:8c2d36bd4be5b6a9446efd3c2b2f93f544f4b2a22dab23c4991aec5711c72884", + "size": "318864212" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "checksum": "SHA-256:8c2d36bd4be5b6a9446efd3c2b2f93f544f4b2a22dab23c4991aec5711c72884", + "size": "318864212" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-466a392a.zip", + "checksum": "SHA-256:8c2d36bd4be5b6a9446efd3c2b2f93f544f4b2a22dab23c4991aec5711c72884", + "size": "318864212" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-b6b4727c58-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-dc859c1e67-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-bd2b9390ef-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-442a798083-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-3662303f312-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.0-rc1/esp32-arduino-libs-3.0.0-rc1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-rc1.zip", + "checksum": "SHA-256:0fb5d5b794a6bbfba5ec5330537cde675a214356b4b3bb1371d7ddc3829128c7", + "size": "350651673" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.0-rc1/esp32-arduino-libs-3.0.0-rc1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-rc1.zip", + "checksum": "SHA-256:0fb5d5b794a6bbfba5ec5330537cde675a214356b4b3bb1371d7ddc3829128c7", + "size": "350651673" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.0-rc1/esp32-arduino-libs-3.0.0-rc1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-rc1.zip", + "checksum": "SHA-256:0fb5d5b794a6bbfba5ec5330537cde675a214356b4b3bb1371d7ddc3829128c7", + "size": "350651673" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.0-rc1/esp32-arduino-libs-3.0.0-rc1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-rc1.zip", + "checksum": "SHA-256:0fb5d5b794a6bbfba5ec5330537cde675a214356b4b3bb1371d7ddc3829128c7", + "size": "350651673" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.0-rc1/esp32-arduino-libs-3.0.0-rc1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-rc1.zip", + "checksum": "SHA-256:0fb5d5b794a6bbfba5ec5330537cde675a214356b4b3bb1371d7ddc3829128c7", + "size": "350651673" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.0-rc1/esp32-arduino-libs-3.0.0-rc1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-rc1.zip", + "checksum": "SHA-256:0fb5d5b794a6bbfba5ec5330537cde675a214356b4b3bb1371d7ddc3829128c7", + "size": "350651673" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.0-rc1/esp32-arduino-libs-3.0.0-rc1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-rc1.zip", + "checksum": "SHA-256:0fb5d5b794a6bbfba5ec5330537cde675a214356b4b3bb1371d7ddc3829128c7", + "size": "350651673" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.0-rc1/esp32-arduino-libs-3.0.0-rc1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-rc1.zip", + "checksum": "SHA-256:0fb5d5b794a6bbfba5ec5330537cde675a214356b4b3bb1371d7ddc3829128c7", + "size": "350651673" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-3662303f31-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.0-alpha3/esp32-arduino-libs-3.0.0-alpha3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-alpha3.zip", + "checksum": "SHA-256:18a278b74a37211d142d1f1d5795af5b6a9526c360c0feee07bb72c04e898c41", + "size": "350651673" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.0-alpha3/esp32-arduino-libs-3.0.0-alpha3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-alpha3.zip", + "checksum": "SHA-256:18a278b74a37211d142d1f1d5795af5b6a9526c360c0feee07bb72c04e898c41", + "size": "350651673" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.0-alpha3/esp32-arduino-libs-3.0.0-alpha3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-alpha3.zip", + "checksum": "SHA-256:18a278b74a37211d142d1f1d5795af5b6a9526c360c0feee07bb72c04e898c41", + "size": "350651673" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.0-alpha3/esp32-arduino-libs-3.0.0-alpha3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-alpha3.zip", + "checksum": "SHA-256:18a278b74a37211d142d1f1d5795af5b6a9526c360c0feee07bb72c04e898c41", + "size": "350651673" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.0-alpha3/esp32-arduino-libs-3.0.0-alpha3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-alpha3.zip", + "checksum": "SHA-256:18a278b74a37211d142d1f1d5795af5b6a9526c360c0feee07bb72c04e898c41", + "size": "350651673" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.0-alpha3/esp32-arduino-libs-3.0.0-alpha3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-alpha3.zip", + "checksum": "SHA-256:18a278b74a37211d142d1f1d5795af5b6a9526c360c0feee07bb72c04e898c41", + "size": "350651673" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.0-alpha3/esp32-arduino-libs-3.0.0-alpha3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-alpha3.zip", + "checksum": "SHA-256:18a278b74a37211d142d1f1d5795af5b6a9526c360c0feee07bb72c04e898c41", + "size": "350651673" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.0-alpha3/esp32-arduino-libs-3.0.0-alpha3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.0-alpha3.zip", + "checksum": "SHA-256:18a278b74a37211d142d1f1d5795af5b6a9526c360c0feee07bb72c04e898c41", + "size": "350651673" + } + ] + }, + { + "name": "esp-x32", + "version": "2411-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:b1859df334a85541ae746e1b86439f59180d87f8cf1cc04c2e770fadf9f006e9", + "size": "323678089" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:7ff023033a5c00e55b9fc0a0b26d18fb0e476c24e24c5b0459bcb2e05a3729f1", + "size": "320064691" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:bb11dbf3ed25d4e0cc9e938749519e8236cfa2609e85742d311f1d869111805a", + "size": "319454139" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:5ac611dca62ec791d413d1f417d566c444b006d2a4f97bd749b15f782d87249b", + "size": "328335914" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-x86_64-apple-darwin_signed.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-x86_64-apple-darwin_signed.tar.gz", + "checksum": "SHA-256:15b3e60362028eaeff9156dc82dac3f1436b4aeef3920b28d7650974d8c34751", + "size": "336215844" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-aarch64-apple-darwin_signed.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-aarch64-apple-darwin_signed.tar.gz", + "checksum": "SHA-256:45c475518735133789bacccad31f872318b7ecc0b31cc9b7924aad880034f0bf", + "size": "318797396" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-i686-w64-mingw32.zip", + "checksum": "SHA-256:b30e450e0af279783c54a9ae77c3b367dd556b78eda930a92ec7b784a74c28c8", + "size": "382457717" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:62ae704777d73c30689efff6e81178632a1ca44d1a2d60f4621eb997e040e028", + "size": "386316009" + } + ] + }, + { + "name": "esp-x32", + "version": "2405-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:bce77e8480701d5a90545369d1b5848f6048eb39c0022d2446d1e33a8e127490", + "size": "208911713" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:7c9e3c1adc733d042ed87b92daa1d6396e1b441c1755f1fa14cb88855719ba88", + "size": "202519931" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:d6955e8ea6af91574bf9213b92f32ca09eb8640103446b7fa19a63cfeeec5421", + "size": "202206516" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:3666ee74ecb693ee6488f11469802630a7b0d32608184045a4f35cb413f59e3d", + "size": "213304863" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:948cf57b6eecc898b5f70e06ad08ba88c08b627be570ec631dfcd72f6295194a", + "size": "221357024" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:6f03fdf0cc14a7f3900ee59977f62e8626d8b7c208506e52f1fd883ac223427a", + "size": "199689745" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-i686-w64-mingw32_hotfix.zip", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-i686-w64-mingw32_hotfix.zip", + "checksum": "SHA-256:d6b227c50e3c8e21d62502b3140e5ab74a4cb502c2b4169c36238b9858a8fb88", + "size": "266042967" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-x86_64-w64-mingw32_hotfix.zip", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-x86_64-w64-mingw32_hotfix.zip", + "checksum": "SHA-256:155ee97b531236e6a7c763395c68ca793e55e74d2cb4d38a23057a153e01e7d0", + "size": "269831985" + } + ] + }, + { + "name": "esp-x32", + "version": "2302-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:e8d35938385447cf9c34735fee2a3b2b61cca6be07db77a45856a1c2a347e423", + "size": "111766903" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:569988acfc2673369f222037c64bac96990cee08cebeebc4f8860e0d984f8bd9", + "size": "106473247" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:6a844f16021e936cc9b87b203978356f57ab2144554f6f2a0f73ffa3d3d316c5", + "size": "105576049" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:743d6f03a89329bb09f9550d27fcab677f5cf06b4720793bbcef7883a932681d", + "size": "114870843" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:4d32d764e984f3a570aacfb2f4957619540fb4629534d969b2e83997901334c3", + "size": "119424029" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:dc8fa7f4933bf5cb08e83bacce6160cc9dfe93d7aad1e8f92599bb81ff5b2e28", + "size": "106136827" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:62bb6428d107ed3f44c212c77ecf24804b74c97327b0f0ad2029c656c6dbd6ee", + "size": "130847086" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:8febfe4a6476efc69012390106c8c660a14418f025137b0513670c72124339cf", + "size": "134985117" + } + ] + }, + { + "name": "xtensa-esp-elf-gdb", + "version": "16.2_20250324-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/xtensa-esp-elf-gdb-16.2_20250324-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-16.2_20250324-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:27b58ab12248e04277c4fdc74038cf0a001d5142df091ab94939ad35053738fd", + "size": "36361058" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/xtensa-esp-elf-gdb-16.2_20250324-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-16.2_20250324-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:24f85aa778e1605098a13ff7bd29d5760767faf012705c8915cb08b32cad0206", + "size": "35442104" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/xtensa-esp-elf-gdb-16.2_20250324-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-16.2_20250324-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:c73e43038b6d50374cd0ee714370ce748189e0b00404d581babd2bb0115c4785", + "size": "31260410" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/xtensa-esp-elf-gdb-16.2_20250324-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-16.2_20250324-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:dc7b8aad0fb1c6a1abfdb8dff4f08221ea08a0f28fb837f181969ac1174d4dc6", + "size": "35067894" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/xtensa-esp-elf-gdb-16.2_20250324-x86_64-apple-darwin21.1.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-16.2_20250324-x86_64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:398c429cfe696bad01d636c5488cadc87b20471c1b5ed02c60eee5ef2a775c93", + "size": "54992785" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/xtensa-esp-elf-gdb-16.2_20250324-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-16.2_20250324-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:b6d85c0d76d653bb55f9d06b0cd509eab7e99db541c88b8c849c64827e9d74a9", + "size": "43538967" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/xtensa-esp-elf-gdb-16.2_20250324-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-16.2_20250324-i686-w64-mingw32.zip", + "checksum": "SHA-256:f748d6b65fdf66733b82e12d0d85a05e3134122416280379df129cfebe2aa4b2", + "size": "32189419" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/xtensa-esp-elf-gdb-16.2_20250324-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-16.2_20250324-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:e970fc3ec8a1d0acee2432e91e0a01b348613a0425aacfa981b2fc505fe920cc", + "size": "32290997" + } + ] + }, + { + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:9d68472d4cba5cf8c2b79d94f86f92c828e76a632bd1e6be5e7706e5b304d36e", + "size": "31010320" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:bdabc3217994815fc311c4e16e588b78f6596b5ad4ffa46c80b40e982cfb1e66", + "size": "30954580" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:d54b8d703ba897b28c627da3d27106a3906dd01ba298778a67064710bc33c76d", + "size": "28697281" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:64d3bc992ed8fdec383d49e8b803ac494605a38117c8293db8da055037de96b0", + "size": "29890994" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:023e74b3fda793da4bc0509b02de776ee0dad6efaaac17bef5916fb7dc9c26b9", + "size": "44446611" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:ea757c6bf8c25238f6d2fdcc6bbab25a1b00608a0f9e19b7ddd2f37ddbdc3fb1", + "size": "37021423" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-i686-w64-mingw32.zip", + "checksum": "SHA-256:322e8d9b700dc32d8158e3dc55fb85ec55de48d0bb7789375ee39a28d5d655e2", + "size": "26302466" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:a27a2fe20f192f8e0a51b8936428b4e1cf8935cfe008ee445cc49f6fc7f6db2e", + "size": "28366035" + } + ] + }, + { + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:d0743ec43cd92c35452a9097f7863281de4e72f04120d63cfbcf9d591a373529", + "size": "36942094" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:bc1fac0366c6a08e26c45896ca21c8c90efc2cdd431b8ba084e8772e15502d0e", + "size": "37134601" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:25efc51d52b71f097ccec763c5c885c8f5026b432fec4b5badd6a5f36fe34d04", + "size": "34579556" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:e0af0b3b4a6b29a843cd5f47e331a966d9258f7d825b4656c6251490f71b05b2", + "size": "35676578" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:bd146fd99a52b2d71c7ce0f62b9e18f3423d6cae7b2b2c954046b0dd7a23142f", + "size": "52863941" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:5edc76565bf9d2fadf24e443ddf3df7567354f336a65d4af5b2ee805cdfcec24", + "size": "33504923" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-i686-w64-mingw32.zip", + "checksum": "SHA-256:ea4f3ee6b95ad1ad2e07108a21a50037a3e64a420cdeb34b2ba95d612faed898", + "size": "31068749" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:13bb97f39173948d1cfb6e651d9b335ea9d52f1fdd0dda1eda3a2d23d8c63644", + "size": "33514906" + } + ] + }, + { + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20221002-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/xtensa-esp-elf-gdb-12.1_20221002-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20221002-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:d056f2435ef05cccadac5d8fcefa3efd8f8c456c3d853f5eba1edb501acfe4f7", + "size": "32006939" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/xtensa-esp-elf-gdb-12.1_20221002-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20221002-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:7fc9674cc4f4c5e7bc94ca05bc5deaaa4c4bbcc972a9caee6fcd6a872c804c02", + "size": "32227425" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/xtensa-esp-elf-gdb-12.1_20221002-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20221002-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:68118ff36e9dd2284d92a7a529d0e2a8d20f6426036a0736fa1147935614ece2", + "size": "29960020" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/xtensa-esp-elf-gdb-12.1_20221002-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20221002-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:cf6cac8ed70726d390d30713d537754544872715e1b70a8a4a28b5dc616193b9", + "size": "30877187" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/xtensa-esp-elf-gdb-12.1_20221002-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20221002-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:417fcf8d1b596b9481603d6987def1d6cfcebdb9739f53940887334a7de855fa", + "size": "45941853" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/xtensa-esp-elf-gdb-12.1_20221002-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20221002-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:95d6ed2311d6a72bf349e152d096aeeb151f9c5989bfa3120facb1c99e879196", + "size": "27596410" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/xtensa-esp-elf-gdb-12.1_20221002-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20221002-i686-w64-mingw32.zip", + "checksum": "SHA-256:642b6a135c38ff1d5e54ad2c29469b769f8e1b101dab363d06101b02284bb979", + "size": "27387730" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/xtensa-esp-elf-gdb-12.1_20221002-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20221002-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:2d958570ff6aa69ed32cbb076cbaf303349a26b3301a7c4628be8d7ad39cf9f1", + "size": "29561472" + } + ] + }, + { + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:b5f7cc3e4b5a58db655754083ed9652e4953e71c3b4922fb624e7a034ec24a64", + "size": 26947336 + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:816acfae38b6b443f4f1590395f68f079243539259d19c7772ae6416c6519444", + "size": 27134508 + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:4dd1bace0633196fddfdcef3cebcc4bbfce22f5a0d2d1e3d618f3d8a6cbfcacc", + "size": 25205239 + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:27744d09d171be2f55ec15fa7f2d7f8ff94d33f7e130d24ebe082cb6c438618b", + "size": 25978028 + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:1432faa12d7301133f6ee654d60751b57adcc6cf323ee1ecc393f06f0225eff4", + "size": 38386785 + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:d0b542ef070ea72857f9cf554f176a0a9d868cd59e05ac293ad39402bcc5277d", + "size": 21671964 + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-i686-w64-mingw32.zip", + "checksum": "SHA-256:1678b06aa80b1d689d05548056635efde5b73b98f2c3de5d555bcfc6f374c5d0", + "size": 23241302 + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:7060df4b6aa133e282147c3651d50222d677d6a0fff92979c500353b099a3f41", + "size": 25135265 + } + ] + }, + { + "name": "esp-rv32", + "version": "2411-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:a16942465d33c7f0334c16e83bc6feb62e06eeb79cf19099293480bb8d48c0cd", + "size": "593721156" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:22486233d0e0fd58a54ae453b701f195f1432fc6f2e17085b9d6c8d5d9acefb7", + "size": "587879927" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:27a72d5d96cdb56dae2a1da5dfde1717c18a8c1f9a1454c8e34a8bd34abe662d", + "size": "586531522" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:b7bd6e4cd53a4c55831d48e96a3d500bfffb091bec84a30bc8c3ad687e3eb3a2", + "size": "597070471" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-x86_64-apple-darwin_signed.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-x86_64-apple-darwin_signed.tar.gz", + "checksum": "SHA-256:5f8b571e1aedbe9f856f3bdeca6600cd5510ccff1ca102c4f001421eda560585", + "size": "602343061" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-aarch64-apple-darwin_signed.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-aarch64-apple-darwin_signed.tar.gz", + "checksum": "SHA-256:a7276042a7eb2d33c2dff7167539e445c32c07d43a2c6827e86d035642503e0b", + "size": "578521565" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-i686-w64-mingw32.zip", + "checksum": "SHA-256:54193a97bd75205678ead8d11f00b351cfa3c2a6e5ab5d966341358b9f9422d7", + "size": "672055172" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:24c8407fa467448d394e0639436a5ede31caf1838e35e8435e19df58ebed438c", + "size": "677812937" + } + ] + }, + { + "name": "esp-rv32", + "version": "2405-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:e7fbfffbb19dcd3764a9848a141bf44e19ad0b48e0bd1515912345c26fe52fba", + "size": "294346758" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:a178a895b807ed2e87d5d62153c36a6aae048581f527c0eb152f0a02b8de9571", + "size": "288374597" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:4a2f176d0f5bc8a70645975e2a08ea94145fb69b7225c5cdcbd6024a4836aaf5", + "size": "287737495" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:7a6f02f1b2effafb18600bbf602818f6923fd320f000fb8659f34acbfda8812f", + "size": "299138540" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-x86_64-apple-darwin.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:a193b4f025d0d836b0a9d9cbe760af1c53e53af66fc332fe98952bc4c456dd9a", + "size": "305025700" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-aarch64-apple-darwin.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:7082dd2e2123dea5609a24092d19ac6612ae7e219df1d298de6b2f64cb4af0df", + "size": "285458443" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-i686-w64-mingw32.zip", + "checksum": "SHA-256:590bfb10576702639825581cc00c445da6e577012840a787137417e80d15f46d", + "size": "366573064" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:413eb9f6adf8fdaf25544d014c850fc09eb38bb93a2fc5ebd107ab1b0de1bb3a", + "size": "369820297" + } + ] + }, + { + "name": "esp-rv32", + "version": "2302-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:1eb0d65990547ee9706b90406600cbc3638814d5feb7c1f7b44bb5416478a5bd", + "size": "257615266" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:921fcdc170c7fe5d6a0a30470ed1875c8926d910c19739fc950c8d1836e4c1c5", + "size": "253094184" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:f66e06312b58251c2121c1b1df1102565708573b86b2a9fe0c03ea1b0e9a7511", + "size": "252558021" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:8abcac0331ef8973d1c705e77523364ebec7e98b37640d4a1d036912f3cbe946", + "size": "261248375" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:76a334bc75a4e3891c222c84d7968817f2d0699d2976fc2a1658e56395283bec", + "size": "268987133" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:f30571945b257a10a26901bba3c5892e07c192aacf9ed6e8fcd11ca36ed827d2", + "size": "252159713" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:a5dfbb6dbf6fc6c6ea9beb2723af059ba3c5b2c86c2f0dc3b21afdc7bb229bf5", + "size": "324863847" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:9deae9e0013b2f7bbf017f9c8135755bfa89522f337c7dca35872bf12ec08176", + "size": "328092732" + } + ] + }, + { + "name": "riscv32-esp-elf-gdb", + "version": "16.2_20250324-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/riscv32-esp-elf-gdb-16.2_20250324-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-16.2_20250324-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:f9b172d8d72d0a1e2b0b80127df29263a0cb0d0c4e998e09c27031bfac09f3ec", + "size": "36528201" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/riscv32-esp-elf-gdb-16.2_20250324-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-16.2_20250324-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:68bb6a85fb58b8a738f799e8fb4fa1f56cfeffc4de803ceb03c8a33cb2cd919d", + "size": "35643464" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/riscv32-esp-elf-gdb-16.2_20250324-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-16.2_20250324-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:673038ab9fb2b7391ff9252824194e3b9e40668efe9ce54d1e582a9d6c51f04a", + "size": "32154574" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/riscv32-esp-elf-gdb-16.2_20250324-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-16.2_20250324-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:62f05d5fe08145b25e423dd0b3f1ae260be99abf5462b8cfd918bf2231e26e30", + "size": "35410891" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/riscv32-esp-elf-gdb-16.2_20250324-x86_64-apple-darwin21.1.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-16.2_20250324-x86_64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:63ae12cfbab648e2d2ca7a700a0c615c4f36a6fbe6876c11ba108115ee0d60f2", + "size": "55359246" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/riscv32-esp-elf-gdb-16.2_20250324-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-16.2_20250324-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:bfbe49774f839020cef988537da0a06896dfe4a382674c62285361ed9bd4aee3", + "size": "43926592" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/riscv32-esp-elf-gdb-16.2_20250324-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-16.2_20250324-i686-w64-mingw32.zip", + "checksum": "SHA-256:e8b84eec990ff514729b3770edf2b543f36670f43663ce0c3b624fb4884812ca", + "size": "32914955" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v16.2_20250324/riscv32-esp-elf-gdb-16.2_20250324-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-16.2_20250324-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:37c79178900c19ca7487c26af4b5ad6b0d3f34683bd0e9c2ddd39038c999e429", + "size": "32667353" + } + ] + }, + { + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:ce004bc0bbd71b246800d2d13b239218b272a38bd528e316f21f1af2db8a4b13", + "size": "30707431" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:ba10f2866c61410b88c65957274280b1a62e3bed05131654ed9b6758efe18e55", + "size": "30824065" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:88539db5d987f28827efac7e26080a2803b9b539342ccd2963ccfdd56d7f08f7", + "size": "29000575" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:0e628ee37438ab6ba05eb889a76d09e50cb98e0020a16b8e2b935c5cf19b4ed2", + "size": "29947521" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:8f6bda832d70dad5860a639d55aba4237bd10cbac9f4822db1eece97357b34a9", + "size": "44196117" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:d88b6116e86456c8480ce9bc95aed375a35c0d091f1da0a53b86be0e6ef3d320", + "size": "36794404" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-i686-w64-mingw32.zip", + "checksum": "SHA-256:d6e7ce05805b0d8d4dd138ad239b98a1adf8da98941867d60760eb1ae5361730", + "size": "26486295" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:5c9f211dc46daf6b96fad09d709284a0f0186fef8947d9f6edd6bca5b5ad4317", + "size": "27942579" + } + ] + }, + { + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:2c78b806be176b1e449e07ff83429d38dfc39a13f89a127ac1ffa6c1230537a0", + "size": "36630145" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:33f80117c8777aaff9179e27953e41764c5c46b3c576dc96a37ecc7a368807ec", + "size": "36980143" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:292e6ec0a9381c1480bbadf5caae25e86428b68fb5d030c9be7deda5e7f070e0", + "size": "34950318" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:68a25fbcfc6371ec4dbe503ec92211977eb2006f0c29e67dbce6b93c70c6b7ec", + "size": "35801607" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:322c722e6c12225ed8cd97f95a0375105756dc5113d369958ce0858ad1a90257", + "size": "52618688" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:c2224b3a8d02451c530cf004c29653292d963a1b4021b4b472b862b6dbe97e0b", + "size": "33149392" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-i686-w64-mingw32.zip", + "checksum": "SHA-256:4b42149a99dd87ee7e6dde25c99bad966c7f964253fa8f771593d7cef69f5602", + "size": "31635103" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:728231546ad5006d34463f972658b2a89e52f660a42abab08a29bedd4a8046ad", + "size": "33400816" + } + ] + }, + { + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20221002-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/riscv32-esp-elf-gdb-12.1_20221002-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20221002-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:f0cf0821eaac7e8cf2c63b14f2b69d612f4f8c266b29d02d5547b7d7cbbd0e11", + "size": "32035173" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/riscv32-esp-elf-gdb-12.1_20221002-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20221002-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:6812344dfb5c50a81d2fd8354463516f0aa5f582e8ab406cbaeca8722b45fa94", + "size": "32362642" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/riscv32-esp-elf-gdb-12.1_20221002-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20221002-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:b73042b8e1df5a3fc8008ec3cd000ef579f155d72a66c6ade1d48906d843e738", + "size": "30580290" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/riscv32-esp-elf-gdb-12.1_20221002-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20221002-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:3f07a1b8dc87127a1a6bec6fbace4f8daca44755356f0692e9a5d4c8c4bfd81d", + "size": "31309798" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/riscv32-esp-elf-gdb-12.1_20221002-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20221002-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:bb139229f9a4998cab9cfb617d3ecb05b77cbfa9a3a59c54969035f1b4007487", + "size": "46120661" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/riscv32-esp-elf-gdb-12.1_20221002-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20221002-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:f6513b57f28245497f9c39a201f3f6444d4180e16b39765c629e01036286c0e6", + "size": "27662484" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/riscv32-esp-elf-gdb-12.1_20221002-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20221002-i686-w64-mingw32.zip", + "checksum": "SHA-256:8287fa2891e8d032e8283210048d653705791cda31504369418288d3e4753dd6", + "size": "27839143" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20221002/riscv32-esp-elf-gdb-12.1_20221002-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20221002-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:9debae1135df8f5868a9d945468f0480cdaab25f77ead6a55cc85142c4487abd", + "size": "29404989" + } + ] + }, + { + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:6bf5b5d2d407e074af2a74fc826764934ac1625a1751c52fbc0d4d7772061f8f", + "size": 26799809 + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:e54ef67cdb5724fc2da8f0487f19b2c83c08b560fff317f5ffd98fbb230b397a", + "size": 27021672 + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:86772c6aee8a05b2c75a6b04e9da630e35e8415b64da8ccde92a5fb2d3c7fcf4", + "size": 25532577 + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:3463be3e24182b7f1bd0fb232020534445b2d0ea0e7093c1b4f4da102b3baf52", + "size": 26188698 + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:a9db1811ebb9271134eba2f7c303fc2587bd4b2a1ae33cd05ff2605cd2fb30d2", + "size": 38397584 + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:c94fb6d726b8d97e65e23237f5126a41343bca8f22a0414df5f0e6777e36f51c", + "size": 21593613 + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-i686-w64-mingw32.zip", + "checksum": "SHA-256:20cdee8a1c01428363ef02f4cc8035c65508d6b43560c525733eae94b7c7bb50", + "size": 23436802 + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:add72366485b784b66837ce263548980f1df144d0954c42d75a81f6acbd43cac", + "size": 24802315 + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20250226-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20250226/openocd-esp32-linux-amd64-0.12.0-esp32-20250226.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20250226.tar.gz", + "checksum": "SHA-256:914c726342ba5828e53f41aa454f01f317c42d8e6772d3d874593a6960fc4729", + "size": "2414924" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20250226/openocd-esp32-linux-arm64-0.12.0-esp32-20250226.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20250226.tar.gz", + "checksum": "SHA-256:c44ee99a9209c0234dbbcec86339fd685f5c61a763b29c33eba590bf62db2296", + "size": "2293923" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20250226/openocd-esp32-linux-armel-0.12.0-esp32-20250226.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20250226.tar.gz", + "checksum": "SHA-256:21ab6af3cf05f9290f4d59f1f381d5094dd2755fc528d3d2feb9334348fc0d8d", + "size": "2436071" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20250226/openocd-esp32-macos-0.12.0-esp32-20250226.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20250226.tar.gz", + "checksum": "SHA-256:0b5751699e93b6d101381611c96216ddff8c7dfd16425c610993fa27993f9a0a", + "size": "2525387" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20250226/openocd-esp32-macos-arm64-0.12.0-esp32-20250226.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20250226.tar.gz", + "checksum": "SHA-256:8bffbbb594b27a4971a3922792135f8c836fff26991f7f450094386920263531", + "size": "2568843" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20250226/openocd-esp32-win32-0.12.0-esp32-20250226.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20250226.zip", + "checksum": "SHA-256:aaf3c955bb4eb47805a1ba108dfd07a8a56ce720cb40194a354362b5f0961230", + "size": "2960226" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20250226/openocd-esp32-win64-0.12.0-esp32-20250226.zip", + "archiveFileName": "openocd-esp32-win64-0.12.0-esp32-20250226.zip", + "checksum": "SHA-256:79baf35325117a53093b62f6b9bee677dd12275d7066e3f8a274d2a80e986b6e", + "size": "2960225" + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-linux-amd64-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:e82b0f036dc99244bead5f09a86e91bb2365cbcd1122ac68261e5647942485df", + "size": "2398717" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-linux-arm64-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:8f8daf5bd22ec5d2fa9257b0862ec33da18ee677e023fb9a9eb17f74ce208c76", + "size": "2271584" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-linux-armel-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:bc9c020ecf20e2000f76cffa44305fd5bc44d2e688ea78cce423399d33f19767", + "size": "2414206" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-macos-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:02a2dffe801a2d005fa9e614d80ff8173395b2cb0b5d3118d0229d094a9946a7", + "size": "2508089" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-macos-arm64-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:c382f9e884d6565cb6089bff5f200f4810994667d885f062c3d3c5625a0fa9d6", + "size": "2552569" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-win32-0.12.0-esp32-20241016.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20241016.zip", + "checksum": "SHA-256:3b5d615e0a72cc771a45dd469031312d5881c01d7b6bc9edb29b8b6bda8c2e90", + "size": "2946244" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-win64-0.12.0-esp32-20241016.zip", + "archiveFileName": "openocd-esp32-win64-0.12.0-esp32-20241016.zip", + "checksum": "SHA-256:5e7b2fd1947d3a8625f6a11db7a2340cf2f41ff4c61284c022c7d7c32b18780a", + "size": "2946244" + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240821-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-linux-amd64-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:f8c68541fa38307bc0c0763b7e1e3fe4e943d5d45da07d817a73b492e103b652", + "size": "2373094" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-linux-arm64-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:4d6e263d84e447354dc685848557d6c284dda7fe007ee451f729a7edfa7baad7", + "size": "2251272" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-linux-armel-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:9d45679f2c4cf450d5e2350047cf57bb76dde2487d30cebce0a72c9173b5c45b", + "size": "2390074" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-macos-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:565c8fabc5f19a6e7a0864a294d74b307eec30b9291d16d3fc90e273f0330cb4", + "size": "2485320" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-macos-arm64-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:68c5c7cf3d15b9810939a5edabc6ff2c9f4fc32262de91fc292a180bc5cc0637", + "size": "2530336" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-win32-0.12.0-esp32-20240821.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20240821.zip", + "checksum": "SHA-256:463fc2903ddaf03f86ff50836c5c63cc696550b0446140159eddfd2e85570c5d", + "size": "2916409" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-win64-0.12.0-esp32-20240821.zip", + "archiveFileName": "openocd-esp32-win64-0.12.0-esp32-20240821.zip", + "checksum": "SHA-256:550f57369f1f1f6cc600b5dffa3378fd6164d8ea8db7c567cf41091771f090cb", + "size": "2916408" + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240318-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-linux-amd64-0.12.0-esp32-20240318.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20240318.tar.gz", + "checksum": "SHA-256:cf26c5cef4f6b04aa23cd2778675604e5a74a4ce4d8d17b854d05fbcb782d52c", + "size": "2252682" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-linux-arm64-0.12.0-esp32-20240318.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20240318.tar.gz", + "checksum": "SHA-256:9b97a37aa2cab94424a778c25c0b4aa0f90d6ef9cda764a1d9289d061305f4b7", + "size": "2132904" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-linux-armel-0.12.0-esp32-20240318.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20240318.tar.gz", + "checksum": "SHA-256:b7e82776ec374983807d3389df09c632ad9bc8341f2075690b6b500319dfeaf4", + "size": "2271761" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-macos-0.12.0-esp32-20240318.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20240318.tar.gz", + "checksum": "SHA-256:b16c3082c94df1079367c44d99f7a8605534cd48aabc18898e46e94a2c8c57e7", + "size": "2365588" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-macos-arm64-0.12.0-esp32-20240318.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20240318.tar.gz", + "checksum": "SHA-256:534ec925ae6e35e869e4e4e6e4d2c4a1eb081f97ebcc2dd5efdc52d12f4c2f86", + "size": "2406377" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-win32-0.12.0-esp32-20240318.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20240318.zip", + "checksum": "SHA-256:d379329eba052435173ab0d69c9b15bc164a6ce489e2a67cd11169d2dabff633", + "size": "2783915" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-win32-0.12.0-esp32-20240318.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20240318.zip", + "checksum": "SHA-256:d379329eba052435173ab0d69c9b15bc164a6ce489e2a67cd11169d2dabff633", + "size": "2783915" + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-linux-amd64-0.12.0-esp32-20230921.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20230921.tar.gz", + "checksum": "SHA-256:61e38e0a13a5c1664624ec1c397d7f7d6868554b0d345d3fb1f7294cce38cc4b", + "size": "2193783" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-linux-arm64-0.12.0-esp32-20230921.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20230921.tar.gz", + "checksum": "SHA-256:6430315dc1b926541c93cef63d2b08982543ad3f9fe6e0d7107c8a518ef20432", + "size": "2062058" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-linux-armel-0.12.0-esp32-20230921.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20230921.tar.gz", + "checksum": "SHA-256:5df16d8a91f013a547f6b3b914c655a9d267996a3b6503031b335ac04a4f8d15", + "size": "2206666" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-macos-0.12.0-esp32-20230921.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20230921.tar.gz", + "checksum": "SHA-256:0a4f764934f488af18cdac2a0d152dd36b4870f3bec1a2d4e25b6b3b7a5258a0", + "size": "2305832" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-macos-arm64-0.12.0-esp32-20230921.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20230921.tar.gz", + "checksum": "SHA-256:6dce89048f642eb0559a915b6e514f90feb2a95afe21b84f0b0ebf2b27824816", + "size": "2341406" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-win32-0.12.0-esp32-20230921.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20230921.zip", + "checksum": "SHA-256:ac9d522a63b0816f64d921547bd55c031788035ced85c067d8e7c2862cb1bd0d", + "size": "2710475" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-win32-0.12.0-esp32-20230921.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20230921.zip", + "checksum": "SHA-256:ac9d522a63b0816f64d921547bd55c031788035ced85c067d8e7c2862cb1bd0d", + "size": "2710475" + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230419-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-linux-amd64-0.12.0-esp32-20230419.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20230419.tar.gz", + "checksum": "SHA-256:5144e7516cd75a2152b35ecae0a400f7d3d4424c2488fbacc49433564f54c70d", + "size": 2126949 + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-linux-arm64-0.12.0-esp32-20230419.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20230419.tar.gz", + "checksum": "SHA-256:1c4d900c738fe00730c6033abb6cf1cc6587717dbeee291d5908272d153d329a", + "size": 1989161 + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-linux-armel-0.12.0-esp32-20230419.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20230419.tar.gz", + "checksum": "SHA-256:293258fd67618dd352e1096137ad9f2b801926eaf74ffcd570540ae94ad8ee5c", + "size": 2129727 + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-macos-0.12.0-esp32-20230419.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20230419.tar.gz", + "checksum": "SHA-256:621aad7d011c6817cde9570dfea42c7bcc699458bf43c37706cb4c2f6475a247", + "size": 2237976 + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-macos-arm64-0.12.0-esp32-20230419.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20230419.tar.gz", + "checksum": "SHA-256:3af7eac3a7de3939731ec4c13fb5d72a8e6ce5e5d274bb9697f5d93039561e42", + "size": 2270699 + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-win32-0.12.0-esp32-20230419.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20230419.zip", + "checksum": "SHA-256:f2cb3d9cacfe789c20d3272af846d726a062ce8f2e4ee142bddb27501d7dd7a7", + "size": 2619680 + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-win32-0.12.0-esp32-20230419.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20230419.zip", + "checksum": "SHA-256:f2cb3d9cacfe789c20d3272af846d726a062ce8f2e4ee142bddb27501d7dd7a7", + "size": 2619680 + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-linux-amd64-0.11.0-esp32-20221026.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.11.0-esp32-20221026.tar.gz", + "checksum": "SHA-256:ce63e9b1dfab60cc62da5dc2abcc22ba7036c42afe74671c787eb026744e7d0b", + "size": "2051435" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-linux-arm64-0.11.0-esp32-20221026.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.11.0-esp32-20221026.tar.gz", + "checksum": "SHA-256:fe60a3a603e8c6bee47367e40fcb8c0da3a38e01163e9674ebc919b067700506", + "size": "1993843" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-linux-armel-0.11.0-esp32-20221026.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.11.0-esp32-20221026.tar.gz", + "checksum": "SHA-256:6ef76101cca196a4be30fc74f191eff34abb423e32930a383012b866c9b76135", + "size": "2092111" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-macos-0.11.0-esp32-20221026.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.11.0-esp32-20221026.tar.gz", + "checksum": "SHA-256:8edc666a0a230432554b73df7c62e0b5ec21fb018e7fda13b11a7ca8b6c1763b", + "size": "2199855" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-macos-arm64-0.11.0-esp32-20221026.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.11.0-esp32-20221026.tar.gz", + "checksum": "SHA-256:c426c0158ba6488e2f432f7c5b22e79155b5b0fae6d1ad5bbd7894723b43aa12", + "size": "2247179" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-win32-0.11.0-esp32-20221026.zip", + "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20221026.zip", + "checksum": "SHA-256:e0e789d35308c029c6b53457cf4a42a5620cb1a3014740026c089c2ed4fd77b2", + "size": "2493214" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-win32-0.11.0-esp32-20221026.zip", + "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20221026.zip", + "checksum": "SHA-256:e0e789d35308c029c6b53457cf4a42a5620cb1a3014740026c089c2ed4fd77b2", + "size": "2493214" + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20220706-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-win32-0.11.0-esp32-20220706.zip", + "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20220706.zip", + "checksum": "SHA-256:c3d39eb4365a9947e71f1d3780ce031185bc6437f21186568a5c05f23f57a8d0", + "size": "2608736" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-win32-0.11.0-esp32-20220706.zip", + "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20220706.zip", + "checksum": "SHA-256:c3d39eb4365a9947e71f1d3780ce031185bc6437f21186568a5c05f23f57a8d0", + "size": "2608736" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-macos-0.11.0-esp32-20220706.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.11.0-esp32-20220706.tar.gz", + "checksum": "SHA-256:333ee2ec3c9b5dc6ad4509faae55335cdea7f8bf83a56bfcf5327e4497c8538a", + "size": "2077882" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", + "checksum": "SHA-256:26f1f18dd93eb70a13203848d3fb1cc2e0de1fd6749c7dd771b2de8709735aed", + "size": "2011201" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", + "checksum": "SHA-256:26f1f18dd93eb70a13203848d3fb1cc2e0de1fd6749c7dd771b2de8709735aed", + "size": "2011201" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-armhf-0.11.0-esp32-20220706.tar.gz", + "archiveFileName": "openocd-esp32-linux-armhf-0.11.0-esp32-20220706.tar.gz", + "checksum": "SHA-256:7f3b57332104e8b8e6194553365a70a9d3754878cfc063d5dc5d839513a63de9", + "size": "1902964" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-arm64-0.11.0-esp32-20220706.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.11.0-esp32-20220706.tar.gz", + "checksum": "SHA-256:f97792bc2852937ec0accb9f0eb2e49926c0f747a71f101a4e34aed75d2c6fcc", + "size": "1954685" + } + ] + }, + { + "name": "esptool_py", + "version": "4.9.dev3-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-linux-amd64.tar.gz", + "archiveFileName": "esptool-v4.9.dev3-linux-amd64.tar.gz", + "checksum": "SHA-256:4ecaf51836cbf4ea3c19840018bfef3b0b8cd8fc3c95f6e1e043ca5bbeab9bf0", + "size": "64958202" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-linux-armv7.tar.gz", + "archiveFileName": "esptool-v4.9.dev3-linux-armv7.tar.gz", + "checksum": "SHA-256:fff818573bce483ee793ac83c8211f6abf764aa3350f198228859f696a0a0b36", + "size": "31530030" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-linux-aarch64.tar.gz", + "archiveFileName": "esptool-v4.9.dev3-linux-aarch64.tar.gz", + "checksum": "SHA-256:5b274bdff2f62e6a07c3c1dfa51b1128924621f661747eca3dbe0f77972f2f06", + "size": "33663882" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-macos-amd64.tar.gz", + "archiveFileName": "esptool-v4.9.dev3-macos-amd64.tar.gz", + "checksum": "SHA-256:c733c83b58fcf5f642fbb2fddb8ff24640c2c785126cba0821fb70c4a5ceea7a", + "size": "32767836" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-macos-arm64.tar.gz", + "archiveFileName": "esptool-v4.9.dev3-macos-arm64.tar.gz", + "checksum": "SHA-256:83c195a15981e6a5e7a130db2ccfb21e2d8093912e5b003681f9a5abadd71af7", + "size": "30121441" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-win64.zip", + "archiveFileName": "esptool-v4.9.dev3-win64.zip", + "checksum": "SHA-256:890051a4fdc684ff6f4af18d0bb27d274ca940ee0eef716a9455f8c64b25b215", + "size": "36072564" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-win64.zip", + "archiveFileName": "esptool-v4.9.dev3-win64.zip", + "checksum": "SHA-256:890051a4fdc684ff6f4af18d0bb27d274ca940ee0eef716a9455f8c64b25b215", + "size": "36072564" + } + ] + }, + { + "name": "esptool_py", + "version": "4.9.dev1-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC2/esptool-v4.9.dev1-linux-amd64.tar.gz", + "archiveFileName": "esptool-v4.9.dev1-linux-amd64.tar.gz", + "checksum": "SHA-256:21f6c2155f0ec9e5b475c8a4bf59803d8cfb4d74f4e488a80f97da3d77542bba", + "size": "64632960" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC2/esptool-v4.9.dev1-linux-arm32.tar.gz", + "archiveFileName": "esptool-v4.9.dev1-linux-arm32.tar.gz", + "checksum": "SHA-256:818477f10814b2bd82078fc6695663ac84220d3947722ce1880a6c867d5c2997", + "size": "46042432" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC2/esptool-v4.9.dev1-linux-arm64.tar.gz", + "archiveFileName": "esptool-v4.9.dev1-linux-arm64.tar.gz", + "checksum": "SHA-256:b377a130a4dca58f3a31c66ed0b9858cc057c998741222cccdb6e5a724651a1f", + "size": "54459357" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC2/esptool-v4.9.dev1-macos-amd64.tar.gz", + "archiveFileName": "esptool-v4.9.dev1-macos-amd64.tar.gz", + "checksum": "SHA-256:25cc246b20230afc287ffdfe95f57b3fab23cec88a6dde3b5092ec05926b5431", + "size": "32386336" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC2/esptool-v4.9.dev1-macos-arm64.tar.gz", + "archiveFileName": "esptool-v4.9.dev1-macos-arm64.tar.gz", + "checksum": "SHA-256:b845d678db1d1559d82894e68366683a7fc3809371a5f5def67c30c9dee15912", + "size": "29841092" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC2/esptool-v4.9.dev1-win64.zip", + "archiveFileName": "esptool-v4.9.dev1-win64.zip", + "checksum": "SHA-256:f649a212e086b06ca6ee595feffd7a4706696ea43a2cd1a4f49352829e8ac96e", + "size": "35812159" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC2/esptool-v4.9.dev1-win64.zip", + "archiveFileName": "esptool-v4.9.dev1-win64.zip", + "checksum": "SHA-256:f649a212e086b06ca6ee595feffd7a4706696ea43a2cd1a4f49352829e8ac96e", + "size": "35812159" + } + ] + }, + { + "name": "esptool_py", + "version": "4.8.1-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC1/esptool-v4.8.1-linux-amd64.tar.gz", + "archiveFileName": "esptool-v4.8.1-linux-amd64.tar.gz", + "checksum": "SHA-256:aaaaa25e1c64442ae93604812376783dbc50f34536221b5897456e12f01e1bfd", + "size": "64635657" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC1/esptool-v4.8.1-linux-arm64.tar.gz", + "archiveFileName": "esptool-v4.8.1-linux-arm64.tar.gz", + "checksum": "SHA-256:76170a9282bdc52fddd75e4498fd6bee55fe19088a34ab363b3aeff800d73f60", + "size": "54449306" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC1/esptool-v4.8.1-linux-arm32.tar.gz", + "archiveFileName": "esptool-v4.8.1-linux-arm32.tar.gz", + "checksum": "SHA-256:26b842e22a66b3d01e830a4784686a69cfb107d774a4093327ec6bba7bb17794", + "size": "45868720" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC1/esptool-v4.8.1-macos.tar.gz", + "archiveFileName": "esptool-v4.8.1-macos.tar.gz", + "checksum": "SHA-256:6e1fc5ea04490e849c925c48d5cee590164fcf9b9bd419a7b014c2fb48a13743", + "size": "29828542" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC1/esptool-v4.8.1-win64.zip", + "archiveFileName": "esptool-v4.8.1-win64.zip", + "checksum": "SHA-256:3e97fb990fdd721b923b478eaaa046967c7919dbc9cbd04c445307571177918a", + "size": "33612728" + } + ] + }, + { + "name": "esptool_py", + "version": "4.6-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-src.tar.gz", + "archiveFileName": "esptool-v4.6-src.tar.gz", + "checksum": "SHA-256:22f9bad0cd1cea14e554ac1f4a6d8f67415ff7029a66ce9130756276e7264e5a", + "size": "99141" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-src.tar.gz", + "archiveFileName": "esptool-v4.6-src.tar.gz", + "checksum": "SHA-256:22f9bad0cd1cea14e554ac1f4a6d8f67415ff7029a66ce9130756276e7264e5a", + "size": "99141" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-src.tar.gz", + "archiveFileName": "esptool-v4.6-src.tar.gz", + "checksum": "SHA-256:22f9bad0cd1cea14e554ac1f4a6d8f67415ff7029a66ce9130756276e7264e5a", + "size": "99141" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-src.tar.gz", + "archiveFileName": "esptool-v4.6-src.tar.gz", + "checksum": "SHA-256:22f9bad0cd1cea14e554ac1f4a6d8f67415ff7029a66ce9130756276e7264e5a", + "size": "99141" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-macos.tar.gz", + "archiveFileName": "esptool-v4.6-macos.tar.gz", + "checksum": "SHA-256:885ec69fcffdcb9e7c6eacd2589f13a45ce6bcb6742bea368ec3a73bcca6dd59", + "size": "5851297" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-win64.zip", + "archiveFileName": "esptool-v4.6-win64.zip", + "checksum": "SHA-256:c7c68cd1aa520cbfce488ff6a77818ece272272eb012831b9d9ab1280a7c393f", + "size": "6638480" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-win64.zip", + "archiveFileName": "esptool-v4.6-win64.zip", + "checksum": "SHA-256:c7c68cd1aa520cbfce488ff6a77818ece272272eb012831b9d9ab1280a7c393f", + "size": "6638480" + } + ] + }, + { + "name": "esptool_py", + "version": "4.5.1-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-src.tar.gz", + "archiveFileName": "esptool-v4.5.1-src.tar.gz", + "checksum": "SHA-256:aa06831a7d88d8ccde4ea21241e983a08dbdae967290e181658b0d18bffc8f86", + "size": "96922" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-src.tar.gz", + "archiveFileName": "esptool-v4.5.1-src.tar.gz", + "checksum": "SHA-256:aa06831a7d88d8ccde4ea21241e983a08dbdae967290e181658b0d18bffc8f86", + "size": "96922" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-src.tar.gz", + "archiveFileName": "esptool-v4.5.1-src.tar.gz", + "checksum": "SHA-256:aa06831a7d88d8ccde4ea21241e983a08dbdae967290e181658b0d18bffc8f86", + "size": "96922" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-src.tar.gz", + "archiveFileName": "esptool-v4.5.1-src.tar.gz", + "checksum": "SHA-256:aa06831a7d88d8ccde4ea21241e983a08dbdae967290e181658b0d18bffc8f86", + "size": "96922" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-macos.tar.gz", + "archiveFileName": "esptool-v4.5.1-macos.tar.gz", + "checksum": "SHA-256:78b52acfd51541ceb97cee893b7d4d49b8ddc284602be8c73ea47e3d849e0956", + "size": "5850888" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-win64.zip", + "archiveFileName": "esptool-v4.5.1-win64.zip", + "checksum": "SHA-256:64d0c24499d46b80d6bd7a05c98bdacc3455ab6d503cc2a99e35711310216045", + "size": "6638448" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-win64.zip", + "archiveFileName": "esptool-v4.5.1-win64.zip", + "checksum": "SHA-256:64d0c24499d46b80d6bd7a05c98bdacc3455ab6d503cc2a99e35711310216045", + "size": "6638448" + } + ] + }, + { + "name": "esptool_py", + "version": "4.5-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", + "archiveFileName": "esptool-v4.5-src.tar.gz", + "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", + "size": "96621" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", + "archiveFileName": "esptool-v4.5-src.tar.gz", + "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", + "size": "96621" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", + "archiveFileName": "esptool-v4.5-src.tar.gz", + "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", + "size": "96621" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", + "archiveFileName": "esptool-v4.5-src.tar.gz", + "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", + "size": "96621" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-macos.tar.gz", + "archiveFileName": "esptool-v4.5-macos.tar.gz", + "checksum": "SHA-256:adcce051f282a19f78da30717ff0e4334b0edaf16a7f14d185ba4cae464586e2", + "size": "5850835" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-win64.zip", + "archiveFileName": "esptool-v4.5-win64.zip", + "checksum": "SHA-256:a55c5f7d490fbd2cd5fdf486d71f2ed13e3304482d54374b6aa23d42c9b98a96", + "size": "6639416" + } + ] + }, + { + "name": "esptool_py", + "version": "4.2.1-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-windows.zip", + "archiveFileName": "esptool-4.2.1-windows.zip", + "checksum": "SHA-256:582560067bfbd9895f4862eb5fdf87558ddee5d4d30e7575c9b8bcb0dd60fd94", + "size": "6368279" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-windows.zip", + "archiveFileName": "esptool-4.2.1-windows.zip", + "checksum": "SHA-256:582560067bfbd9895f4862eb5fdf87558ddee5d4d30e7575c9b8bcb0dd60fd94", + "size": "6368279" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-macos.tar.gz", + "archiveFileName": "esptool-4.2.1-macos.tar.gz", + "checksum": "SHA-256:a984f7ad8bdb40c42d0d368bf4bb21b69a9587aed46b7b6d7de23ca58a3f150d", + "size": "5816598" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", + "archiveFileName": "esptool-4.2.1-linux.tar.gz", + "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", + "size": "90123" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", + "archiveFileName": "esptool-4.2.1-linux.tar.gz", + "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", + "size": "90123" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", + "archiveFileName": "esptool-4.2.1-linux.tar.gz", + "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", + "size": "90123" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", + "archiveFileName": "esptool-4.2.1-linux.tar.gz", + "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", + "size": "90123" + } + ] + }, + { + "name": "esptool_py", + "version": "3.3.0-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-windows.zip", + "archiveFileName": "esptool-3.3-windows.zip", + "checksum": "SHA-256:55a1d7165414bf4dbd2bb16ca094e555d671958450f5d1536b457a518d2b15df", + "size": "7436864" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-windows.zip", + "archiveFileName": "esptool-3.3-windows.zip", + "checksum": "SHA-256:55a1d7165414bf4dbd2bb16ca094e555d671958450f5d1536b457a518d2b15df", + "size": "7436864" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-macos.tar.gz", + "archiveFileName": "esptool-3.3-macos.tar.gz", + "checksum": "SHA-256:3e5f7b521ae33c8c63f3b48efc909c08f37bef1a083c0eafa408312c09900afd", + "size": "6944975" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", + "archiveFileName": "esptool-3.3-linux.tar.gz", + "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", + "size": "97026" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", + "archiveFileName": "esptool-3.3-linux.tar.gz", + "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", + "size": "97026" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", + "archiveFileName": "esptool-3.3-linux.tar.gz", + "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", + "size": "97026" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", + "archiveFileName": "esptool-3.3-linux.tar.gz", + "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", + "size": "97026" + } + ] + }, + { + "name": "esptool_py", + "version": "3.1.0-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-windows.zip", + "archiveFileName": "esptool-3.1.0-windows.zip", + "checksum": "SHA-256:c9b4f9bc6e94db136c2545c87c00c7ab1441644ca0bac50811bc3c014e22514b", + "size": "7411889" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-macos.tar.gz", + "archiveFileName": "esptool-3.1.0-macos.tar.gz", + "checksum": "SHA-256:1dffcb884665fb616779aea62a68f517aac251ea6dfe95560906c364d6ef3065", + "size": "6776909" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", + "archiveFileName": "esptool-3.1.0-linux.tar.gz", + "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", + "size": "80550" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", + "archiveFileName": "esptool-3.1.0-linux.tar.gz", + "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", + "size": "80550" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", + "archiveFileName": "esptool-3.1.0-linux.tar.gz", + "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", + "size": "80550" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", + "archiveFileName": "esptool-3.1.0-linux.tar.gz", + "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", + "size": "80550" + } + ] + }, + { + "name": "esptool_py", + "version": "3.0.0-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-windows.zip", + "archiveFileName": "esptool-3.0.0.2-windows.zip", + "checksum": "SHA-256:b192bfc1545a3c92658ce586b4edcc2aca3f0ad4b3fa8417d658bc8a48f1387e", + "size": "3434736" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-macos.tar.gz", + "archiveFileName": "esptool-3.0.0.2-macos.tar.gz", + "checksum": "SHA-256:2cafab7f1ebce89475b84c115548eaace40b6366d7b3f9862cdb2fc64f806643", + "size": "3859642" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-linux.tar.gz", + "archiveFileName": "esptool-3.0.0.2-linux.tar.gz", + "checksum": "SHA-256:d5cb51da1c74ff69f81b820470d2ecccb5c7c3a2dec7776483d4c89588b00020", + "size": "57526" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-linux.tar.gz", + "archiveFileName": "esptool-3.0.0.2-linux.tar.gz", + "checksum": "SHA-256:d5cb51da1c74ff69f81b820470d2ecccb5c7c3a2dec7776483d4c89588b00020", + "size": "57526" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-linux.tar.gz", + "archiveFileName": "esptool-3.0.0.2-linux.tar.gz", + "checksum": "SHA-256:d5cb51da1c74ff69f81b820470d2ecccb5c7c3a2dec7776483d4c89588b00020", + "size": "57526" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-linux.tar.gz", + "archiveFileName": "esptool-3.0.0.2-linux.tar.gz", + "checksum": "SHA-256:d5cb51da1c74ff69f81b820470d2ecccb5c7c3a2dec7776483d4c89588b00020", + "size": "57526" + } + ] + }, + { + "version": "2.6.1-cn", + "name": "esptool_py", + "systems": [ + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.1-windows.zip", + "checksum": "SHA-256:84cf0b369a7707fe566434faba148852fc464992111d5baa95b658b374802f96", + "host": "i686-mingw32", + "archiveFileName": "esptool-2.6.1-windows.zip", + "size": "3422445" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.1-macos.tar.gz", + "checksum": "SHA-256:f4eb758a301d6902cc9dfcd49d36345d2f075ad123da7cf8132d15cfb7533457", + "host": "x86_64-apple-darwin", + "archiveFileName": "esptool-2.6.1-macos.tar.gz", + "size": "3837085" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.1-linux.tar.gz", + "checksum": "SHA-256:eaf82ff4070d9792f6a42ae1e485375de5a87bec59ef01dfb95de901519ec7fb", + "host": "x86_64-pc-linux-gnu", + "archiveFileName": "esptool-2.6.1-linux.tar.gz", + "size": "44762" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.1-linux.tar.gz", + "checksum": "SHA-256:eaf82ff4070d9792f6a42ae1e485375de5a87bec59ef01dfb95de901519ec7fb", + "host": "i686-pc-linux-gnu", + "archiveFileName": "esptool-2.6.1-linux.tar.gz", + "size": "44762" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.1-linux.tar.gz", + "checksum": "SHA-256:eaf82ff4070d9792f6a42ae1e485375de5a87bec59ef01dfb95de901519ec7fb", + "host": "arm-linux-gnueabihf", + "archiveFileName": "esptool-2.6.1-linux.tar.gz", + "size": "44762" + } + ] + }, + { + "version": "2.6.0-cn", + "name": "esptool_py", + "systems": [ + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.0-windows.zip", + "checksum": "SHA-256:a73f4cf68db240d7f1d250c5c7f2dfcb53c17a37483729f1bf71f8f43d79a799", + "host": "i686-mingw32", + "archiveFileName": "esptool-2.6.0-windows.zip", + "size": "3421208" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.0-macos.tar.gz", + "checksum": "SHA-256:0a881b91547c840fab8c72ae3d031069384278b8c2e5241647e8c8292c5e4a4b", + "host": "x86_64-apple-darwin", + "archiveFileName": "esptool-2.6.0-macos.tar.gz", + "size": "3835660" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.0-linux.tar.gz", + "checksum": "SHA-256:6d162f70f395ca31f5008829dd7e833e729f044a9c7355d5be8ce333a054e110", + "host": "x86_64-pc-linux-gnu", + "archiveFileName": "esptool-2.6.0-linux.tar.gz", + "size": "43535" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.0-linux.tar.gz", + "checksum": "SHA-256:6d162f70f395ca31f5008829dd7e833e729f044a9c7355d5be8ce333a054e110", + "host": "i686-pc-linux-gnu", + "archiveFileName": "esptool-2.6.0-linux.tar.gz", + "size": "43535" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.0-linux.tar.gz", + "checksum": "SHA-256:6d162f70f395ca31f5008829dd7e833e729f044a9c7355d5be8ce333a054e110", + "host": "arm-linux-gnueabihf", + "archiveFileName": "esptool-2.6.0-linux.tar.gz", + "size": "43535" + } + ] + }, + { + "version": "3.0.0-gnu12-dc7f933-cn", + "name": "mklittlefs", + "systems": [ + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/aarch64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "archiveFileName": "aarch64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "checksum": "SHA-256:fc56e389383749e4cf4fab0fcf75cc0ebc41e59383caf6c2eff1c3d9794af200", + "size": "44651" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/arm-linux-gnueabihf.mklittlefs-c41e51a.200706.tar.gz", + "archiveFileName": "arm-linux-gnueabihf.mklittlefs-c41e51a.200706.tar.gz", + "checksum": "SHA-256:52b642dd0545eb3bd8dfb75dde6601df21700e4867763fd2696274be279294c5", + "size": "37211" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/i686-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "archiveFileName": "i686-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "checksum": "SHA-256:7886051d8ccc54aed0af2e7cdf6ff992bb51638df86f3b545955697720b6d062", + "size": "48033" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/i686-w64-mingw32.mklittlefs-c41e51a.200706.zip", + "archiveFileName": "i686-w64-mingw32.mklittlefs-c41e51a.200706.zip", + "checksum": "SHA-256:43740db30ce451454f2337331f10ab4ed41bd83dbf0fa0cb4387107388b59f42", + "size": "332655" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/x86_64-apple-darwin14.mklittlefs-c41e51a.200706.tar.gz", + "archiveFileName": "x86_64-apple-darwin14.mklittlefs-c41e51a.200706.tar.gz", + "checksum": "SHA-256:e3edd5e05b70db3c7df6b9d626558348ad04804022fe955c799aeb51808c7dc3", + "size": "362608" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/x86_64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "archiveFileName": "x86_64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "checksum": "SHA-256:66e84dda0aad747517da3785125e05738a540948aab2b7eaa02855167a1eea53", + "size": "46778" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/x86_64-w64-mingw32.mklittlefs-c41e51a.200706.zip", + "archiveFileName": "x86_64-w64-mingw32.mklittlefs-c41e51a.200706.zip", + "checksum": "SHA-256:2e319077491f8e832e96eb4f2f7a70dd919333cee4b388c394e0e848d031d542", + "size": "345132" + } + ] + }, + { + "name": "mkspiffs", + "version": "0.2.3-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-win32.zip", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-win32.zip", + "checksum": "SHA-256:b647f2c2efe6949819c85ea9404271b55c7c9c25bcb98d3b98a1d0ba771adf56", + "size": "249809" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", + "checksum": "SHA-256:9f43fc74a858cf564966b5035322c3e5e61c31a647c5a1d71b388ed6efc48423", + "size": "130270" + }, + { + "host": "i386-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", + "checksum": "SHA-256:9f43fc74a858cf564966b5035322c3e5e61c31a647c5a1d71b388ed6efc48423", + "size": "130270" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux64.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux64.tar.gz", + "checksum": "SHA-256:5e1a4ff41385e842f389f6b5254102a547e566a06b49babeffa93ef37115cb5d", + "size": "50646" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux32.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux32.tar.gz", + "checksum": "SHA-256:464463a93e8833209cdc29ba65e1a12fec31718dc10075c195a2445b2c3f6cb0", + "size": "48751" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", + "checksum": "SHA-256:ade3dc00117912ac08a1bdbfbfe76b12d21a34bc5fa1de0cfc45fe7a8d0a0185", + "size": "40665" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", + "checksum": "SHA-256:ade3dc00117912ac08a1bdbfbfe76b12d21a34bc5fa1de0cfc45fe7a8d0a0185", + "size": "40665" + } + ] + }, + { + "name": "esp-xs2", + "version": "2302-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:2ff838520a5003d2768b275f5bb5ead69dd2388c3b7cd9043cb59891ba43147f", + "size": "112199211" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:6d79d5b14fc7129a9b8208d54e19b05dedb565f50f7a96264c9df84b06ad3be0", + "size": "106953064" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:e5bd03b6ad19179b015a93ada9992adc3610036ebf6aeb0835a09c9aadb50a14", + "size": "106026829" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:fb45943557b2d201bbb1bdc7514a1872f9bb96c2dfb48b95abdba281cc792f75", + "size": "115288662" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:e965236cb80e45282d16f40184af183e013b63b177bd1884736c463eac636564", + "size": "119711811" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:78a55eec18650b21378d97494989ffe208748e0f49bb2b2d6756b264e1863919", + "size": "106540817" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:1e6dac5162ab75f94b88c47ebeabb6600c652fb4f615ed07c1724d037c02fd19", + "size": "131273859" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:8a785cc4e0838cebe404f82c0ead7a0f9ac5fabc660a742e33a41ddac6326cc1", + "size": "135373049" + } + ] + }, + { + "name": "esp-xs3", + "version": "2302-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:61495ffe575e00c6998ae7274ff917658c04bded62ece0937c7042d6dcbf46de", + "size": "111971129" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:9008d395be46fcfe68c7de6edc850fc1595f28323a28e7922e5c085bd310cb90", + "size": "106616800" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:568857bdac7dea389dffc7fbc6871b4af299150a8ecf1bf965f224d2a1655edb", + "size": "105700326" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:d122738bcc6c2f52d05fa89b2fb1afe6a7894cda8a07a1879aca867a31507ed0", + "size": "115098400" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:7defcddb98788b0991416ad2e0cb6a3b248b8030f22d5d76b8832117cc1494ca", + "size": "119883189" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:b59e076f8e4b9ca99535d449f9fc4cbb443188051dce4ad934e38f16b095f8d9", + "size": "106464677" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:3ddf51774817e815e5d41c312a90c1159226978fb45fd0d4f7085c567f8b73ab", + "size": "131134034" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:1d15ca65e3508388a86d8bed3048c46d07538f5bc88d3e4296f9c03152087cd1", + "size": "135381926" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "esp-12.2.0_20230208-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:e8d35938385447cf9c34735fee2a3b2b61cca6be07db77a45856a1c2a347e423", + "size": "111766903" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:569988acfc2673369f222037c64bac96990cee08cebeebc4f8860e0d984f8bd9", + "size": "106473247" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:6a844f16021e936cc9b87b203978356f57ab2144554f6f2a0f73ffa3d3d316c5", + "size": "105576049" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:743d6f03a89329bb09f9550d27fcab677f5cf06b4720793bbcef7883a932681d", + "size": "114870843" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:4d32d764e984f3a570aacfb2f4957619540fb4629534d969b2e83997901334c3", + "size": "119424029" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:dc8fa7f4933bf5cb08e83bacce6160cc9dfe93d7aad1e8f92599bb81ff5b2e28", + "size": "106136827" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:62bb6428d107ed3f44c212c77ecf24804b74c97327b0f0ad2029c656c6dbd6ee", + "size": "130847086" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:8febfe4a6476efc69012390106c8c660a14418f025137b0513670c72124339cf", + "size": "134985117" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:8ef14e0409c2011b41e504a30f70d3e35287313a795d1f2462ad2cd0e2052d37", + "size": "94397702" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:e7d217ac2ef52c746a41f8647840b2717edcd8afc15f081bc1c4505e10a189b7", + "size": "90684219" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:ea6631f8a5105ae90d7fc462c10ed4f9049924ea8c2f9391d90b339d5f881dac", + "size": "89954866" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:ecb90af9cede0982672234da0b1bd7b7f76eadde60aa5c82eefdf37d64ffe49f", + "size": "96354023" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:19af109fda024a3a4c989f7ccaa104f9b1b74cfd6c9363e730bb8cb9b50d5dc4", + "size": "101712946" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "checksum": "SHA-256:b14189772d70a96813895fff7731d0f2fec0c825cfc02e002d6d91a0cc4b6b1d", + "size": "93104016" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:9851c2cfa355e1fad8abfb643a1c945d27385b1851f3ae468915ea78fcbec940", + "size": "118610020" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:a328b3c55631846241bbe7999a309b20b797c8dc50b6e8dccf463e66a2da5fb4", + "size": "121846722" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:8ef14e0409c2011b41e504a30f70d3e35287313a795d1f2462ad2cd0e2052d37", + "size": "94397702" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:e7d217ac2ef52c746a41f8647840b2717edcd8afc15f081bc1c4505e10a189b7", + "size": "90684219" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:ea6631f8a5105ae90d7fc462c10ed4f9049924ea8c2f9391d90b339d5f881dac", + "size": "89954866" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:ecb90af9cede0982672234da0b1bd7b7f76eadde60aa5c82eefdf37d64ffe49f", + "size": "96354023" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:19af109fda024a3a4c989f7ccaa104f9b1b74cfd6c9363e730bb8cb9b50d5dc4", + "size": "101712946" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:9851c2cfa355e1fad8abfb643a1c945d27385b1851f3ae468915ea78fcbec940", + "size": "118610020" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:a328b3c55631846241bbe7999a309b20b797c8dc50b6e8dccf463e66a2da5fb4", + "size": "121846722" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "checksum": "SHA-256:9edd1e77627688f435561922d14299f6a0021ba1f6ff67e472e1108695a69e53", + "size": "90569312" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "checksum": "SHA-256:3a21a3e310e6b1e7d7bed1f3e59698a5bd29ed3a5ca79fba9265d7dd2f1e0cd2", + "size": "86838362" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "checksum": "SHA-256:89313c4c1d8db1b01624f31b58bf3fbe527160569828ac4301e9daa75c52716d", + "size": "86187540" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "checksum": "SHA-256:a1f165a836f175daa6fbfde4ca99cb93b377f021fbfc41f79a700bd4df965a9a", + "size": "92580267" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "checksum": "SHA-256:dda3d7a43efd995d9a51d5a5741626dbf915df46078aef0b5aea7163ac82398b", + "size": "97807647" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "checksum": "SHA-256:fd147592928ef2d7092ba34b01ecd776fe26ba3d7e3f9b6b215a3b46e981ee2c", + "size": "116464819" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "checksum": "SHA-256:9395315c07de0b9f05c9a6616ba1f05e76ab651053f2f40479163a8e03cfa830", + "size": "119511910" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "checksum": "SHA-256:3eb3d68b27fa6ba5af6f88da21cb8face9be0094daaa8960793cfe570ab785ff", + "size": "90565318" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "checksum": "SHA-256:aa534be24e45e06b7080a6a3bb8cd9e3cfb818f5f8bce2244d7cfb5e91336541", + "size": "86860292" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "checksum": "SHA-256:f0e49ce06fe7833ff5d76961dc2dac5449d320f823bb8c05a302cf85a3a6eb04", + "size": "86183421" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "checksum": "SHA-256:06de09b74652de43e5b22db3b7fc992623044baa75e9faaab68317a986715ba3", + "size": "92582250" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "checksum": "SHA-256:96443f69c8569417c780ee749d91ef33cffe22153fffa30a0fbf12107d87381b", + "size": "97808961" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win32.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win32.zip", + "checksum": "SHA-256:076a4171bdc33e5ced3952efffb233d70263dfa760e636704050597a9edf61db", + "size": "112578260" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win64.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win64.zip", + "checksum": "SHA-256:c35b7998f7f503e0cb22055d1e279ae14b6b0e09bb3ff3846b17d552ece9c247", + "size": "115278695" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r1-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "checksum": "SHA-256:44a0b467b9d2b759ab48b2f27aed684581f33c96e2842992781c4e045992c5b0", + "size": "86361217" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "checksum": "SHA-256:fdacdb2a7bbf6293bcafda9b52463a4da8a2f3b7e1df9f83d35ff9d1efa22012", + "size": "84520407" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "checksum": "SHA-256:e2024096492dfaa50fc6ac336cd8faa2e395e8cebb617753eab0b5f16d3dd0dc", + "size": "88375391" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "checksum": "SHA-256:7bbc6a2b94f009cd8a3351b9c7acf7a5caa1c4d3700500ead60f84965386a61b", + "size": "93357296" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-win32.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-win32.zip", + "checksum": "SHA-256:e4f9fdda192abfc9807e3e7fcd6e9fea30c1a0cf3f3c5a5c961b5114fc8c9b7e", + "size": "105603626" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "1.22.0-97-gc752ad5-5.2.0-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-win32-1.22.0-97-gc752ad5-5.2.0.zip", + "archiveFileName": "xtensa-esp32-elf-win32-1.22.0-97-gc752ad5-5.2.0.zip", + "checksum": "SHA-256:80571e5d5a63494f4fa758bb9d8fb882ba4059853a8c412a84d232dc1c1400e6", + "size": "125747216" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-macos-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "archiveFileName": "xtensa-esp32-elf-macos-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "checksum": "SHA-256:b1ce39a563ae359cf363fb7d8ee80cb1e5226fda83188203cff60f16f55e33ef", + "size": "50525386" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux64-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "archiveFileName": "xtensa-esp32-elf-linux64-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "checksum": "SHA-256:96f5f6e7611a0ed1dc47048c54c3113fc5cebffbf0ba90d8bfcd497afc7ef9f3", + "size": "44225380" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux32-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "archiveFileName": "xtensa-esp32-elf-linux32-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "checksum": "SHA-256:8094a2c30b474e99ce64dd0ba8f310c4614eb3b3cac884a3aea0fd5f565af119", + "size": "45575521" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "archiveFileName": "xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "checksum": "SHA-256:d70d550f88448fa476b29fa50ef5502ab497a16ac7fa9ca24c6d0a39bb1e681e", + "size": "50657803" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "archiveFileName": "xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "checksum": "SHA-256:d70d550f88448fa476b29fa50ef5502ab497a16ac7fa9ca24c6d0a39bb1e681e", + "size": "50657803" + } + ] + }, + { + "version": "1.22.0-80-g6c4433a-5.2.0-cn", + "name": "xtensa-esp32-elf-gcc", + "systems": [ + { + "url": "https://dl.espressif.cn/dl/xtensa-esp32-elf-win32-1.22.0-80-g6c4433a-5.2.0.zip", + "checksum": "SHA-256:f217fccbeaaa8c92db239036e0d6202458de4488b954a3a38f35ac2ec48058a4", + "host": "i686-mingw32", + "archiveFileName": "xtensa-esp32-elf-win32-1.22.0-80-g6c4433a-5.2.0.zip", + "size": "125719261" + }, + { + "url": "https://dl.espressif.cn/dl/xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "checksum": "SHA-256:a4307a97945d2f2f2745f415fbe80d727750e19f91f9a1e7e2f8a6065652f9da", + "host": "x86_64-apple-darwin", + "archiveFileName": "xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "size": "46517409" + }, + { + "url": "https://dl.espressif.cn/dl/xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "checksum": "SHA-256:3fe96c151d46c1d4e5edc6ed690851b8e53634041114bad04729bc16b0445156", + "host": "x86_64-pc-linux-gnu", + "archiveFileName": "xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "size": "44219107" + }, + { + "url": "https://dl.espressif.cn/dl/xtensa-esp32-elf-linux32-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "checksum": "SHA-256:b4055695ffc2dfc0bcb6dafdc2572a6e01151c4179ef5fa972b3fcb2183eb155", + "host": "i686-pc-linux-gnu", + "archiveFileName": "xtensa-esp32-elf-linux32-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "size": "45566336" + }, + { + "url": "https://dl.espressif.cn/dl/xtensa-esp32-elf-linux-armel-1.22.0-87-gb57bad3-5.2.0.tar.gz", + "checksum": "SHA-256:9c68c87bb23b1256dc0a1859b515946763e5292dcab4a4159a52fae5618ce861", + "host": "arm-linux-gnueabihf", + "archiveFileName": "xtensa-esp32-elf-linux-armel-1.22.0-87-gb57bad3-5.2.0.tar.gz", + "size": "50655584" + } + ] + }, + { + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-12.2.0_20230208-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:2ff838520a5003d2768b275f5bb5ead69dd2388c3b7cd9043cb59891ba43147f", + "size": "112199211" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:6d79d5b14fc7129a9b8208d54e19b05dedb565f50f7a96264c9df84b06ad3be0", + "size": "106953064" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:e5bd03b6ad19179b015a93ada9992adc3610036ebf6aeb0835a09c9aadb50a14", + "size": "106026829" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:fb45943557b2d201bbb1bdc7514a1872f9bb96c2dfb48b95abdba281cc792f75", + "size": "115288662" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:e965236cb80e45282d16f40184af183e013b63b177bd1884736c463eac636564", + "size": "119711811" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:78a55eec18650b21378d97494989ffe208748e0f49bb2b2d6756b264e1863919", + "size": "106540817" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:1e6dac5162ab75f94b88c47ebeabb6600c652fb4f615ed07c1724d037c02fd19", + "size": "131273859" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:8a785cc4e0838cebe404f82c0ead7a0f9ac5fabc660a742e33a41ddac6326cc1", + "size": "135373049" + } + ] + }, + { + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:19c77bd91fefab7c8c40a6334f9b985e2d9a1c7fac6d424b692110930dd3682f", + "size": "67849099" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:bdcd24676ef2a65b670ca9e0a01768ece47f4dfcfb545a3307f76a054c33b522", + "size": "64154532" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:b26723b6ce1c35b90f204eb39e5ab06a6f80fb7895f000e16b6962e4c176ae32", + "size": "63448105" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:da3b5c45e4997d14269df1814c92dd7004902bb810608341bc3819c3e506fa0b", + "size": "69656104" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:8eb63745b44083edef7cc6fdf3b06999f576b75134bc5e8b0ef881ca439b72d7", + "size": "75154138" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "checksum": "SHA-256:4cd38d6ec31076c0aa083f62ab84ab5c33aa07fafd0af61366186e5f553aa008", + "size": "66457613" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:c758062295804b082fbd77fcd59a356f62d4e76372aaa29589cc871603309cba", + "size": "82338511" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:1c1e168ff8bc460a9719f3b216d3c1125d29040389786d738244838499362c74", + "size": "85579252" + } + ] + }, + { + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:19c77bd91fefab7c8c40a6334f9b985e2d9a1c7fac6d424b692110930dd3682f", + "size": "67849099" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:bdcd24676ef2a65b670ca9e0a01768ece47f4dfcfb545a3307f76a054c33b522", + "size": "64154532" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:b26723b6ce1c35b90f204eb39e5ab06a6f80fb7895f000e16b6962e4c176ae32", + "size": "63448105" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:da3b5c45e4997d14269df1814c92dd7004902bb810608341bc3819c3e506fa0b", + "size": "69656104" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:8eb63745b44083edef7cc6fdf3b06999f576b75134bc5e8b0ef881ca439b72d7", + "size": "75154138" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:c758062295804b082fbd77fcd59a356f62d4e76372aaa29589cc871603309cba", + "size": "82338511" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:1c1e168ff8bc460a9719f3b216d3c1125d29040389786d738244838499362c74", + "size": "85579252" + } + ] + }, + { + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "checksum": "SHA-256:a32451a8edc1104b83cd9971178e61826e957d7db9ad9f81798a8969fd5a954e", + "size": "90894048" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "checksum": "SHA-256:2ac2c94a533a99a091d2159c678c611c712c494b5f68d97913254712047260f9", + "size": "87178224" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "checksum": "SHA-256:da49afee1e2e03eaab3f492718789442d33b562800e2a892679f95b50be24d14", + "size": "86569314" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "checksum": "SHA-256:36d3c4990a5feb68aa8534463bc9e8ee367fe23886f78e1d726f4411c7571462", + "size": "92884013" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "checksum": "SHA-256:de9af641678c93775e932ee5ec4f478f8925cfc1ebc22e41adc4fb85430a0c35", + "size": "98224709" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "checksum": "SHA-256:ccf08afe60046f87b0e81ca17dc5073eda68ab5e7522c163dd5b583d713b7b39", + "size": "116924759" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "checksum": "SHA-256:37c91490b8fc75e638c23785e261eaf553be2dcd106cf6cff5b76981fa02955b", + "size": "119912142" + } + ] + }, + { + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "checksum": "SHA-256:a6e0947c92b823ca04f062522249f0a428357e0b056f1ff4c6bcabef83cf63a7", + "size": "90901736" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "checksum": "SHA-256:d2e5600fc194b508bd393b236a09fd62ed70afb6c36619d4b106b696a56ca66d", + "size": "87176557" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "checksum": "SHA-256:3fff4199e986dd74660f17ca27d9414cb98f1b911a7f13bb3b22e784cb1156cf", + "size": "86581102" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "checksum": "SHA-256:7732f9fb371d36b6b324820e300beecc33c2719921a61cf1cdb5bc625016b346", + "size": "92875986" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "checksum": "SHA-256:e6dd32782fcff8f633299b97d1c671d6b6513390aca2ddbd7543c2cc62e72d7e", + "size": "98212907" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win32.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win32.zip", + "checksum": "SHA-256:41b917b35f6fbe7d30b7de91c32cf348c406acfa729a1eabc450d040dc46fbe2", + "size": "113022469" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win64.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win64.zip", + "checksum": "SHA-256:a764c1a0ee743d69f8cbfadbe4426a2c15c0e233b0894244c7cadf3b4d7dd32a", + "size": "115696999" + } + ] + }, + { + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r1-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "checksum": "SHA-256:b127baccfe6949ee7eaf3d0782ea772750a9b8e2732b16ce6bcc9dcd91f7209a", + "size": "86687290" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "checksum": "SHA-256:7ca0d240f11e1c53c01a56257b0c968f876ab405142d1068d8c9b456d939554c", + "size": "84916701" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "checksum": "SHA-256:9941f993ff84d1c606b45ffbeeb7bcdc5a72cf24e787bb9230390510fe3511c6", + "size": "88699953" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "checksum": "SHA-256:4b55b1a9ca7fc945be6fc3513802b6cece9264bee4cbca76013569cec2695973", + "size": "93757895" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-win32.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-win32.zip", + "checksum": "SHA-256:c94ec1e45c81b7e4944d216bab4aa41d46849768d7761fd691661dab1a3df828", + "size": "106013515" + } + ] + }, + { + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-12.2.0_20230208-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:61495ffe575e00c6998ae7274ff917658c04bded62ece0937c7042d6dcbf46de", + "size": "111971129" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:9008d395be46fcfe68c7de6edc850fc1595f28323a28e7922e5c085bd310cb90", + "size": "106616800" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:568857bdac7dea389dffc7fbc6871b4af299150a8ecf1bf965f224d2a1655edb", + "size": "105700326" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:d122738bcc6c2f52d05fa89b2fb1afe6a7894cda8a07a1879aca867a31507ed0", + "size": "115098400" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:7defcddb98788b0991416ad2e0cb6a3b248b8030f22d5d76b8832117cc1494ca", + "size": "119883189" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:b59e076f8e4b9ca99535d449f9fc4cbb443188051dce4ad934e38f16b095f8d9", + "size": "106464677" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:3ddf51774817e815e5d41c312a90c1159226978fb45fd0d4f7085c567f8b73ab", + "size": "131134034" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:1d15ca65e3508388a86d8bed3048c46d07538f5bc88d3e4296f9c03152087cd1", + "size": "135381926" + } + ] + }, + { + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:8aa17a6adf01efa5b1628c8ac578063a44d26ae9581d39486b92223a41ef262f", + "size": "68099473" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:b218c11122e5565b6442376ebd21a652abdfcbf90981afa3e177ce978710225d", + "size": "64233211" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:967477434ad5483718915936a77ce915a10c5972a6b3fd02688a5c4e14182bfb", + "size": "63530586" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:07671d01a63ebd389912787efb2b263677c7b351c07fe430ded733cdae95e81d", + "size": "70025439" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:99b6d44cea5aebbedc8b6965e7bf551aa4a40ed83ddbe1c0e9b7cb255564ded5", + "size": "75719772" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "checksum": "SHA-256:c64b05be25d26916c65dcfe11de9e60b96d58980b2df706d3074cb70b1ef6cb9", + "size": "66791095" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:658d3036ffdf11ddad6f0a784c8829f6ffd4dbd7c252d7f61722256d0ad43975", + "size": "82665716" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:9000be38d44bf79c39b93a2aeb99b42e956c593ccbc02fe31cb9c71ae1bbcb22", + "size": "86022563" + } + ] + }, + { + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:8aa17a6adf01efa5b1628c8ac578063a44d26ae9581d39486b92223a41ef262f", + "size": "68099473" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:b218c11122e5565b6442376ebd21a652abdfcbf90981afa3e177ce978710225d", + "size": "64233211" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:967477434ad5483718915936a77ce915a10c5972a6b3fd02688a5c4e14182bfb", + "size": "63530586" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:07671d01a63ebd389912787efb2b263677c7b351c07fe430ded733cdae95e81d", + "size": "70025439" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:99b6d44cea5aebbedc8b6965e7bf551aa4a40ed83ddbe1c0e9b7cb255564ded5", + "size": "75719772" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:658d3036ffdf11ddad6f0a784c8829f6ffd4dbd7c252d7f61722256d0ad43975", + "size": "82665716" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:9000be38d44bf79c39b93a2aeb99b42e956c593ccbc02fe31cb9c71ae1bbcb22", + "size": "86022563" + } + ] + }, + { + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "checksum": "SHA-256:59b271d014ff3915b6db1b43b610a45eea15fe5d6877d12cae8a191cc996ed37", + "size": "90903617" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "checksum": "SHA-256:7051b32483e61f98606d71c98e372929428a5165df791dcd5830ed9517763152", + "size": "87065204" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "checksum": "SHA-256:48c8dbbf96eec691a812327dc580042d9718fe989e60c2111ebfd692ac710081", + "size": "86455731" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "checksum": "SHA-256:552dca3f4302ab7ca88a934b0391200198c9d10a4d8ac413fe604cbf8601f950", + "size": "92906274" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "checksum": "SHA-256:e5af78f05d3af07617805d06ebb45ff2fe9b6aed6970a84c35eea28a5d8d5e53", + "size": "98553473" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "checksum": "SHA-256:1b70163acccc5655449de1d149427a54f384156bd35816ec60c422d76d033f05", + "size": "116847008" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "checksum": "SHA-256:58e58575d1938879fd51e822181e54bcb343aa846eb3fca8f616c2cde7bd0041", + "size": "120066269" + } + ] + }, + { + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:f7d73e5f9e2df3ea6ca8e2c95d6ca6d23d6b38fd101ea5d3012f3cb3cd59f39f", + "size": "192388486" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:cf520ae3a72f65b9758ea187524b105b8b7546566d738c32e60a0df9846ef1af", + "size": "188626914" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:2dc3536214caa1697f6834bb4701d05894ca55b53589fc5b54064b050ef93799", + "size": "188624050" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:165d6d53e76d79f5ade7e2b7ade54b2b495ecfda0d1184d84d6343659d0e3bdb", + "size": "194606113" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:d6d4cef216cbf28d6fbb88f3e127d4f42a376d9497c260bf8c1ad9cef440f839", + "size": "199411930" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "checksum": "SHA-256:6e03f2ab1f145be13f8890c6de77b53f52c7bffe3d9d5824549db20298f5ba91", + "size": "191209735" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:1e0cfcfbc8f82c441261cadd21742f66d716ec18c18bf10ed7c7d5b0bee6752f", + "size": "257844437" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:b08f568e8fe5069dd521b87da21b8e56117e5c2c3b492f73a51966a46d3379a4", + "size": "259712666" + } + ] + }, + { + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:f7d73e5f9e2df3ea6ca8e2c95d6ca6d23d6b38fd101ea5d3012f3cb3cd59f39f", + "size": "192388486" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:cf520ae3a72f65b9758ea187524b105b8b7546566d738c32e60a0df9846ef1af", + "size": "188626914" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:2dc3536214caa1697f6834bb4701d05894ca55b53589fc5b54064b050ef93799", + "size": "188624050" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:165d6d53e76d79f5ade7e2b7ade54b2b495ecfda0d1184d84d6343659d0e3bdb", + "size": "194606113" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:d6d4cef216cbf28d6fbb88f3e127d4f42a376d9497c260bf8c1ad9cef440f839", + "size": "199411930" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:1e0cfcfbc8f82c441261cadd21742f66d716ec18c18bf10ed7c7d5b0bee6752f", + "size": "257844437" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:b08f568e8fe5069dd521b87da21b8e56117e5c2c3b492f73a51966a46d3379a4", + "size": "259712666" + } + ] + }, + { + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "checksum": "SHA-256:179cbad579790ad35e0f414a18d90017c0f158c397022411a8e9867db2174f15", + "size": "106843321" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "checksum": "SHA-256:fb339d476c79c76db8f903b265cab6bb6950d5ed954dec644445252d3378023c", + "size": "103277393" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "checksum": "SHA-256:51a6296d8334b7452dba44b2b62e87afd7fd1c74bafa1aa29b1f4ab72cb9e5e0", + "size": "103062256" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "checksum": "SHA-256:fef60f7ef37ffaa50416d8f244cdbd710d6729dae41ef06c4ec0e50a1f3b7dd7", + "size": "109460025" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "checksum": "SHA-256:4aacc1742a76349d790b1ac8e9e9d963daefda5346dbd6741cfe8e7a35a44e4e", + "size": "113703959" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "checksum": "SHA-256:eb2a442d7f551ebeb842995ec372ec4b364314ca2d7aae779399a74972f7d6bc", + "size": "144711970" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "checksum": "SHA-256:f5607e5187317d521f0474cade83f8eb590f2d165d95c3779b6ce11fbac21d1f", + "size": "146606480" + } + ] + }, + { + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "checksum": "SHA-256:812d735063da9d063b374b59f55832a96c41fbd27ddaef19000a75de8607ba21", + "size": "106837189" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "checksum": "SHA-256:712f1fbc3e08304a6f32aa18b346b16bbcb413b507b3d4c7c3211bf0d7dc4813", + "size": "103273444" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "checksum": "SHA-256:80a3342cda2cd4b6b75ebb2b36d5d12fce7d375cfadadcff01ec3a907f0a16a2", + "size": "103058744" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "checksum": "SHA-256:7f0162a81558ab0ed09d6c5d356def25b5cb3d5c2d61358f20152fa260ccc8ae", + "size": "109447789" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "checksum": "SHA-256:3ff7e5427907cf8e271c1f959b70fb01e39625c3caf61a6567e7b38aa0c11578", + "size": "113672945" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-win32.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-win32.zip", + "checksum": "SHA-256:c8ff08883c1456c278fad85e1c43b7c6e251d525683214168655550e85c5b82e", + "size": "140809778" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-win64.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-win64.zip", + "checksum": "SHA-256:6c04cb4728db928ec6473e63146b695b6dec686a0d40dd73dd3353f05247b19e", + "size": "142365782" + } + ] + }, + { + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r1-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "checksum": "SHA-256:3459618f33bbd5f54d7d7783e807cb6eef6472a220f2f1eb3faced735b9d13bb", + "size": "152812483" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "checksum": "SHA-256:24b9e54b348bbd5fb816fc4c52abb47337c702beecdbba840750b7cfb9d38069", + "size": "151726623" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "checksum": "SHA-256:954d340ebffef12a2ce9be1ea004e6f45a8863f1e6f41f46fd3f04f58499627c", + "size": "155430963" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "checksum": "SHA-256:612fb3a3f84f703222327bd16581df8f80fda8cdf137637fe5d611587d1b664e", + "size": "159836199" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-win32.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-win32.zip", + "checksum": "SHA-256:5711eb407ffe44adddbd1281b6b575a5645e7193ca78faefa27dc5bc5b662bec", + "size": "191266312" + } + ] + }, + { + "version": "2.3.1-cn", + "name": "esptool", + "systems": [ + { + "url": "https://dl.espressif.cn/dl/esptool-2.3.1-windows.zip", + "checksum": "SHA-256:c187763d0faac7da7c30a292a23c759bbc256fcd084dc8846ed284000cb0fe29", + "host": "i686-mingw32", + "archiveFileName": "esptool-2.3.1-windows.zip", + "size": "3396085" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.3.1-macos.tar.gz", + "checksum": "SHA-256:cd922418f02e0ca11dc066b36a22646a1b441da00d762b4464ca598c902c5ecb", + "host": "x86_64-apple-darwin", + "archiveFileName": "esptool-2.3.1-macos.tar.gz", + "size": "3810932" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.3.1-linux.tar.gz", + "checksum": "SHA-256:cff30841dad80ed5d7d2d58a31843b63afa57528979a9c839806568167691d8e", + "host": "x86_64-pc-linux-gnu", + "archiveFileName": "esptool-2.3.1-linux.tar.gz", + "size": "39563" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.3.1-linux.tar.gz", + "checksum": "SHA-256:cff30841dad80ed5d7d2d58a31843b63afa57528979a9c839806568167691d8e", + "host": "i686-pc-linux-gnu", + "archiveFileName": "esptool-2.3.1-linux.tar.gz", + "size": "39563" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.3.1-linux.tar.gz", + "checksum": "SHA-256:cff30841dad80ed5d7d2d58a31843b63afa57528979a9c839806568167691d8e", + "host": "arm-linux-gnueabihf", + "archiveFileName": "esptool-2.3.1-linux.tar.gz", + "size": "39563" + } + ] + } + ] + } + ] +} diff --git a/package_esp32_index.json b/package_esp32_index.json index 453549f36c2..5ff8cbe1d01 100644 --- a/package_esp32_index.json +++ b/package_esp32_index.json @@ -12,12 +12,12 @@ { "name": "esp32", "architecture": "esp32", - "version": "2.0.7", + "version": "3.2.0", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.7/esp32-2.0.7.zip", - "archiveFileName": "esp32-2.0.7.zip", - "checksum": "SHA-256:b5a7a54fca36501d1108413310ec50ae2df655c14c3881325903cde2c7ae5f80", - "size": "278966011", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.2.0/esp32-3.2.0.zip", + "archiveFileName": "esp32-3.2.0.zip", + "checksum": "SHA-256:d38b16fef6e519fc0d19bc5af0b39cdbed7dfc2ce69214c1971ded0e61ecd911", + "size": "25447136", "help": { "online": "" }, @@ -25,6 +25,18 @@ { "name": "ESP32 Dev Board" }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "ESP32-C6 Dev Board" + }, + { + "name": "ESP32-H2 Dev Board" + }, + { + "name": "ESP32-P4 Dev Board" + }, { "name": "ESP32-S2 Dev Board" }, @@ -32,39 +44,44 @@ "name": "ESP32-S3 Dev Board" }, { - "name": "ESP32-C3 Dev Board" + "name": "Arduino Nano ESP32" } ], "toolsDependencies": [ { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "esp-2021r2-patch5-8.4.0" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.4-2f7dcd86-v1" }, { "packager": "esp32", - "name": "xtensa-esp32s2-elf-gcc", - "version": "esp-2021r2-patch5-8.4.0" + "name": "esp-x32", + "version": "2411" }, { "packager": "esp32", - "name": "xtensa-esp32s3-elf-gcc", - "version": "esp-2021r2-patch5-8.4.0" + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403" }, { "packager": "esp32", - "name": "riscv32-esp-elf-gcc", - "version": "esp-2021r2-patch5-8.4.0" + "name": "esp-rv32", + "version": "2411" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403" }, { "packager": "esp32", "name": "openocd-esp32", - "version": "v0.11.0-esp32-20221026" + "version": "v0.12.0-esp32-20241016" }, { "packager": "esp32", "name": "esptool_py", - "version": "4.5" + "version": "4.9.dev3" }, { "packager": "esp32", @@ -75,18 +92,23 @@ "packager": "esp32", "name": "mklittlefs", "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { "name": "esp32", "architecture": "esp32", - "version": "2.0.6", + "version": "3.1.3", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esp32-2.0.6.zip", - "archiveFileName": "esp32-2.0.6.zip", - "checksum": "SHA-256:ea56d300404cc1b5bc15295f29790246b02025c493e0664a6d271164a602a351", - "size": "264579419", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.3/esp32-3.1.3.zip", + "archiveFileName": "esp32-3.1.3.zip", + "checksum": "SHA-256:747160dbc81c6634c7bff9e8a57213e9982d52fe90d2a8f75a93a9f7b527defb", + "size": "25396700", "help": { "online": "" }, @@ -102,38 +124,46 @@ }, { "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], "toolsDependencies": [ { "packager": "esp32", - "name": "riscv32-esp-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch5" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-489d7a2b-v1" }, { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch5" + "name": "esp-x32", + "version": "2405" }, { "packager": "esp32", - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch5" + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403" }, { "packager": "esp32", - "name": "xtensa-esp32s3-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch5" + "name": "esp-rv32", + "version": "2405" }, { "packager": "esp32", - "name": "esptool_py", - "version": "4.2.1" + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403" }, { "packager": "esp32", "name": "openocd-esp32", - "version": "v0.11.0-esp32-20220706" + "version": "v0.12.0-esp32-20241016" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.9.dev3" }, { "packager": "esp32", @@ -144,18 +174,23 @@ "packager": "esp32", "name": "mklittlefs", "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { "name": "esp32", "architecture": "esp32", - "version": "2.0.5", + "version": "3.1.2", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.5/esp32-2.0.5.zip", - "archiveFileName": "esp32-2.0.5.zip", - "checksum": "SHA-256:c7a1040c5f007a799ef9eb249508e3544c3cf5246f67cdfdc1e80f7d0ca7b41d", - "size": "260916106", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.2/esp32-3.1.2.zip", + "archiveFileName": "esp32-3.1.2.zip", + "checksum": "SHA-256:17214f51a7b9de547baa777419d2b041e1f09cfb17adb33c18617a756190f9f6", + "size": "25396684", "help": { "online": "" }, @@ -171,33 +206,46 @@ }, { "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], "toolsDependencies": [ { "packager": "esp32", - "name": "riscv32-esp-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-489d7a2b-v1" }, { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "esp-x32", + "version": "2405" }, { "packager": "esp32", - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403" }, { "packager": "esp32", - "name": "xtensa-esp32s3-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "esp-rv32", + "version": "2405" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016" }, { "packager": "esp32", "name": "esptool_py", - "version": "4.2.1" + "version": "4.9.dev3" }, { "packager": "esp32", @@ -208,18 +256,23 @@ "packager": "esp32", "name": "mklittlefs", "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { "name": "esp32", "architecture": "esp32", - "version": "2.0.4", + "version": "3.1.1", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esp32-2.0.4.zip", - "archiveFileName": "esp32-2.0.4.zip", - "checksum": "SHA-256:832609d6f4cd0edf4e471f02e30b7f0e1c86fdd1b950990ef40431e656237214", - "size": "259715595", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.1/esp32-3.1.1.zip", + "archiveFileName": "esp32-3.1.1.zip", + "checksum": "SHA-256:e20982b2860eab4900ce16a0f2b7f9fc3ffb205e490dc933f625d53a5c9e8129", + "size": "25253828", "help": { "online": "" }, @@ -235,33 +288,46 @@ }, { "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], "toolsDependencies": [ { "packager": "esp32", - "name": "riscv32-esp-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-cfea4f7c-v1" }, { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "esp-x32", + "version": "2405" }, { "packager": "esp32", - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403" }, { "packager": "esp32", - "name": "xtensa-esp32s3-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "esp-rv32", + "version": "2405" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016" }, { "packager": "esp32", "name": "esptool_py", - "version": "3.3.0" + "version": "4.9.dev3" }, { "packager": "esp32", @@ -272,18 +338,23 @@ "packager": "esp32", "name": "mklittlefs", "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { "name": "esp32", "architecture": "esp32", - "version": "2.0.3", + "version": "3.1.0", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.3/esp32-2.0.3.zip", - "archiveFileName": "esp32-2.0.3.zip", - "checksum": "SHA-256:7a44ab32a2bfe18a84fd1f75aa1921dae92c6b4a74a2eb4d0c7d479b34996f3b", - "size": "246542267", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0/esp32-3.1.0.zip", + "archiveFileName": "esp32-3.1.0.zip", + "checksum": "SHA-256:0db044159e3fc737435b3f1d547bf85c60a33a175342c317d2a5c08c42977f80", + "size": "25225607", "help": { "online": "" }, @@ -299,33 +370,46 @@ }, { "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], "toolsDependencies": [ { "packager": "esp32", - "name": "riscv32-esp-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-083aad99-v2" }, { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "esp-x32", + "version": "2405" }, { "packager": "esp32", - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403" }, { "packager": "esp32", - "name": "xtensa-esp32s3-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3" + "name": "esp-rv32", + "version": "2405" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016" }, { "packager": "esp32", "name": "esptool_py", - "version": "3.3.0" + "version": "4.9.dev3" }, { "packager": "esp32", @@ -336,18 +420,23 @@ "packager": "esp32", "name": "mklittlefs", "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { "name": "esp32", "architecture": "esp32", - "version": "2.0.2", + "version": "3.0.7", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esp32-2.0.2.zip", - "archiveFileName": "esp32-2.0.2.zip", - "checksum": "SHA-256:e139f22aab9cbe8109815de0be110e58a8f1d6c90a2e263eb0b0d646b53a5a33", - "size": "151846438", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.7/esp32-3.0.7.zip", + "archiveFileName": "esp32-3.0.7.zip", + "checksum": "SHA-256:6b48f5bd889e55d7b93b95849dff77c6a5e4b9ee58c7298d7872d558a4d04931", + "size": "24546342", "help": { "online": "" }, @@ -358,30 +447,61 @@ { "name": "ESP32-S2 Dev Board" }, + { + "name": "ESP32-S3 Dev Board" + }, { "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], "toolsDependencies": [ { "packager": "esp32", - "name": "riscv32-esp-elf-gcc", - "version": "gcc8_4_0-esp-2021r2" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-632e0c2a" }, { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2021r2" + "name": "esp-x32", + "version": "2302" }, { "packager": "esp32", - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2021r2" + "name": "esp-xs2", + "version": "2302" + }, + { + "packager": "esp32", + "name": "esp-xs3", + "version": "2302" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240821" }, { "packager": "esp32", "name": "esptool_py", - "version": "3.1.0" + "version": "4.6" }, { "packager": "esp32", @@ -392,18 +512,23 @@ "packager": "esp32", "name": "mklittlefs", "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { "name": "esp32", "architecture": "esp32", - "version": "2.0.1", + "version": "3.0.6", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.1/esp32-2.0.1.zip", - "archiveFileName": "esp32-2.0.1.zip", - "checksum": "SHA-256:3a7cd46ba47990dd37fbe02b7f0a910dd5cc7af1d190350b69d320ed36cd6b41", - "size": "148976301", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.6/esp32-3.0.6.zip", + "archiveFileName": "esp32-3.0.6.zip", + "checksum": "SHA-256:7b4d87d0a18e69cba81e7aa7e69f088dc7c4f6cc89a20adc256bf77c86992dc5", + "size": "24546256", "help": { "online": "" }, @@ -414,30 +539,61 @@ { "name": "ESP32-S2 Dev Board" }, + { + "name": "ESP32-S3 Dev Board" + }, { "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], "toolsDependencies": [ { "packager": "esp32", - "name": "riscv32-esp-elf-gcc", - "version": "gcc8_4_0-esp-2021r2" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-632e0c2a" }, { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2021r2" + "name": "esp-x32", + "version": "2302" }, { "packager": "esp32", - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2021r2" + "name": "esp-xs2", + "version": "2302" + }, + { + "packager": "esp32", + "name": "esp-xs3", + "version": "2302" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240821" }, { "packager": "esp32", "name": "esptool_py", - "version": "3.1.0" + "version": "4.6" }, { "packager": "esp32", @@ -448,52 +604,88 @@ "packager": "esp32", "name": "mklittlefs", "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { "name": "esp32", "architecture": "esp32", - "version": "2.0.0", + "version": "3.0.5", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0/esp32-2.0.0.zip", - "archiveFileName": "esp32-2.0.0.zip", - "checksum": "SHA-256:10e1c42dbf11d2359259a80008f13f37d2f9bb8f49a25d34d387cf4531052cbc", - "size": "139313137", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.5/esp32-3.0.5.zip", + "archiveFileName": "esp32-3.0.5.zip", + "checksum": "SHA-256:6ead4c452e69146b8eb08bee5a77898acc75a0637e9fccb5bbf665385ddc28db", + "size": "24481707", "help": { "online": "" }, "boards": [ { - "name": "ESP32 Dev Module" + "name": "ESP32 Dev Board" }, { - "name": "WEMOS LoLin32" + "name": "ESP32-S2 Dev Board" }, { - "name": "WEMOS D1 MINI ESP32" + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], "toolsDependencies": [ { "packager": "esp32", - "name": "riscv32-esp-elf-gcc", - "version": "gcc8_4_0-esp-2021r1" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-33fbade6" }, { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2021r1" + "name": "esp-x32", + "version": "2302" }, { "packager": "esp32", - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2021r1" + "name": "esp-xs2", + "version": "2302" + }, + { + "packager": "esp32", + "name": "esp-xs3", + "version": "2302" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240821" }, { "packager": "esp32", "name": "esptool_py", - "version": "3.1.0" + "version": "4.6" }, { "packager": "esp32", @@ -504,1914 +696,5838 @@ "packager": "esp32", "name": "mklittlefs", "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { "name": "esp32", "architecture": "esp32", - "version": "1.0.6", + "version": "3.0.4", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.6/esp32-1.0.6.zip", - "archiveFileName": "esp32-1.0.6.zip", - "checksum": "SHA-256:982da9aaa181b6cb9c692dd4c9622b022ecc0d1e3aa0c5b70428ccc3c1b4556b", - "size": "51126662", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.4/esp32-3.0.4.zip", + "archiveFileName": "esp32-3.0.4.zip", + "checksum": "SHA-256:58fcd9b033be0358afbcbcf9a1d8eb216217f65f6b28f2e2cd739c7d016dda4f", + "size": "23937821", "help": { "online": "" }, "boards": [ { - "name": "ESP32 Dev Module" + "name": "ESP32 Dev Board" }, { - "name": "WEMOS LoLin32" + "name": "ESP32-S2 Dev Board" }, { - "name": "WEMOS D1 MINI ESP32" - } - ], - "toolsDependencies": [ + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "1.22.0-97-gc752ad5-5.2.0" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-b6b4727c58" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2302" + }, + { + "packager": "esp32", + "name": "esp-xs2", + "version": "2302" + }, + { + "packager": "esp32", + "name": "esp-xs3", + "version": "2302" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240318" }, { "packager": "esp32", "name": "esptool_py", - "version": "3.0.0" + "version": "4.6" }, { "packager": "esp32", "name": "mkspiffs", "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { "name": "esp32", "architecture": "esp32", - "version": "1.0.5", + "version": "3.0.3", "category": "ESP32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5/esp32-1.0.5.zip", - "archiveFileName": "esp32-1.0.5.zip", - "checksum": "SHA-256:dc5c6c72a127b3171c654f3c3476911d3c2b0ab21affdb7b0f0756c105ca71a7", - "size": "49552769", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.3/esp32-3.0.3.zip", + "archiveFileName": "esp32-3.0.3.zip", + "checksum": "SHA-256:b4aa70711293955a9835ad641279dc7cd524aeb405f7d294afa05c2ece7ded45", + "size": "23920341", "help": { "online": "" }, "boards": [ { - "name": "ESP32 Dev Module" + "name": "ESP32 Dev Board" }, { - "name": "WEMOS LoLin32" + "name": "ESP32-S2 Dev Board" }, { - "name": "WEMOS D1 MINI ESP32" + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], "toolsDependencies": [ { "packager": "esp32", - "name": "xtensa-esp32-elf-gcc", - "version": "1.22.0-97-gc752ad5-5.2.0" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-dc859c1e67" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2302" + }, + { + "packager": "esp32", + "name": "esp-xs2", + "version": "2302" + }, + { + "packager": "esp32", + "name": "esp-xs3", + "version": "2302" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240318" }, { "packager": "esp32", "name": "esptool_py", - "version": "3.0.0" + "version": "4.6" }, { "packager": "esp32", "name": "mkspiffs", "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { - "category": "ESP32", "name": "esp32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.4/esp32-1.0.4.zip", - "checksum": "SHA-256:d9108bf873933c4e48a3ca401fb51e41b2cc3f98d7c9b9be9881e7ca34bf0efe", + "architecture": "esp32", + "version": "3.0.2", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.2/esp32-3.0.2.zip", + "archiveFileName": "esp32-3.0.2.zip", + "checksum": "SHA-256:bd90630fbe9e99f3bb3340c25a87574d5551dd2823849adbf285f8430b6884cf", + "size": "23893902", "help": { "online": "" }, - "version": "1.0.4", - "architecture": "esp32", - "archiveFileName": "esp32-1.0.4.zip", "boards": [ { - "name": "ESP32 Dev Module" + "name": "ESP32 Dev Board" }, { - "name": "WEMOS LoLin32" + "name": "ESP32-S2 Dev Board" }, { - "name": "WEMOS D1 MINI ESP32" + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], "toolsDependencies": [ { "packager": "esp32", - "version": "1.22.0-80-g6c4433a-5.2.0", - "name": "xtensa-esp32-elf-gcc" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-bd2b9390ef" }, { "packager": "esp32", - "version": "2.6.1", - "name": "esptool_py" + "name": "esp-x32", + "version": "2302" }, { "packager": "esp32", - "version": "0.2.3", - "name": "mkspiffs" - } - ], - "size": "36853332" - }, - { - "category": "ESP32", - "name": "esp32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.3/esp32-1.0.3.zip", - "checksum": "SHA-256:19a30ece8a3ab26ab420c3d5531a9a1c51cb04e421a4f1d86dc072c209060436", - "help": { - "online": "" - }, - "version": "1.0.3", - "architecture": "esp32", - "archiveFileName": "esp32-1.0.3.zip", - "boards": [ + "name": "esp-xs2", + "version": "2302" + }, { - "name": "ESP32 Dev Module" + "packager": "esp32", + "name": "esp-xs3", + "version": "2302" }, { - "name": "WEMOS LoLin32" + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023" }, { - "name": "WEMOS D1 MINI ESP32" - } - ], - "toolsDependencies": [ + "packager": "esp32", + "name": "esp-rv32", + "version": "2302" + }, { "packager": "esp32", - "version": "1.22.0-80-g6c4433a-5.2.0", - "name": "xtensa-esp32-elf-gcc" + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023" }, { "packager": "esp32", - "version": "2.6.1", - "name": "esptool_py" + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240318" }, { "packager": "esp32", - "version": "0.2.3", - "name": "mkspiffs" + "name": "esptool_py", + "version": "4.6" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } - ], - "size": "36811826" + ] }, { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.1", "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.1/esp32-3.0.1.zip", + "archiveFileName": "esp32-3.0.1.zip", + "checksum": "SHA-256:b7169d0dd51b64e450a7c09fafb7a4782820a9bc745f7b1e4618316440db0930", + "size": "23895257", "help": { "online": "" }, - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.2/esp32-1.0.2.zip", - "checksum": "SHA-256:c3a5a5050705d41ab205d25a7399e921057b754ef8f883419f58c0c7f08df11c", - "version": "1.0.2", - "architecture": "esp32", - "archiveFileName": "esp32-1.0.2.zip", "boards": [ { - "name": "ESP32 Dev Module" + "name": "ESP32 Dev Board" }, { - "name": "WEMOS LoLin32" + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" } ], - "size": "31174160", "toolsDependencies": [ { "packager": "esp32", - "version": "1.22.0-80-g6c4433a-5.2.0", - "name": "xtensa-esp32-elf-gcc" + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-442a798083" }, { "packager": "esp32", - "version": "2.6.1", - "name": "esptool_py" + "name": "esp-x32", + "version": "2302" }, { "packager": "esp32", - "version": "0.2.3", - "name": "mkspiffs" - } - ], - "name": "esp32" - }, - { - "category": "ESP32", - "help": { - "online": "" - }, - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.1/esp32-1.0.1.zip", - "checksum": "SHA-256:1a7fa2f9bb0b6b5a20dfea227497f4851dc8b886caf7ecb998f745589c97ed34", - "name": "esp32", - "version": "1.0.1", - "architecture": "esp32", - "archiveFileName": "esp32-1.0.1.zip", - "size": "31273425", - "toolsDependencies": [ + "name": "esp-xs2", + "version": "2302" + }, { "packager": "esp32", - "version": "1.22.0-80-g6c4433a-5.2.0", - "name": "xtensa-esp32-elf-gcc" + "name": "esp-xs3", + "version": "2302" }, { "packager": "esp32", - "version": "2.6.0", - "name": "esptool_py" + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023" }, { "packager": "esp32", - "version": "0.2.3", - "name": "mkspiffs" - } - ], - "boards": [ - { - "name": "ESP32 Dev Module" + "name": "esp-rv32", + "version": "2302" }, { - "name": "WEMOS LoLin32" - } - ] - }, - { - "category": "ESP32", - "help": { - "online": "" - }, - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.0/esp32-1.0.0.zip", - "checksum": "SHA-256:94d586174f103e2014be590ab307c5cdda6fa2ec70204c7f121882ace5e05c80", - "name": "esp32", - "version": "1.0.0", - "architecture": "esp32", - "archiveFileName": "esp32-1.0.0.zip", - "size": "26381887", - "toolsDependencies": [ + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023" + }, { "packager": "esp32", - "version": "1.22.0-80-g6c4433a-5.2.0", - "name": "xtensa-esp32-elf-gcc" + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921" }, { "packager": "esp32", - "version": "2.3.1", - "name": "esptool" + "name": "esptool_py", + "version": "4.6" }, { "packager": "esp32", - "version": "0.2.3", - "name": "mkspiffs" - } - ], - "boards": [ + "name": "mkspiffs", + "version": "0.2.3" + }, { - "name": "ESP32 Dev Module" + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" }, { - "name": "WEMOS LoLin32" + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] - } - ], - "tools": [ + }, { - "name": "xtensa-esp32-elf-gcc", - "version": "esp-2021r2-patch5-8.4.0", - "systems": [ + "name": "esp32", + "architecture": "esp32", + "version": "3.0.0", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.0/esp32-3.0.0.zip", + "archiveFileName": "esp32-3.0.0.zip", + "checksum": "SHA-256:0960cf786992e0e3770d8c1e1979eaf01bd0ac9209b24fb00948cf93d43cf95c", + "size": "23891610", + "help": { + "online": "" + }, + "boards": [ { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "checksum": "SHA-256:8ef14e0409c2011b41e504a30f70d3e35287313a795d1f2462ad2cd0e2052d37", - "size": "94397702" + "name": "ESP32 Dev Board" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "checksum": "SHA-256:e7d217ac2ef52c746a41f8647840b2717edcd8afc15f081bc1c4505e10a189b7", - "size": "90684219" + "name": "ESP32-S2 Dev Board" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "checksum": "SHA-256:ea6631f8a5105ae90d7fc462c10ed4f9049924ea8c2f9391d90b339d5f881dac", - "size": "89954866" + "name": "ESP32-S3 Dev Board" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "checksum": "SHA-256:ecb90af9cede0982672234da0b1bd7b7f76eadde60aa5c82eefdf37d64ffe49f", - "size": "96354023" + "name": "ESP32-C3 Dev Board" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "checksum": "SHA-256:19af109fda024a3a4c989f7ccaa104f9b1b74cfd6c9363e730bb8cb9b50d5dc4", - "size": "101712946" + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-442a798083" }, { - "host": "arm64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", - "checksum": "SHA-256:b14189772d70a96813895fff7731d0f2fec0c825cfc02e002d6d91a0cc4b6b1d", - "size": "93104016" + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-12.2.0_20230208" }, { - "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "checksum": "SHA-256:9851c2cfa355e1fad8abfb643a1c945d27385b1851f3ae468915ea78fcbec940", - "size": "118610020" + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-12.2.0_20230208" }, { - "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "checksum": "SHA-256:a328b3c55631846241bbe7999a309b20b797c8dc50b6e8dccf463e66a2da5fb4", - "size": "121846722" - } - ] - }, - { - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch5", - "systems": [ + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-12.2.0_20230208" + }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "checksum": "SHA-256:8ef14e0409c2011b41e504a30f70d3e35287313a795d1f2462ad2cd0e2052d37", - "size": "94397702" + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "checksum": "SHA-256:e7d217ac2ef52c746a41f8647840b2717edcd8afc15f081bc1c4505e10a189b7", - "size": "90684219" + "packager": "esp32", + "name": "esp-rv32", + "version": "2302" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "checksum": "SHA-256:ea6631f8a5105ae90d7fc462c10ed4f9049924ea8c2f9391d90b339d5f881dac", - "size": "89954866" + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "checksum": "SHA-256:ecb90af9cede0982672234da0b1bd7b7f76eadde60aa5c82eefdf37d64ffe49f", - "size": "96354023" + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "checksum": "SHA-256:19af109fda024a3a4c989f7ccaa104f9b1b74cfd6c9363e730bb8cb9b50d5dc4", - "size": "101712946" + "packager": "esp32", + "name": "esptool_py", + "version": "4.6" }, { - "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "checksum": "SHA-256:9851c2cfa355e1fad8abfb643a1c945d27385b1851f3ae468915ea78fcbec940", - "size": "118610020" + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" }, { - "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "checksum": "SHA-256:a328b3c55631846241bbe7999a309b20b797c8dc50b6e8dccf463e66a2da5fb4", - "size": "121846722" + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3", - "systems": [ + "name": "esp32", + "architecture": "esp32", + "version": "2.0.17", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.17/esp32-2.0.17.zip", + "archiveFileName": "esp32-2.0.17.zip", + "checksum": "SHA-256:1f8658d4b18a8001ce782142ad08164af2991d70b83a147c3437a6ee30a9b225", + "size": "254658377", + "help": { + "online": "" + }, + "boards": [ { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", - "checksum": "SHA-256:9edd1e77627688f435561922d14299f6a0021ba1f6ff67e472e1108695a69e53", - "size": "90569312" + "name": "ESP32 Dev Board" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", - "checksum": "SHA-256:3a21a3e310e6b1e7d7bed1f3e59698a5bd29ed3a5ca79fba9265d7dd2f1e0cd2", - "size": "86838362" + "name": "ESP32-S2 Dev Board" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", - "checksum": "SHA-256:89313c4c1d8db1b01624f31b58bf3fbe527160569828ac4301e9daa75c52716d", - "size": "86187540" + "name": "ESP32-S3 Dev Board" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", - "checksum": "SHA-256:a1f165a836f175daa6fbfde4ca99cb93b377f021fbfc41f79a700bd4df965a9a", - "size": "92580267" + "name": "ESP32-C3 Dev Board" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", - "checksum": "SHA-256:dda3d7a43efd995d9a51d5a5741626dbf915df46078aef0b5aea7163ac82398b", - "size": "97807647" + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", - "checksum": "SHA-256:fd147592928ef2d7092ba34b01ecd776fe26ba3d7e3f9b6b215a3b46e981ee2c", - "size": "116464819" + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", - "checksum": "SHA-256:9395315c07de0b9f05c9a6616ba1f05e76ab651053f2f40479163a8e03cfa830", - "size": "119511910" - } - ] - }, - { - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2021r2", - "systems": [ + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", - "checksum": "SHA-256:3eb3d68b27fa6ba5af6f88da21cb8face9be0094daaa8960793cfe570ab785ff", - "size": "90565318" + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", - "checksum": "SHA-256:aa534be24e45e06b7080a6a3bb8cd9e3cfb818f5f8bce2244d7cfb5e91336541", - "size": "86860292" + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", - "checksum": "SHA-256:f0e49ce06fe7833ff5d76961dc2dac5449d320f823bb8c05a302cf85a3a6eb04", - "size": "86183421" + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", - "checksum": "SHA-256:06de09b74652de43e5b22db3b7fc992623044baa75e9faaab68317a986715ba3", - "size": "92582250" + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", - "checksum": "SHA-256:96443f69c8569417c780ee749d91ef33cffe22153fffa30a0fbf12107d87381b", - "size": "97808961" + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1" }, { - "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win32.zip", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win32.zip", - "checksum": "SHA-256:076a4171bdc33e5ced3952efffb233d70263dfa760e636704050597a9edf61db", - "size": "112578260" + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" }, { - "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win64.zip", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win64.zip", - "checksum": "SHA-256:c35b7998f7f503e0cb22055d1e279ae14b6b0e09bb3ff3846b17d552ece9c247", - "size": "115278695" + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { - "name": "xtensa-esp32-elf-gcc", - "version": "gcc8_4_0-esp-2021r1", - "systems": [ - { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", - "checksum": "SHA-256:44a0b467b9d2b759ab48b2f27aed684581f33c96e2842992781c4e045992c5b0", - "size": "86361217" + "name": "esp32", + "architecture": "esp32", + "version": "2.0.16", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.16/esp32-2.0.16.zip", + "archiveFileName": "esp32-2.0.16.zip", + "checksum": "SHA-256:6615fd16fd6d3ee2fa7ca2dd40a4f65220eddf094a88b7cee2141a0c077987bc", + "size": "254657760", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", - "checksum": "SHA-256:fdacdb2a7bbf6293bcafda9b52463a4da8a2f3b7e1df9f83d35ff9d1efa22012", - "size": "84520407" + "name": "ESP32-S2 Dev Board" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", - "checksum": "SHA-256:e2024096492dfaa50fc6ac336cd8faa2e395e8cebb617753eab0b5f16d3dd0dc", - "size": "88375391" + "name": "ESP32-S3 Dev Board" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", - "checksum": "SHA-256:7bbc6a2b94f009cd8a3351b9c7acf7a5caa1c4d3700500ead60f84965386a61b", - "size": "93357296" + "name": "ESP32-C3 Dev Board" }, { - "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-win32.zip", - "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-win32.zip", - "checksum": "SHA-256:e4f9fdda192abfc9807e3e7fcd6e9fea30c1a0cf3f3c5a5c961b5114fc8c9b7e", - "size": "105603626" + "name": "Arduino Nano ESP32" } - ] - }, - { - "name": "xtensa-esp32-elf-gcc", - "version": "1.22.0-97-gc752ad5-5.2.0", - "systems": [ + ], + "toolsDependencies": [ { - "host": "i686-mingw32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-win32-1.22.0-97-gc752ad5-5.2.0.zip", - "archiveFileName": "xtensa-esp32-elf-win32-1.22.0-97-gc752ad5-5.2.0.zip", - "checksum": "SHA-256:80571e5d5a63494f4fa758bb9d8fb882ba4059853a8c412a84d232dc1c1400e6", - "size": "125747216" + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-macos-1.22.0-97-gc752ad5-5.2.0.tar.gz", - "archiveFileName": "xtensa-esp32-elf-macos-1.22.0-97-gc752ad5-5.2.0.tar.gz", - "checksum": "SHA-256:b1ce39a563ae359cf363fb7d8ee80cb1e5226fda83188203cff60f16f55e33ef", - "size": "50525386" + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux64-1.22.0-97-gc752ad5-5.2.0.tar.gz", - "archiveFileName": "xtensa-esp32-elf-linux64-1.22.0-97-gc752ad5-5.2.0.tar.gz", - "checksum": "SHA-256:96f5f6e7611a0ed1dc47048c54c3113fc5cebffbf0ba90d8bfcd497afc7ef9f3", - "size": "44225380" + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux32-1.22.0-97-gc752ad5-5.2.0.tar.gz", - "archiveFileName": "xtensa-esp32-elf-linux32-1.22.0-97-gc752ad5-5.2.0.tar.gz", - "checksum": "SHA-256:8094a2c30b474e99ce64dd0ba8f310c4614eb3b3cac884a3aea0fd5f565af119", - "size": "45575521" + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", - "archiveFileName": "xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", - "checksum": "SHA-256:d70d550f88448fa476b29fa50ef5502ab497a16ac7fa9ca24c6d0a39bb1e681e", - "size": "50657803" + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", - "archiveFileName": "xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", - "checksum": "SHA-256:d70d550f88448fa476b29fa50ef5502ab497a16ac7fa9ca24c6d0a39bb1e681e", - "size": "50657803" - } - ] - }, - { - "version": "1.22.0-80-g6c4433a-5.2.0", - "name": "xtensa-esp32-elf-gcc", - "systems": [ + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823" + }, { - "url": "https://dl.espressif.com/dl/xtensa-esp32-elf-win32-1.22.0-80-g6c4433a-5.2.0.zip", - "checksum": "SHA-256:f217fccbeaaa8c92db239036e0d6202458de4488b954a3a38f35ac2ec48058a4", - "host": "i686-mingw32", - "archiveFileName": "xtensa-esp32-elf-win32-1.22.0-80-g6c4433a-5.2.0.zip", - "size": "125719261" + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921" }, { - "url": "https://dl.espressif.com/dl/xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz", - "checksum": "SHA-256:a4307a97945d2f2f2745f415fbe80d727750e19f91f9a1e7e2f8a6065652f9da", - "host": "x86_64-apple-darwin", - "archiveFileName": "xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz", - "size": "46517409" + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1" }, { - "url": "https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz", - "checksum": "SHA-256:3fe96c151d46c1d4e5edc6ed690851b8e53634041114bad04729bc16b0445156", - "host": "x86_64-pc-linux-gnu", - "archiveFileName": "xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz", - "size": "44219107" + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" }, { - "url": "https://dl.espressif.com/dl/xtensa-esp32-elf-linux32-1.22.0-80-g6c4433a-5.2.0.tar.gz", - "checksum": "SHA-256:b4055695ffc2dfc0bcb6dafdc2572a6e01151c4179ef5fa972b3fcb2183eb155", - "host": "i686-pc-linux-gnu", - "archiveFileName": "xtensa-esp32-elf-linux32-1.22.0-80-g6c4433a-5.2.0.tar.gz", - "size": "45566336" + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" }, { - "url": "https://dl.espressif.com/dl/xtensa-esp32-elf-linux-armel-1.22.0-87-gb57bad3-5.2.0.tar.gz", - "checksum": "SHA-256:9c68c87bb23b1256dc0a1859b515946763e5292dcab4a4159a52fae5618ce861", - "host": "arm-linux-gnueabihf", - "archiveFileName": "xtensa-esp32-elf-linux-armel-1.22.0-87-gb57bad3-5.2.0.tar.gz", - "size": "50655584" + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { - "name": "xtensa-esp32s2-elf-gcc", - "version": "esp-2021r2-patch5-8.4.0", - "systems": [ + "name": "esp32", + "architecture": "esp32", + "version": "2.0.15", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.15/esp32-2.0.15.zip", + "archiveFileName": "esp32-2.0.15.zip", + "checksum": "SHA-256:2219c1636264f55e19b2a5e7f41c81b669b1355017b15ee31773c85674b3e9bb", + "size": "254657764", + "help": { + "online": "" + }, + "boards": [ { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "checksum": "SHA-256:19c77bd91fefab7c8c40a6334f9b985e2d9a1c7fac6d424b692110930dd3682f", - "size": "67849099" + "name": "ESP32 Dev Board" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "checksum": "SHA-256:bdcd24676ef2a65b670ca9e0a01768ece47f4dfcfb545a3307f76a054c33b522", - "size": "64154532" + "name": "ESP32-S2 Dev Board" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "checksum": "SHA-256:b26723b6ce1c35b90f204eb39e5ab06a6f80fb7895f000e16b6962e4c176ae32", - "size": "63448105" + "name": "ESP32-S3 Dev Board" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "checksum": "SHA-256:da3b5c45e4997d14269df1814c92dd7004902bb810608341bc3819c3e506fa0b", - "size": "69656104" + "name": "ESP32-C3 Dev Board" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "checksum": "SHA-256:8eb63745b44083edef7cc6fdf3b06999f576b75134bc5e8b0ef881ca439b72d7", - "size": "75154138" + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "arm64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", - "checksum": "SHA-256:4cd38d6ec31076c0aa083f62ab84ab5c33aa07fafd0af61366186e5f553aa008", - "size": "66457613" + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "checksum": "SHA-256:c758062295804b082fbd77fcd59a356f62d4e76372aaa29589cc871603309cba", - "size": "82338511" + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "checksum": "SHA-256:1c1e168ff8bc460a9719f3b216d3c1125d29040389786d738244838499362c74", - "size": "85579252" - } - ] - }, - { - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch5", - "systems": [ + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823" + }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "checksum": "SHA-256:19c77bd91fefab7c8c40a6334f9b985e2d9a1c7fac6d424b692110930dd3682f", - "size": "67849099" + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "checksum": "SHA-256:bdcd24676ef2a65b670ca9e0a01768ece47f4dfcfb545a3307f76a054c33b522", - "size": "64154532" + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "checksum": "SHA-256:b26723b6ce1c35b90f204eb39e5ab06a6f80fb7895f000e16b6962e4c176ae32", - "size": "63448105" + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "checksum": "SHA-256:da3b5c45e4997d14269df1814c92dd7004902bb810608341bc3819c3e506fa0b", - "size": "69656104" + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "checksum": "SHA-256:8eb63745b44083edef7cc6fdf3b06999f576b75134bc5e8b0ef881ca439b72d7", - "size": "75154138" + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" }, { - "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "checksum": "SHA-256:c758062295804b082fbd77fcd59a356f62d4e76372aaa29589cc871603309cba", - "size": "82338511" + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" }, { - "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "checksum": "SHA-256:1c1e168ff8bc460a9719f3b216d3c1125d29040389786d738244838499362c74", - "size": "85579252" + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3", - "systems": [ + "name": "esp32", + "architecture": "esp32", + "version": "2.0.14", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.14/esp32-2.0.14.zip", + "archiveFileName": "esp32-2.0.14.zip", + "checksum": "SHA-256:77c71eba520c97ab30161eb2f9c6a46b019e48d13936244b18f6ad4dbecf0a58", + "size": "252506057", + "help": { + "online": "" + }, + "boards": [ { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", - "checksum": "SHA-256:a32451a8edc1104b83cd9971178e61826e957d7db9ad9f81798a8969fd5a954e", - "size": "90894048" + "name": "ESP32 Dev Board" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", - "checksum": "SHA-256:2ac2c94a533a99a091d2159c678c611c712c494b5f68d97913254712047260f9", - "size": "87178224" + "name": "ESP32-S2 Dev Board" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", - "checksum": "SHA-256:da49afee1e2e03eaab3f492718789442d33b562800e2a892679f95b50be24d14", - "size": "86569314" + "name": "ESP32-S3 Dev Board" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", - "checksum": "SHA-256:36d3c4990a5feb68aa8534463bc9e8ee367fe23886f78e1d726f4411c7571462", - "size": "92884013" + "name": "ESP32-C3 Dev Board" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", - "checksum": "SHA-256:de9af641678c93775e932ee5ec4f478f8925cfc1ebc22e41adc4fb85430a0c35", - "size": "98224709" + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", - "checksum": "SHA-256:ccf08afe60046f87b0e81ca17dc5073eda68ab5e7522c163dd5b583d713b7b39", - "size": "116924759" + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", - "checksum": "SHA-256:37c91490b8fc75e638c23785e261eaf553be2dcd106cf6cff5b76981fa02955b", - "size": "119912142" - } - ] - }, - { - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2021r2", - "systems": [ + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", - "checksum": "SHA-256:a6e0947c92b823ca04f062522249f0a428357e0b056f1ff4c6bcabef83cf63a7", - "size": "90901736" + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", - "checksum": "SHA-256:d2e5600fc194b508bd393b236a09fd62ed70afb6c36619d4b106b696a56ca66d", - "size": "87176557" + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", - "checksum": "SHA-256:3fff4199e986dd74660f17ca27d9414cb98f1b911a7f13bb3b22e784cb1156cf", - "size": "86581102" + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", - "checksum": "SHA-256:7732f9fb371d36b6b324820e300beecc33c2719921a61cf1cdb5bc625016b346", - "size": "92875986" + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230419" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", - "checksum": "SHA-256:e6dd32782fcff8f633299b97d1c671d6b6513390aca2ddbd7543c2cc62e72d7e", - "size": "98212907" + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1" }, { - "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win32.zip", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win32.zip", - "checksum": "SHA-256:41b917b35f6fbe7d30b7de91c32cf348c406acfa729a1eabc450d040dc46fbe2", - "size": "113022469" + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" }, { - "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win64.zip", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win64.zip", - "checksum": "SHA-256:a764c1a0ee743d69f8cbfadbe4426a2c15c0e233b0894244c7cadf3b4d7dd32a", - "size": "115696999" + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { - "name": "xtensa-esp32s2-elf-gcc", - "version": "gcc8_4_0-esp-2021r1", - "systems": [ + "name": "esp32", + "architecture": "esp32", + "version": "2.0.13", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.13/esp32-2.0.13.zip", + "archiveFileName": "esp32-2.0.13.zip", + "checksum": "SHA-256:ee4c277bac0eecb7ca8853780da9d49b4e260926059cf6a9f9bac1923059de0c", + "size": "250665913", + "help": { + "online": "" + }, + "boards": [ { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", - "checksum": "SHA-256:b127baccfe6949ee7eaf3d0782ea772750a9b8e2732b16ce6bcc9dcd91f7209a", - "size": "86687290" + "name": "ESP32 Dev Board" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", - "checksum": "SHA-256:7ca0d240f11e1c53c01a56257b0c968f876ab405142d1068d8c9b456d939554c", - "size": "84916701" + "name": "ESP32-S2 Dev Board" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", - "checksum": "SHA-256:9941f993ff84d1c606b45ffbeeb7bcdc5a72cf24e787bb9230390510fe3511c6", - "size": "88699953" + "name": "ESP32-S3 Dev Board" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", - "checksum": "SHA-256:4b55b1a9ca7fc945be6fc3513802b6cece9264bee4cbca76013569cec2695973", - "size": "93757895" + "name": "ESP32-C3 Dev Board" }, { - "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-win32.zip", - "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-win32.zip", - "checksum": "SHA-256:c94ec1e45c81b7e4944d216bab4aa41d46849768d7761fd691661dab1a3df828", - "size": "106013515" + "name": "Arduino Nano ESP32" } - ] - }, - { - "name": "xtensa-esp32s3-elf-gcc", - "version": "esp-2021r2-patch5-8.4.0", - "systems": [ + ], + "toolsDependencies": [ { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "checksum": "SHA-256:8aa17a6adf01efa5b1628c8ac578063a44d26ae9581d39486b92223a41ef262f", - "size": "68099473" + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "checksum": "SHA-256:b218c11122e5565b6442376ebd21a652abdfcbf90981afa3e177ce978710225d", - "size": "64233211" + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "checksum": "SHA-256:967477434ad5483718915936a77ce915a10c5972a6b3fd02688a5c4e14182bfb", - "size": "63530586" + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "checksum": "SHA-256:07671d01a63ebd389912787efb2b263677c7b351c07fe430ded733cdae95e81d", - "size": "70025439" + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "checksum": "SHA-256:99b6d44cea5aebbedc8b6965e7bf551aa4a40ed83ddbe1c0e9b7cb255564ded5", - "size": "75719772" + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "arm64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", - "checksum": "SHA-256:c64b05be25d26916c65dcfe11de9e60b96d58980b2df706d3074cb70b1ef6cb9", - "size": "66791095" + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823" }, { - "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "checksum": "SHA-256:658d3036ffdf11ddad6f0a784c8829f6ffd4dbd7c252d7f61722256d0ad43975", - "size": "82665716" + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026" }, { - "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "checksum": "SHA-256:9000be38d44bf79c39b93a2aeb99b42e956c593ccbc02fe31cb9c71ae1bbcb22", - "size": "86022563" + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { - "name": "xtensa-esp32s3-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch5", - "systems": [ + "name": "esp32", + "architecture": "esp32", + "version": "2.0.12", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.12/esp32-2.0.12.zip", + "archiveFileName": "esp32-2.0.12.zip", + "checksum": "SHA-256:9a4f844ca67812c547a9635cdb0dd2c347cae7a3e855f95f9d490b2f8d340dbe", + "size": "250664387", + "help": { + "online": "" + }, + "boards": [ { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "checksum": "SHA-256:8aa17a6adf01efa5b1628c8ac578063a44d26ae9581d39486b92223a41ef262f", - "size": "68099473" + "name": "ESP32 Dev Board" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "checksum": "SHA-256:b218c11122e5565b6442376ebd21a652abdfcbf90981afa3e177ce978710225d", - "size": "64233211" + "name": "ESP32-S2 Dev Board" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "checksum": "SHA-256:967477434ad5483718915936a77ce915a10c5972a6b3fd02688a5c4e14182bfb", - "size": "63530586" + "name": "ESP32-S3 Dev Board" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "checksum": "SHA-256:07671d01a63ebd389912787efb2b263677c7b351c07fe430ded733cdae95e81d", - "size": "70025439" + "name": "ESP32-C3 Dev Board" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "checksum": "SHA-256:99b6d44cea5aebbedc8b6965e7bf551aa4a40ed83ddbe1c0e9b7cb255564ded5", - "size": "75719772" + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "checksum": "SHA-256:658d3036ffdf11ddad6f0a784c8829f6ffd4dbd7c252d7f61722256d0ad43975", - "size": "82665716" + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "checksum": "SHA-256:9000be38d44bf79c39b93a2aeb99b42e956c593ccbc02fe31cb9c71ae1bbcb22", - "size": "86022563" - } - ] - }, - { - "name": "xtensa-esp32s3-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3", - "systems": [ + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", - "checksum": "SHA-256:59b271d014ff3915b6db1b43b610a45eea15fe5d6877d12cae8a191cc996ed37", - "size": "90903617" + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", - "checksum": "SHA-256:7051b32483e61f98606d71c98e372929428a5165df791dcd5830ed9517763152", - "size": "87065204" + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", - "checksum": "SHA-256:48c8dbbf96eec691a812327dc580042d9718fe989e60c2111ebfd692ac710081", - "size": "86455731" + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", - "checksum": "SHA-256:552dca3f4302ab7ca88a934b0391200198c9d10a4d8ac413fe604cbf8601f950", - "size": "92906274" + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", - "checksum": "SHA-256:e5af78f05d3af07617805d06ebb45ff2fe9b6aed6970a84c35eea28a5d8d5e53", - "size": "98553473" + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1" }, { - "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", - "checksum": "SHA-256:1b70163acccc5655449de1d149427a54f384156bd35816ec60c422d76d033f05", - "size": "116847008" + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" }, { - "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", - "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", - "checksum": "SHA-256:58e58575d1938879fd51e822181e54bcb343aa846eb3fca8f616c2cde7bd0041", - "size": "120066269" + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { - "name": "riscv32-esp-elf-gcc", - "version": "esp-2021r2-patch5-8.4.0", - "systems": [ + "name": "esp32", + "architecture": "esp32", + "version": "2.0.11", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.11/esp32-2.0.11.zip", + "archiveFileName": "esp32-2.0.11.zip", + "checksum": "SHA-256:d15386308dc72f94816ce80b5508af999f2fd0d88eb5e1ffba48316ab0b9c5d6", + "size": "250401265", + "help": { + "online": "" + }, + "boards": [ { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "checksum": "SHA-256:f7d73e5f9e2df3ea6ca8e2c95d6ca6d23d6b38fd101ea5d3012f3cb3cd59f39f", - "size": "192388486" + "name": "ESP32 Dev Board" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "checksum": "SHA-256:cf520ae3a72f65b9758ea187524b105b8b7546566d738c32e60a0df9846ef1af", - "size": "188626914" + "name": "ESP32-S2 Dev Board" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "checksum": "SHA-256:2dc3536214caa1697f6834bb4701d05894ca55b53589fc5b54064b050ef93799", - "size": "188624050" + "name": "ESP32-S3 Dev Board" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "checksum": "SHA-256:165d6d53e76d79f5ade7e2b7ade54b2b495ecfda0d1184d84d6343659d0e3bdb", - "size": "194606113" + "name": "ESP32-C3 Dev Board" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "checksum": "SHA-256:d6d4cef216cbf28d6fbb88f3e127d4f42a376d9497c260bf8c1ad9cef440f839", - "size": "199411930" + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "arm64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", - "checksum": "SHA-256:6e03f2ab1f145be13f8890c6de77b53f52c7bffe3d9d5824549db20298f5ba91", - "size": "191209735" + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "checksum": "SHA-256:1e0cfcfbc8f82c441261cadd21742f66d716ec18c18bf10ed7c7d5b0bee6752f", - "size": "257844437" + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "checksum": "SHA-256:b08f568e8fe5069dd521b87da21b8e56117e5c2c3b492f73a51966a46d3379a4", - "size": "259712666" - } - ] - }, - { - "name": "riscv32-esp-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch5", - "systems": [ + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823" + }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", - "checksum": "SHA-256:f7d73e5f9e2df3ea6ca8e2c95d6ca6d23d6b38fd101ea5d3012f3cb3cd59f39f", - "size": "192388486" + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", - "checksum": "SHA-256:cf520ae3a72f65b9758ea187524b105b8b7546566d738c32e60a0df9846ef1af", - "size": "188626914" + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", - "checksum": "SHA-256:2dc3536214caa1697f6834bb4701d05894ca55b53589fc5b54064b050ef93799", - "size": "188624050" + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", - "checksum": "SHA-256:165d6d53e76d79f5ade7e2b7ade54b2b495ecfda0d1184d84d6343659d0e3bdb", - "size": "194606113" + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", - "checksum": "SHA-256:d6d4cef216cbf28d6fbb88f3e127d4f42a376d9497c260bf8c1ad9cef440f839", - "size": "199411930" + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" }, { - "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", - "checksum": "SHA-256:1e0cfcfbc8f82c441261cadd21742f66d716ec18c18bf10ed7c7d5b0bee6752f", - "size": "257844437" + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" }, { - "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", - "checksum": "SHA-256:b08f568e8fe5069dd521b87da21b8e56117e5c2c3b492f73a51966a46d3379a4", - "size": "259712666" + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" } ] }, { - "name": "riscv32-esp-elf-gcc", - "version": "gcc8_4_0-esp-2021r2-patch3", - "systems": [ + "name": "esp32", + "architecture": "esp32", + "version": "2.0.10", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.10/esp32-2.0.10.zip", + "archiveFileName": "esp32-2.0.10.zip", + "checksum": "SHA-256:6028cb623c838723c41000869963d95f7cb811d58643133068eed31c03c2d7c0", + "size": "250401273", + "help": { + "online": "" + }, + "boards": [ { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", - "checksum": "SHA-256:179cbad579790ad35e0f414a18d90017c0f158c397022411a8e9867db2174f15", - "size": "106843321" + "name": "ESP32 Dev Board" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", - "checksum": "SHA-256:fb339d476c79c76db8f903b265cab6bb6950d5ed954dec644445252d3378023c", - "size": "103277393" + "name": "ESP32-S2 Dev Board" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", - "checksum": "SHA-256:51a6296d8334b7452dba44b2b62e87afd7fd1c74bafa1aa29b1f4ab72cb9e5e0", - "size": "103062256" + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.9", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.9/esp32-2.0.9.zip", + "archiveFileName": "esp32-2.0.9.zip", + "checksum": "SHA-256:37072185026db3cdc0ed4b6fb12840d7f41571a16c60eec97bec2a4abec8dcee", + "size": "278964028", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.8", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.8/esp32-2.0.8.zip", + "archiveFileName": "esp32-2.0.8.zip", + "checksum": "SHA-256:2c5daa3ce7456e752fb8d8a35b0b6b2eb8e494032cba57569ba12dd53eb235f2", + "size": "278963636", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.7", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.7/esp32-2.0.7.zip", + "archiveFileName": "esp32-2.0.7.zip", + "checksum": "SHA-256:b5a7a54fca36501d1108413310ec50ae2df655c14c3881325903cde2c7ae5f80", + "size": "278966011", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.6", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esp32-2.0.6.zip", + "archiveFileName": "esp32-2.0.6.zip", + "checksum": "SHA-256:ea56d300404cc1b5bc15295f29790246b02025c493e0664a6d271164a602a351", + "size": "264579419", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.2.1" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20220706" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.5", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.5/esp32-2.0.5.zip", + "archiveFileName": "esp32-2.0.5.zip", + "checksum": "SHA-256:c7a1040c5f007a799ef9eb249508e3544c3cf5246f67cdfdc1e80f7d0ca7b41d", + "size": "260916106", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.2.1" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.4", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esp32-2.0.4.zip", + "archiveFileName": "esp32-2.0.4.zip", + "checksum": "SHA-256:832609d6f4cd0edf4e471f02e30b7f0e1c86fdd1b950990ef40431e656237214", + "size": "259715595", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.3.0" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.3", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.3/esp32-2.0.3.zip", + "archiveFileName": "esp32-2.0.3.zip", + "checksum": "SHA-256:7a44ab32a2bfe18a84fd1f75aa1921dae92c6b4a74a2eb4d0c7d479b34996f3b", + "size": "246542267", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.3.0" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.2", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esp32-2.0.2.zip", + "archiveFileName": "esp32-2.0.2.zip", + "checksum": "SHA-256:e139f22aab9cbe8109815de0be110e58a8f1d6c90a2e263eb0b0d646b53a5a33", + "size": "151846438", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.1.0" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.1", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.1/esp32-2.0.1.zip", + "archiveFileName": "esp32-2.0.1.zip", + "checksum": "SHA-256:3a7cd46ba47990dd37fbe02b7f0a910dd5cc7af1d190350b69d320ed36cd6b41", + "size": "148976301", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.1.0" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.0", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0/esp32-2.0.0.zip", + "archiveFileName": "esp32-2.0.0.zip", + "checksum": "SHA-256:10e1c42dbf11d2359259a80008f13f37d2f9bb8f49a25d34d387cf4531052cbc", + "size": "139313137", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + }, + { + "name": "WEMOS D1 MINI ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r1" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r1" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r1" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.1.0" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "1.0.6", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.6/esp32-1.0.6.zip", + "archiveFileName": "esp32-1.0.6.zip", + "checksum": "SHA-256:982da9aaa181b6cb9c692dd4c9622b022ecc0d1e3aa0c5b70428ccc3c1b4556b", + "size": "51126662", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + }, + { + "name": "WEMOS D1 MINI ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "1.22.0-97-gc752ad5-5.2.0" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.0.0" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "1.0.5", + "category": "ESP32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5/esp32-1.0.5.zip", + "archiveFileName": "esp32-1.0.5.zip", + "checksum": "SHA-256:dc5c6c72a127b3171c654f3c3476911d3c2b0ab21affdb7b0f0756c105ca71a7", + "size": "49552769", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + }, + { + "name": "WEMOS D1 MINI ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "1.22.0-97-gc752ad5-5.2.0" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.0.0" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3" + } + ] + }, + { + "category": "ESP32", + "name": "esp32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.4/esp32-1.0.4.zip", + "checksum": "SHA-256:d9108bf873933c4e48a3ca401fb51e41b2cc3f98d7c9b9be9881e7ca34bf0efe", + "help": { + "online": "" + }, + "version": "1.0.4", + "architecture": "esp32", + "archiveFileName": "esp32-1.0.4.zip", + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + }, + { + "name": "WEMOS D1 MINI ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "version": "1.22.0-80-g6c4433a-5.2.0", + "name": "xtensa-esp32-elf-gcc" + }, + { + "packager": "esp32", + "version": "2.6.1", + "name": "esptool_py" + }, + { + "packager": "esp32", + "version": "0.2.3", + "name": "mkspiffs" + } + ], + "size": "36853332" + }, + { + "category": "ESP32", + "name": "esp32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.3/esp32-1.0.3.zip", + "checksum": "SHA-256:19a30ece8a3ab26ab420c3d5531a9a1c51cb04e421a4f1d86dc072c209060436", + "help": { + "online": "" + }, + "version": "1.0.3", + "architecture": "esp32", + "archiveFileName": "esp32-1.0.3.zip", + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + }, + { + "name": "WEMOS D1 MINI ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "version": "1.22.0-80-g6c4433a-5.2.0", + "name": "xtensa-esp32-elf-gcc" + }, + { + "packager": "esp32", + "version": "2.6.1", + "name": "esptool_py" + }, + { + "packager": "esp32", + "version": "0.2.3", + "name": "mkspiffs" + } + ], + "size": "36811826" + }, + { + "category": "ESP32", + "help": { + "online": "" + }, + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.2/esp32-1.0.2.zip", + "checksum": "SHA-256:c3a5a5050705d41ab205d25a7399e921057b754ef8f883419f58c0c7f08df11c", + "version": "1.0.2", + "architecture": "esp32", + "archiveFileName": "esp32-1.0.2.zip", + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + } + ], + "size": "31174160", + "toolsDependencies": [ + { + "packager": "esp32", + "version": "1.22.0-80-g6c4433a-5.2.0", + "name": "xtensa-esp32-elf-gcc" + }, + { + "packager": "esp32", + "version": "2.6.1", + "name": "esptool_py" + }, + { + "packager": "esp32", + "version": "0.2.3", + "name": "mkspiffs" + } + ], + "name": "esp32" + }, + { + "category": "ESP32", + "help": { + "online": "" + }, + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.1/esp32-1.0.1.zip", + "checksum": "SHA-256:1a7fa2f9bb0b6b5a20dfea227497f4851dc8b886caf7ecb998f745589c97ed34", + "name": "esp32", + "version": "1.0.1", + "architecture": "esp32", + "archiveFileName": "esp32-1.0.1.zip", + "size": "31273425", + "toolsDependencies": [ + { + "packager": "esp32", + "version": "1.22.0-80-g6c4433a-5.2.0", + "name": "xtensa-esp32-elf-gcc" + }, + { + "packager": "esp32", + "version": "2.6.0", + "name": "esptool_py" + }, + { + "packager": "esp32", + "version": "0.2.3", + "name": "mkspiffs" + } + ], + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + } + ] + }, + { + "category": "ESP32", + "help": { + "online": "" + }, + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.0/esp32-1.0.0.zip", + "checksum": "SHA-256:94d586174f103e2014be590ab307c5cdda6fa2ec70204c7f121882ace5e05c80", + "name": "esp32", + "version": "1.0.0", + "architecture": "esp32", + "archiveFileName": "esp32-1.0.0.zip", + "size": "26381887", + "toolsDependencies": [ + { + "packager": "esp32", + "version": "1.22.0-80-g6c4433a-5.2.0", + "name": "xtensa-esp32-elf-gcc" + }, + { + "packager": "esp32", + "version": "2.3.1", + "name": "esptool" + }, + { + "packager": "esp32", + "version": "0.2.3", + "name": "mkspiffs" + } + ], + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + } + ] + } + ], + "tools": [ + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.4-2f7dcd86-v1", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-489d7a2b-v1", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-cfea4f7c-v1", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-083aad99-v2", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-632e0c2a", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-33fbade6", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-b6b4727c58", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-dc859c1e67", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-bd2b9390ef", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-442a798083", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + } + ] + }, + { + "name": "esp-x32", + "version": "2411", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:b1859df334a85541ae746e1b86439f59180d87f8cf1cc04c2e770fadf9f006e9", + "size": "323678089" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:7ff023033a5c00e55b9fc0a0b26d18fb0e476c24e24c5b0459bcb2e05a3729f1", + "size": "320064691" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:bb11dbf3ed25d4e0cc9e938749519e8236cfa2609e85742d311f1d869111805a", + "size": "319454139" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:5ac611dca62ec791d413d1f417d566c444b006d2a4f97bd749b15f782d87249b", + "size": "328335914" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-x86_64-apple-darwin_signed.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-x86_64-apple-darwin_signed.tar.gz", + "checksum": "SHA-256:15b3e60362028eaeff9156dc82dac3f1436b4aeef3920b28d7650974d8c34751", + "size": "336215844" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-aarch64-apple-darwin_signed.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-aarch64-apple-darwin_signed.tar.gz", + "checksum": "SHA-256:45c475518735133789bacccad31f872318b7ecc0b31cc9b7924aad880034f0bf", + "size": "318797396" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-i686-w64-mingw32.zip", + "checksum": "SHA-256:b30e450e0af279783c54a9ae77c3b367dd556b78eda930a92ec7b784a74c28c8", + "size": "382457717" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:62ae704777d73c30689efff6e81178632a1ca44d1a2d60f4621eb997e040e028", + "size": "386316009" + } + ] + }, + { + "name": "esp-x32", + "version": "2405", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:bce77e8480701d5a90545369d1b5848f6048eb39c0022d2446d1e33a8e127490", + "size": "208911713" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:7c9e3c1adc733d042ed87b92daa1d6396e1b441c1755f1fa14cb88855719ba88", + "size": "202519931" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:d6955e8ea6af91574bf9213b92f32ca09eb8640103446b7fa19a63cfeeec5421", + "size": "202206516" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:3666ee74ecb693ee6488f11469802630a7b0d32608184045a4f35cb413f59e3d", + "size": "213304863" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:948cf57b6eecc898b5f70e06ad08ba88c08b627be570ec631dfcd72f6295194a", + "size": "221357024" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:6f03fdf0cc14a7f3900ee59977f62e8626d8b7c208506e52f1fd883ac223427a", + "size": "199689745" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-i686-w64-mingw32_hotfix.zip", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-i686-w64-mingw32_hotfix.zip", + "checksum": "SHA-256:d6b227c50e3c8e21d62502b3140e5ab74a4cb502c2b4169c36238b9858a8fb88", + "size": "266042967" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-x86_64-w64-mingw32_hotfix.zip", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-x86_64-w64-mingw32_hotfix.zip", + "checksum": "SHA-256:155ee97b531236e6a7c763395c68ca793e55e74d2cb4d38a23057a153e01e7d0", + "size": "269831985" + } + ] + }, + { + "name": "esp-x32", + "version": "2302", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:e8d35938385447cf9c34735fee2a3b2b61cca6be07db77a45856a1c2a347e423", + "size": "111766903" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:569988acfc2673369f222037c64bac96990cee08cebeebc4f8860e0d984f8bd9", + "size": "106473247" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:6a844f16021e936cc9b87b203978356f57ab2144554f6f2a0f73ffa3d3d316c5", + "size": "105576049" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:743d6f03a89329bb09f9550d27fcab677f5cf06b4720793bbcef7883a932681d", + "size": "114870843" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:4d32d764e984f3a570aacfb2f4957619540fb4629534d969b2e83997901334c3", + "size": "119424029" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:dc8fa7f4933bf5cb08e83bacce6160cc9dfe93d7aad1e8f92599bb81ff5b2e28", + "size": "106136827" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:62bb6428d107ed3f44c212c77ecf24804b74c97327b0f0ad2029c656c6dbd6ee", + "size": "130847086" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:8febfe4a6476efc69012390106c8c660a14418f025137b0513670c72124339cf", + "size": "134985117" + } + ] + }, + { + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:9d68472d4cba5cf8c2b79d94f86f92c828e76a632bd1e6be5e7706e5b304d36e", + "size": "31010320" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:bdabc3217994815fc311c4e16e588b78f6596b5ad4ffa46c80b40e982cfb1e66", + "size": "30954580" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:d54b8d703ba897b28c627da3d27106a3906dd01ba298778a67064710bc33c76d", + "size": "28697281" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:64d3bc992ed8fdec383d49e8b803ac494605a38117c8293db8da055037de96b0", + "size": "29890994" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:023e74b3fda793da4bc0509b02de776ee0dad6efaaac17bef5916fb7dc9c26b9", + "size": "44446611" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:ea757c6bf8c25238f6d2fdcc6bbab25a1b00608a0f9e19b7ddd2f37ddbdc3fb1", + "size": "37021423" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-i686-w64-mingw32.zip", + "checksum": "SHA-256:322e8d9b700dc32d8158e3dc55fb85ec55de48d0bb7789375ee39a28d5d655e2", + "size": "26302466" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:a27a2fe20f192f8e0a51b8936428b4e1cf8935cfe008ee445cc49f6fc7f6db2e", + "size": "28366035" + } + ] + }, + { + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:d0743ec43cd92c35452a9097f7863281de4e72f04120d63cfbcf9d591a373529", + "size": "36942094" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:bc1fac0366c6a08e26c45896ca21c8c90efc2cdd431b8ba084e8772e15502d0e", + "size": "37134601" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:25efc51d52b71f097ccec763c5c885c8f5026b432fec4b5badd6a5f36fe34d04", + "size": "34579556" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:e0af0b3b4a6b29a843cd5f47e331a966d9258f7d825b4656c6251490f71b05b2", + "size": "35676578" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:bd146fd99a52b2d71c7ce0f62b9e18f3423d6cae7b2b2c954046b0dd7a23142f", + "size": "52863941" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:5edc76565bf9d2fadf24e443ddf3df7567354f336a65d4af5b2ee805cdfcec24", + "size": "33504923" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-i686-w64-mingw32.zip", + "checksum": "SHA-256:ea4f3ee6b95ad1ad2e07108a21a50037a3e64a420cdeb34b2ba95d612faed898", + "size": "31068749" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:13bb97f39173948d1cfb6e651d9b335ea9d52f1fdd0dda1eda3a2d23d8c63644", + "size": "33514906" + } + ] + }, + { + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:b5f7cc3e4b5a58db655754083ed9652e4953e71c3b4922fb624e7a034ec24a64", + "size": 26947336 + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:816acfae38b6b443f4f1590395f68f079243539259d19c7772ae6416c6519444", + "size": 27134508 + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:4dd1bace0633196fddfdcef3cebcc4bbfce22f5a0d2d1e3d618f3d8a6cbfcacc", + "size": 25205239 + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:27744d09d171be2f55ec15fa7f2d7f8ff94d33f7e130d24ebe082cb6c438618b", + "size": 25978028 + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:1432faa12d7301133f6ee654d60751b57adcc6cf323ee1ecc393f06f0225eff4", + "size": 38386785 + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:d0b542ef070ea72857f9cf554f176a0a9d868cd59e05ac293ad39402bcc5277d", + "size": 21671964 + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-i686-w64-mingw32.zip", + "checksum": "SHA-256:1678b06aa80b1d689d05548056635efde5b73b98f2c3de5d555bcfc6f374c5d0", + "size": 23241302 + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:7060df4b6aa133e282147c3651d50222d677d6a0fff92979c500353b099a3f41", + "size": 25135265 + } + ] + }, + { + "name": "esp-rv32", + "version": "2411", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:a16942465d33c7f0334c16e83bc6feb62e06eeb79cf19099293480bb8d48c0cd", + "size": "593721156" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:22486233d0e0fd58a54ae453b701f195f1432fc6f2e17085b9d6c8d5d9acefb7", + "size": "587879927" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:27a72d5d96cdb56dae2a1da5dfde1717c18a8c1f9a1454c8e34a8bd34abe662d", + "size": "586531522" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:b7bd6e4cd53a4c55831d48e96a3d500bfffb091bec84a30bc8c3ad687e3eb3a2", + "size": "597070471" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-x86_64-apple-darwin_signed.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-x86_64-apple-darwin_signed.tar.gz", + "checksum": "SHA-256:5f8b571e1aedbe9f856f3bdeca6600cd5510ccff1ca102c4f001421eda560585", + "size": "602343061" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-aarch64-apple-darwin_signed.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-aarch64-apple-darwin_signed.tar.gz", + "checksum": "SHA-256:a7276042a7eb2d33c2dff7167539e445c32c07d43a2c6827e86d035642503e0b", + "size": "578521565" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-i686-w64-mingw32.zip", + "checksum": "SHA-256:54193a97bd75205678ead8d11f00b351cfa3c2a6e5ab5d966341358b9f9422d7", + "size": "672055172" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:24c8407fa467448d394e0639436a5ede31caf1838e35e8435e19df58ebed438c", + "size": "677812937" + } + ] + }, + { + "name": "esp-rv32", + "version": "2405", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:e7fbfffbb19dcd3764a9848a141bf44e19ad0b48e0bd1515912345c26fe52fba", + "size": "294346758" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:a178a895b807ed2e87d5d62153c36a6aae048581f527c0eb152f0a02b8de9571", + "size": "288374597" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:4a2f176d0f5bc8a70645975e2a08ea94145fb69b7225c5cdcbd6024a4836aaf5", + "size": "287737495" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:7a6f02f1b2effafb18600bbf602818f6923fd320f000fb8659f34acbfda8812f", + "size": "299138540" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-x86_64-apple-darwin.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:a193b4f025d0d836b0a9d9cbe760af1c53e53af66fc332fe98952bc4c456dd9a", + "size": "305025700" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-aarch64-apple-darwin.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:7082dd2e2123dea5609a24092d19ac6612ae7e219df1d298de6b2f64cb4af0df", + "size": "285458443" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-i686-w64-mingw32.zip", + "checksum": "SHA-256:590bfb10576702639825581cc00c445da6e577012840a787137417e80d15f46d", + "size": "366573064" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:413eb9f6adf8fdaf25544d014c850fc09eb38bb93a2fc5ebd107ab1b0de1bb3a", + "size": "369820297" + } + ] + }, + { + "name": "esp-rv32", + "version": "2302", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:1eb0d65990547ee9706b90406600cbc3638814d5feb7c1f7b44bb5416478a5bd", + "size": "257615266" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:921fcdc170c7fe5d6a0a30470ed1875c8926d910c19739fc950c8d1836e4c1c5", + "size": "253094184" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:f66e06312b58251c2121c1b1df1102565708573b86b2a9fe0c03ea1b0e9a7511", + "size": "252558021" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:8abcac0331ef8973d1c705e77523364ebec7e98b37640d4a1d036912f3cbe946", + "size": "261248375" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:76a334bc75a4e3891c222c84d7968817f2d0699d2976fc2a1658e56395283bec", + "size": "268987133" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:f30571945b257a10a26901bba3c5892e07c192aacf9ed6e8fcd11ca36ed827d2", + "size": "252159713" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:a5dfbb6dbf6fc6c6ea9beb2723af059ba3c5b2c86c2f0dc3b21afdc7bb229bf5", + "size": "324863847" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:9deae9e0013b2f7bbf017f9c8135755bfa89522f337c7dca35872bf12ec08176", + "size": "328092732" + } + ] + }, + { + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:ce004bc0bbd71b246800d2d13b239218b272a38bd528e316f21f1af2db8a4b13", + "size": "30707431" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:ba10f2866c61410b88c65957274280b1a62e3bed05131654ed9b6758efe18e55", + "size": "30824065" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:88539db5d987f28827efac7e26080a2803b9b539342ccd2963ccfdd56d7f08f7", + "size": "29000575" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:0e628ee37438ab6ba05eb889a76d09e50cb98e0020a16b8e2b935c5cf19b4ed2", + "size": "29947521" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:8f6bda832d70dad5860a639d55aba4237bd10cbac9f4822db1eece97357b34a9", + "size": "44196117" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:d88b6116e86456c8480ce9bc95aed375a35c0d091f1da0a53b86be0e6ef3d320", + "size": "36794404" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-i686-w64-mingw32.zip", + "checksum": "SHA-256:d6e7ce05805b0d8d4dd138ad239b98a1adf8da98941867d60760eb1ae5361730", + "size": "26486295" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:5c9f211dc46daf6b96fad09d709284a0f0186fef8947d9f6edd6bca5b5ad4317", + "size": "27942579" + } + ] + }, + { + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:2c78b806be176b1e449e07ff83429d38dfc39a13f89a127ac1ffa6c1230537a0", + "size": "36630145" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:33f80117c8777aaff9179e27953e41764c5c46b3c576dc96a37ecc7a368807ec", + "size": "36980143" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:292e6ec0a9381c1480bbadf5caae25e86428b68fb5d030c9be7deda5e7f070e0", + "size": "34950318" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:68a25fbcfc6371ec4dbe503ec92211977eb2006f0c29e67dbce6b93c70c6b7ec", + "size": "35801607" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:322c722e6c12225ed8cd97f95a0375105756dc5113d369958ce0858ad1a90257", + "size": "52618688" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:c2224b3a8d02451c530cf004c29653292d963a1b4021b4b472b862b6dbe97e0b", + "size": "33149392" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-i686-w64-mingw32.zip", + "checksum": "SHA-256:4b42149a99dd87ee7e6dde25c99bad966c7f964253fa8f771593d7cef69f5602", + "size": "31635103" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:728231546ad5006d34463f972658b2a89e52f660a42abab08a29bedd4a8046ad", + "size": "33400816" + } + ] + }, + { + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:6bf5b5d2d407e074af2a74fc826764934ac1625a1751c52fbc0d4d7772061f8f", + "size": 26799809 + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:e54ef67cdb5724fc2da8f0487f19b2c83c08b560fff317f5ffd98fbb230b397a", + "size": 27021672 + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:86772c6aee8a05b2c75a6b04e9da630e35e8415b64da8ccde92a5fb2d3c7fcf4", + "size": 25532577 + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:3463be3e24182b7f1bd0fb232020534445b2d0ea0e7093c1b4f4da102b3baf52", + "size": 26188698 + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:a9db1811ebb9271134eba2f7c303fc2587bd4b2a1ae33cd05ff2605cd2fb30d2", + "size": 38397584 + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:c94fb6d726b8d97e65e23237f5126a41343bca8f22a0414df5f0e6777e36f51c", + "size": 21593613 + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-i686-w64-mingw32.zip", + "checksum": "SHA-256:20cdee8a1c01428363ef02f4cc8035c65508d6b43560c525733eae94b7c7bb50", + "size": 23436802 + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:add72366485b784b66837ce263548980f1df144d0954c42d75a81f6acbd43cac", + "size": 24802315 + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-linux-amd64-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:e82b0f036dc99244bead5f09a86e91bb2365cbcd1122ac68261e5647942485df", + "size": "2398717" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-linux-arm64-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:8f8daf5bd22ec5d2fa9257b0862ec33da18ee677e023fb9a9eb17f74ce208c76", + "size": "2271584" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-linux-armel-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:bc9c020ecf20e2000f76cffa44305fd5bc44d2e688ea78cce423399d33f19767", + "size": "2414206" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-macos-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:02a2dffe801a2d005fa9e614d80ff8173395b2cb0b5d3118d0229d094a9946a7", + "size": "2508089" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-macos-arm64-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:c382f9e884d6565cb6089bff5f200f4810994667d885f062c3d3c5625a0fa9d6", + "size": "2552569" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-win32-0.12.0-esp32-20241016.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20241016.zip", + "checksum": "SHA-256:3b5d615e0a72cc771a45dd469031312d5881c01d7b6bc9edb29b8b6bda8c2e90", + "size": "2946244" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-win64-0.12.0-esp32-20241016.zip", + "archiveFileName": "openocd-esp32-win64-0.12.0-esp32-20241016.zip", + "checksum": "SHA-256:5e7b2fd1947d3a8625f6a11db7a2340cf2f41ff4c61284c022c7d7c32b18780a", + "size": "2946244" + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240821", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-linux-amd64-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:f8c68541fa38307bc0c0763b7e1e3fe4e943d5d45da07d817a73b492e103b652", + "size": "2373094" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-linux-arm64-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:4d6e263d84e447354dc685848557d6c284dda7fe007ee451f729a7edfa7baad7", + "size": "2251272" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-linux-armel-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:9d45679f2c4cf450d5e2350047cf57bb76dde2487d30cebce0a72c9173b5c45b", + "size": "2390074" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-macos-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:565c8fabc5f19a6e7a0864a294d74b307eec30b9291d16d3fc90e273f0330cb4", + "size": "2485320" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-macos-arm64-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:68c5c7cf3d15b9810939a5edabc6ff2c9f4fc32262de91fc292a180bc5cc0637", + "size": "2530336" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-win32-0.12.0-esp32-20240821.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20240821.zip", + "checksum": "SHA-256:463fc2903ddaf03f86ff50836c5c63cc696550b0446140159eddfd2e85570c5d", + "size": "2916409" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-win64-0.12.0-esp32-20240821.zip", + "archiveFileName": "openocd-esp32-win64-0.12.0-esp32-20240821.zip", + "checksum": "SHA-256:550f57369f1f1f6cc600b5dffa3378fd6164d8ea8db7c567cf41091771f090cb", + "size": "2916408" + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240318", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-linux-amd64-0.12.0-esp32-20240318.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20240318.tar.gz", + "checksum": "SHA-256:cf26c5cef4f6b04aa23cd2778675604e5a74a4ce4d8d17b854d05fbcb782d52c", + "size": "2252682" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-linux-arm64-0.12.0-esp32-20240318.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20240318.tar.gz", + "checksum": "SHA-256:9b97a37aa2cab94424a778c25c0b4aa0f90d6ef9cda764a1d9289d061305f4b7", + "size": "2132904" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-linux-armel-0.12.0-esp32-20240318.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20240318.tar.gz", + "checksum": "SHA-256:b7e82776ec374983807d3389df09c632ad9bc8341f2075690b6b500319dfeaf4", + "size": "2271761" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-macos-0.12.0-esp32-20240318.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20240318.tar.gz", + "checksum": "SHA-256:b16c3082c94df1079367c44d99f7a8605534cd48aabc18898e46e94a2c8c57e7", + "size": "2365588" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-macos-arm64-0.12.0-esp32-20240318.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20240318.tar.gz", + "checksum": "SHA-256:534ec925ae6e35e869e4e4e6e4d2c4a1eb081f97ebcc2dd5efdc52d12f4c2f86", + "size": "2406377" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-win32-0.12.0-esp32-20240318.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20240318.zip", + "checksum": "SHA-256:d379329eba052435173ab0d69c9b15bc164a6ce489e2a67cd11169d2dabff633", + "size": "2783915" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-win32-0.12.0-esp32-20240318.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20240318.zip", + "checksum": "SHA-256:d379329eba052435173ab0d69c9b15bc164a6ce489e2a67cd11169d2dabff633", + "size": "2783915" + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-linux-amd64-0.12.0-esp32-20230921.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20230921.tar.gz", + "checksum": "SHA-256:61e38e0a13a5c1664624ec1c397d7f7d6868554b0d345d3fb1f7294cce38cc4b", + "size": "2193783" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-linux-arm64-0.12.0-esp32-20230921.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20230921.tar.gz", + "checksum": "SHA-256:6430315dc1b926541c93cef63d2b08982543ad3f9fe6e0d7107c8a518ef20432", + "size": "2062058" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-linux-armel-0.12.0-esp32-20230921.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20230921.tar.gz", + "checksum": "SHA-256:5df16d8a91f013a547f6b3b914c655a9d267996a3b6503031b335ac04a4f8d15", + "size": "2206666" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-macos-0.12.0-esp32-20230921.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20230921.tar.gz", + "checksum": "SHA-256:0a4f764934f488af18cdac2a0d152dd36b4870f3bec1a2d4e25b6b3b7a5258a0", + "size": "2305832" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-macos-arm64-0.12.0-esp32-20230921.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20230921.tar.gz", + "checksum": "SHA-256:6dce89048f642eb0559a915b6e514f90feb2a95afe21b84f0b0ebf2b27824816", + "size": "2341406" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-win32-0.12.0-esp32-20230921.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20230921.zip", + "checksum": "SHA-256:ac9d522a63b0816f64d921547bd55c031788035ced85c067d8e7c2862cb1bd0d", + "size": "2710475" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-win32-0.12.0-esp32-20230921.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20230921.zip", + "checksum": "SHA-256:ac9d522a63b0816f64d921547bd55c031788035ced85c067d8e7c2862cb1bd0d", + "size": "2710475" + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230419", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-linux-amd64-0.12.0-esp32-20230419.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20230419.tar.gz", + "checksum": "SHA-256:5144e7516cd75a2152b35ecae0a400f7d3d4424c2488fbacc49433564f54c70d", + "size": 2126949 + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-linux-arm64-0.12.0-esp32-20230419.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20230419.tar.gz", + "checksum": "SHA-256:1c4d900c738fe00730c6033abb6cf1cc6587717dbeee291d5908272d153d329a", + "size": 1989161 + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-linux-armel-0.12.0-esp32-20230419.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20230419.tar.gz", + "checksum": "SHA-256:293258fd67618dd352e1096137ad9f2b801926eaf74ffcd570540ae94ad8ee5c", + "size": 2129727 + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-macos-0.12.0-esp32-20230419.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20230419.tar.gz", + "checksum": "SHA-256:621aad7d011c6817cde9570dfea42c7bcc699458bf43c37706cb4c2f6475a247", + "size": 2237976 + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-macos-arm64-0.12.0-esp32-20230419.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20230419.tar.gz", + "checksum": "SHA-256:3af7eac3a7de3939731ec4c13fb5d72a8e6ce5e5d274bb9697f5d93039561e42", + "size": 2270699 + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-win32-0.12.0-esp32-20230419.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20230419.zip", + "checksum": "SHA-256:f2cb3d9cacfe789c20d3272af846d726a062ce8f2e4ee142bddb27501d7dd7a7", + "size": 2619680 + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-win32-0.12.0-esp32-20230419.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20230419.zip", + "checksum": "SHA-256:f2cb3d9cacfe789c20d3272af846d726a062ce8f2e4ee142bddb27501d7dd7a7", + "size": 2619680 + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-linux-amd64-0.11.0-esp32-20221026.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.11.0-esp32-20221026.tar.gz", + "checksum": "SHA-256:ce63e9b1dfab60cc62da5dc2abcc22ba7036c42afe74671c787eb026744e7d0b", + "size": "2051435" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-linux-arm64-0.11.0-esp32-20221026.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.11.0-esp32-20221026.tar.gz", + "checksum": "SHA-256:fe60a3a603e8c6bee47367e40fcb8c0da3a38e01163e9674ebc919b067700506", + "size": "1993843" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-linux-armel-0.11.0-esp32-20221026.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.11.0-esp32-20221026.tar.gz", + "checksum": "SHA-256:6ef76101cca196a4be30fc74f191eff34abb423e32930a383012b866c9b76135", + "size": "2092111" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-macos-0.11.0-esp32-20221026.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.11.0-esp32-20221026.tar.gz", + "checksum": "SHA-256:8edc666a0a230432554b73df7c62e0b5ec21fb018e7fda13b11a7ca8b6c1763b", + "size": "2199855" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-macos-arm64-0.11.0-esp32-20221026.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.11.0-esp32-20221026.tar.gz", + "checksum": "SHA-256:c426c0158ba6488e2f432f7c5b22e79155b5b0fae6d1ad5bbd7894723b43aa12", + "size": "2247179" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-win32-0.11.0-esp32-20221026.zip", + "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20221026.zip", + "checksum": "SHA-256:e0e789d35308c029c6b53457cf4a42a5620cb1a3014740026c089c2ed4fd77b2", + "size": "2493214" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-win32-0.11.0-esp32-20221026.zip", + "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20221026.zip", + "checksum": "SHA-256:e0e789d35308c029c6b53457cf4a42a5620cb1a3014740026c089c2ed4fd77b2", + "size": "2493214" + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20220706", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-win32-0.11.0-esp32-20220706.zip", + "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20220706.zip", + "checksum": "SHA-256:c3d39eb4365a9947e71f1d3780ce031185bc6437f21186568a5c05f23f57a8d0", + "size": "2608736" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-win32-0.11.0-esp32-20220706.zip", + "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20220706.zip", + "checksum": "SHA-256:c3d39eb4365a9947e71f1d3780ce031185bc6437f21186568a5c05f23f57a8d0", + "size": "2608736" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-macos-0.11.0-esp32-20220706.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.11.0-esp32-20220706.tar.gz", + "checksum": "SHA-256:333ee2ec3c9b5dc6ad4509faae55335cdea7f8bf83a56bfcf5327e4497c8538a", + "size": "2077882" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", + "checksum": "SHA-256:26f1f18dd93eb70a13203848d3fb1cc2e0de1fd6749c7dd771b2de8709735aed", + "size": "2011201" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", + "checksum": "SHA-256:26f1f18dd93eb70a13203848d3fb1cc2e0de1fd6749c7dd771b2de8709735aed", + "size": "2011201" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-armhf-0.11.0-esp32-20220706.tar.gz", + "archiveFileName": "openocd-esp32-linux-armhf-0.11.0-esp32-20220706.tar.gz", + "checksum": "SHA-256:7f3b57332104e8b8e6194553365a70a9d3754878cfc063d5dc5d839513a63de9", + "size": "1902964" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-arm64-0.11.0-esp32-20220706.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.11.0-esp32-20220706.tar.gz", + "checksum": "SHA-256:f97792bc2852937ec0accb9f0eb2e49926c0f747a71f101a4e34aed75d2c6fcc", + "size": "1954685" + } + ] + }, + { + "name": "esptool_py", + "version": "4.9.dev3", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-linux-amd64.tar.gz", + "archiveFileName": "esptool-v4.9.dev3-linux-amd64.tar.gz", + "checksum": "SHA-256:4ecaf51836cbf4ea3c19840018bfef3b0b8cd8fc3c95f6e1e043ca5bbeab9bf0", + "size": "64958202" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-linux-armv7.tar.gz", + "archiveFileName": "esptool-v4.9.dev3-linux-armv7.tar.gz", + "checksum": "SHA-256:fff818573bce483ee793ac83c8211f6abf764aa3350f198228859f696a0a0b36", + "size": "31530030" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-linux-aarch64.tar.gz", + "archiveFileName": "esptool-v4.9.dev3-linux-aarch64.tar.gz", + "checksum": "SHA-256:5b274bdff2f62e6a07c3c1dfa51b1128924621f661747eca3dbe0f77972f2f06", + "size": "33663882" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-macos-amd64.tar.gz", + "archiveFileName": "esptool-v4.9.dev3-macos-amd64.tar.gz", + "checksum": "SHA-256:c733c83b58fcf5f642fbb2fddb8ff24640c2c785126cba0821fb70c4a5ceea7a", + "size": "32767836" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-macos-arm64.tar.gz", + "archiveFileName": "esptool-v4.9.dev3-macos-arm64.tar.gz", + "checksum": "SHA-256:83c195a15981e6a5e7a130db2ccfb21e2d8093912e5b003681f9a5abadd71af7", + "size": "30121441" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-win64.zip", + "archiveFileName": "esptool-v4.9.dev3-win64.zip", + "checksum": "SHA-256:890051a4fdc684ff6f4af18d0bb27d274ca940ee0eef716a9455f8c64b25b215", + "size": "36072564" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-win64.zip", + "archiveFileName": "esptool-v4.9.dev3-win64.zip", + "checksum": "SHA-256:890051a4fdc684ff6f4af18d0bb27d274ca940ee0eef716a9455f8c64b25b215", + "size": "36072564" + } + ] + }, + { + "name": "esptool_py", + "version": "4.6", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-src.tar.gz", + "archiveFileName": "esptool-v4.6-src.tar.gz", + "checksum": "SHA-256:22f9bad0cd1cea14e554ac1f4a6d8f67415ff7029a66ce9130756276e7264e5a", + "size": "99141" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-src.tar.gz", + "archiveFileName": "esptool-v4.6-src.tar.gz", + "checksum": "SHA-256:22f9bad0cd1cea14e554ac1f4a6d8f67415ff7029a66ce9130756276e7264e5a", + "size": "99141" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-src.tar.gz", + "archiveFileName": "esptool-v4.6-src.tar.gz", + "checksum": "SHA-256:22f9bad0cd1cea14e554ac1f4a6d8f67415ff7029a66ce9130756276e7264e5a", + "size": "99141" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-src.tar.gz", + "archiveFileName": "esptool-v4.6-src.tar.gz", + "checksum": "SHA-256:22f9bad0cd1cea14e554ac1f4a6d8f67415ff7029a66ce9130756276e7264e5a", + "size": "99141" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-macos.tar.gz", + "archiveFileName": "esptool-v4.6-macos.tar.gz", + "checksum": "SHA-256:885ec69fcffdcb9e7c6eacd2589f13a45ce6bcb6742bea368ec3a73bcca6dd59", + "size": "5851297" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-win64.zip", + "archiveFileName": "esptool-v4.6-win64.zip", + "checksum": "SHA-256:c7c68cd1aa520cbfce488ff6a77818ece272272eb012831b9d9ab1280a7c393f", + "size": "6638480" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-win64.zip", + "archiveFileName": "esptool-v4.6-win64.zip", + "checksum": "SHA-256:c7c68cd1aa520cbfce488ff6a77818ece272272eb012831b9d9ab1280a7c393f", + "size": "6638480" + } + ] + }, + { + "name": "esptool_py", + "version": "4.5.1", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-src.tar.gz", + "archiveFileName": "esptool-v4.5.1-src.tar.gz", + "checksum": "SHA-256:aa06831a7d88d8ccde4ea21241e983a08dbdae967290e181658b0d18bffc8f86", + "size": "96922" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-src.tar.gz", + "archiveFileName": "esptool-v4.5.1-src.tar.gz", + "checksum": "SHA-256:aa06831a7d88d8ccde4ea21241e983a08dbdae967290e181658b0d18bffc8f86", + "size": "96922" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-src.tar.gz", + "archiveFileName": "esptool-v4.5.1-src.tar.gz", + "checksum": "SHA-256:aa06831a7d88d8ccde4ea21241e983a08dbdae967290e181658b0d18bffc8f86", + "size": "96922" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-src.tar.gz", + "archiveFileName": "esptool-v4.5.1-src.tar.gz", + "checksum": "SHA-256:aa06831a7d88d8ccde4ea21241e983a08dbdae967290e181658b0d18bffc8f86", + "size": "96922" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-macos.tar.gz", + "archiveFileName": "esptool-v4.5.1-macos.tar.gz", + "checksum": "SHA-256:78b52acfd51541ceb97cee893b7d4d49b8ddc284602be8c73ea47e3d849e0956", + "size": "5850888" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-win64.zip", + "archiveFileName": "esptool-v4.5.1-win64.zip", + "checksum": "SHA-256:64d0c24499d46b80d6bd7a05c98bdacc3455ab6d503cc2a99e35711310216045", + "size": "6638448" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-win64.zip", + "archiveFileName": "esptool-v4.5.1-win64.zip", + "checksum": "SHA-256:64d0c24499d46b80d6bd7a05c98bdacc3455ab6d503cc2a99e35711310216045", + "size": "6638448" + } + ] + }, + { + "name": "esptool_py", + "version": "4.5", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", + "archiveFileName": "esptool-v4.5-src.tar.gz", + "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", + "size": "96621" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", + "archiveFileName": "esptool-v4.5-src.tar.gz", + "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", + "size": "96621" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", + "archiveFileName": "esptool-v4.5-src.tar.gz", + "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", + "size": "96621" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", + "archiveFileName": "esptool-v4.5-src.tar.gz", + "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", + "size": "96621" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-macos.tar.gz", + "archiveFileName": "esptool-v4.5-macos.tar.gz", + "checksum": "SHA-256:adcce051f282a19f78da30717ff0e4334b0edaf16a7f14d185ba4cae464586e2", + "size": "5850835" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-win64.zip", + "archiveFileName": "esptool-v4.5-win64.zip", + "checksum": "SHA-256:a55c5f7d490fbd2cd5fdf486d71f2ed13e3304482d54374b6aa23d42c9b98a96", + "size": "6639416" + } + ] + }, + { + "name": "esptool_py", + "version": "4.2.1", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-windows.zip", + "archiveFileName": "esptool-4.2.1-windows.zip", + "checksum": "SHA-256:582560067bfbd9895f4862eb5fdf87558ddee5d4d30e7575c9b8bcb0dd60fd94", + "size": "6368279" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-windows.zip", + "archiveFileName": "esptool-4.2.1-windows.zip", + "checksum": "SHA-256:582560067bfbd9895f4862eb5fdf87558ddee5d4d30e7575c9b8bcb0dd60fd94", + "size": "6368279" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-macos.tar.gz", + "archiveFileName": "esptool-4.2.1-macos.tar.gz", + "checksum": "SHA-256:a984f7ad8bdb40c42d0d368bf4bb21b69a9587aed46b7b6d7de23ca58a3f150d", + "size": "5816598" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", + "archiveFileName": "esptool-4.2.1-linux.tar.gz", + "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", + "size": "90123" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", + "archiveFileName": "esptool-4.2.1-linux.tar.gz", + "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", + "size": "90123" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", + "archiveFileName": "esptool-4.2.1-linux.tar.gz", + "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", + "size": "90123" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", + "archiveFileName": "esptool-4.2.1-linux.tar.gz", + "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", + "size": "90123" + } + ] + }, + { + "name": "esptool_py", + "version": "3.3.0", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-windows.zip", + "archiveFileName": "esptool-3.3-windows.zip", + "checksum": "SHA-256:55a1d7165414bf4dbd2bb16ca094e555d671958450f5d1536b457a518d2b15df", + "size": "7436864" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-windows.zip", + "archiveFileName": "esptool-3.3-windows.zip", + "checksum": "SHA-256:55a1d7165414bf4dbd2bb16ca094e555d671958450f5d1536b457a518d2b15df", + "size": "7436864" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-macos.tar.gz", + "archiveFileName": "esptool-3.3-macos.tar.gz", + "checksum": "SHA-256:3e5f7b521ae33c8c63f3b48efc909c08f37bef1a083c0eafa408312c09900afd", + "size": "6944975" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", + "archiveFileName": "esptool-3.3-linux.tar.gz", + "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", + "size": "97026" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", + "archiveFileName": "esptool-3.3-linux.tar.gz", + "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", + "size": "97026" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", + "archiveFileName": "esptool-3.3-linux.tar.gz", + "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", + "size": "97026" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", + "archiveFileName": "esptool-3.3-linux.tar.gz", + "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", + "size": "97026" + } + ] + }, + { + "name": "esptool_py", + "version": "3.1.0", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-windows.zip", + "archiveFileName": "esptool-3.1.0-windows.zip", + "checksum": "SHA-256:c9b4f9bc6e94db136c2545c87c00c7ab1441644ca0bac50811bc3c014e22514b", + "size": "7411889" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-macos.tar.gz", + "archiveFileName": "esptool-3.1.0-macos.tar.gz", + "checksum": "SHA-256:1dffcb884665fb616779aea62a68f517aac251ea6dfe95560906c364d6ef3065", + "size": "6776909" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", + "archiveFileName": "esptool-3.1.0-linux.tar.gz", + "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", + "size": "80550" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", + "archiveFileName": "esptool-3.1.0-linux.tar.gz", + "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", + "size": "80550" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", + "archiveFileName": "esptool-3.1.0-linux.tar.gz", + "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", + "size": "80550" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", + "archiveFileName": "esptool-3.1.0-linux.tar.gz", + "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", + "size": "80550" + } + ] + }, + { + "name": "esptool_py", + "version": "3.0.0", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-windows.zip", + "archiveFileName": "esptool-3.0.0.2-windows.zip", + "checksum": "SHA-256:b192bfc1545a3c92658ce586b4edcc2aca3f0ad4b3fa8417d658bc8a48f1387e", + "size": "3434736" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-macos.tar.gz", + "archiveFileName": "esptool-3.0.0.2-macos.tar.gz", + "checksum": "SHA-256:2cafab7f1ebce89475b84c115548eaace40b6366d7b3f9862cdb2fc64f806643", + "size": "3859642" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-linux.tar.gz", + "archiveFileName": "esptool-3.0.0.2-linux.tar.gz", + "checksum": "SHA-256:d5cb51da1c74ff69f81b820470d2ecccb5c7c3a2dec7776483d4c89588b00020", + "size": "57526" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-linux.tar.gz", + "archiveFileName": "esptool-3.0.0.2-linux.tar.gz", + "checksum": "SHA-256:d5cb51da1c74ff69f81b820470d2ecccb5c7c3a2dec7776483d4c89588b00020", + "size": "57526" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-linux.tar.gz", + "archiveFileName": "esptool-3.0.0.2-linux.tar.gz", + "checksum": "SHA-256:d5cb51da1c74ff69f81b820470d2ecccb5c7c3a2dec7776483d4c89588b00020", + "size": "57526" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-linux.tar.gz", + "archiveFileName": "esptool-3.0.0.2-linux.tar.gz", + "checksum": "SHA-256:d5cb51da1c74ff69f81b820470d2ecccb5c7c3a2dec7776483d4c89588b00020", + "size": "57526" + } + ] + }, + { + "version": "2.6.1", + "name": "esptool_py", + "systems": [ + { + "url": "https://dl.espressif.com/dl/esptool-2.6.1-windows.zip", + "checksum": "SHA-256:84cf0b369a7707fe566434faba148852fc464992111d5baa95b658b374802f96", + "host": "i686-mingw32", + "archiveFileName": "esptool-2.6.1-windows.zip", + "size": "3422445" + }, + { + "url": "https://dl.espressif.com/dl/esptool-2.6.1-macos.tar.gz", + "checksum": "SHA-256:f4eb758a301d6902cc9dfcd49d36345d2f075ad123da7cf8132d15cfb7533457", + "host": "x86_64-apple-darwin", + "archiveFileName": "esptool-2.6.1-macos.tar.gz", + "size": "3837085" + }, + { + "url": "https://dl.espressif.com/dl/esptool-2.6.1-linux.tar.gz", + "checksum": "SHA-256:eaf82ff4070d9792f6a42ae1e485375de5a87bec59ef01dfb95de901519ec7fb", + "host": "x86_64-pc-linux-gnu", + "archiveFileName": "esptool-2.6.1-linux.tar.gz", + "size": "44762" + }, + { + "url": "https://dl.espressif.com/dl/esptool-2.6.1-linux.tar.gz", + "checksum": "SHA-256:eaf82ff4070d9792f6a42ae1e485375de5a87bec59ef01dfb95de901519ec7fb", + "host": "i686-pc-linux-gnu", + "archiveFileName": "esptool-2.6.1-linux.tar.gz", + "size": "44762" + }, + { + "url": "https://dl.espressif.com/dl/esptool-2.6.1-linux.tar.gz", + "checksum": "SHA-256:eaf82ff4070d9792f6a42ae1e485375de5a87bec59ef01dfb95de901519ec7fb", + "host": "arm-linux-gnueabihf", + "archiveFileName": "esptool-2.6.1-linux.tar.gz", + "size": "44762" + } + ] + }, + { + "version": "2.6.0", + "name": "esptool_py", + "systems": [ + { + "url": "https://dl.espressif.com/dl/esptool-2.6.0-windows.zip", + "checksum": "SHA-256:a73f4cf68db240d7f1d250c5c7f2dfcb53c17a37483729f1bf71f8f43d79a799", + "host": "i686-mingw32", + "archiveFileName": "esptool-2.6.0-windows.zip", + "size": "3421208" + }, + { + "url": "https://dl.espressif.com/dl/esptool-2.6.0-macos.tar.gz", + "checksum": "SHA-256:0a881b91547c840fab8c72ae3d031069384278b8c2e5241647e8c8292c5e4a4b", + "host": "x86_64-apple-darwin", + "archiveFileName": "esptool-2.6.0-macos.tar.gz", + "size": "3835660" + }, + { + "url": "https://dl.espressif.com/dl/esptool-2.6.0-linux.tar.gz", + "checksum": "SHA-256:6d162f70f395ca31f5008829dd7e833e729f044a9c7355d5be8ce333a054e110", + "host": "x86_64-pc-linux-gnu", + "archiveFileName": "esptool-2.6.0-linux.tar.gz", + "size": "43535" + }, + { + "url": "https://dl.espressif.com/dl/esptool-2.6.0-linux.tar.gz", + "checksum": "SHA-256:6d162f70f395ca31f5008829dd7e833e729f044a9c7355d5be8ce333a054e110", + "host": "i686-pc-linux-gnu", + "archiveFileName": "esptool-2.6.0-linux.tar.gz", + "size": "43535" + }, + { + "url": "https://dl.espressif.com/dl/esptool-2.6.0-linux.tar.gz", + "checksum": "SHA-256:6d162f70f395ca31f5008829dd7e833e729f044a9c7355d5be8ce333a054e110", + "host": "arm-linux-gnueabihf", + "archiveFileName": "esptool-2.6.0-linux.tar.gz", + "size": "43535" + } + ] + }, + { + "version": "3.0.0-gnu12-dc7f933", + "name": "mklittlefs", + "systems": [ + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/aarch64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "archiveFileName": "aarch64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "checksum": "SHA-256:fc56e389383749e4cf4fab0fcf75cc0ebc41e59383caf6c2eff1c3d9794af200", + "size": "44651" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/arm-linux-gnueabihf.mklittlefs-c41e51a.200706.tar.gz", + "archiveFileName": "arm-linux-gnueabihf.mklittlefs-c41e51a.200706.tar.gz", + "checksum": "SHA-256:52b642dd0545eb3bd8dfb75dde6601df21700e4867763fd2696274be279294c5", + "size": "37211" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/i686-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "archiveFileName": "i686-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "checksum": "SHA-256:7886051d8ccc54aed0af2e7cdf6ff992bb51638df86f3b545955697720b6d062", + "size": "48033" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/i686-w64-mingw32.mklittlefs-c41e51a.200706.zip", + "archiveFileName": "i686-w64-mingw32.mklittlefs-c41e51a.200706.zip", + "checksum": "SHA-256:43740db30ce451454f2337331f10ab4ed41bd83dbf0fa0cb4387107388b59f42", + "size": "332655" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/x86_64-apple-darwin14.mklittlefs-c41e51a.200706.tar.gz", + "archiveFileName": "x86_64-apple-darwin14.mklittlefs-c41e51a.200706.tar.gz", + "checksum": "SHA-256:e3edd5e05b70db3c7df6b9d626558348ad04804022fe955c799aeb51808c7dc3", + "size": "362608" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/x86_64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "archiveFileName": "x86_64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "checksum": "SHA-256:66e84dda0aad747517da3785125e05738a540948aab2b7eaa02855167a1eea53", + "size": "46778" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/x86_64-w64-mingw32.mklittlefs-c41e51a.200706.zip", + "archiveFileName": "x86_64-w64-mingw32.mklittlefs-c41e51a.200706.zip", + "checksum": "SHA-256:2e319077491f8e832e96eb4f2f7a70dd919333cee4b388c394e0e848d031d542", + "size": "345132" + } + ] + }, + { + "name": "mkspiffs", + "version": "0.2.3", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-win32.zip", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-win32.zip", + "checksum": "SHA-256:b647f2c2efe6949819c85ea9404271b55c7c9c25bcb98d3b98a1d0ba771adf56", + "size": "249809" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", + "checksum": "SHA-256:9f43fc74a858cf564966b5035322c3e5e61c31a647c5a1d71b388ed6efc48423", + "size": "130270" + }, + { + "host": "i386-apple-darwin", + "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", + "checksum": "SHA-256:9f43fc74a858cf564966b5035322c3e5e61c31a647c5a1d71b388ed6efc48423", + "size": "130270" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux64.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux64.tar.gz", + "checksum": "SHA-256:5e1a4ff41385e842f389f6b5254102a547e566a06b49babeffa93ef37115cb5d", + "size": "50646" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux32.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux32.tar.gz", + "checksum": "SHA-256:464463a93e8833209cdc29ba65e1a12fec31718dc10075c195a2445b2c3f6cb0", + "size": "48751" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", + "checksum": "SHA-256:ade3dc00117912ac08a1bdbfbfe76b12d21a34bc5fa1de0cfc45fe7a8d0a0185", + "size": "40665" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", + "checksum": "SHA-256:ade3dc00117912ac08a1bdbfbfe76b12d21a34bc5fa1de0cfc45fe7a8d0a0185", + "size": "40665" + } + ] + }, + { + "name": "esp-xs2", + "version": "2302", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:2ff838520a5003d2768b275f5bb5ead69dd2388c3b7cd9043cb59891ba43147f", + "size": "112199211" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:6d79d5b14fc7129a9b8208d54e19b05dedb565f50f7a96264c9df84b06ad3be0", + "size": "106953064" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:e5bd03b6ad19179b015a93ada9992adc3610036ebf6aeb0835a09c9aadb50a14", + "size": "106026829" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:fb45943557b2d201bbb1bdc7514a1872f9bb96c2dfb48b95abdba281cc792f75", + "size": "115288662" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:e965236cb80e45282d16f40184af183e013b63b177bd1884736c463eac636564", + "size": "119711811" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:78a55eec18650b21378d97494989ffe208748e0f49bb2b2d6756b264e1863919", + "size": "106540817" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:1e6dac5162ab75f94b88c47ebeabb6600c652fb4f615ed07c1724d037c02fd19", + "size": "131273859" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:8a785cc4e0838cebe404f82c0ead7a0f9ac5fabc660a742e33a41ddac6326cc1", + "size": "135373049" + } + ] + }, + { + "name": "esp-xs3", + "version": "2302", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:61495ffe575e00c6998ae7274ff917658c04bded62ece0937c7042d6dcbf46de", + "size": "111971129" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:9008d395be46fcfe68c7de6edc850fc1595f28323a28e7922e5c085bd310cb90", + "size": "106616800" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:568857bdac7dea389dffc7fbc6871b4af299150a8ecf1bf965f224d2a1655edb", + "size": "105700326" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:d122738bcc6c2f52d05fa89b2fb1afe6a7894cda8a07a1879aca867a31507ed0", + "size": "115098400" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:7defcddb98788b0991416ad2e0cb6a3b248b8030f22d5d76b8832117cc1494ca", + "size": "119883189" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:b59e076f8e4b9ca99535d449f9fc4cbb443188051dce4ad934e38f16b095f8d9", + "size": "106464677" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:3ddf51774817e815e5d41c312a90c1159226978fb45fd0d4f7085c567f8b73ab", + "size": "131134034" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:1d15ca65e3508388a86d8bed3048c46d07538f5bc88d3e4296f9c03152087cd1", + "size": "135381926" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:8ef14e0409c2011b41e504a30f70d3e35287313a795d1f2462ad2cd0e2052d37", + "size": "94397702" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:e7d217ac2ef52c746a41f8647840b2717edcd8afc15f081bc1c4505e10a189b7", + "size": "90684219" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:ea6631f8a5105ae90d7fc462c10ed4f9049924ea8c2f9391d90b339d5f881dac", + "size": "89954866" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:ecb90af9cede0982672234da0b1bd7b7f76eadde60aa5c82eefdf37d64ffe49f", + "size": "96354023" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:19af109fda024a3a4c989f7ccaa104f9b1b74cfd6c9363e730bb8cb9b50d5dc4", + "size": "101712946" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "checksum": "SHA-256:b14189772d70a96813895fff7731d0f2fec0c825cfc02e002d6d91a0cc4b6b1d", + "size": "93104016" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:9851c2cfa355e1fad8abfb643a1c945d27385b1851f3ae468915ea78fcbec940", + "size": "118610020" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:a328b3c55631846241bbe7999a309b20b797c8dc50b6e8dccf463e66a2da5fb4", + "size": "121846722" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:8ef14e0409c2011b41e504a30f70d3e35287313a795d1f2462ad2cd0e2052d37", + "size": "94397702" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:e7d217ac2ef52c746a41f8647840b2717edcd8afc15f081bc1c4505e10a189b7", + "size": "90684219" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:ea6631f8a5105ae90d7fc462c10ed4f9049924ea8c2f9391d90b339d5f881dac", + "size": "89954866" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:ecb90af9cede0982672234da0b1bd7b7f76eadde60aa5c82eefdf37d64ffe49f", + "size": "96354023" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:19af109fda024a3a4c989f7ccaa104f9b1b74cfd6c9363e730bb8cb9b50d5dc4", + "size": "101712946" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:9851c2cfa355e1fad8abfb643a1c945d27385b1851f3ae468915ea78fcbec940", + "size": "118610020" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:a328b3c55631846241bbe7999a309b20b797c8dc50b6e8dccf463e66a2da5fb4", + "size": "121846722" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "checksum": "SHA-256:9edd1e77627688f435561922d14299f6a0021ba1f6ff67e472e1108695a69e53", + "size": "90569312" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "checksum": "SHA-256:3a21a3e310e6b1e7d7bed1f3e59698a5bd29ed3a5ca79fba9265d7dd2f1e0cd2", + "size": "86838362" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "checksum": "SHA-256:89313c4c1d8db1b01624f31b58bf3fbe527160569828ac4301e9daa75c52716d", + "size": "86187540" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "checksum": "SHA-256:a1f165a836f175daa6fbfde4ca99cb93b377f021fbfc41f79a700bd4df965a9a", + "size": "92580267" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "checksum": "SHA-256:dda3d7a43efd995d9a51d5a5741626dbf915df46078aef0b5aea7163ac82398b", + "size": "97807647" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "checksum": "SHA-256:fd147592928ef2d7092ba34b01ecd776fe26ba3d7e3f9b6b215a3b46e981ee2c", + "size": "116464819" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "checksum": "SHA-256:9395315c07de0b9f05c9a6616ba1f05e76ab651053f2f40479163a8e03cfa830", + "size": "119511910" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "checksum": "SHA-256:3eb3d68b27fa6ba5af6f88da21cb8face9be0094daaa8960793cfe570ab785ff", + "size": "90565318" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "checksum": "SHA-256:aa534be24e45e06b7080a6a3bb8cd9e3cfb818f5f8bce2244d7cfb5e91336541", + "size": "86860292" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "checksum": "SHA-256:f0e49ce06fe7833ff5d76961dc2dac5449d320f823bb8c05a302cf85a3a6eb04", + "size": "86183421" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "checksum": "SHA-256:06de09b74652de43e5b22db3b7fc992623044baa75e9faaab68317a986715ba3", + "size": "92582250" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "checksum": "SHA-256:96443f69c8569417c780ee749d91ef33cffe22153fffa30a0fbf12107d87381b", + "size": "97808961" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win32.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win32.zip", + "checksum": "SHA-256:076a4171bdc33e5ced3952efffb233d70263dfa760e636704050597a9edf61db", + "size": "112578260" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win64.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win64.zip", + "checksum": "SHA-256:c35b7998f7f503e0cb22055d1e279ae14b6b0e09bb3ff3846b17d552ece9c247", + "size": "115278695" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r1", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "checksum": "SHA-256:44a0b467b9d2b759ab48b2f27aed684581f33c96e2842992781c4e045992c5b0", + "size": "86361217" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "checksum": "SHA-256:fdacdb2a7bbf6293bcafda9b52463a4da8a2f3b7e1df9f83d35ff9d1efa22012", + "size": "84520407" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "checksum": "SHA-256:e2024096492dfaa50fc6ac336cd8faa2e395e8cebb617753eab0b5f16d3dd0dc", + "size": "88375391" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "checksum": "SHA-256:7bbc6a2b94f009cd8a3351b9c7acf7a5caa1c4d3700500ead60f84965386a61b", + "size": "93357296" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-win32.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-win32.zip", + "checksum": "SHA-256:e4f9fdda192abfc9807e3e7fcd6e9fea30c1a0cf3f3c5a5c961b5114fc8c9b7e", + "size": "105603626" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "1.22.0-97-gc752ad5-5.2.0", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-win32-1.22.0-97-gc752ad5-5.2.0.zip", + "archiveFileName": "xtensa-esp32-elf-win32-1.22.0-97-gc752ad5-5.2.0.zip", + "checksum": "SHA-256:80571e5d5a63494f4fa758bb9d8fb882ba4059853a8c412a84d232dc1c1400e6", + "size": "125747216" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-macos-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "archiveFileName": "xtensa-esp32-elf-macos-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "checksum": "SHA-256:b1ce39a563ae359cf363fb7d8ee80cb1e5226fda83188203cff60f16f55e33ef", + "size": "50525386" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux64-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "archiveFileName": "xtensa-esp32-elf-linux64-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "checksum": "SHA-256:96f5f6e7611a0ed1dc47048c54c3113fc5cebffbf0ba90d8bfcd497afc7ef9f3", + "size": "44225380" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux32-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "archiveFileName": "xtensa-esp32-elf-linux32-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "checksum": "SHA-256:8094a2c30b474e99ce64dd0ba8f310c4614eb3b3cac884a3aea0fd5f565af119", + "size": "45575521" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "archiveFileName": "xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "checksum": "SHA-256:d70d550f88448fa476b29fa50ef5502ab497a16ac7fa9ca24c6d0a39bb1e681e", + "size": "50657803" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "archiveFileName": "xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "checksum": "SHA-256:d70d550f88448fa476b29fa50ef5502ab497a16ac7fa9ca24c6d0a39bb1e681e", + "size": "50657803" + } + ] + }, + { + "version": "1.22.0-80-g6c4433a-5.2.0", + "name": "xtensa-esp32-elf-gcc", + "systems": [ + { + "url": "https://dl.espressif.com/dl/xtensa-esp32-elf-win32-1.22.0-80-g6c4433a-5.2.0.zip", + "checksum": "SHA-256:f217fccbeaaa8c92db239036e0d6202458de4488b954a3a38f35ac2ec48058a4", + "host": "i686-mingw32", + "archiveFileName": "xtensa-esp32-elf-win32-1.22.0-80-g6c4433a-5.2.0.zip", + "size": "125719261" }, { + "url": "https://dl.espressif.com/dl/xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "checksum": "SHA-256:a4307a97945d2f2f2745f415fbe80d727750e19f91f9a1e7e2f8a6065652f9da", + "host": "x86_64-apple-darwin", + "archiveFileName": "xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "size": "46517409" + }, + { + "url": "https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "checksum": "SHA-256:3fe96c151d46c1d4e5edc6ed690851b8e53634041114bad04729bc16b0445156", + "host": "x86_64-pc-linux-gnu", + "archiveFileName": "xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "size": "44219107" + }, + { + "url": "https://dl.espressif.com/dl/xtensa-esp32-elf-linux32-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "checksum": "SHA-256:b4055695ffc2dfc0bcb6dafdc2572a6e01151c4179ef5fa972b3fcb2183eb155", "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", - "checksum": "SHA-256:fef60f7ef37ffaa50416d8f244cdbd710d6729dae41ef06c4ec0e50a1f3b7dd7", - "size": "109460025" + "archiveFileName": "xtensa-esp32-elf-linux32-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "size": "45566336" + }, + { + "url": "https://dl.espressif.com/dl/xtensa-esp32-elf-linux-armel-1.22.0-87-gb57bad3-5.2.0.tar.gz", + "checksum": "SHA-256:9c68c87bb23b1256dc0a1859b515946763e5292dcab4a4159a52fae5618ce861", + "host": "arm-linux-gnueabihf", + "archiveFileName": "xtensa-esp32-elf-linux-armel-1.22.0-87-gb57bad3-5.2.0.tar.gz", + "size": "50655584" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "esp-12.2.0_20230208", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:e8d35938385447cf9c34735fee2a3b2b61cca6be07db77a45856a1c2a347e423", + "size": "111766903" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:569988acfc2673369f222037c64bac96990cee08cebeebc4f8860e0d984f8bd9", + "size": "106473247" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:6a844f16021e936cc9b87b203978356f57ab2144554f6f2a0f73ffa3d3d316c5", + "size": "105576049" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:743d6f03a89329bb09f9550d27fcab677f5cf06b4720793bbcef7883a932681d", + "size": "114870843" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", - "checksum": "SHA-256:4aacc1742a76349d790b1ac8e9e9d963daefda5346dbd6741cfe8e7a35a44e4e", - "size": "113703959" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:4d32d764e984f3a570aacfb2f4957619540fb4629534d969b2e83997901334c3", + "size": "119424029" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:dc8fa7f4933bf5cb08e83bacce6160cc9dfe93d7aad1e8f92599bb81ff5b2e28", + "size": "106136827" }, { "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", - "checksum": "SHA-256:eb2a442d7f551ebeb842995ec372ec4b364314ca2d7aae779399a74972f7d6bc", - "size": "144711970" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:62bb6428d107ed3f44c212c77ecf24804b74c97327b0f0ad2029c656c6dbd6ee", + "size": "130847086" }, { "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", - "checksum": "SHA-256:f5607e5187317d521f0474cade83f8eb590f2d165d95c3779b6ce11fbac21d1f", - "size": "146606480" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:8febfe4a6476efc69012390106c8c660a14418f025137b0513670c72124339cf", + "size": "134985117" } ] }, { - "name": "riscv32-esp-elf-gcc", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:19c77bd91fefab7c8c40a6334f9b985e2d9a1c7fac6d424b692110930dd3682f", + "size": "67849099" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:bdcd24676ef2a65b670ca9e0a01768ece47f4dfcfb545a3307f76a054c33b522", + "size": "64154532" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:b26723b6ce1c35b90f204eb39e5ab06a6f80fb7895f000e16b6962e4c176ae32", + "size": "63448105" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:da3b5c45e4997d14269df1814c92dd7004902bb810608341bc3819c3e506fa0b", + "size": "69656104" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:8eb63745b44083edef7cc6fdf3b06999f576b75134bc5e8b0ef881ca439b72d7", + "size": "75154138" + }, + { + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "checksum": "SHA-256:4cd38d6ec31076c0aa083f62ab84ab5c33aa07fafd0af61366186e5f553aa008", + "size": "66457613" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:c758062295804b082fbd77fcd59a356f62d4e76372aaa29589cc871603309cba", + "size": "82338511" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:1c1e168ff8bc460a9719f3b216d3c1125d29040389786d738244838499362c74", + "size": "85579252" + } + ] + }, + { + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:19c77bd91fefab7c8c40a6334f9b985e2d9a1c7fac6d424b692110930dd3682f", + "size": "67849099" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:bdcd24676ef2a65b670ca9e0a01768ece47f4dfcfb545a3307f76a054c33b522", + "size": "64154532" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:b26723b6ce1c35b90f204eb39e5ab06a6f80fb7895f000e16b6962e4c176ae32", + "size": "63448105" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:da3b5c45e4997d14269df1814c92dd7004902bb810608341bc3819c3e506fa0b", + "size": "69656104" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:8eb63745b44083edef7cc6fdf3b06999f576b75134bc5e8b0ef881ca439b72d7", + "size": "75154138" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:c758062295804b082fbd77fcd59a356f62d4e76372aaa29589cc871603309cba", + "size": "82338511" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:1c1e168ff8bc460a9719f3b216d3c1125d29040389786d738244838499362c74", + "size": "85579252" + } + ] + }, + { + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "checksum": "SHA-256:a32451a8edc1104b83cd9971178e61826e957d7db9ad9f81798a8969fd5a954e", + "size": "90894048" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "checksum": "SHA-256:2ac2c94a533a99a091d2159c678c611c712c494b5f68d97913254712047260f9", + "size": "87178224" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "checksum": "SHA-256:da49afee1e2e03eaab3f492718789442d33b562800e2a892679f95b50be24d14", + "size": "86569314" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "checksum": "SHA-256:36d3c4990a5feb68aa8534463bc9e8ee367fe23886f78e1d726f4411c7571462", + "size": "92884013" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "checksum": "SHA-256:de9af641678c93775e932ee5ec4f478f8925cfc1ebc22e41adc4fb85430a0c35", + "size": "98224709" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "checksum": "SHA-256:ccf08afe60046f87b0e81ca17dc5073eda68ab5e7522c163dd5b583d713b7b39", + "size": "116924759" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "checksum": "SHA-256:37c91490b8fc75e638c23785e261eaf553be2dcd106cf6cff5b76981fa02955b", + "size": "119912142" + } + ] + }, + { + "name": "xtensa-esp32s2-elf-gcc", "version": "gcc8_4_0-esp-2021r2", "systems": [ { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", - "checksum": "SHA-256:812d735063da9d063b374b59f55832a96c41fbd27ddaef19000a75de8607ba21", - "size": "106837189" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "checksum": "SHA-256:a6e0947c92b823ca04f062522249f0a428357e0b056f1ff4c6bcabef83cf63a7", + "size": "90901736" }, { "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", - "checksum": "SHA-256:712f1fbc3e08304a6f32aa18b346b16bbcb413b507b3d4c7c3211bf0d7dc4813", - "size": "103273444" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "checksum": "SHA-256:d2e5600fc194b508bd393b236a09fd62ed70afb6c36619d4b106b696a56ca66d", + "size": "87176557" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", - "checksum": "SHA-256:80a3342cda2cd4b6b75ebb2b36d5d12fce7d375cfadadcff01ec3a907f0a16a2", - "size": "103058744" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "checksum": "SHA-256:3fff4199e986dd74660f17ca27d9414cb98f1b911a7f13bb3b22e784cb1156cf", + "size": "86581102" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", - "checksum": "SHA-256:7f0162a81558ab0ed09d6c5d356def25b5cb3d5c2d61358f20152fa260ccc8ae", - "size": "109447789" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "checksum": "SHA-256:7732f9fb371d36b6b324820e300beecc33c2719921a61cf1cdb5bc625016b346", + "size": "92875986" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", - "checksum": "SHA-256:3ff7e5427907cf8e271c1f959b70fb01e39625c3caf61a6567e7b38aa0c11578", - "size": "113672945" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "checksum": "SHA-256:e6dd32782fcff8f633299b97d1c671d6b6513390aca2ddbd7543c2cc62e72d7e", + "size": "98212907" }, { "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-win32.zip", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-win32.zip", - "checksum": "SHA-256:c8ff08883c1456c278fad85e1c43b7c6e251d525683214168655550e85c5b82e", - "size": "140809778" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win32.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win32.zip", + "checksum": "SHA-256:41b917b35f6fbe7d30b7de91c32cf348c406acfa729a1eabc450d040dc46fbe2", + "size": "113022469" }, { "host": "x86_64-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-win64.zip", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-win64.zip", - "checksum": "SHA-256:6c04cb4728db928ec6473e63146b695b6dec686a0d40dd73dd3353f05247b19e", - "size": "142365782" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win64.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win64.zip", + "checksum": "SHA-256:a764c1a0ee743d69f8cbfadbe4426a2c15c0e233b0894244c7cadf3b4d7dd32a", + "size": "115696999" } ] }, { - "name": "riscv32-esp-elf-gcc", + "name": "xtensa-esp32s2-elf-gcc", "version": "gcc8_4_0-esp-2021r1", "systems": [ { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", - "checksum": "SHA-256:3459618f33bbd5f54d7d7783e807cb6eef6472a220f2f1eb3faced735b9d13bb", - "size": "152812483" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "checksum": "SHA-256:b127baccfe6949ee7eaf3d0782ea772750a9b8e2732b16ce6bcc9dcd91f7209a", + "size": "86687290" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", - "checksum": "SHA-256:24b9e54b348bbd5fb816fc4c52abb47337c702beecdbba840750b7cfb9d38069", - "size": "151726623" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "checksum": "SHA-256:7ca0d240f11e1c53c01a56257b0c968f876ab405142d1068d8c9b456d939554c", + "size": "84916701" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", - "checksum": "SHA-256:954d340ebffef12a2ce9be1ea004e6f45a8863f1e6f41f46fd3f04f58499627c", - "size": "155430963" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "checksum": "SHA-256:9941f993ff84d1c606b45ffbeeb7bcdc5a72cf24e787bb9230390510fe3511c6", + "size": "88699953" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", - "checksum": "SHA-256:612fb3a3f84f703222327bd16581df8f80fda8cdf137637fe5d611587d1b664e", - "size": "159836199" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "checksum": "SHA-256:4b55b1a9ca7fc945be6fc3513802b6cece9264bee4cbca76013569cec2695973", + "size": "93757895" }, { "host": "i686-mingw32", - "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-win32.zip", - "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-win32.zip", - "checksum": "SHA-256:5711eb407ffe44adddbd1281b6b575a5645e7193ca78faefa27dc5bc5b662bec", - "size": "191266312" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-win32.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-win32.zip", + "checksum": "SHA-256:c94ec1e45c81b7e4944d216bab4aa41d46849768d7761fd691661dab1a3df828", + "size": "106013515" } ] }, { - "name": "openocd-esp32", - "version": "v0.11.0-esp32-20221026", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-12.2.0_20230208", "systems": [ { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-linux-amd64-0.11.0-esp32-20221026.tar.gz", - "archiveFileName": "openocd-esp32-linux-amd64-0.11.0-esp32-20221026.tar.gz", - "checksum": "SHA-256:ce63e9b1dfab60cc62da5dc2abcc22ba7036c42afe74671c787eb026744e7d0b", - "size": "2051435" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:2ff838520a5003d2768b275f5bb5ead69dd2388c3b7cd9043cb59891ba43147f", + "size": "112199211" }, { "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-linux-arm64-0.11.0-esp32-20221026.tar.gz", - "archiveFileName": "openocd-esp32-linux-arm64-0.11.0-esp32-20221026.tar.gz", - "checksum": "SHA-256:fe60a3a603e8c6bee47367e40fcb8c0da3a38e01163e9674ebc919b067700506", - "size": "1993843" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:6d79d5b14fc7129a9b8208d54e19b05dedb565f50f7a96264c9df84b06ad3be0", + "size": "106953064" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-linux-armel-0.11.0-esp32-20221026.tar.gz", - "archiveFileName": "openocd-esp32-linux-armel-0.11.0-esp32-20221026.tar.gz", - "checksum": "SHA-256:6ef76101cca196a4be30fc74f191eff34abb423e32930a383012b866c9b76135", - "size": "2092111" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:e5bd03b6ad19179b015a93ada9992adc3610036ebf6aeb0835a09c9aadb50a14", + "size": "106026829" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:fb45943557b2d201bbb1bdc7514a1872f9bb96c2dfb48b95abdba281cc792f75", + "size": "115288662" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-macos-0.11.0-esp32-20221026.tar.gz", - "archiveFileName": "openocd-esp32-macos-0.11.0-esp32-20221026.tar.gz", - "checksum": "SHA-256:8edc666a0a230432554b73df7c62e0b5ec21fb018e7fda13b11a7ca8b6c1763b", - "size": "2199855" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:e965236cb80e45282d16f40184af183e013b63b177bd1884736c463eac636564", + "size": "119711811" }, { "host": "arm64-apple-darwin", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-macos-arm64-0.11.0-esp32-20221026.tar.gz", - "archiveFileName": "openocd-esp32-macos-arm64-0.11.0-esp32-20221026.tar.gz", - "checksum": "SHA-256:c426c0158ba6488e2f432f7c5b22e79155b5b0fae6d1ad5bbd7894723b43aa12", - "size": "2247179" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:78a55eec18650b21378d97494989ffe208748e0f49bb2b2d6756b264e1863919", + "size": "106540817" }, { "host": "i686-mingw32", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-win32-0.11.0-esp32-20221026.zip", - "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20221026.zip", - "checksum": "SHA-256:e0e789d35308c029c6b53457cf4a42a5620cb1a3014740026c089c2ed4fd77b2", - "size": "2493214" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:1e6dac5162ab75f94b88c47ebeabb6600c652fb4f615ed07c1724d037c02fd19", + "size": "131273859" }, { "host": "x86_64-mingw32", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-win32-0.11.0-esp32-20221026.zip", - "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20221026.zip", - "checksum": "SHA-256:e0e789d35308c029c6b53457cf4a42a5620cb1a3014740026c089c2ed4fd77b2", - "size": "2493214" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:8a785cc4e0838cebe404f82c0ead7a0f9ac5fabc660a742e33a41ddac6326cc1", + "size": "135373049" } ] }, { - "name": "openocd-esp32", - "version": "v0.11.0-esp32-20220706", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0", "systems": [ - { - "host": "i686-mingw32", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-win32-0.11.0-esp32-20220706.zip", - "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20220706.zip", - "checksum": "SHA-256:c3d39eb4365a9947e71f1d3780ce031185bc6437f21186568a5c05f23f57a8d0", - "size": "2608736" - }, - { - "host": "x86_64-mingw32", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-win32-0.11.0-esp32-20220706.zip", - "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20220706.zip", - "checksum": "SHA-256:c3d39eb4365a9947e71f1d3780ce031185bc6437f21186568a5c05f23f57a8d0", - "size": "2608736" - }, - { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-macos-0.11.0-esp32-20220706.tar.gz", - "archiveFileName": "openocd-esp32-macos-0.11.0-esp32-20220706.tar.gz", - "checksum": "SHA-256:333ee2ec3c9b5dc6ad4509faae55335cdea7f8bf83a56bfcf5327e4497c8538a", - "size": "2077882" - }, { "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", - "archiveFileName": "openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", - "checksum": "SHA-256:26f1f18dd93eb70a13203848d3fb1cc2e0de1fd6749c7dd771b2de8709735aed", - "size": "2011201" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:8aa17a6adf01efa5b1628c8ac578063a44d26ae9581d39486b92223a41ef262f", + "size": "68099473" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", - "archiveFileName": "openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", - "checksum": "SHA-256:26f1f18dd93eb70a13203848d3fb1cc2e0de1fd6749c7dd771b2de8709735aed", - "size": "2011201" + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:b218c11122e5565b6442376ebd21a652abdfcbf90981afa3e177ce978710225d", + "size": "64233211" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-armhf-0.11.0-esp32-20220706.tar.gz", - "archiveFileName": "openocd-esp32-linux-armhf-0.11.0-esp32-20220706.tar.gz", - "checksum": "SHA-256:7f3b57332104e8b8e6194553365a70a9d3754878cfc063d5dc5d839513a63de9", - "size": "1902964" - }, - { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-arm64-0.11.0-esp32-20220706.tar.gz", - "archiveFileName": "openocd-esp32-linux-arm64-0.11.0-esp32-20220706.tar.gz", - "checksum": "SHA-256:f97792bc2852937ec0accb9f0eb2e49926c0f747a71f101a4e34aed75d2c6fcc", - "size": "1954685" - } - ] - }, - { - "name": "esptool_py", - "version": "4.5", - "systems": [ - { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", - "archiveFileName": "esptool-v4.5-src.tar.gz", - "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", - "size": "96621" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:967477434ad5483718915936a77ce915a10c5972a6b3fd02688a5c4e14182bfb", + "size": "63530586" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", - "archiveFileName": "esptool-v4.5-src.tar.gz", - "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", - "size": "96621" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:07671d01a63ebd389912787efb2b263677c7b351c07fe430ded733cdae95e81d", + "size": "70025439" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", - "archiveFileName": "esptool-v4.5-src.tar.gz", - "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", - "size": "96621" + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:99b6d44cea5aebbedc8b6965e7bf551aa4a40ed83ddbe1c0e9b7cb255564ded5", + "size": "75719772" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", - "archiveFileName": "esptool-v4.5-src.tar.gz", - "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", - "size": "96621" + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "checksum": "SHA-256:c64b05be25d26916c65dcfe11de9e60b96d58980b2df706d3074cb70b1ef6cb9", + "size": "66791095" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-macos.tar.gz", - "archiveFileName": "esptool-v4.5-macos.tar.gz", - "checksum": "SHA-256:adcce051f282a19f78da30717ff0e4334b0edaf16a7f14d185ba4cae464586e2", - "size": "5850835" + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:658d3036ffdf11ddad6f0a784c8829f6ffd4dbd7c252d7f61722256d0ad43975", + "size": "82665716" }, { "host": "x86_64-mingw32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-win64.zip", - "archiveFileName": "esptool-v4.5-win64.zip", - "checksum": "SHA-256:a55c5f7d490fbd2cd5fdf486d71f2ed13e3304482d54374b6aa23d42c9b98a96", - "size": "6639416" - }, - { - "host": "i686-mingw32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-win64.zip", - "archiveFileName": "esptool-v4.5-win64.zip", - "checksum": "SHA-256:a55c5f7d490fbd2cd5fdf486d71f2ed13e3304482d54374b6aa23d42c9b98a96", - "size": "6639416" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:9000be38d44bf79c39b93a2aeb99b42e956c593ccbc02fe31cb9c71ae1bbcb22", + "size": "86022563" } ] }, { - "name": "esptool_py", - "version": "4.2.1", + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5", "systems": [ { - "host": "i686-mingw32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-windows.zip", - "archiveFileName": "esptool-4.2.1-windows.zip", - "checksum": "SHA-256:582560067bfbd9895f4862eb5fdf87558ddee5d4d30e7575c9b8bcb0dd60fd94", - "size": "6368279" + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:8aa17a6adf01efa5b1628c8ac578063a44d26ae9581d39486b92223a41ef262f", + "size": "68099473" }, { - "host": "x86_64-mingw32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-windows.zip", - "archiveFileName": "esptool-4.2.1-windows.zip", - "checksum": "SHA-256:582560067bfbd9895f4862eb5fdf87558ddee5d4d30e7575c9b8bcb0dd60fd94", - "size": "6368279" + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:b218c11122e5565b6442376ebd21a652abdfcbf90981afa3e177ce978710225d", + "size": "64233211" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-macos.tar.gz", - "archiveFileName": "esptool-4.2.1-macos.tar.gz", - "checksum": "SHA-256:a984f7ad8bdb40c42d0d368bf4bb21b69a9587aed46b7b6d7de23ca58a3f150d", - "size": "5816598" + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:967477434ad5483718915936a77ce915a10c5972a6b3fd02688a5c4e14182bfb", + "size": "63530586" }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", - "archiveFileName": "esptool-4.2.1-linux.tar.gz", - "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", - "size": "90123" + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:07671d01a63ebd389912787efb2b263677c7b351c07fe430ded733cdae95e81d", + "size": "70025439" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", - "archiveFileName": "esptool-4.2.1-linux.tar.gz", - "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", - "size": "90123" + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:99b6d44cea5aebbedc8b6965e7bf551aa4a40ed83ddbe1c0e9b7cb255564ded5", + "size": "75719772" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", - "archiveFileName": "esptool-4.2.1-linux.tar.gz", - "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", - "size": "90123" + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:658d3036ffdf11ddad6f0a784c8829f6ffd4dbd7c252d7f61722256d0ad43975", + "size": "82665716" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", - "archiveFileName": "esptool-4.2.1-linux.tar.gz", - "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", - "size": "90123" + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:9000be38d44bf79c39b93a2aeb99b42e956c593ccbc02fe31cb9c71ae1bbcb22", + "size": "86022563" } ] }, { - "name": "esptool_py", - "version": "3.3.0", + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3", "systems": [ { - "host": "i686-mingw32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-windows.zip", - "archiveFileName": "esptool-3.3-windows.zip", - "checksum": "SHA-256:55a1d7165414bf4dbd2bb16ca094e555d671958450f5d1536b457a518d2b15df", - "size": "7436864" + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "checksum": "SHA-256:59b271d014ff3915b6db1b43b610a45eea15fe5d6877d12cae8a191cc996ed37", + "size": "90903617" }, { - "host": "x86_64-mingw32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-windows.zip", - "archiveFileName": "esptool-3.3-windows.zip", - "checksum": "SHA-256:55a1d7165414bf4dbd2bb16ca094e555d671958450f5d1536b457a518d2b15df", - "size": "7436864" + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "checksum": "SHA-256:7051b32483e61f98606d71c98e372929428a5165df791dcd5830ed9517763152", + "size": "87065204" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-macos.tar.gz", - "archiveFileName": "esptool-3.3-macos.tar.gz", - "checksum": "SHA-256:3e5f7b521ae33c8c63f3b48efc909c08f37bef1a083c0eafa408312c09900afd", - "size": "6944975" + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "checksum": "SHA-256:48c8dbbf96eec691a812327dc580042d9718fe989e60c2111ebfd692ac710081", + "size": "86455731" }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", - "archiveFileName": "esptool-3.3-linux.tar.gz", - "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", - "size": "97026" + "host": "i686-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "checksum": "SHA-256:552dca3f4302ab7ca88a934b0391200198c9d10a4d8ac413fe604cbf8601f950", + "size": "92906274" }, { - "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", - "archiveFileName": "esptool-3.3-linux.tar.gz", - "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", - "size": "97026" + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "checksum": "SHA-256:e5af78f05d3af07617805d06ebb45ff2fe9b6aed6970a84c35eea28a5d8d5e53", + "size": "98553473" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", - "archiveFileName": "esptool-3.3-linux.tar.gz", - "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", - "size": "97026" + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "checksum": "SHA-256:1b70163acccc5655449de1d149427a54f384156bd35816ec60c422d76d033f05", + "size": "116847008" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", - "archiveFileName": "esptool-3.3-linux.tar.gz", - "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", - "size": "97026" + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "checksum": "SHA-256:58e58575d1938879fd51e822181e54bcb343aa846eb3fca8f616c2cde7bd0041", + "size": "120066269" } ] }, { - "name": "esptool_py", - "version": "3.1.0", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-12.2.0_20230208", "systems": [ { - "host": "i686-mingw32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-windows.zip", - "archiveFileName": "esptool-3.1.0-windows.zip", - "checksum": "SHA-256:c9b4f9bc6e94db136c2545c87c00c7ab1441644ca0bac50811bc3c014e22514b", - "size": "7411889" + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:61495ffe575e00c6998ae7274ff917658c04bded62ece0937c7042d6dcbf46de", + "size": "111971129" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-macos.tar.gz", - "archiveFileName": "esptool-3.1.0-macos.tar.gz", - "checksum": "SHA-256:1dffcb884665fb616779aea62a68f517aac251ea6dfe95560906c364d6ef3065", - "size": "6776909" + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:9008d395be46fcfe68c7de6edc850fc1595f28323a28e7922e5c085bd310cb90", + "size": "106616800" }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", - "archiveFileName": "esptool-3.1.0-linux.tar.gz", - "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", - "size": "80550" + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:568857bdac7dea389dffc7fbc6871b4af299150a8ecf1bf965f224d2a1655edb", + "size": "105700326" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", - "archiveFileName": "esptool-3.1.0-linux.tar.gz", - "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", - "size": "80550" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:d122738bcc6c2f52d05fa89b2fb1afe6a7894cda8a07a1879aca867a31507ed0", + "size": "115098400" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", - "archiveFileName": "esptool-3.1.0-linux.tar.gz", - "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", - "size": "80550" + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:7defcddb98788b0991416ad2e0cb6a3b248b8030f22d5d76b8832117cc1494ca", + "size": "119883189" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", - "archiveFileName": "esptool-3.1.0-linux.tar.gz", - "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", - "size": "80550" + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:b59e076f8e4b9ca99535d449f9fc4cbb443188051dce4ad934e38f16b095f8d9", + "size": "106464677" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:3ddf51774817e815e5d41c312a90c1159226978fb45fd0d4f7085c567f8b73ab", + "size": "131134034" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:1d15ca65e3508388a86d8bed3048c46d07538f5bc88d3e4296f9c03152087cd1", + "size": "135381926" } ] }, { - "name": "esptool_py", - "version": "3.0.0", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0", "systems": [ { - "host": "i686-mingw32", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-windows.zip", - "archiveFileName": "esptool-3.0.0.2-windows.zip", - "checksum": "SHA-256:b192bfc1545a3c92658ce586b4edcc2aca3f0ad4b3fa8417d658bc8a48f1387e", - "size": "3434736" + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:f7d73e5f9e2df3ea6ca8e2c95d6ca6d23d6b38fd101ea5d3012f3cb3cd59f39f", + "size": "192388486" }, { - "host": "x86_64-apple-darwin", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-macos.tar.gz", - "archiveFileName": "esptool-3.0.0.2-macos.tar.gz", - "checksum": "SHA-256:2cafab7f1ebce89475b84c115548eaace40b6366d7b3f9862cdb2fc64f806643", - "size": "3859642" + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:cf520ae3a72f65b9758ea187524b105b8b7546566d738c32e60a0df9846ef1af", + "size": "188626914" }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-linux.tar.gz", - "archiveFileName": "esptool-3.0.0.2-linux.tar.gz", - "checksum": "SHA-256:d5cb51da1c74ff69f81b820470d2ecccb5c7c3a2dec7776483d4c89588b00020", - "size": "57526" + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:2dc3536214caa1697f6834bb4701d05894ca55b53589fc5b54064b050ef93799", + "size": "188624050" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-linux.tar.gz", - "archiveFileName": "esptool-3.0.0.2-linux.tar.gz", - "checksum": "SHA-256:d5cb51da1c74ff69f81b820470d2ecccb5c7c3a2dec7776483d4c89588b00020", - "size": "57526" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:165d6d53e76d79f5ade7e2b7ade54b2b495ecfda0d1184d84d6343659d0e3bdb", + "size": "194606113" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-linux.tar.gz", - "archiveFileName": "esptool-3.0.0.2-linux.tar.gz", - "checksum": "SHA-256:d5cb51da1c74ff69f81b820470d2ecccb5c7c3a2dec7776483d4c89588b00020", - "size": "57526" + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:d6d4cef216cbf28d6fbb88f3e127d4f42a376d9497c260bf8c1ad9cef440f839", + "size": "199411930" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-linux.tar.gz", - "archiveFileName": "esptool-3.0.0.2-linux.tar.gz", - "checksum": "SHA-256:d5cb51da1c74ff69f81b820470d2ecccb5c7c3a2dec7776483d4c89588b00020", - "size": "57526" + "host": "arm64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "checksum": "SHA-256:6e03f2ab1f145be13f8890c6de77b53f52c7bffe3d9d5824549db20298f5ba91", + "size": "191209735" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:1e0cfcfbc8f82c441261cadd21742f66d716ec18c18bf10ed7c7d5b0bee6752f", + "size": "257844437" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:b08f568e8fe5069dd521b87da21b8e56117e5c2c3b492f73a51966a46d3379a4", + "size": "259712666" } ] }, { - "version": "2.6.1", - "name": "esptool_py", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5", "systems": [ { - "url": "https://dl.espressif.com/dl/esptool-2.6.1-windows.zip", - "checksum": "SHA-256:84cf0b369a7707fe566434faba148852fc464992111d5baa95b658b374802f96", - "host": "i686-mingw32", - "archiveFileName": "esptool-2.6.1-windows.zip", - "size": "3422445" + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:f7d73e5f9e2df3ea6ca8e2c95d6ca6d23d6b38fd101ea5d3012f3cb3cd59f39f", + "size": "192388486" }, { - "url": "https://dl.espressif.com/dl/esptool-2.6.1-macos.tar.gz", - "checksum": "SHA-256:f4eb758a301d6902cc9dfcd49d36345d2f075ad123da7cf8132d15cfb7533457", - "host": "x86_64-apple-darwin", - "archiveFileName": "esptool-2.6.1-macos.tar.gz", - "size": "3837085" + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:cf520ae3a72f65b9758ea187524b105b8b7546566d738c32e60a0df9846ef1af", + "size": "188626914" }, { - "url": "https://dl.espressif.com/dl/esptool-2.6.1-linux.tar.gz", - "checksum": "SHA-256:eaf82ff4070d9792f6a42ae1e485375de5a87bec59ef01dfb95de901519ec7fb", - "host": "x86_64-pc-linux-gnu", - "archiveFileName": "esptool-2.6.1-linux.tar.gz", - "size": "44762" + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:2dc3536214caa1697f6834bb4701d05894ca55b53589fc5b54064b050ef93799", + "size": "188624050" }, { - "url": "https://dl.espressif.com/dl/esptool-2.6.1-linux.tar.gz", - "checksum": "SHA-256:eaf82ff4070d9792f6a42ae1e485375de5a87bec59ef01dfb95de901519ec7fb", "host": "i686-pc-linux-gnu", - "archiveFileName": "esptool-2.6.1-linux.tar.gz", - "size": "44762" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:165d6d53e76d79f5ade7e2b7ade54b2b495ecfda0d1184d84d6343659d0e3bdb", + "size": "194606113" }, { - "url": "https://dl.espressif.com/dl/esptool-2.6.1-linux.tar.gz", - "checksum": "SHA-256:eaf82ff4070d9792f6a42ae1e485375de5a87bec59ef01dfb95de901519ec7fb", - "host": "arm-linux-gnueabihf", - "archiveFileName": "esptool-2.6.1-linux.tar.gz", - "size": "44762" + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:d6d4cef216cbf28d6fbb88f3e127d4f42a376d9497c260bf8c1ad9cef440f839", + "size": "199411930" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:1e0cfcfbc8f82c441261cadd21742f66d716ec18c18bf10ed7c7d5b0bee6752f", + "size": "257844437" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:b08f568e8fe5069dd521b87da21b8e56117e5c2c3b492f73a51966a46d3379a4", + "size": "259712666" } ] }, { - "version": "2.6.0", - "name": "esptool_py", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3", "systems": [ { - "url": "https://dl.espressif.com/dl/esptool-2.6.0-windows.zip", - "checksum": "SHA-256:a73f4cf68db240d7f1d250c5c7f2dfcb53c17a37483729f1bf71f8f43d79a799", - "host": "i686-mingw32", - "archiveFileName": "esptool-2.6.0-windows.zip", - "size": "3421208" + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "checksum": "SHA-256:179cbad579790ad35e0f414a18d90017c0f158c397022411a8e9867db2174f15", + "size": "106843321" }, { - "url": "https://dl.espressif.com/dl/esptool-2.6.0-macos.tar.gz", - "checksum": "SHA-256:0a881b91547c840fab8c72ae3d031069384278b8c2e5241647e8c8292c5e4a4b", - "host": "x86_64-apple-darwin", - "archiveFileName": "esptool-2.6.0-macos.tar.gz", - "size": "3835660" + "host": "aarch64-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "checksum": "SHA-256:fb339d476c79c76db8f903b265cab6bb6950d5ed954dec644445252d3378023c", + "size": "103277393" }, { - "url": "https://dl.espressif.com/dl/esptool-2.6.0-linux.tar.gz", - "checksum": "SHA-256:6d162f70f395ca31f5008829dd7e833e729f044a9c7355d5be8ce333a054e110", - "host": "x86_64-pc-linux-gnu", - "archiveFileName": "esptool-2.6.0-linux.tar.gz", - "size": "43535" + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "checksum": "SHA-256:51a6296d8334b7452dba44b2b62e87afd7fd1c74bafa1aa29b1f4ab72cb9e5e0", + "size": "103062256" }, { - "url": "https://dl.espressif.com/dl/esptool-2.6.0-linux.tar.gz", - "checksum": "SHA-256:6d162f70f395ca31f5008829dd7e833e729f044a9c7355d5be8ce333a054e110", "host": "i686-pc-linux-gnu", - "archiveFileName": "esptool-2.6.0-linux.tar.gz", - "size": "43535" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "checksum": "SHA-256:fef60f7ef37ffaa50416d8f244cdbd710d6729dae41ef06c4ec0e50a1f3b7dd7", + "size": "109460025" }, { - "url": "https://dl.espressif.com/dl/esptool-2.6.0-linux.tar.gz", - "checksum": "SHA-256:6d162f70f395ca31f5008829dd7e833e729f044a9c7355d5be8ce333a054e110", - "host": "arm-linux-gnueabihf", - "archiveFileName": "esptool-2.6.0-linux.tar.gz", - "size": "43535" + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "checksum": "SHA-256:4aacc1742a76349d790b1ac8e9e9d963daefda5346dbd6741cfe8e7a35a44e4e", + "size": "113703959" + }, + { + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "checksum": "SHA-256:eb2a442d7f551ebeb842995ec372ec4b364314ca2d7aae779399a74972f7d6bc", + "size": "144711970" + }, + { + "host": "x86_64-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "checksum": "SHA-256:f5607e5187317d521f0474cade83f8eb590f2d165d95c3779b6ce11fbac21d1f", + "size": "146606480" } ] }, { - "version": "3.0.0-gnu12-dc7f933", - "name": "mklittlefs", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2", "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "checksum": "SHA-256:812d735063da9d063b374b59f55832a96c41fbd27ddaef19000a75de8607ba21", + "size": "106837189" + }, { "host": "aarch64-linux-gnu", - "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/aarch64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", - "archiveFileName": "aarch64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", - "checksum": "SHA-256:fc56e389383749e4cf4fab0fcf75cc0ebc41e59383caf6c2eff1c3d9794af200", - "size": "44651" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "checksum": "SHA-256:712f1fbc3e08304a6f32aa18b346b16bbcb413b507b3d4c7c3211bf0d7dc4813", + "size": "103273444" }, { "host": "arm-linux-gnueabihf", - "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/arm-linux-gnueabihf.mklittlefs-c41e51a.200706.tar.gz", - "archiveFileName": "arm-linux-gnueabihf.mklittlefs-c41e51a.200706.tar.gz", - "checksum": "SHA-256:52b642dd0545eb3bd8dfb75dde6601df21700e4867763fd2696274be279294c5", - "size": "37211" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "checksum": "SHA-256:80a3342cda2cd4b6b75ebb2b36d5d12fce7d375cfadadcff01ec3a907f0a16a2", + "size": "103058744" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/i686-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", - "archiveFileName": "i686-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", - "checksum": "SHA-256:7886051d8ccc54aed0af2e7cdf6ff992bb51638df86f3b545955697720b6d062", - "size": "48033" - }, - { - "host": "i686-mingw32", - "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/i686-w64-mingw32.mklittlefs-c41e51a.200706.zip", - "archiveFileName": "i686-w64-mingw32.mklittlefs-c41e51a.200706.zip", - "checksum": "SHA-256:43740db30ce451454f2337331f10ab4ed41bd83dbf0fa0cb4387107388b59f42", - "size": "332655" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "checksum": "SHA-256:7f0162a81558ab0ed09d6c5d356def25b5cb3d5c2d61358f20152fa260ccc8ae", + "size": "109447789" }, { "host": "x86_64-apple-darwin", - "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/x86_64-apple-darwin14.mklittlefs-c41e51a.200706.tar.gz", - "archiveFileName": "x86_64-apple-darwin14.mklittlefs-c41e51a.200706.tar.gz", - "checksum": "SHA-256:e3edd5e05b70db3c7df6b9d626558348ad04804022fe955c799aeb51808c7dc3", - "size": "362608" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "checksum": "SHA-256:3ff7e5427907cf8e271c1f959b70fb01e39625c3caf61a6567e7b38aa0c11578", + "size": "113672945" }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/x86_64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", - "archiveFileName": "x86_64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", - "checksum": "SHA-256:66e84dda0aad747517da3785125e05738a540948aab2b7eaa02855167a1eea53", - "size": "46778" + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-win32.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-win32.zip", + "checksum": "SHA-256:c8ff08883c1456c278fad85e1c43b7c6e251d525683214168655550e85c5b82e", + "size": "140809778" }, { "host": "x86_64-mingw32", - "url": "https://github.com/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/x86_64-w64-mingw32.mklittlefs-c41e51a.200706.zip", - "archiveFileName": "x86_64-w64-mingw32.mklittlefs-c41e51a.200706.zip", - "checksum": "SHA-256:2e319077491f8e832e96eb4f2f7a70dd919333cee4b388c394e0e848d031d542", - "size": "345132" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-win64.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-win64.zip", + "checksum": "SHA-256:6c04cb4728db928ec6473e63146b695b6dec686a0d40dd73dd3353f05247b19e", + "size": "142365782" } ] }, { - "name": "mkspiffs", - "version": "0.2.3", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r1", "systems": [ { - "host": "i686-mingw32", - "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-win32.zip", - "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-win32.zip", - "checksum": "SHA-256:b647f2c2efe6949819c85ea9404271b55c7c9c25bcb98d3b98a1d0ba771adf56", - "size": "249809" - }, - { - "host": "x86_64-apple-darwin", - "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", - "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", - "checksum": "SHA-256:9f43fc74a858cf564966b5035322c3e5e61c31a647c5a1d71b388ed6efc48423", - "size": "130270" - }, - { - "host": "i386-apple-darwin", - "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", - "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", - "checksum": "SHA-256:9f43fc74a858cf564966b5035322c3e5e61c31a647c5a1d71b388ed6efc48423", - "size": "130270" + "host": "x86_64-pc-linux-gnu", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "checksum": "SHA-256:3459618f33bbd5f54d7d7783e807cb6eef6472a220f2f1eb3faced735b9d13bb", + "size": "152812483" }, { - "host": "x86_64-pc-linux-gnu", - "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux64.tar.gz", - "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux64.tar.gz", - "checksum": "SHA-256:5e1a4ff41385e842f389f6b5254102a547e566a06b49babeffa93ef37115cb5d", - "size": "50646" + "host": "arm-linux-gnueabihf", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "checksum": "SHA-256:24b9e54b348bbd5fb816fc4c52abb47337c702beecdbba840750b7cfb9d38069", + "size": "151726623" }, { "host": "i686-pc-linux-gnu", - "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux32.tar.gz", - "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux32.tar.gz", - "checksum": "SHA-256:464463a93e8833209cdc29ba65e1a12fec31718dc10075c195a2445b2c3f6cb0", - "size": "48751" + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "checksum": "SHA-256:954d340ebffef12a2ce9be1ea004e6f45a8863f1e6f41f46fd3f04f58499627c", + "size": "155430963" }, { - "host": "arm-linux-gnueabihf", - "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", - "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", - "checksum": "SHA-256:ade3dc00117912ac08a1bdbfbfe76b12d21a34bc5fa1de0cfc45fe7a8d0a0185", - "size": "40665" + "host": "x86_64-apple-darwin", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "checksum": "SHA-256:612fb3a3f84f703222327bd16581df8f80fda8cdf137637fe5d611587d1b664e", + "size": "159836199" }, { - "host": "aarch64-linux-gnu", - "url": "https://github.com/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", - "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", - "checksum": "SHA-256:ade3dc00117912ac08a1bdbfbfe76b12d21a34bc5fa1de0cfc45fe7a8d0a0185", - "size": "40665" + "host": "i686-mingw32", + "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-win32.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-win32.zip", + "checksum": "SHA-256:5711eb407ffe44adddbd1281b6b575a5645e7193ca78faefa27dc5bc5b662bec", + "size": "191266312" } ] }, diff --git a/package_esp32_index_cn.json b/package_esp32_index_cn.json new file mode 100644 index 00000000000..43790945974 --- /dev/null +++ b/package_esp32_index_cn.json @@ -0,0 +1,6578 @@ +{ + "packages": [ + { + "name": "esp32", + "maintainer": "Espressif Systems", + "websiteURL": "https://github.com/espressif/arduino-esp32", + "email": "hristo@espressif.com", + "help": { + "online": "http://esp32.com" + }, + "platforms": [ + { + "name": "esp32", + "architecture": "esp32", + "version": "3.2.0-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.2.0/esp32-3.2.0.zip", + "archiveFileName": "esp32-3.2.0.zip", + "checksum": "SHA-256:d38b16fef6e519fc0d19bc5af0b39cdbed7dfc2ce69214c1971ded0e61ecd911", + "size": "25447136", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "ESP32-C6 Dev Board" + }, + { + "name": "ESP32-H2 Dev Board" + }, + { + "name": "ESP32-P4 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.4-2f7dcd86-v1-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2411-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2411-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.9.dev3-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.1.3-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.3/esp32-3.1.3.zip", + "archiveFileName": "esp32-3.1.3.zip", + "checksum": "SHA-256:747160dbc81c6634c7bff9e8a57213e9982d52fe90d2a8f75a93a9f7b527defb", + "size": "25396700", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-489d7a2b-v1-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.9.dev3-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.1.2-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.2/esp32-3.1.2.zip", + "archiveFileName": "esp32-3.1.2.zip", + "checksum": "SHA-256:17214f51a7b9de547baa777419d2b041e1f09cfb17adb33c18617a756190f9f6", + "size": "25396684", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-489d7a2b-v1-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.9.dev3-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.1.1-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.1/esp32-3.1.1.zip", + "archiveFileName": "esp32-3.1.1.zip", + "checksum": "SHA-256:e20982b2860eab4900ce16a0f2b7f9fc3ffb205e490dc933f625d53a5c9e8129", + "size": "25253828", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-cfea4f7c-v1-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.9.dev3-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.1.0-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0/esp32-3.1.0.zip", + "archiveFileName": "esp32-3.1.0.zip", + "checksum": "SHA-256:0db044159e3fc737435b3f1d547bf85c60a33a175342c317d2a5c08c42977f80", + "size": "25225607", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-083aad99-v2-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.9.dev3-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.7-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.7/esp32-3.0.7.zip", + "archiveFileName": "esp32-3.0.7.zip", + "checksum": "SHA-256:6b48f5bd889e55d7b93b95849dff77c6a5e4b9ee58c7298d7872d558a4d04931", + "size": "24546342", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-632e0c2a-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs2", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs3", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240821-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.6-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.6/esp32-3.0.6.zip", + "archiveFileName": "esp32-3.0.6.zip", + "checksum": "SHA-256:7b4d87d0a18e69cba81e7aa7e69f088dc7c4f6cc89a20adc256bf77c86992dc5", + "size": "24546256", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-632e0c2a-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs2", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs3", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240821-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.5-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.5/esp32-3.0.5.zip", + "archiveFileName": "esp32-3.0.5.zip", + "checksum": "SHA-256:6ead4c452e69146b8eb08bee5a77898acc75a0637e9fccb5bbf665385ddc28db", + "size": "24481707", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-33fbade6-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs2", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs3", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240821-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.4-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.4/esp32-3.0.4.zip", + "archiveFileName": "esp32-3.0.4.zip", + "checksum": "SHA-256:58fcd9b033be0358afbcbcf9a1d8eb216217f65f6b28f2e2cd739c7d016dda4f", + "size": "23937821", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-b6b4727c58-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs2", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs3", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240318-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.3-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.3/esp32-3.0.3.zip", + "archiveFileName": "esp32-3.0.3.zip", + "checksum": "SHA-256:b4aa70711293955a9835ad641279dc7cd524aeb405f7d294afa05c2ece7ded45", + "size": "23920341", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-dc859c1e67-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs2", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs3", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240318-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.2-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.2/esp32-3.0.2.zip", + "archiveFileName": "esp32-3.0.2.zip", + "checksum": "SHA-256:bd90630fbe9e99f3bb3340c25a87574d5551dd2823849adbf285f8430b6884cf", + "size": "23893902", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-bd2b9390ef-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs2", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs3", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240318-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.1-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.1/esp32-3.0.1.zip", + "archiveFileName": "esp32-3.0.1.zip", + "checksum": "SHA-256:b7169d0dd51b64e450a7c09fafb7a4782820a9bc745f7b1e4618316440db0930", + "size": "23895257", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-442a798083-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs2", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs3", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.0-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.0/esp32-3.0.0.zip", + "archiveFileName": "esp32-3.0.0.zip", + "checksum": "SHA-256:0960cf786992e0e3770d8c1e1979eaf01bd0ac9209b24fb00948cf93d43cf95c", + "size": "23891610", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-442a798083-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-12.2.0_20230208-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-12.2.0_20230208-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-12.2.0_20230208-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.17-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.17/esp32-2.0.17.zip", + "archiveFileName": "esp32-2.0.17.zip", + "checksum": "SHA-256:1f8658d4b18a8001ce782142ad08164af2991d70b83a147c3437a6ee30a9b225", + "size": "254658377", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.16-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.16/esp32-2.0.16.zip", + "archiveFileName": "esp32-2.0.16.zip", + "checksum": "SHA-256:6615fd16fd6d3ee2fa7ca2dd40a4f65220eddf094a88b7cee2141a0c077987bc", + "size": "254657760", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.15-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.15/esp32-2.0.15.zip", + "archiveFileName": "esp32-2.0.15.zip", + "checksum": "SHA-256:2219c1636264f55e19b2a5e7f41c81b669b1355017b15ee31773c85674b3e9bb", + "size": "254657764", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.14-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.14/esp32-2.0.14.zip", + "archiveFileName": "esp32-2.0.14.zip", + "checksum": "SHA-256:77c71eba520c97ab30161eb2f9c6a46b019e48d13936244b18f6ad4dbecf0a58", + "size": "252506057", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230419-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.13-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.13/esp32-2.0.13.zip", + "archiveFileName": "esp32-2.0.13.zip", + "checksum": "SHA-256:ee4c277bac0eecb7ca8853780da9d49b4e260926059cf6a9f9bac1923059de0c", + "size": "250665913", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.12-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.12/esp32-2.0.12.zip", + "archiveFileName": "esp32-2.0.12.zip", + "checksum": "SHA-256:9a4f844ca67812c547a9635cdb0dd2c347cae7a3e855f95f9d490b2f8d340dbe", + "size": "250664387", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.11-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.11/esp32-2.0.11.zip", + "archiveFileName": "esp32-2.0.11.zip", + "checksum": "SHA-256:d15386308dc72f94816ce80b5508af999f2fd0d88eb5e1ffba48316ab0b9c5d6", + "size": "250401265", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.10-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.10/esp32-2.0.10.zip", + "archiveFileName": "esp32-2.0.10.zip", + "checksum": "SHA-256:6028cb623c838723c41000869963d95f7cb811d58643133068eed31c03c2d7c0", + "size": "250401273", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.9-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.9/esp32-2.0.9.zip", + "archiveFileName": "esp32-2.0.9.zip", + "checksum": "SHA-256:37072185026db3cdc0ed4b6fb12840d7f41571a16c60eec97bec2a4abec8dcee", + "size": "278964028", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.8-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.8/esp32-2.0.8.zip", + "archiveFileName": "esp32-2.0.8.zip", + "checksum": "SHA-256:2c5daa3ce7456e752fb8d8a35b0b6b2eb8e494032cba57569ba12dd53eb235f2", + "size": "278963636", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.7-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.7/esp32-2.0.7.zip", + "archiveFileName": "esp32-2.0.7.zip", + "checksum": "SHA-256:b5a7a54fca36501d1108413310ec50ae2df655c14c3881325903cde2c7ae5f80", + "size": "278966011", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.6-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.6/esp32-2.0.6.zip", + "archiveFileName": "esp32-2.0.6.zip", + "checksum": "SHA-256:ea56d300404cc1b5bc15295f29790246b02025c493e0664a6d271164a602a351", + "size": "264579419", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.2.1-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20220706-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.5-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.5/esp32-2.0.5.zip", + "archiveFileName": "esp32-2.0.5.zip", + "checksum": "SHA-256:c7a1040c5f007a799ef9eb249508e3544c3cf5246f67cdfdc1e80f7d0ca7b41d", + "size": "260916106", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.2.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.4-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.4/esp32-2.0.4.zip", + "archiveFileName": "esp32-2.0.4.zip", + "checksum": "SHA-256:832609d6f4cd0edf4e471f02e30b7f0e1c86fdd1b950990ef40431e656237214", + "size": "259715595", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.3.0-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.3-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.3/esp32-2.0.3.zip", + "archiveFileName": "esp32-2.0.3.zip", + "checksum": "SHA-256:7a44ab32a2bfe18a84fd1f75aa1921dae92c6b4a74a2eb4d0c7d479b34996f3b", + "size": "246542267", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.3.0-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.2-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.2/esp32-2.0.2.zip", + "archiveFileName": "esp32-2.0.2.zip", + "checksum": "SHA-256:e139f22aab9cbe8109815de0be110e58a8f1d6c90a2e263eb0b0d646b53a5a33", + "size": "151846438", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.1.0-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.1-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.1/esp32-2.0.1.zip", + "archiveFileName": "esp32-2.0.1.zip", + "checksum": "SHA-256:3a7cd46ba47990dd37fbe02b7f0a910dd5cc7af1d190350b69d320ed36cd6b41", + "size": "148976301", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.1.0-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.0-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.0/esp32-2.0.0.zip", + "archiveFileName": "esp32-2.0.0.zip", + "checksum": "SHA-256:10e1c42dbf11d2359259a80008f13f37d2f9bb8f49a25d34d387cf4531052cbc", + "size": "139313137", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + }, + { + "name": "WEMOS D1 MINI ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r1-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r1-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r1-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.1.0-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "1.0.6-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.6/esp32-1.0.6.zip", + "archiveFileName": "esp32-1.0.6.zip", + "checksum": "SHA-256:982da9aaa181b6cb9c692dd4c9622b022ecc0d1e3aa0c5b70428ccc3c1b4556b", + "size": "51126662", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + }, + { + "name": "WEMOS D1 MINI ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "1.22.0-97-gc752ad5-5.2.0-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.0.0-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "1.0.5-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5/esp32-1.0.5.zip", + "archiveFileName": "esp32-1.0.5.zip", + "checksum": "SHA-256:dc5c6c72a127b3171c654f3c3476911d3c2b0ab21affdb7b0f0756c105ca71a7", + "size": "49552769", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + }, + { + "name": "WEMOS D1 MINI ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "1.22.0-97-gc752ad5-5.2.0-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.0.0-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + } + ] + }, + { + "category": "ESP32", + "name": "esp32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.4/esp32-1.0.4.zip", + "checksum": "SHA-256:d9108bf873933c4e48a3ca401fb51e41b2cc3f98d7c9b9be9881e7ca34bf0efe", + "help": { + "online": "" + }, + "version": "1.0.4-cn", + "architecture": "esp32", + "archiveFileName": "esp32-1.0.4.zip", + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + }, + { + "name": "WEMOS D1 MINI ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "version": "1.22.0-80-g6c4433a-5.2.0-cn", + "name": "xtensa-esp32-elf-gcc" + }, + { + "packager": "esp32", + "version": "2.6.1-cn", + "name": "esptool_py" + }, + { + "packager": "esp32", + "version": "0.2.3-cn", + "name": "mkspiffs" + } + ], + "size": "36853332" + }, + { + "category": "ESP32", + "name": "esp32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.3/esp32-1.0.3.zip", + "checksum": "SHA-256:19a30ece8a3ab26ab420c3d5531a9a1c51cb04e421a4f1d86dc072c209060436", + "help": { + "online": "" + }, + "version": "1.0.3-cn", + "architecture": "esp32", + "archiveFileName": "esp32-1.0.3.zip", + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + }, + { + "name": "WEMOS D1 MINI ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "version": "1.22.0-80-g6c4433a-5.2.0-cn", + "name": "xtensa-esp32-elf-gcc" + }, + { + "packager": "esp32", + "version": "2.6.1-cn", + "name": "esptool_py" + }, + { + "packager": "esp32", + "version": "0.2.3-cn", + "name": "mkspiffs" + } + ], + "size": "36811826" + }, + { + "category": "ESP32", + "help": { + "online": "" + }, + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.2/esp32-1.0.2.zip", + "checksum": "SHA-256:c3a5a5050705d41ab205d25a7399e921057b754ef8f883419f58c0c7f08df11c", + "version": "1.0.2-cn", + "architecture": "esp32", + "archiveFileName": "esp32-1.0.2.zip", + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + } + ], + "size": "31174160", + "toolsDependencies": [ + { + "packager": "esp32", + "version": "1.22.0-80-g6c4433a-5.2.0-cn", + "name": "xtensa-esp32-elf-gcc" + }, + { + "packager": "esp32", + "version": "2.6.1-cn", + "name": "esptool_py" + }, + { + "packager": "esp32", + "version": "0.2.3-cn", + "name": "mkspiffs" + } + ], + "name": "esp32" + }, + { + "category": "ESP32", + "help": { + "online": "" + }, + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.1/esp32-1.0.1.zip", + "checksum": "SHA-256:1a7fa2f9bb0b6b5a20dfea227497f4851dc8b886caf7ecb998f745589c97ed34", + "name": "esp32", + "version": "1.0.1-cn", + "architecture": "esp32", + "archiveFileName": "esp32-1.0.1.zip", + "size": "31273425", + "toolsDependencies": [ + { + "packager": "esp32", + "version": "1.22.0-80-g6c4433a-5.2.0-cn", + "name": "xtensa-esp32-elf-gcc" + }, + { + "packager": "esp32", + "version": "2.6.0-cn", + "name": "esptool_py" + }, + { + "packager": "esp32", + "version": "0.2.3-cn", + "name": "mkspiffs" + } + ], + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + } + ] + }, + { + "category": "ESP32", + "help": { + "online": "" + }, + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.0/esp32-1.0.0.zip", + "checksum": "SHA-256:94d586174f103e2014be590ab307c5cdda6fa2ec70204c7f121882ace5e05c80", + "name": "esp32", + "version": "1.0.0-cn", + "architecture": "esp32", + "archiveFileName": "esp32-1.0.0.zip", + "size": "26381887", + "toolsDependencies": [ + { + "packager": "esp32", + "version": "1.22.0-80-g6c4433a-5.2.0-cn", + "name": "xtensa-esp32-elf-gcc" + }, + { + "packager": "esp32", + "version": "2.3.1-cn", + "name": "esptool" + }, + { + "packager": "esp32", + "version": "0.2.3-cn", + "name": "mkspiffs" + } + ], + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + } + ] + } + ], + "tools": [ + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.4-2f7dcd86-v1-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-489d7a2b-v1-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-cfea4f7c-v1-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-083aad99-v2-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-632e0c2a-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-33fbade6-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-b6b4727c58-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-dc859c1e67-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-bd2b9390ef-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-442a798083-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + } + ] + }, + { + "name": "esp-x32", + "version": "2411-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:b1859df334a85541ae746e1b86439f59180d87f8cf1cc04c2e770fadf9f006e9", + "size": "323678089" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:7ff023033a5c00e55b9fc0a0b26d18fb0e476c24e24c5b0459bcb2e05a3729f1", + "size": "320064691" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:bb11dbf3ed25d4e0cc9e938749519e8236cfa2609e85742d311f1d869111805a", + "size": "319454139" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:5ac611dca62ec791d413d1f417d566c444b006d2a4f97bd749b15f782d87249b", + "size": "328335914" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-x86_64-apple-darwin_signed.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-x86_64-apple-darwin_signed.tar.gz", + "checksum": "SHA-256:15b3e60362028eaeff9156dc82dac3f1436b4aeef3920b28d7650974d8c34751", + "size": "336215844" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-aarch64-apple-darwin_signed.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-aarch64-apple-darwin_signed.tar.gz", + "checksum": "SHA-256:45c475518735133789bacccad31f872318b7ecc0b31cc9b7924aad880034f0bf", + "size": "318797396" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-i686-w64-mingw32.zip", + "checksum": "SHA-256:b30e450e0af279783c54a9ae77c3b367dd556b78eda930a92ec7b784a74c28c8", + "size": "382457717" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:62ae704777d73c30689efff6e81178632a1ca44d1a2d60f4621eb997e040e028", + "size": "386316009" + } + ] + }, + { + "name": "esp-x32", + "version": "2405-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:bce77e8480701d5a90545369d1b5848f6048eb39c0022d2446d1e33a8e127490", + "size": "208911713" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:7c9e3c1adc733d042ed87b92daa1d6396e1b441c1755f1fa14cb88855719ba88", + "size": "202519931" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:d6955e8ea6af91574bf9213b92f32ca09eb8640103446b7fa19a63cfeeec5421", + "size": "202206516" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:3666ee74ecb693ee6488f11469802630a7b0d32608184045a4f35cb413f59e3d", + "size": "213304863" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:948cf57b6eecc898b5f70e06ad08ba88c08b627be570ec631dfcd72f6295194a", + "size": "221357024" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:6f03fdf0cc14a7f3900ee59977f62e8626d8b7c208506e52f1fd883ac223427a", + "size": "199689745" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-i686-w64-mingw32_hotfix.zip", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-i686-w64-mingw32_hotfix.zip", + "checksum": "SHA-256:d6b227c50e3c8e21d62502b3140e5ab74a4cb502c2b4169c36238b9858a8fb88", + "size": "266042967" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-x86_64-w64-mingw32_hotfix.zip", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-x86_64-w64-mingw32_hotfix.zip", + "checksum": "SHA-256:155ee97b531236e6a7c763395c68ca793e55e74d2cb4d38a23057a153e01e7d0", + "size": "269831985" + } + ] + }, + { + "name": "esp-x32", + "version": "2302-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:e8d35938385447cf9c34735fee2a3b2b61cca6be07db77a45856a1c2a347e423", + "size": "111766903" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:569988acfc2673369f222037c64bac96990cee08cebeebc4f8860e0d984f8bd9", + "size": "106473247" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:6a844f16021e936cc9b87b203978356f57ab2144554f6f2a0f73ffa3d3d316c5", + "size": "105576049" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:743d6f03a89329bb09f9550d27fcab677f5cf06b4720793bbcef7883a932681d", + "size": "114870843" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:4d32d764e984f3a570aacfb2f4957619540fb4629534d969b2e83997901334c3", + "size": "119424029" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:dc8fa7f4933bf5cb08e83bacce6160cc9dfe93d7aad1e8f92599bb81ff5b2e28", + "size": "106136827" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:62bb6428d107ed3f44c212c77ecf24804b74c97327b0f0ad2029c656c6dbd6ee", + "size": "130847086" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:8febfe4a6476efc69012390106c8c660a14418f025137b0513670c72124339cf", + "size": "134985117" + } + ] + }, + { + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:9d68472d4cba5cf8c2b79d94f86f92c828e76a632bd1e6be5e7706e5b304d36e", + "size": "31010320" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:bdabc3217994815fc311c4e16e588b78f6596b5ad4ffa46c80b40e982cfb1e66", + "size": "30954580" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:d54b8d703ba897b28c627da3d27106a3906dd01ba298778a67064710bc33c76d", + "size": "28697281" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:64d3bc992ed8fdec383d49e8b803ac494605a38117c8293db8da055037de96b0", + "size": "29890994" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:023e74b3fda793da4bc0509b02de776ee0dad6efaaac17bef5916fb7dc9c26b9", + "size": "44446611" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:ea757c6bf8c25238f6d2fdcc6bbab25a1b00608a0f9e19b7ddd2f37ddbdc3fb1", + "size": "37021423" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-i686-w64-mingw32.zip", + "checksum": "SHA-256:322e8d9b700dc32d8158e3dc55fb85ec55de48d0bb7789375ee39a28d5d655e2", + "size": "26302466" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:a27a2fe20f192f8e0a51b8936428b4e1cf8935cfe008ee445cc49f6fc7f6db2e", + "size": "28366035" + } + ] + }, + { + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:d0743ec43cd92c35452a9097f7863281de4e72f04120d63cfbcf9d591a373529", + "size": "36942094" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:bc1fac0366c6a08e26c45896ca21c8c90efc2cdd431b8ba084e8772e15502d0e", + "size": "37134601" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:25efc51d52b71f097ccec763c5c885c8f5026b432fec4b5badd6a5f36fe34d04", + "size": "34579556" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:e0af0b3b4a6b29a843cd5f47e331a966d9258f7d825b4656c6251490f71b05b2", + "size": "35676578" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:bd146fd99a52b2d71c7ce0f62b9e18f3423d6cae7b2b2c954046b0dd7a23142f", + "size": "52863941" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:5edc76565bf9d2fadf24e443ddf3df7567354f336a65d4af5b2ee805cdfcec24", + "size": "33504923" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-i686-w64-mingw32.zip", + "checksum": "SHA-256:ea4f3ee6b95ad1ad2e07108a21a50037a3e64a420cdeb34b2ba95d612faed898", + "size": "31068749" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:13bb97f39173948d1cfb6e651d9b335ea9d52f1fdd0dda1eda3a2d23d8c63644", + "size": "33514906" + } + ] + }, + { + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:b5f7cc3e4b5a58db655754083ed9652e4953e71c3b4922fb624e7a034ec24a64", + "size": 26947336 + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:816acfae38b6b443f4f1590395f68f079243539259d19c7772ae6416c6519444", + "size": 27134508 + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:4dd1bace0633196fddfdcef3cebcc4bbfce22f5a0d2d1e3d618f3d8a6cbfcacc", + "size": 25205239 + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:27744d09d171be2f55ec15fa7f2d7f8ff94d33f7e130d24ebe082cb6c438618b", + "size": 25978028 + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:1432faa12d7301133f6ee654d60751b57adcc6cf323ee1ecc393f06f0225eff4", + "size": 38386785 + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:d0b542ef070ea72857f9cf554f176a0a9d868cd59e05ac293ad39402bcc5277d", + "size": 21671964 + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-i686-w64-mingw32.zip", + "checksum": "SHA-256:1678b06aa80b1d689d05548056635efde5b73b98f2c3de5d555bcfc6f374c5d0", + "size": 23241302 + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:7060df4b6aa133e282147c3651d50222d677d6a0fff92979c500353b099a3f41", + "size": 25135265 + } + ] + }, + { + "name": "esp-rv32", + "version": "2411-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:a16942465d33c7f0334c16e83bc6feb62e06eeb79cf19099293480bb8d48c0cd", + "size": "593721156" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:22486233d0e0fd58a54ae453b701f195f1432fc6f2e17085b9d6c8d5d9acefb7", + "size": "587879927" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:27a72d5d96cdb56dae2a1da5dfde1717c18a8c1f9a1454c8e34a8bd34abe662d", + "size": "586531522" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:b7bd6e4cd53a4c55831d48e96a3d500bfffb091bec84a30bc8c3ad687e3eb3a2", + "size": "597070471" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-x86_64-apple-darwin_signed.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-x86_64-apple-darwin_signed.tar.gz", + "checksum": "SHA-256:5f8b571e1aedbe9f856f3bdeca6600cd5510ccff1ca102c4f001421eda560585", + "size": "602343061" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-aarch64-apple-darwin_signed.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-aarch64-apple-darwin_signed.tar.gz", + "checksum": "SHA-256:a7276042a7eb2d33c2dff7167539e445c32c07d43a2c6827e86d035642503e0b", + "size": "578521565" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-i686-w64-mingw32.zip", + "checksum": "SHA-256:54193a97bd75205678ead8d11f00b351cfa3c2a6e5ab5d966341358b9f9422d7", + "size": "672055172" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:24c8407fa467448d394e0639436a5ede31caf1838e35e8435e19df58ebed438c", + "size": "677812937" + } + ] + }, + { + "name": "esp-rv32", + "version": "2405-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:e7fbfffbb19dcd3764a9848a141bf44e19ad0b48e0bd1515912345c26fe52fba", + "size": "294346758" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:a178a895b807ed2e87d5d62153c36a6aae048581f527c0eb152f0a02b8de9571", + "size": "288374597" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:4a2f176d0f5bc8a70645975e2a08ea94145fb69b7225c5cdcbd6024a4836aaf5", + "size": "287737495" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:7a6f02f1b2effafb18600bbf602818f6923fd320f000fb8659f34acbfda8812f", + "size": "299138540" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-x86_64-apple-darwin.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:a193b4f025d0d836b0a9d9cbe760af1c53e53af66fc332fe98952bc4c456dd9a", + "size": "305025700" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-aarch64-apple-darwin.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:7082dd2e2123dea5609a24092d19ac6612ae7e219df1d298de6b2f64cb4af0df", + "size": "285458443" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-i686-w64-mingw32.zip", + "checksum": "SHA-256:590bfb10576702639825581cc00c445da6e577012840a787137417e80d15f46d", + "size": "366573064" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:413eb9f6adf8fdaf25544d014c850fc09eb38bb93a2fc5ebd107ab1b0de1bb3a", + "size": "369820297" + } + ] + }, + { + "name": "esp-rv32", + "version": "2302-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:1eb0d65990547ee9706b90406600cbc3638814d5feb7c1f7b44bb5416478a5bd", + "size": "257615266" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:921fcdc170c7fe5d6a0a30470ed1875c8926d910c19739fc950c8d1836e4c1c5", + "size": "253094184" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:f66e06312b58251c2121c1b1df1102565708573b86b2a9fe0c03ea1b0e9a7511", + "size": "252558021" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:8abcac0331ef8973d1c705e77523364ebec7e98b37640d4a1d036912f3cbe946", + "size": "261248375" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:76a334bc75a4e3891c222c84d7968817f2d0699d2976fc2a1658e56395283bec", + "size": "268987133" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:f30571945b257a10a26901bba3c5892e07c192aacf9ed6e8fcd11ca36ed827d2", + "size": "252159713" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:a5dfbb6dbf6fc6c6ea9beb2723af059ba3c5b2c86c2f0dc3b21afdc7bb229bf5", + "size": "324863847" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:9deae9e0013b2f7bbf017f9c8135755bfa89522f337c7dca35872bf12ec08176", + "size": "328092732" + } + ] + }, + { + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:ce004bc0bbd71b246800d2d13b239218b272a38bd528e316f21f1af2db8a4b13", + "size": "30707431" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:ba10f2866c61410b88c65957274280b1a62e3bed05131654ed9b6758efe18e55", + "size": "30824065" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:88539db5d987f28827efac7e26080a2803b9b539342ccd2963ccfdd56d7f08f7", + "size": "29000575" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:0e628ee37438ab6ba05eb889a76d09e50cb98e0020a16b8e2b935c5cf19b4ed2", + "size": "29947521" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:8f6bda832d70dad5860a639d55aba4237bd10cbac9f4822db1eece97357b34a9", + "size": "44196117" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:d88b6116e86456c8480ce9bc95aed375a35c0d091f1da0a53b86be0e6ef3d320", + "size": "36794404" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-i686-w64-mingw32.zip", + "checksum": "SHA-256:d6e7ce05805b0d8d4dd138ad239b98a1adf8da98941867d60760eb1ae5361730", + "size": "26486295" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:5c9f211dc46daf6b96fad09d709284a0f0186fef8947d9f6edd6bca5b5ad4317", + "size": "27942579" + } + ] + }, + { + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:2c78b806be176b1e449e07ff83429d38dfc39a13f89a127ac1ffa6c1230537a0", + "size": "36630145" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:33f80117c8777aaff9179e27953e41764c5c46b3c576dc96a37ecc7a368807ec", + "size": "36980143" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:292e6ec0a9381c1480bbadf5caae25e86428b68fb5d030c9be7deda5e7f070e0", + "size": "34950318" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:68a25fbcfc6371ec4dbe503ec92211977eb2006f0c29e67dbce6b93c70c6b7ec", + "size": "35801607" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:322c722e6c12225ed8cd97f95a0375105756dc5113d369958ce0858ad1a90257", + "size": "52618688" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:c2224b3a8d02451c530cf004c29653292d963a1b4021b4b472b862b6dbe97e0b", + "size": "33149392" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-i686-w64-mingw32.zip", + "checksum": "SHA-256:4b42149a99dd87ee7e6dde25c99bad966c7f964253fa8f771593d7cef69f5602", + "size": "31635103" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:728231546ad5006d34463f972658b2a89e52f660a42abab08a29bedd4a8046ad", + "size": "33400816" + } + ] + }, + { + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:6bf5b5d2d407e074af2a74fc826764934ac1625a1751c52fbc0d4d7772061f8f", + "size": 26799809 + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:e54ef67cdb5724fc2da8f0487f19b2c83c08b560fff317f5ffd98fbb230b397a", + "size": 27021672 + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:86772c6aee8a05b2c75a6b04e9da630e35e8415b64da8ccde92a5fb2d3c7fcf4", + "size": 25532577 + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:3463be3e24182b7f1bd0fb232020534445b2d0ea0e7093c1b4f4da102b3baf52", + "size": 26188698 + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:a9db1811ebb9271134eba2f7c303fc2587bd4b2a1ae33cd05ff2605cd2fb30d2", + "size": 38397584 + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:c94fb6d726b8d97e65e23237f5126a41343bca8f22a0414df5f0e6777e36f51c", + "size": 21593613 + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-i686-w64-mingw32.zip", + "checksum": "SHA-256:20cdee8a1c01428363ef02f4cc8035c65508d6b43560c525733eae94b7c7bb50", + "size": 23436802 + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:add72366485b784b66837ce263548980f1df144d0954c42d75a81f6acbd43cac", + "size": 24802315 + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-linux-amd64-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:e82b0f036dc99244bead5f09a86e91bb2365cbcd1122ac68261e5647942485df", + "size": "2398717" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-linux-arm64-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:8f8daf5bd22ec5d2fa9257b0862ec33da18ee677e023fb9a9eb17f74ce208c76", + "size": "2271584" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-linux-armel-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:bc9c020ecf20e2000f76cffa44305fd5bc44d2e688ea78cce423399d33f19767", + "size": "2414206" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-macos-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:02a2dffe801a2d005fa9e614d80ff8173395b2cb0b5d3118d0229d094a9946a7", + "size": "2508089" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-macos-arm64-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:c382f9e884d6565cb6089bff5f200f4810994667d885f062c3d3c5625a0fa9d6", + "size": "2552569" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-win32-0.12.0-esp32-20241016.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20241016.zip", + "checksum": "SHA-256:3b5d615e0a72cc771a45dd469031312d5881c01d7b6bc9edb29b8b6bda8c2e90", + "size": "2946244" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-win64-0.12.0-esp32-20241016.zip", + "archiveFileName": "openocd-esp32-win64-0.12.0-esp32-20241016.zip", + "checksum": "SHA-256:5e7b2fd1947d3a8625f6a11db7a2340cf2f41ff4c61284c022c7d7c32b18780a", + "size": "2946244" + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240821-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-linux-amd64-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:f8c68541fa38307bc0c0763b7e1e3fe4e943d5d45da07d817a73b492e103b652", + "size": "2373094" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-linux-arm64-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:4d6e263d84e447354dc685848557d6c284dda7fe007ee451f729a7edfa7baad7", + "size": "2251272" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-linux-armel-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:9d45679f2c4cf450d5e2350047cf57bb76dde2487d30cebce0a72c9173b5c45b", + "size": "2390074" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-macos-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:565c8fabc5f19a6e7a0864a294d74b307eec30b9291d16d3fc90e273f0330cb4", + "size": "2485320" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-macos-arm64-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:68c5c7cf3d15b9810939a5edabc6ff2c9f4fc32262de91fc292a180bc5cc0637", + "size": "2530336" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-win32-0.12.0-esp32-20240821.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20240821.zip", + "checksum": "SHA-256:463fc2903ddaf03f86ff50836c5c63cc696550b0446140159eddfd2e85570c5d", + "size": "2916409" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-win64-0.12.0-esp32-20240821.zip", + "archiveFileName": "openocd-esp32-win64-0.12.0-esp32-20240821.zip", + "checksum": "SHA-256:550f57369f1f1f6cc600b5dffa3378fd6164d8ea8db7c567cf41091771f090cb", + "size": "2916408" + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240318-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-linux-amd64-0.12.0-esp32-20240318.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20240318.tar.gz", + "checksum": "SHA-256:cf26c5cef4f6b04aa23cd2778675604e5a74a4ce4d8d17b854d05fbcb782d52c", + "size": "2252682" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-linux-arm64-0.12.0-esp32-20240318.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20240318.tar.gz", + "checksum": "SHA-256:9b97a37aa2cab94424a778c25c0b4aa0f90d6ef9cda764a1d9289d061305f4b7", + "size": "2132904" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-linux-armel-0.12.0-esp32-20240318.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20240318.tar.gz", + "checksum": "SHA-256:b7e82776ec374983807d3389df09c632ad9bc8341f2075690b6b500319dfeaf4", + "size": "2271761" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-macos-0.12.0-esp32-20240318.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20240318.tar.gz", + "checksum": "SHA-256:b16c3082c94df1079367c44d99f7a8605534cd48aabc18898e46e94a2c8c57e7", + "size": "2365588" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-macos-arm64-0.12.0-esp32-20240318.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20240318.tar.gz", + "checksum": "SHA-256:534ec925ae6e35e869e4e4e6e4d2c4a1eb081f97ebcc2dd5efdc52d12f4c2f86", + "size": "2406377" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-win32-0.12.0-esp32-20240318.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20240318.zip", + "checksum": "SHA-256:d379329eba052435173ab0d69c9b15bc164a6ce489e2a67cd11169d2dabff633", + "size": "2783915" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-win32-0.12.0-esp32-20240318.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20240318.zip", + "checksum": "SHA-256:d379329eba052435173ab0d69c9b15bc164a6ce489e2a67cd11169d2dabff633", + "size": "2783915" + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-linux-amd64-0.12.0-esp32-20230921.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20230921.tar.gz", + "checksum": "SHA-256:61e38e0a13a5c1664624ec1c397d7f7d6868554b0d345d3fb1f7294cce38cc4b", + "size": "2193783" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-linux-arm64-0.12.0-esp32-20230921.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20230921.tar.gz", + "checksum": "SHA-256:6430315dc1b926541c93cef63d2b08982543ad3f9fe6e0d7107c8a518ef20432", + "size": "2062058" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-linux-armel-0.12.0-esp32-20230921.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20230921.tar.gz", + "checksum": "SHA-256:5df16d8a91f013a547f6b3b914c655a9d267996a3b6503031b335ac04a4f8d15", + "size": "2206666" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-macos-0.12.0-esp32-20230921.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20230921.tar.gz", + "checksum": "SHA-256:0a4f764934f488af18cdac2a0d152dd36b4870f3bec1a2d4e25b6b3b7a5258a0", + "size": "2305832" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-macos-arm64-0.12.0-esp32-20230921.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20230921.tar.gz", + "checksum": "SHA-256:6dce89048f642eb0559a915b6e514f90feb2a95afe21b84f0b0ebf2b27824816", + "size": "2341406" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-win32-0.12.0-esp32-20230921.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20230921.zip", + "checksum": "SHA-256:ac9d522a63b0816f64d921547bd55c031788035ced85c067d8e7c2862cb1bd0d", + "size": "2710475" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-win32-0.12.0-esp32-20230921.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20230921.zip", + "checksum": "SHA-256:ac9d522a63b0816f64d921547bd55c031788035ced85c067d8e7c2862cb1bd0d", + "size": "2710475" + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230419-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-linux-amd64-0.12.0-esp32-20230419.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20230419.tar.gz", + "checksum": "SHA-256:5144e7516cd75a2152b35ecae0a400f7d3d4424c2488fbacc49433564f54c70d", + "size": 2126949 + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-linux-arm64-0.12.0-esp32-20230419.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20230419.tar.gz", + "checksum": "SHA-256:1c4d900c738fe00730c6033abb6cf1cc6587717dbeee291d5908272d153d329a", + "size": 1989161 + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-linux-armel-0.12.0-esp32-20230419.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20230419.tar.gz", + "checksum": "SHA-256:293258fd67618dd352e1096137ad9f2b801926eaf74ffcd570540ae94ad8ee5c", + "size": 2129727 + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-macos-0.12.0-esp32-20230419.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20230419.tar.gz", + "checksum": "SHA-256:621aad7d011c6817cde9570dfea42c7bcc699458bf43c37706cb4c2f6475a247", + "size": 2237976 + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-macos-arm64-0.12.0-esp32-20230419.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20230419.tar.gz", + "checksum": "SHA-256:3af7eac3a7de3939731ec4c13fb5d72a8e6ce5e5d274bb9697f5d93039561e42", + "size": 2270699 + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-win32-0.12.0-esp32-20230419.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20230419.zip", + "checksum": "SHA-256:f2cb3d9cacfe789c20d3272af846d726a062ce8f2e4ee142bddb27501d7dd7a7", + "size": 2619680 + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-win32-0.12.0-esp32-20230419.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20230419.zip", + "checksum": "SHA-256:f2cb3d9cacfe789c20d3272af846d726a062ce8f2e4ee142bddb27501d7dd7a7", + "size": 2619680 + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-linux-amd64-0.11.0-esp32-20221026.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.11.0-esp32-20221026.tar.gz", + "checksum": "SHA-256:ce63e9b1dfab60cc62da5dc2abcc22ba7036c42afe74671c787eb026744e7d0b", + "size": "2051435" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-linux-arm64-0.11.0-esp32-20221026.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.11.0-esp32-20221026.tar.gz", + "checksum": "SHA-256:fe60a3a603e8c6bee47367e40fcb8c0da3a38e01163e9674ebc919b067700506", + "size": "1993843" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-linux-armel-0.11.0-esp32-20221026.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.11.0-esp32-20221026.tar.gz", + "checksum": "SHA-256:6ef76101cca196a4be30fc74f191eff34abb423e32930a383012b866c9b76135", + "size": "2092111" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-macos-0.11.0-esp32-20221026.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.11.0-esp32-20221026.tar.gz", + "checksum": "SHA-256:8edc666a0a230432554b73df7c62e0b5ec21fb018e7fda13b11a7ca8b6c1763b", + "size": "2199855" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-macos-arm64-0.11.0-esp32-20221026.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.11.0-esp32-20221026.tar.gz", + "checksum": "SHA-256:c426c0158ba6488e2f432f7c5b22e79155b5b0fae6d1ad5bbd7894723b43aa12", + "size": "2247179" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-win32-0.11.0-esp32-20221026.zip", + "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20221026.zip", + "checksum": "SHA-256:e0e789d35308c029c6b53457cf4a42a5620cb1a3014740026c089c2ed4fd77b2", + "size": "2493214" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-win32-0.11.0-esp32-20221026.zip", + "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20221026.zip", + "checksum": "SHA-256:e0e789d35308c029c6b53457cf4a42a5620cb1a3014740026c089c2ed4fd77b2", + "size": "2493214" + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20220706-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-win32-0.11.0-esp32-20220706.zip", + "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20220706.zip", + "checksum": "SHA-256:c3d39eb4365a9947e71f1d3780ce031185bc6437f21186568a5c05f23f57a8d0", + "size": "2608736" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-win32-0.11.0-esp32-20220706.zip", + "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20220706.zip", + "checksum": "SHA-256:c3d39eb4365a9947e71f1d3780ce031185bc6437f21186568a5c05f23f57a8d0", + "size": "2608736" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-macos-0.11.0-esp32-20220706.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.11.0-esp32-20220706.tar.gz", + "checksum": "SHA-256:333ee2ec3c9b5dc6ad4509faae55335cdea7f8bf83a56bfcf5327e4497c8538a", + "size": "2077882" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", + "checksum": "SHA-256:26f1f18dd93eb70a13203848d3fb1cc2e0de1fd6749c7dd771b2de8709735aed", + "size": "2011201" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", + "checksum": "SHA-256:26f1f18dd93eb70a13203848d3fb1cc2e0de1fd6749c7dd771b2de8709735aed", + "size": "2011201" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-armhf-0.11.0-esp32-20220706.tar.gz", + "archiveFileName": "openocd-esp32-linux-armhf-0.11.0-esp32-20220706.tar.gz", + "checksum": "SHA-256:7f3b57332104e8b8e6194553365a70a9d3754878cfc063d5dc5d839513a63de9", + "size": "1902964" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-arm64-0.11.0-esp32-20220706.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.11.0-esp32-20220706.tar.gz", + "checksum": "SHA-256:f97792bc2852937ec0accb9f0eb2e49926c0f747a71f101a4e34aed75d2c6fcc", + "size": "1954685" + } + ] + }, + { + "name": "esptool_py", + "version": "4.9.dev3-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-linux-amd64.tar.gz", + "archiveFileName": "esptool-v4.9.dev3-linux-amd64.tar.gz", + "checksum": "SHA-256:4ecaf51836cbf4ea3c19840018bfef3b0b8cd8fc3c95f6e1e043ca5bbeab9bf0", + "size": "64958202" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-linux-armv7.tar.gz", + "archiveFileName": "esptool-v4.9.dev3-linux-armv7.tar.gz", + "checksum": "SHA-256:fff818573bce483ee793ac83c8211f6abf764aa3350f198228859f696a0a0b36", + "size": "31530030" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-linux-aarch64.tar.gz", + "archiveFileName": "esptool-v4.9.dev3-linux-aarch64.tar.gz", + "checksum": "SHA-256:5b274bdff2f62e6a07c3c1dfa51b1128924621f661747eca3dbe0f77972f2f06", + "size": "33663882" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-macos-amd64.tar.gz", + "archiveFileName": "esptool-v4.9.dev3-macos-amd64.tar.gz", + "checksum": "SHA-256:c733c83b58fcf5f642fbb2fddb8ff24640c2c785126cba0821fb70c4a5ceea7a", + "size": "32767836" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-macos-arm64.tar.gz", + "archiveFileName": "esptool-v4.9.dev3-macos-arm64.tar.gz", + "checksum": "SHA-256:83c195a15981e6a5e7a130db2ccfb21e2d8093912e5b003681f9a5abadd71af7", + "size": "30121441" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-win64.zip", + "archiveFileName": "esptool-v4.9.dev3-win64.zip", + "checksum": "SHA-256:890051a4fdc684ff6f4af18d0bb27d274ca940ee0eef716a9455f8c64b25b215", + "size": "36072564" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-win64.zip", + "archiveFileName": "esptool-v4.9.dev3-win64.zip", + "checksum": "SHA-256:890051a4fdc684ff6f4af18d0bb27d274ca940ee0eef716a9455f8c64b25b215", + "size": "36072564" + } + ] + }, + { + "name": "esptool_py", + "version": "4.6-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-src.tar.gz", + "archiveFileName": "esptool-v4.6-src.tar.gz", + "checksum": "SHA-256:22f9bad0cd1cea14e554ac1f4a6d8f67415ff7029a66ce9130756276e7264e5a", + "size": "99141" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-src.tar.gz", + "archiveFileName": "esptool-v4.6-src.tar.gz", + "checksum": "SHA-256:22f9bad0cd1cea14e554ac1f4a6d8f67415ff7029a66ce9130756276e7264e5a", + "size": "99141" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-src.tar.gz", + "archiveFileName": "esptool-v4.6-src.tar.gz", + "checksum": "SHA-256:22f9bad0cd1cea14e554ac1f4a6d8f67415ff7029a66ce9130756276e7264e5a", + "size": "99141" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-src.tar.gz", + "archiveFileName": "esptool-v4.6-src.tar.gz", + "checksum": "SHA-256:22f9bad0cd1cea14e554ac1f4a6d8f67415ff7029a66ce9130756276e7264e5a", + "size": "99141" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-macos.tar.gz", + "archiveFileName": "esptool-v4.6-macos.tar.gz", + "checksum": "SHA-256:885ec69fcffdcb9e7c6eacd2589f13a45ce6bcb6742bea368ec3a73bcca6dd59", + "size": "5851297" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-win64.zip", + "archiveFileName": "esptool-v4.6-win64.zip", + "checksum": "SHA-256:c7c68cd1aa520cbfce488ff6a77818ece272272eb012831b9d9ab1280a7c393f", + "size": "6638480" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-win64.zip", + "archiveFileName": "esptool-v4.6-win64.zip", + "checksum": "SHA-256:c7c68cd1aa520cbfce488ff6a77818ece272272eb012831b9d9ab1280a7c393f", + "size": "6638480" + } + ] + }, + { + "name": "esptool_py", + "version": "4.5.1-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-src.tar.gz", + "archiveFileName": "esptool-v4.5.1-src.tar.gz", + "checksum": "SHA-256:aa06831a7d88d8ccde4ea21241e983a08dbdae967290e181658b0d18bffc8f86", + "size": "96922" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-src.tar.gz", + "archiveFileName": "esptool-v4.5.1-src.tar.gz", + "checksum": "SHA-256:aa06831a7d88d8ccde4ea21241e983a08dbdae967290e181658b0d18bffc8f86", + "size": "96922" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-src.tar.gz", + "archiveFileName": "esptool-v4.5.1-src.tar.gz", + "checksum": "SHA-256:aa06831a7d88d8ccde4ea21241e983a08dbdae967290e181658b0d18bffc8f86", + "size": "96922" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-src.tar.gz", + "archiveFileName": "esptool-v4.5.1-src.tar.gz", + "checksum": "SHA-256:aa06831a7d88d8ccde4ea21241e983a08dbdae967290e181658b0d18bffc8f86", + "size": "96922" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-macos.tar.gz", + "archiveFileName": "esptool-v4.5.1-macos.tar.gz", + "checksum": "SHA-256:78b52acfd51541ceb97cee893b7d4d49b8ddc284602be8c73ea47e3d849e0956", + "size": "5850888" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-win64.zip", + "archiveFileName": "esptool-v4.5.1-win64.zip", + "checksum": "SHA-256:64d0c24499d46b80d6bd7a05c98bdacc3455ab6d503cc2a99e35711310216045", + "size": "6638448" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-win64.zip", + "archiveFileName": "esptool-v4.5.1-win64.zip", + "checksum": "SHA-256:64d0c24499d46b80d6bd7a05c98bdacc3455ab6d503cc2a99e35711310216045", + "size": "6638448" + } + ] + }, + { + "name": "esptool_py", + "version": "4.5-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", + "archiveFileName": "esptool-v4.5-src.tar.gz", + "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", + "size": "96621" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", + "archiveFileName": "esptool-v4.5-src.tar.gz", + "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", + "size": "96621" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", + "archiveFileName": "esptool-v4.5-src.tar.gz", + "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", + "size": "96621" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", + "archiveFileName": "esptool-v4.5-src.tar.gz", + "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", + "size": "96621" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-macos.tar.gz", + "archiveFileName": "esptool-v4.5-macos.tar.gz", + "checksum": "SHA-256:adcce051f282a19f78da30717ff0e4334b0edaf16a7f14d185ba4cae464586e2", + "size": "5850835" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-win64.zip", + "archiveFileName": "esptool-v4.5-win64.zip", + "checksum": "SHA-256:a55c5f7d490fbd2cd5fdf486d71f2ed13e3304482d54374b6aa23d42c9b98a96", + "size": "6639416" + } + ] + }, + { + "name": "esptool_py", + "version": "4.2.1-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-windows.zip", + "archiveFileName": "esptool-4.2.1-windows.zip", + "checksum": "SHA-256:582560067bfbd9895f4862eb5fdf87558ddee5d4d30e7575c9b8bcb0dd60fd94", + "size": "6368279" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-windows.zip", + "archiveFileName": "esptool-4.2.1-windows.zip", + "checksum": "SHA-256:582560067bfbd9895f4862eb5fdf87558ddee5d4d30e7575c9b8bcb0dd60fd94", + "size": "6368279" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-macos.tar.gz", + "archiveFileName": "esptool-4.2.1-macos.tar.gz", + "checksum": "SHA-256:a984f7ad8bdb40c42d0d368bf4bb21b69a9587aed46b7b6d7de23ca58a3f150d", + "size": "5816598" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", + "archiveFileName": "esptool-4.2.1-linux.tar.gz", + "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", + "size": "90123" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", + "archiveFileName": "esptool-4.2.1-linux.tar.gz", + "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", + "size": "90123" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", + "archiveFileName": "esptool-4.2.1-linux.tar.gz", + "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", + "size": "90123" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", + "archiveFileName": "esptool-4.2.1-linux.tar.gz", + "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", + "size": "90123" + } + ] + }, + { + "name": "esptool_py", + "version": "3.3.0-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-windows.zip", + "archiveFileName": "esptool-3.3-windows.zip", + "checksum": "SHA-256:55a1d7165414bf4dbd2bb16ca094e555d671958450f5d1536b457a518d2b15df", + "size": "7436864" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-windows.zip", + "archiveFileName": "esptool-3.3-windows.zip", + "checksum": "SHA-256:55a1d7165414bf4dbd2bb16ca094e555d671958450f5d1536b457a518d2b15df", + "size": "7436864" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-macos.tar.gz", + "archiveFileName": "esptool-3.3-macos.tar.gz", + "checksum": "SHA-256:3e5f7b521ae33c8c63f3b48efc909c08f37bef1a083c0eafa408312c09900afd", + "size": "6944975" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", + "archiveFileName": "esptool-3.3-linux.tar.gz", + "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", + "size": "97026" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", + "archiveFileName": "esptool-3.3-linux.tar.gz", + "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", + "size": "97026" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", + "archiveFileName": "esptool-3.3-linux.tar.gz", + "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", + "size": "97026" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", + "archiveFileName": "esptool-3.3-linux.tar.gz", + "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", + "size": "97026" + } + ] + }, + { + "name": "esptool_py", + "version": "3.1.0-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-windows.zip", + "archiveFileName": "esptool-3.1.0-windows.zip", + "checksum": "SHA-256:c9b4f9bc6e94db136c2545c87c00c7ab1441644ca0bac50811bc3c014e22514b", + "size": "7411889" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-macos.tar.gz", + "archiveFileName": "esptool-3.1.0-macos.tar.gz", + "checksum": "SHA-256:1dffcb884665fb616779aea62a68f517aac251ea6dfe95560906c364d6ef3065", + "size": "6776909" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", + "archiveFileName": "esptool-3.1.0-linux.tar.gz", + "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", + "size": "80550" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", + "archiveFileName": "esptool-3.1.0-linux.tar.gz", + "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", + "size": "80550" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", + "archiveFileName": "esptool-3.1.0-linux.tar.gz", + "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", + "size": "80550" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", + "archiveFileName": "esptool-3.1.0-linux.tar.gz", + "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", + "size": "80550" + } + ] + }, + { + "name": "esptool_py", + "version": "3.0.0-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-windows.zip", + "archiveFileName": "esptool-3.0.0.2-windows.zip", + "checksum": "SHA-256:b192bfc1545a3c92658ce586b4edcc2aca3f0ad4b3fa8417d658bc8a48f1387e", + "size": "3434736" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-macos.tar.gz", + "archiveFileName": "esptool-3.0.0.2-macos.tar.gz", + "checksum": "SHA-256:2cafab7f1ebce89475b84c115548eaace40b6366d7b3f9862cdb2fc64f806643", + "size": "3859642" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-linux.tar.gz", + "archiveFileName": "esptool-3.0.0.2-linux.tar.gz", + "checksum": "SHA-256:d5cb51da1c74ff69f81b820470d2ecccb5c7c3a2dec7776483d4c89588b00020", + "size": "57526" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-linux.tar.gz", + "archiveFileName": "esptool-3.0.0.2-linux.tar.gz", + "checksum": "SHA-256:d5cb51da1c74ff69f81b820470d2ecccb5c7c3a2dec7776483d4c89588b00020", + "size": "57526" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-linux.tar.gz", + "archiveFileName": "esptool-3.0.0.2-linux.tar.gz", + "checksum": "SHA-256:d5cb51da1c74ff69f81b820470d2ecccb5c7c3a2dec7776483d4c89588b00020", + "size": "57526" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-linux.tar.gz", + "archiveFileName": "esptool-3.0.0.2-linux.tar.gz", + "checksum": "SHA-256:d5cb51da1c74ff69f81b820470d2ecccb5c7c3a2dec7776483d4c89588b00020", + "size": "57526" + } + ] + }, + { + "version": "2.6.1-cn", + "name": "esptool_py", + "systems": [ + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.1-windows.zip", + "checksum": "SHA-256:84cf0b369a7707fe566434faba148852fc464992111d5baa95b658b374802f96", + "host": "i686-mingw32", + "archiveFileName": "esptool-2.6.1-windows.zip", + "size": "3422445" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.1-macos.tar.gz", + "checksum": "SHA-256:f4eb758a301d6902cc9dfcd49d36345d2f075ad123da7cf8132d15cfb7533457", + "host": "x86_64-apple-darwin", + "archiveFileName": "esptool-2.6.1-macos.tar.gz", + "size": "3837085" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.1-linux.tar.gz", + "checksum": "SHA-256:eaf82ff4070d9792f6a42ae1e485375de5a87bec59ef01dfb95de901519ec7fb", + "host": "x86_64-pc-linux-gnu", + "archiveFileName": "esptool-2.6.1-linux.tar.gz", + "size": "44762" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.1-linux.tar.gz", + "checksum": "SHA-256:eaf82ff4070d9792f6a42ae1e485375de5a87bec59ef01dfb95de901519ec7fb", + "host": "i686-pc-linux-gnu", + "archiveFileName": "esptool-2.6.1-linux.tar.gz", + "size": "44762" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.1-linux.tar.gz", + "checksum": "SHA-256:eaf82ff4070d9792f6a42ae1e485375de5a87bec59ef01dfb95de901519ec7fb", + "host": "arm-linux-gnueabihf", + "archiveFileName": "esptool-2.6.1-linux.tar.gz", + "size": "44762" + } + ] + }, + { + "version": "2.6.0-cn", + "name": "esptool_py", + "systems": [ + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.0-windows.zip", + "checksum": "SHA-256:a73f4cf68db240d7f1d250c5c7f2dfcb53c17a37483729f1bf71f8f43d79a799", + "host": "i686-mingw32", + "archiveFileName": "esptool-2.6.0-windows.zip", + "size": "3421208" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.0-macos.tar.gz", + "checksum": "SHA-256:0a881b91547c840fab8c72ae3d031069384278b8c2e5241647e8c8292c5e4a4b", + "host": "x86_64-apple-darwin", + "archiveFileName": "esptool-2.6.0-macos.tar.gz", + "size": "3835660" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.0-linux.tar.gz", + "checksum": "SHA-256:6d162f70f395ca31f5008829dd7e833e729f044a9c7355d5be8ce333a054e110", + "host": "x86_64-pc-linux-gnu", + "archiveFileName": "esptool-2.6.0-linux.tar.gz", + "size": "43535" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.0-linux.tar.gz", + "checksum": "SHA-256:6d162f70f395ca31f5008829dd7e833e729f044a9c7355d5be8ce333a054e110", + "host": "i686-pc-linux-gnu", + "archiveFileName": "esptool-2.6.0-linux.tar.gz", + "size": "43535" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.0-linux.tar.gz", + "checksum": "SHA-256:6d162f70f395ca31f5008829dd7e833e729f044a9c7355d5be8ce333a054e110", + "host": "arm-linux-gnueabihf", + "archiveFileName": "esptool-2.6.0-linux.tar.gz", + "size": "43535" + } + ] + }, + { + "version": "3.0.0-gnu12-dc7f933-cn", + "name": "mklittlefs", + "systems": [ + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/aarch64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "archiveFileName": "aarch64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "checksum": "SHA-256:fc56e389383749e4cf4fab0fcf75cc0ebc41e59383caf6c2eff1c3d9794af200", + "size": "44651" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/arm-linux-gnueabihf.mklittlefs-c41e51a.200706.tar.gz", + "archiveFileName": "arm-linux-gnueabihf.mklittlefs-c41e51a.200706.tar.gz", + "checksum": "SHA-256:52b642dd0545eb3bd8dfb75dde6601df21700e4867763fd2696274be279294c5", + "size": "37211" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/i686-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "archiveFileName": "i686-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "checksum": "SHA-256:7886051d8ccc54aed0af2e7cdf6ff992bb51638df86f3b545955697720b6d062", + "size": "48033" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/i686-w64-mingw32.mklittlefs-c41e51a.200706.zip", + "archiveFileName": "i686-w64-mingw32.mklittlefs-c41e51a.200706.zip", + "checksum": "SHA-256:43740db30ce451454f2337331f10ab4ed41bd83dbf0fa0cb4387107388b59f42", + "size": "332655" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/x86_64-apple-darwin14.mklittlefs-c41e51a.200706.tar.gz", + "archiveFileName": "x86_64-apple-darwin14.mklittlefs-c41e51a.200706.tar.gz", + "checksum": "SHA-256:e3edd5e05b70db3c7df6b9d626558348ad04804022fe955c799aeb51808c7dc3", + "size": "362608" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/x86_64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "archiveFileName": "x86_64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "checksum": "SHA-256:66e84dda0aad747517da3785125e05738a540948aab2b7eaa02855167a1eea53", + "size": "46778" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/x86_64-w64-mingw32.mklittlefs-c41e51a.200706.zip", + "archiveFileName": "x86_64-w64-mingw32.mklittlefs-c41e51a.200706.zip", + "checksum": "SHA-256:2e319077491f8e832e96eb4f2f7a70dd919333cee4b388c394e0e848d031d542", + "size": "345132" + } + ] + }, + { + "name": "mkspiffs", + "version": "0.2.3-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-win32.zip", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-win32.zip", + "checksum": "SHA-256:b647f2c2efe6949819c85ea9404271b55c7c9c25bcb98d3b98a1d0ba771adf56", + "size": "249809" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", + "checksum": "SHA-256:9f43fc74a858cf564966b5035322c3e5e61c31a647c5a1d71b388ed6efc48423", + "size": "130270" + }, + { + "host": "i386-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", + "checksum": "SHA-256:9f43fc74a858cf564966b5035322c3e5e61c31a647c5a1d71b388ed6efc48423", + "size": "130270" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux64.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux64.tar.gz", + "checksum": "SHA-256:5e1a4ff41385e842f389f6b5254102a547e566a06b49babeffa93ef37115cb5d", + "size": "50646" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux32.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux32.tar.gz", + "checksum": "SHA-256:464463a93e8833209cdc29ba65e1a12fec31718dc10075c195a2445b2c3f6cb0", + "size": "48751" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", + "checksum": "SHA-256:ade3dc00117912ac08a1bdbfbfe76b12d21a34bc5fa1de0cfc45fe7a8d0a0185", + "size": "40665" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", + "checksum": "SHA-256:ade3dc00117912ac08a1bdbfbfe76b12d21a34bc5fa1de0cfc45fe7a8d0a0185", + "size": "40665" + } + ] + }, + { + "name": "esp-xs2", + "version": "2302-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:2ff838520a5003d2768b275f5bb5ead69dd2388c3b7cd9043cb59891ba43147f", + "size": "112199211" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:6d79d5b14fc7129a9b8208d54e19b05dedb565f50f7a96264c9df84b06ad3be0", + "size": "106953064" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:e5bd03b6ad19179b015a93ada9992adc3610036ebf6aeb0835a09c9aadb50a14", + "size": "106026829" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:fb45943557b2d201bbb1bdc7514a1872f9bb96c2dfb48b95abdba281cc792f75", + "size": "115288662" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:e965236cb80e45282d16f40184af183e013b63b177bd1884736c463eac636564", + "size": "119711811" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:78a55eec18650b21378d97494989ffe208748e0f49bb2b2d6756b264e1863919", + "size": "106540817" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:1e6dac5162ab75f94b88c47ebeabb6600c652fb4f615ed07c1724d037c02fd19", + "size": "131273859" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:8a785cc4e0838cebe404f82c0ead7a0f9ac5fabc660a742e33a41ddac6326cc1", + "size": "135373049" + } + ] + }, + { + "name": "esp-xs3", + "version": "2302-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:61495ffe575e00c6998ae7274ff917658c04bded62ece0937c7042d6dcbf46de", + "size": "111971129" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:9008d395be46fcfe68c7de6edc850fc1595f28323a28e7922e5c085bd310cb90", + "size": "106616800" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:568857bdac7dea389dffc7fbc6871b4af299150a8ecf1bf965f224d2a1655edb", + "size": "105700326" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:d122738bcc6c2f52d05fa89b2fb1afe6a7894cda8a07a1879aca867a31507ed0", + "size": "115098400" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:7defcddb98788b0991416ad2e0cb6a3b248b8030f22d5d76b8832117cc1494ca", + "size": "119883189" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:b59e076f8e4b9ca99535d449f9fc4cbb443188051dce4ad934e38f16b095f8d9", + "size": "106464677" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:3ddf51774817e815e5d41c312a90c1159226978fb45fd0d4f7085c567f8b73ab", + "size": "131134034" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:1d15ca65e3508388a86d8bed3048c46d07538f5bc88d3e4296f9c03152087cd1", + "size": "135381926" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:8ef14e0409c2011b41e504a30f70d3e35287313a795d1f2462ad2cd0e2052d37", + "size": "94397702" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:e7d217ac2ef52c746a41f8647840b2717edcd8afc15f081bc1c4505e10a189b7", + "size": "90684219" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:ea6631f8a5105ae90d7fc462c10ed4f9049924ea8c2f9391d90b339d5f881dac", + "size": "89954866" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:ecb90af9cede0982672234da0b1bd7b7f76eadde60aa5c82eefdf37d64ffe49f", + "size": "96354023" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:19af109fda024a3a4c989f7ccaa104f9b1b74cfd6c9363e730bb8cb9b50d5dc4", + "size": "101712946" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "checksum": "SHA-256:b14189772d70a96813895fff7731d0f2fec0c825cfc02e002d6d91a0cc4b6b1d", + "size": "93104016" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:9851c2cfa355e1fad8abfb643a1c945d27385b1851f3ae468915ea78fcbec940", + "size": "118610020" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:a328b3c55631846241bbe7999a309b20b797c8dc50b6e8dccf463e66a2da5fb4", + "size": "121846722" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:8ef14e0409c2011b41e504a30f70d3e35287313a795d1f2462ad2cd0e2052d37", + "size": "94397702" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:e7d217ac2ef52c746a41f8647840b2717edcd8afc15f081bc1c4505e10a189b7", + "size": "90684219" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:ea6631f8a5105ae90d7fc462c10ed4f9049924ea8c2f9391d90b339d5f881dac", + "size": "89954866" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:ecb90af9cede0982672234da0b1bd7b7f76eadde60aa5c82eefdf37d64ffe49f", + "size": "96354023" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:19af109fda024a3a4c989f7ccaa104f9b1b74cfd6c9363e730bb8cb9b50d5dc4", + "size": "101712946" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:9851c2cfa355e1fad8abfb643a1c945d27385b1851f3ae468915ea78fcbec940", + "size": "118610020" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:a328b3c55631846241bbe7999a309b20b797c8dc50b6e8dccf463e66a2da5fb4", + "size": "121846722" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "checksum": "SHA-256:9edd1e77627688f435561922d14299f6a0021ba1f6ff67e472e1108695a69e53", + "size": "90569312" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "checksum": "SHA-256:3a21a3e310e6b1e7d7bed1f3e59698a5bd29ed3a5ca79fba9265d7dd2f1e0cd2", + "size": "86838362" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "checksum": "SHA-256:89313c4c1d8db1b01624f31b58bf3fbe527160569828ac4301e9daa75c52716d", + "size": "86187540" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "checksum": "SHA-256:a1f165a836f175daa6fbfde4ca99cb93b377f021fbfc41f79a700bd4df965a9a", + "size": "92580267" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "checksum": "SHA-256:dda3d7a43efd995d9a51d5a5741626dbf915df46078aef0b5aea7163ac82398b", + "size": "97807647" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "checksum": "SHA-256:fd147592928ef2d7092ba34b01ecd776fe26ba3d7e3f9b6b215a3b46e981ee2c", + "size": "116464819" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "checksum": "SHA-256:9395315c07de0b9f05c9a6616ba1f05e76ab651053f2f40479163a8e03cfa830", + "size": "119511910" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "checksum": "SHA-256:3eb3d68b27fa6ba5af6f88da21cb8face9be0094daaa8960793cfe570ab785ff", + "size": "90565318" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "checksum": "SHA-256:aa534be24e45e06b7080a6a3bb8cd9e3cfb818f5f8bce2244d7cfb5e91336541", + "size": "86860292" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "checksum": "SHA-256:f0e49ce06fe7833ff5d76961dc2dac5449d320f823bb8c05a302cf85a3a6eb04", + "size": "86183421" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "checksum": "SHA-256:06de09b74652de43e5b22db3b7fc992623044baa75e9faaab68317a986715ba3", + "size": "92582250" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "checksum": "SHA-256:96443f69c8569417c780ee749d91ef33cffe22153fffa30a0fbf12107d87381b", + "size": "97808961" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win32.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win32.zip", + "checksum": "SHA-256:076a4171bdc33e5ced3952efffb233d70263dfa760e636704050597a9edf61db", + "size": "112578260" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win64.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win64.zip", + "checksum": "SHA-256:c35b7998f7f503e0cb22055d1e279ae14b6b0e09bb3ff3846b17d552ece9c247", + "size": "115278695" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r1-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "checksum": "SHA-256:44a0b467b9d2b759ab48b2f27aed684581f33c96e2842992781c4e045992c5b0", + "size": "86361217" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "checksum": "SHA-256:fdacdb2a7bbf6293bcafda9b52463a4da8a2f3b7e1df9f83d35ff9d1efa22012", + "size": "84520407" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "checksum": "SHA-256:e2024096492dfaa50fc6ac336cd8faa2e395e8cebb617753eab0b5f16d3dd0dc", + "size": "88375391" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "checksum": "SHA-256:7bbc6a2b94f009cd8a3351b9c7acf7a5caa1c4d3700500ead60f84965386a61b", + "size": "93357296" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-win32.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-win32.zip", + "checksum": "SHA-256:e4f9fdda192abfc9807e3e7fcd6e9fea30c1a0cf3f3c5a5c961b5114fc8c9b7e", + "size": "105603626" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "1.22.0-97-gc752ad5-5.2.0-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-win32-1.22.0-97-gc752ad5-5.2.0.zip", + "archiveFileName": "xtensa-esp32-elf-win32-1.22.0-97-gc752ad5-5.2.0.zip", + "checksum": "SHA-256:80571e5d5a63494f4fa758bb9d8fb882ba4059853a8c412a84d232dc1c1400e6", + "size": "125747216" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-macos-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "archiveFileName": "xtensa-esp32-elf-macos-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "checksum": "SHA-256:b1ce39a563ae359cf363fb7d8ee80cb1e5226fda83188203cff60f16f55e33ef", + "size": "50525386" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux64-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "archiveFileName": "xtensa-esp32-elf-linux64-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "checksum": "SHA-256:96f5f6e7611a0ed1dc47048c54c3113fc5cebffbf0ba90d8bfcd497afc7ef9f3", + "size": "44225380" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux32-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "archiveFileName": "xtensa-esp32-elf-linux32-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "checksum": "SHA-256:8094a2c30b474e99ce64dd0ba8f310c4614eb3b3cac884a3aea0fd5f565af119", + "size": "45575521" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "archiveFileName": "xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "checksum": "SHA-256:d70d550f88448fa476b29fa50ef5502ab497a16ac7fa9ca24c6d0a39bb1e681e", + "size": "50657803" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "archiveFileName": "xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "checksum": "SHA-256:d70d550f88448fa476b29fa50ef5502ab497a16ac7fa9ca24c6d0a39bb1e681e", + "size": "50657803" + } + ] + }, + { + "version": "1.22.0-80-g6c4433a-5.2.0-cn", + "name": "xtensa-esp32-elf-gcc", + "systems": [ + { + "url": "https://dl.espressif.cn/dl/xtensa-esp32-elf-win32-1.22.0-80-g6c4433a-5.2.0.zip", + "checksum": "SHA-256:f217fccbeaaa8c92db239036e0d6202458de4488b954a3a38f35ac2ec48058a4", + "host": "i686-mingw32", + "archiveFileName": "xtensa-esp32-elf-win32-1.22.0-80-g6c4433a-5.2.0.zip", + "size": "125719261" + }, + { + "url": "https://dl.espressif.cn/dl/xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "checksum": "SHA-256:a4307a97945d2f2f2745f415fbe80d727750e19f91f9a1e7e2f8a6065652f9da", + "host": "x86_64-apple-darwin", + "archiveFileName": "xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "size": "46517409" + }, + { + "url": "https://dl.espressif.cn/dl/xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "checksum": "SHA-256:3fe96c151d46c1d4e5edc6ed690851b8e53634041114bad04729bc16b0445156", + "host": "x86_64-pc-linux-gnu", + "archiveFileName": "xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "size": "44219107" + }, + { + "url": "https://dl.espressif.cn/dl/xtensa-esp32-elf-linux32-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "checksum": "SHA-256:b4055695ffc2dfc0bcb6dafdc2572a6e01151c4179ef5fa972b3fcb2183eb155", + "host": "i686-pc-linux-gnu", + "archiveFileName": "xtensa-esp32-elf-linux32-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "size": "45566336" + }, + { + "url": "https://dl.espressif.cn/dl/xtensa-esp32-elf-linux-armel-1.22.0-87-gb57bad3-5.2.0.tar.gz", + "checksum": "SHA-256:9c68c87bb23b1256dc0a1859b515946763e5292dcab4a4159a52fae5618ce861", + "host": "arm-linux-gnueabihf", + "archiveFileName": "xtensa-esp32-elf-linux-armel-1.22.0-87-gb57bad3-5.2.0.tar.gz", + "size": "50655584" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "esp-12.2.0_20230208-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:e8d35938385447cf9c34735fee2a3b2b61cca6be07db77a45856a1c2a347e423", + "size": "111766903" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:569988acfc2673369f222037c64bac96990cee08cebeebc4f8860e0d984f8bd9", + "size": "106473247" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:6a844f16021e936cc9b87b203978356f57ab2144554f6f2a0f73ffa3d3d316c5", + "size": "105576049" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:743d6f03a89329bb09f9550d27fcab677f5cf06b4720793bbcef7883a932681d", + "size": "114870843" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:4d32d764e984f3a570aacfb2f4957619540fb4629534d969b2e83997901334c3", + "size": "119424029" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:dc8fa7f4933bf5cb08e83bacce6160cc9dfe93d7aad1e8f92599bb81ff5b2e28", + "size": "106136827" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:62bb6428d107ed3f44c212c77ecf24804b74c97327b0f0ad2029c656c6dbd6ee", + "size": "130847086" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:8febfe4a6476efc69012390106c8c660a14418f025137b0513670c72124339cf", + "size": "134985117" + } + ] + }, + { + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:19c77bd91fefab7c8c40a6334f9b985e2d9a1c7fac6d424b692110930dd3682f", + "size": "67849099" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:bdcd24676ef2a65b670ca9e0a01768ece47f4dfcfb545a3307f76a054c33b522", + "size": "64154532" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:b26723b6ce1c35b90f204eb39e5ab06a6f80fb7895f000e16b6962e4c176ae32", + "size": "63448105" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:da3b5c45e4997d14269df1814c92dd7004902bb810608341bc3819c3e506fa0b", + "size": "69656104" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:8eb63745b44083edef7cc6fdf3b06999f576b75134bc5e8b0ef881ca439b72d7", + "size": "75154138" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "checksum": "SHA-256:4cd38d6ec31076c0aa083f62ab84ab5c33aa07fafd0af61366186e5f553aa008", + "size": "66457613" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:c758062295804b082fbd77fcd59a356f62d4e76372aaa29589cc871603309cba", + "size": "82338511" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:1c1e168ff8bc460a9719f3b216d3c1125d29040389786d738244838499362c74", + "size": "85579252" + } + ] + }, + { + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:19c77bd91fefab7c8c40a6334f9b985e2d9a1c7fac6d424b692110930dd3682f", + "size": "67849099" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:bdcd24676ef2a65b670ca9e0a01768ece47f4dfcfb545a3307f76a054c33b522", + "size": "64154532" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:b26723b6ce1c35b90f204eb39e5ab06a6f80fb7895f000e16b6962e4c176ae32", + "size": "63448105" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:da3b5c45e4997d14269df1814c92dd7004902bb810608341bc3819c3e506fa0b", + "size": "69656104" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:8eb63745b44083edef7cc6fdf3b06999f576b75134bc5e8b0ef881ca439b72d7", + "size": "75154138" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:c758062295804b082fbd77fcd59a356f62d4e76372aaa29589cc871603309cba", + "size": "82338511" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:1c1e168ff8bc460a9719f3b216d3c1125d29040389786d738244838499362c74", + "size": "85579252" + } + ] + }, + { + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "checksum": "SHA-256:a32451a8edc1104b83cd9971178e61826e957d7db9ad9f81798a8969fd5a954e", + "size": "90894048" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "checksum": "SHA-256:2ac2c94a533a99a091d2159c678c611c712c494b5f68d97913254712047260f9", + "size": "87178224" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "checksum": "SHA-256:da49afee1e2e03eaab3f492718789442d33b562800e2a892679f95b50be24d14", + "size": "86569314" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "checksum": "SHA-256:36d3c4990a5feb68aa8534463bc9e8ee367fe23886f78e1d726f4411c7571462", + "size": "92884013" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "checksum": "SHA-256:de9af641678c93775e932ee5ec4f478f8925cfc1ebc22e41adc4fb85430a0c35", + "size": "98224709" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "checksum": "SHA-256:ccf08afe60046f87b0e81ca17dc5073eda68ab5e7522c163dd5b583d713b7b39", + "size": "116924759" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "checksum": "SHA-256:37c91490b8fc75e638c23785e261eaf553be2dcd106cf6cff5b76981fa02955b", + "size": "119912142" + } + ] + }, + { + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "checksum": "SHA-256:a6e0947c92b823ca04f062522249f0a428357e0b056f1ff4c6bcabef83cf63a7", + "size": "90901736" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "checksum": "SHA-256:d2e5600fc194b508bd393b236a09fd62ed70afb6c36619d4b106b696a56ca66d", + "size": "87176557" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "checksum": "SHA-256:3fff4199e986dd74660f17ca27d9414cb98f1b911a7f13bb3b22e784cb1156cf", + "size": "86581102" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "checksum": "SHA-256:7732f9fb371d36b6b324820e300beecc33c2719921a61cf1cdb5bc625016b346", + "size": "92875986" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "checksum": "SHA-256:e6dd32782fcff8f633299b97d1c671d6b6513390aca2ddbd7543c2cc62e72d7e", + "size": "98212907" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win32.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win32.zip", + "checksum": "SHA-256:41b917b35f6fbe7d30b7de91c32cf348c406acfa729a1eabc450d040dc46fbe2", + "size": "113022469" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win64.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win64.zip", + "checksum": "SHA-256:a764c1a0ee743d69f8cbfadbe4426a2c15c0e233b0894244c7cadf3b4d7dd32a", + "size": "115696999" + } + ] + }, + { + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r1-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "checksum": "SHA-256:b127baccfe6949ee7eaf3d0782ea772750a9b8e2732b16ce6bcc9dcd91f7209a", + "size": "86687290" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "checksum": "SHA-256:7ca0d240f11e1c53c01a56257b0c968f876ab405142d1068d8c9b456d939554c", + "size": "84916701" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "checksum": "SHA-256:9941f993ff84d1c606b45ffbeeb7bcdc5a72cf24e787bb9230390510fe3511c6", + "size": "88699953" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "checksum": "SHA-256:4b55b1a9ca7fc945be6fc3513802b6cece9264bee4cbca76013569cec2695973", + "size": "93757895" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-win32.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-win32.zip", + "checksum": "SHA-256:c94ec1e45c81b7e4944d216bab4aa41d46849768d7761fd691661dab1a3df828", + "size": "106013515" + } + ] + }, + { + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-12.2.0_20230208-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:2ff838520a5003d2768b275f5bb5ead69dd2388c3b7cd9043cb59891ba43147f", + "size": "112199211" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:6d79d5b14fc7129a9b8208d54e19b05dedb565f50f7a96264c9df84b06ad3be0", + "size": "106953064" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:e5bd03b6ad19179b015a93ada9992adc3610036ebf6aeb0835a09c9aadb50a14", + "size": "106026829" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:fb45943557b2d201bbb1bdc7514a1872f9bb96c2dfb48b95abdba281cc792f75", + "size": "115288662" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:e965236cb80e45282d16f40184af183e013b63b177bd1884736c463eac636564", + "size": "119711811" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:78a55eec18650b21378d97494989ffe208748e0f49bb2b2d6756b264e1863919", + "size": "106540817" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:1e6dac5162ab75f94b88c47ebeabb6600c652fb4f615ed07c1724d037c02fd19", + "size": "131273859" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:8a785cc4e0838cebe404f82c0ead7a0f9ac5fabc660a742e33a41ddac6326cc1", + "size": "135373049" + } + ] + }, + { + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:8aa17a6adf01efa5b1628c8ac578063a44d26ae9581d39486b92223a41ef262f", + "size": "68099473" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:b218c11122e5565b6442376ebd21a652abdfcbf90981afa3e177ce978710225d", + "size": "64233211" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:967477434ad5483718915936a77ce915a10c5972a6b3fd02688a5c4e14182bfb", + "size": "63530586" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:07671d01a63ebd389912787efb2b263677c7b351c07fe430ded733cdae95e81d", + "size": "70025439" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:99b6d44cea5aebbedc8b6965e7bf551aa4a40ed83ddbe1c0e9b7cb255564ded5", + "size": "75719772" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "checksum": "SHA-256:c64b05be25d26916c65dcfe11de9e60b96d58980b2df706d3074cb70b1ef6cb9", + "size": "66791095" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:658d3036ffdf11ddad6f0a784c8829f6ffd4dbd7c252d7f61722256d0ad43975", + "size": "82665716" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:9000be38d44bf79c39b93a2aeb99b42e956c593ccbc02fe31cb9c71ae1bbcb22", + "size": "86022563" + } + ] + }, + { + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:8aa17a6adf01efa5b1628c8ac578063a44d26ae9581d39486b92223a41ef262f", + "size": "68099473" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:b218c11122e5565b6442376ebd21a652abdfcbf90981afa3e177ce978710225d", + "size": "64233211" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:967477434ad5483718915936a77ce915a10c5972a6b3fd02688a5c4e14182bfb", + "size": "63530586" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:07671d01a63ebd389912787efb2b263677c7b351c07fe430ded733cdae95e81d", + "size": "70025439" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:99b6d44cea5aebbedc8b6965e7bf551aa4a40ed83ddbe1c0e9b7cb255564ded5", + "size": "75719772" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:658d3036ffdf11ddad6f0a784c8829f6ffd4dbd7c252d7f61722256d0ad43975", + "size": "82665716" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:9000be38d44bf79c39b93a2aeb99b42e956c593ccbc02fe31cb9c71ae1bbcb22", + "size": "86022563" + } + ] + }, + { + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "checksum": "SHA-256:59b271d014ff3915b6db1b43b610a45eea15fe5d6877d12cae8a191cc996ed37", + "size": "90903617" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "checksum": "SHA-256:7051b32483e61f98606d71c98e372929428a5165df791dcd5830ed9517763152", + "size": "87065204" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "checksum": "SHA-256:48c8dbbf96eec691a812327dc580042d9718fe989e60c2111ebfd692ac710081", + "size": "86455731" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "checksum": "SHA-256:552dca3f4302ab7ca88a934b0391200198c9d10a4d8ac413fe604cbf8601f950", + "size": "92906274" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "checksum": "SHA-256:e5af78f05d3af07617805d06ebb45ff2fe9b6aed6970a84c35eea28a5d8d5e53", + "size": "98553473" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "checksum": "SHA-256:1b70163acccc5655449de1d149427a54f384156bd35816ec60c422d76d033f05", + "size": "116847008" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "checksum": "SHA-256:58e58575d1938879fd51e822181e54bcb343aa846eb3fca8f616c2cde7bd0041", + "size": "120066269" + } + ] + }, + { + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-12.2.0_20230208-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:61495ffe575e00c6998ae7274ff917658c04bded62ece0937c7042d6dcbf46de", + "size": "111971129" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:9008d395be46fcfe68c7de6edc850fc1595f28323a28e7922e5c085bd310cb90", + "size": "106616800" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:568857bdac7dea389dffc7fbc6871b4af299150a8ecf1bf965f224d2a1655edb", + "size": "105700326" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:d122738bcc6c2f52d05fa89b2fb1afe6a7894cda8a07a1879aca867a31507ed0", + "size": "115098400" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:7defcddb98788b0991416ad2e0cb6a3b248b8030f22d5d76b8832117cc1494ca", + "size": "119883189" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:b59e076f8e4b9ca99535d449f9fc4cbb443188051dce4ad934e38f16b095f8d9", + "size": "106464677" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:3ddf51774817e815e5d41c312a90c1159226978fb45fd0d4f7085c567f8b73ab", + "size": "131134034" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:1d15ca65e3508388a86d8bed3048c46d07538f5bc88d3e4296f9c03152087cd1", + "size": "135381926" + } + ] + }, + { + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:f7d73e5f9e2df3ea6ca8e2c95d6ca6d23d6b38fd101ea5d3012f3cb3cd59f39f", + "size": "192388486" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:cf520ae3a72f65b9758ea187524b105b8b7546566d738c32e60a0df9846ef1af", + "size": "188626914" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:2dc3536214caa1697f6834bb4701d05894ca55b53589fc5b54064b050ef93799", + "size": "188624050" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:165d6d53e76d79f5ade7e2b7ade54b2b495ecfda0d1184d84d6343659d0e3bdb", + "size": "194606113" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:d6d4cef216cbf28d6fbb88f3e127d4f42a376d9497c260bf8c1ad9cef440f839", + "size": "199411930" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "checksum": "SHA-256:6e03f2ab1f145be13f8890c6de77b53f52c7bffe3d9d5824549db20298f5ba91", + "size": "191209735" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:1e0cfcfbc8f82c441261cadd21742f66d716ec18c18bf10ed7c7d5b0bee6752f", + "size": "257844437" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:b08f568e8fe5069dd521b87da21b8e56117e5c2c3b492f73a51966a46d3379a4", + "size": "259712666" + } + ] + }, + { + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:f7d73e5f9e2df3ea6ca8e2c95d6ca6d23d6b38fd101ea5d3012f3cb3cd59f39f", + "size": "192388486" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:cf520ae3a72f65b9758ea187524b105b8b7546566d738c32e60a0df9846ef1af", + "size": "188626914" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:2dc3536214caa1697f6834bb4701d05894ca55b53589fc5b54064b050ef93799", + "size": "188624050" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:165d6d53e76d79f5ade7e2b7ade54b2b495ecfda0d1184d84d6343659d0e3bdb", + "size": "194606113" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:d6d4cef216cbf28d6fbb88f3e127d4f42a376d9497c260bf8c1ad9cef440f839", + "size": "199411930" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:1e0cfcfbc8f82c441261cadd21742f66d716ec18c18bf10ed7c7d5b0bee6752f", + "size": "257844437" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:b08f568e8fe5069dd521b87da21b8e56117e5c2c3b492f73a51966a46d3379a4", + "size": "259712666" + } + ] + }, + { + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "checksum": "SHA-256:179cbad579790ad35e0f414a18d90017c0f158c397022411a8e9867db2174f15", + "size": "106843321" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "checksum": "SHA-256:fb339d476c79c76db8f903b265cab6bb6950d5ed954dec644445252d3378023c", + "size": "103277393" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "checksum": "SHA-256:51a6296d8334b7452dba44b2b62e87afd7fd1c74bafa1aa29b1f4ab72cb9e5e0", + "size": "103062256" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "checksum": "SHA-256:fef60f7ef37ffaa50416d8f244cdbd710d6729dae41ef06c4ec0e50a1f3b7dd7", + "size": "109460025" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "checksum": "SHA-256:4aacc1742a76349d790b1ac8e9e9d963daefda5346dbd6741cfe8e7a35a44e4e", + "size": "113703959" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "checksum": "SHA-256:eb2a442d7f551ebeb842995ec372ec4b364314ca2d7aae779399a74972f7d6bc", + "size": "144711970" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "checksum": "SHA-256:f5607e5187317d521f0474cade83f8eb590f2d165d95c3779b6ce11fbac21d1f", + "size": "146606480" + } + ] + }, + { + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "checksum": "SHA-256:812d735063da9d063b374b59f55832a96c41fbd27ddaef19000a75de8607ba21", + "size": "106837189" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "checksum": "SHA-256:712f1fbc3e08304a6f32aa18b346b16bbcb413b507b3d4c7c3211bf0d7dc4813", + "size": "103273444" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "checksum": "SHA-256:80a3342cda2cd4b6b75ebb2b36d5d12fce7d375cfadadcff01ec3a907f0a16a2", + "size": "103058744" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "checksum": "SHA-256:7f0162a81558ab0ed09d6c5d356def25b5cb3d5c2d61358f20152fa260ccc8ae", + "size": "109447789" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "checksum": "SHA-256:3ff7e5427907cf8e271c1f959b70fb01e39625c3caf61a6567e7b38aa0c11578", + "size": "113672945" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-win32.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-win32.zip", + "checksum": "SHA-256:c8ff08883c1456c278fad85e1c43b7c6e251d525683214168655550e85c5b82e", + "size": "140809778" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-win64.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-win64.zip", + "checksum": "SHA-256:6c04cb4728db928ec6473e63146b695b6dec686a0d40dd73dd3353f05247b19e", + "size": "142365782" + } + ] + }, + { + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r1-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "checksum": "SHA-256:3459618f33bbd5f54d7d7783e807cb6eef6472a220f2f1eb3faced735b9d13bb", + "size": "152812483" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "checksum": "SHA-256:24b9e54b348bbd5fb816fc4c52abb47337c702beecdbba840750b7cfb9d38069", + "size": "151726623" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "checksum": "SHA-256:954d340ebffef12a2ce9be1ea004e6f45a8863f1e6f41f46fd3f04f58499627c", + "size": "155430963" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "checksum": "SHA-256:612fb3a3f84f703222327bd16581df8f80fda8cdf137637fe5d611587d1b664e", + "size": "159836199" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-win32.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-win32.zip", + "checksum": "SHA-256:5711eb407ffe44adddbd1281b6b575a5645e7193ca78faefa27dc5bc5b662bec", + "size": "191266312" + } + ] + }, + { + "version": "2.3.1-cn", + "name": "esptool", + "systems": [ + { + "url": "https://dl.espressif.cn/dl/esptool-2.3.1-windows.zip", + "checksum": "SHA-256:c187763d0faac7da7c30a292a23c759bbc256fcd084dc8846ed284000cb0fe29", + "host": "i686-mingw32", + "archiveFileName": "esptool-2.3.1-windows.zip", + "size": "3396085" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.3.1-macos.tar.gz", + "checksum": "SHA-256:cd922418f02e0ca11dc066b36a22646a1b441da00d762b4464ca598c902c5ecb", + "host": "x86_64-apple-darwin", + "archiveFileName": "esptool-2.3.1-macos.tar.gz", + "size": "3810932" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.3.1-linux.tar.gz", + "checksum": "SHA-256:cff30841dad80ed5d7d2d58a31843b63afa57528979a9c839806568167691d8e", + "host": "x86_64-pc-linux-gnu", + "archiveFileName": "esptool-2.3.1-linux.tar.gz", + "size": "39563" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.3.1-linux.tar.gz", + "checksum": "SHA-256:cff30841dad80ed5d7d2d58a31843b63afa57528979a9c839806568167691d8e", + "host": "i686-pc-linux-gnu", + "archiveFileName": "esptool-2.3.1-linux.tar.gz", + "size": "39563" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.3.1-linux.tar.gz", + "checksum": "SHA-256:cff30841dad80ed5d7d2d58a31843b63afa57528979a9c839806568167691d8e", + "host": "arm-linux-gnueabihf", + "archiveFileName": "esptool-2.3.1-linux.tar.gz", + "size": "39563" + } + ] + } + ] + } + ] +} diff --git a/package_index_cn.json b/package_index_cn.json new file mode 100644 index 00000000000..43790945974 --- /dev/null +++ b/package_index_cn.json @@ -0,0 +1,6578 @@ +{ + "packages": [ + { + "name": "esp32", + "maintainer": "Espressif Systems", + "websiteURL": "https://github.com/espressif/arduino-esp32", + "email": "hristo@espressif.com", + "help": { + "online": "http://esp32.com" + }, + "platforms": [ + { + "name": "esp32", + "architecture": "esp32", + "version": "3.2.0-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.2.0/esp32-3.2.0.zip", + "archiveFileName": "esp32-3.2.0.zip", + "checksum": "SHA-256:d38b16fef6e519fc0d19bc5af0b39cdbed7dfc2ce69214c1971ded0e61ecd911", + "size": "25447136", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "ESP32-C6 Dev Board" + }, + { + "name": "ESP32-H2 Dev Board" + }, + { + "name": "ESP32-P4 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.4-2f7dcd86-v1-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2411-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2411-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.9.dev3-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.1.3-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.3/esp32-3.1.3.zip", + "archiveFileName": "esp32-3.1.3.zip", + "checksum": "SHA-256:747160dbc81c6634c7bff9e8a57213e9982d52fe90d2a8f75a93a9f7b527defb", + "size": "25396700", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-489d7a2b-v1-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.9.dev3-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.1.2-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.2/esp32-3.1.2.zip", + "archiveFileName": "esp32-3.1.2.zip", + "checksum": "SHA-256:17214f51a7b9de547baa777419d2b041e1f09cfb17adb33c18617a756190f9f6", + "size": "25396684", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-489d7a2b-v1-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.9.dev3-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.1.1-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.1/esp32-3.1.1.zip", + "archiveFileName": "esp32-3.1.1.zip", + "checksum": "SHA-256:e20982b2860eab4900ce16a0f2b7f9fc3ffb205e490dc933f625d53a5c9e8129", + "size": "25253828", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-cfea4f7c-v1-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.9.dev3-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.1.0-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0/esp32-3.1.0.zip", + "archiveFileName": "esp32-3.1.0.zip", + "checksum": "SHA-256:0db044159e3fc737435b3f1d547bf85c60a33a175342c317d2a5c08c42977f80", + "size": "25225607", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-083aad99-v2-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2405-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.9.dev3-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.7-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.7/esp32-3.0.7.zip", + "archiveFileName": "esp32-3.0.7.zip", + "checksum": "SHA-256:6b48f5bd889e55d7b93b95849dff77c6a5e4b9ee58c7298d7872d558a4d04931", + "size": "24546342", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-632e0c2a-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs2", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs3", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240821-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.6-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.6/esp32-3.0.6.zip", + "archiveFileName": "esp32-3.0.6.zip", + "checksum": "SHA-256:7b4d87d0a18e69cba81e7aa7e69f088dc7c4f6cc89a20adc256bf77c86992dc5", + "size": "24546256", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-632e0c2a-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs2", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs3", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240821-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.5-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.5/esp32-3.0.5.zip", + "archiveFileName": "esp32-3.0.5.zip", + "checksum": "SHA-256:6ead4c452e69146b8eb08bee5a77898acc75a0637e9fccb5bbf665385ddc28db", + "size": "24481707", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-33fbade6-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs2", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs3", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240821-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.4-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.4/esp32-3.0.4.zip", + "archiveFileName": "esp32-3.0.4.zip", + "checksum": "SHA-256:58fcd9b033be0358afbcbcf9a1d8eb216217f65f6b28f2e2cd739c7d016dda4f", + "size": "23937821", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-b6b4727c58-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs2", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs3", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240318-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.3-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.3/esp32-3.0.3.zip", + "archiveFileName": "esp32-3.0.3.zip", + "checksum": "SHA-256:b4aa70711293955a9835ad641279dc7cd524aeb405f7d294afa05c2ece7ded45", + "size": "23920341", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-dc859c1e67-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs2", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs3", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240318-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.2-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.2/esp32-3.0.2.zip", + "archiveFileName": "esp32-3.0.2.zip", + "checksum": "SHA-256:bd90630fbe9e99f3bb3340c25a87574d5551dd2823849adbf285f8430b6884cf", + "size": "23893902", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-bd2b9390ef-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs2", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs3", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240318-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.1-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.1/esp32-3.0.1.zip", + "archiveFileName": "esp32-3.0.1.zip", + "checksum": "SHA-256:b7169d0dd51b64e450a7c09fafb7a4782820a9bc745f7b1e4618316440db0930", + "size": "23895257", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-442a798083-cn" + }, + { + "packager": "esp32", + "name": "esp-x32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs2", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "esp-xs3", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "3.0.0-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.0/esp32-3.0.0.zip", + "archiveFileName": "esp32-3.0.0.zip", + "checksum": "SHA-256:0960cf786992e0e3770d8c1e1979eaf01bd0ac9209b24fb00948cf93d43cf95c", + "size": "23891610", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-442a798083-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-12.2.0_20230208-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-12.2.0_20230208-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-12.2.0_20230208-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "esp-rv32", + "version": "2302-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.6-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.17-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.17/esp32-2.0.17.zip", + "archiveFileName": "esp32-2.0.17.zip", + "checksum": "SHA-256:1f8658d4b18a8001ce782142ad08164af2991d70b83a147c3437a6ee30a9b225", + "size": "254658377", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.16-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.16/esp32-2.0.16.zip", + "archiveFileName": "esp32-2.0.16.zip", + "checksum": "SHA-256:6615fd16fd6d3ee2fa7ca2dd40a4f65220eddf094a88b7cee2141a0c077987bc", + "size": "254657760", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.15-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.15/esp32-2.0.15.zip", + "archiveFileName": "esp32-2.0.15.zip", + "checksum": "SHA-256:2219c1636264f55e19b2a5e7f41c81b669b1355017b15ee31773c85674b3e9bb", + "size": "254657764", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.14-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.14/esp32-2.0.14.zip", + "archiveFileName": "esp32-2.0.14.zip", + "checksum": "SHA-256:77c71eba520c97ab30161eb2f9c6a46b019e48d13936244b18f6ad4dbecf0a58", + "size": "252506057", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230419-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.13-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.13/esp32-2.0.13.zip", + "archiveFileName": "esp32-2.0.13.zip", + "checksum": "SHA-256:ee4c277bac0eecb7ca8853780da9d49b4e260926059cf6a9f9bac1923059de0c", + "size": "250665913", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.12-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.12/esp32-2.0.12.zip", + "archiveFileName": "esp32-2.0.12.zip", + "checksum": "SHA-256:9a4f844ca67812c547a9635cdb0dd2c347cae7a3e855f95f9d490b2f8d340dbe", + "size": "250664387", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.11-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.11/esp32-2.0.11.zip", + "archiveFileName": "esp32-2.0.11.zip", + "checksum": "SHA-256:d15386308dc72f94816ce80b5508af999f2fd0d88eb5e1ffba48316ab0b9c5d6", + "size": "250401265", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.10-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.10/esp32-2.0.10.zip", + "archiveFileName": "esp32-2.0.10.zip", + "checksum": "SHA-256:6028cb623c838723c41000869963d95f7cb811d58643133068eed31c03c2d7c0", + "size": "250401273", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + }, + { + "name": "Arduino Nano ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + }, + { + "packager": "arduino", + "name": "dfu-util", + "version": "0.11.0-arduino5" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.9-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.9/esp32-2.0.9.zip", + "archiveFileName": "esp32-2.0.9.zip", + "checksum": "SHA-256:37072185026db3cdc0ed4b6fb12840d7f41571a16c60eec97bec2a4abec8dcee", + "size": "278964028", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.8-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.8/esp32-2.0.8.zip", + "archiveFileName": "esp32-2.0.8.zip", + "checksum": "SHA-256:2c5daa3ce7456e752fb8d8a35b0b6b2eb8e494032cba57569ba12dd53eb235f2", + "size": "278963636", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.7-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.7/esp32-2.0.7.zip", + "archiveFileName": "esp32-2.0.7.zip", + "checksum": "SHA-256:b5a7a54fca36501d1108413310ec50ae2df655c14c3881325903cde2c7ae5f80", + "size": "278966011", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.5-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.6-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.6/esp32-2.0.6.zip", + "archiveFileName": "esp32-2.0.6.zip", + "checksum": "SHA-256:ea56d300404cc1b5bc15295f29790246b02025c493e0664a6d271164a602a351", + "size": "264579419", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.2.1-cn" + }, + { + "packager": "esp32", + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20220706-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.5-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.5/esp32-2.0.5.zip", + "archiveFileName": "esp32-2.0.5.zip", + "checksum": "SHA-256:c7a1040c5f007a799ef9eb249508e3544c3cf5246f67cdfdc1e80f7d0ca7b41d", + "size": "260916106", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "4.2.1-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.4-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.4/esp32-2.0.4.zip", + "archiveFileName": "esp32-2.0.4.zip", + "checksum": "SHA-256:832609d6f4cd0edf4e471f02e30b7f0e1c86fdd1b950990ef40431e656237214", + "size": "259715595", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.3.0-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.3-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.3/esp32-2.0.3.zip", + "archiveFileName": "esp32-2.0.3.zip", + "checksum": "SHA-256:7a44ab32a2bfe18a84fd1f75aa1921dae92c6b4a74a2eb4d0c7d479b34996f3b", + "size": "246542267", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-S3 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.3.0-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.2-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.2/esp32-2.0.2.zip", + "archiveFileName": "esp32-2.0.2.zip", + "checksum": "SHA-256:e139f22aab9cbe8109815de0be110e58a8f1d6c90a2e263eb0b0d646b53a5a33", + "size": "151846438", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.1.0-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.1-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.1/esp32-2.0.1.zip", + "archiveFileName": "esp32-2.0.1.zip", + "checksum": "SHA-256:3a7cd46ba47990dd37fbe02b7f0a910dd5cc7af1d190350b69d320ed36cd6b41", + "size": "148976301", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Board" + }, + { + "name": "ESP32-S2 Dev Board" + }, + { + "name": "ESP32-C3 Dev Board" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.1.0-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "2.0.0-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.0/esp32-2.0.0.zip", + "archiveFileName": "esp32-2.0.0.zip", + "checksum": "SHA-256:10e1c42dbf11d2359259a80008f13f37d2f9bb8f49a25d34d387cf4531052cbc", + "size": "139313137", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + }, + { + "name": "WEMOS D1 MINI ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r1-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r1-cn" + }, + { + "packager": "esp32", + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r1-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.1.0-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + }, + { + "packager": "esp32", + "name": "mklittlefs", + "version": "3.0.0-gnu12-dc7f933-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "1.0.6-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.6/esp32-1.0.6.zip", + "archiveFileName": "esp32-1.0.6.zip", + "checksum": "SHA-256:982da9aaa181b6cb9c692dd4c9622b022ecc0d1e3aa0c5b70428ccc3c1b4556b", + "size": "51126662", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + }, + { + "name": "WEMOS D1 MINI ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "1.22.0-97-gc752ad5-5.2.0-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.0.0-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + } + ] + }, + { + "name": "esp32", + "architecture": "esp32", + "version": "1.0.5-cn", + "category": "ESP32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5/esp32-1.0.5.zip", + "archiveFileName": "esp32-1.0.5.zip", + "checksum": "SHA-256:dc5c6c72a127b3171c654f3c3476911d3c2b0ab21affdb7b0f0756c105ca71a7", + "size": "49552769", + "help": { + "online": "" + }, + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + }, + { + "name": "WEMOS D1 MINI ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "name": "xtensa-esp32-elf-gcc", + "version": "1.22.0-97-gc752ad5-5.2.0-cn" + }, + { + "packager": "esp32", + "name": "esptool_py", + "version": "3.0.0-cn" + }, + { + "packager": "esp32", + "name": "mkspiffs", + "version": "0.2.3-cn" + } + ] + }, + { + "category": "ESP32", + "name": "esp32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.4/esp32-1.0.4.zip", + "checksum": "SHA-256:d9108bf873933c4e48a3ca401fb51e41b2cc3f98d7c9b9be9881e7ca34bf0efe", + "help": { + "online": "" + }, + "version": "1.0.4-cn", + "architecture": "esp32", + "archiveFileName": "esp32-1.0.4.zip", + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + }, + { + "name": "WEMOS D1 MINI ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "version": "1.22.0-80-g6c4433a-5.2.0-cn", + "name": "xtensa-esp32-elf-gcc" + }, + { + "packager": "esp32", + "version": "2.6.1-cn", + "name": "esptool_py" + }, + { + "packager": "esp32", + "version": "0.2.3-cn", + "name": "mkspiffs" + } + ], + "size": "36853332" + }, + { + "category": "ESP32", + "name": "esp32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.3/esp32-1.0.3.zip", + "checksum": "SHA-256:19a30ece8a3ab26ab420c3d5531a9a1c51cb04e421a4f1d86dc072c209060436", + "help": { + "online": "" + }, + "version": "1.0.3-cn", + "architecture": "esp32", + "archiveFileName": "esp32-1.0.3.zip", + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + }, + { + "name": "WEMOS D1 MINI ESP32" + } + ], + "toolsDependencies": [ + { + "packager": "esp32", + "version": "1.22.0-80-g6c4433a-5.2.0-cn", + "name": "xtensa-esp32-elf-gcc" + }, + { + "packager": "esp32", + "version": "2.6.1-cn", + "name": "esptool_py" + }, + { + "packager": "esp32", + "version": "0.2.3-cn", + "name": "mkspiffs" + } + ], + "size": "36811826" + }, + { + "category": "ESP32", + "help": { + "online": "" + }, + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.2/esp32-1.0.2.zip", + "checksum": "SHA-256:c3a5a5050705d41ab205d25a7399e921057b754ef8f883419f58c0c7f08df11c", + "version": "1.0.2-cn", + "architecture": "esp32", + "archiveFileName": "esp32-1.0.2.zip", + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + } + ], + "size": "31174160", + "toolsDependencies": [ + { + "packager": "esp32", + "version": "1.22.0-80-g6c4433a-5.2.0-cn", + "name": "xtensa-esp32-elf-gcc" + }, + { + "packager": "esp32", + "version": "2.6.1-cn", + "name": "esptool_py" + }, + { + "packager": "esp32", + "version": "0.2.3-cn", + "name": "mkspiffs" + } + ], + "name": "esp32" + }, + { + "category": "ESP32", + "help": { + "online": "" + }, + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.1/esp32-1.0.1.zip", + "checksum": "SHA-256:1a7fa2f9bb0b6b5a20dfea227497f4851dc8b886caf7ecb998f745589c97ed34", + "name": "esp32", + "version": "1.0.1-cn", + "architecture": "esp32", + "archiveFileName": "esp32-1.0.1.zip", + "size": "31273425", + "toolsDependencies": [ + { + "packager": "esp32", + "version": "1.22.0-80-g6c4433a-5.2.0-cn", + "name": "xtensa-esp32-elf-gcc" + }, + { + "packager": "esp32", + "version": "2.6.0-cn", + "name": "esptool_py" + }, + { + "packager": "esp32", + "version": "0.2.3-cn", + "name": "mkspiffs" + } + ], + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + } + ] + }, + { + "category": "ESP32", + "help": { + "online": "" + }, + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.0/esp32-1.0.0.zip", + "checksum": "SHA-256:94d586174f103e2014be590ab307c5cdda6fa2ec70204c7f121882ace5e05c80", + "name": "esp32", + "version": "1.0.0-cn", + "architecture": "esp32", + "archiveFileName": "esp32-1.0.0.zip", + "size": "26381887", + "toolsDependencies": [ + { + "packager": "esp32", + "version": "1.22.0-80-g6c4433a-5.2.0-cn", + "name": "xtensa-esp32-elf-gcc" + }, + { + "packager": "esp32", + "version": "2.3.1-cn", + "name": "esptool" + }, + { + "packager": "esp32", + "version": "0.2.3-cn", + "name": "mkspiffs" + } + ], + "boards": [ + { + "name": "ESP32 Dev Module" + }, + { + "name": "WEMOS LoLin32" + } + ] + } + ], + "tools": [ + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.4-2f7dcd86-v1-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.4/esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.4-2f7dcd86-v1.zip", + "checksum": "SHA-256:11f1271fe5e2857155d90384690069e4d33f0f97a4c04e7474b29a7cbc7ededd", + "size": "352347498" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-489d7a2b-v1-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-489d7a2b-v1.zip", + "checksum": "SHA-256:489012502218a7d30f6c312764bc8d10830a51e1db29558f15181c68373d0095", + "size": "341414090" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-cfea4f7c-v1-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-cfea4f7c-v1.zip", + "checksum": "SHA-256:1099291229a9be453c771c5867b8487a0266db9246b672417337b8f511d7f820", + "size": "341118284" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.3-083aad99-v2-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.3/esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.3-083aad99-v2.zip", + "checksum": "SHA-256:4c6cae2e34df7e85a149615a6c18169777faf9460f708fc51d93616a117973c2", + "size": "341175680" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-632e0c2a-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-632e0c2a.zip", + "checksum": "SHA-256:41f67e1c11f68b57d651955c93b63d6a8d35808ce6aff6ba3d1e1476178758f2", + "size": "309895581" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-33fbade6-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/esp32-arduino-lib-builder/releases/download/idf-release_v5.1/esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "archiveFileName": "esp32-arduino-libs-idf-release_v5.1-33fbade6.zip", + "checksum": "SHA-256:578f325fa9fca635d9c6c3b19726cb26077751e3155b677317bde2e0b371df7d", + "size": "309285463" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-b6b4727c58-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.4/esp32-arduino-libs-3.0.4.zip", + "archiveFileName": "esp32-arduino-libs-3.0.4.zip", + "checksum": "SHA-256:c5c495fc3e6e11418e87ca9f6bf89cdcb0bcc38244a618f8d457d7a77f70b778", + "size": "305857583" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-dc859c1e67-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.3/esp32-arduino-libs-3.0.3.zip", + "archiveFileName": "esp32-arduino-libs-3.0.3.zip", + "checksum": "SHA-256:23618328d3cc3d2eabc269196be22af5b2353583d5f6ec14b3ef0cf11e7da7ba", + "size": "305530538" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-bd2b9390ef-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.2/esp32-arduino-libs-3.0.2.zip", + "archiveFileName": "esp32-arduino-libs-3.0.2.zip", + "checksum": "SHA-256:6df0f2753ae3d43582e641e3b945666c2700cb18f62a1932ad535b79427aae0b", + "size": "305835047" + } + ] + }, + { + "name": "esp32-arduino-libs", + "version": "idf-release_v5.1-442a798083-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.0.1/esp32-arduino-libs-3.0.1.zip", + "archiveFileName": "esp32-arduino-libs-3.0.1.zip", + "checksum": "SHA-256:112f81fcaed22286f9ba19bbd01d12337aab7b64e997120c33f833816b343e20", + "size": "373411607" + } + ] + }, + { + "name": "esp-x32", + "version": "2411-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:b1859df334a85541ae746e1b86439f59180d87f8cf1cc04c2e770fadf9f006e9", + "size": "323678089" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:7ff023033a5c00e55b9fc0a0b26d18fb0e476c24e24c5b0459bcb2e05a3729f1", + "size": "320064691" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:bb11dbf3ed25d4e0cc9e938749519e8236cfa2609e85742d311f1d869111805a", + "size": "319454139" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:5ac611dca62ec791d413d1f417d566c444b006d2a4f97bd749b15f782d87249b", + "size": "328335914" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-x86_64-apple-darwin_signed.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-x86_64-apple-darwin_signed.tar.gz", + "checksum": "SHA-256:15b3e60362028eaeff9156dc82dac3f1436b4aeef3920b28d7650974d8c34751", + "size": "336215844" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-aarch64-apple-darwin_signed.tar.gz", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-aarch64-apple-darwin_signed.tar.gz", + "checksum": "SHA-256:45c475518735133789bacccad31f872318b7ecc0b31cc9b7924aad880034f0bf", + "size": "318797396" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-i686-w64-mingw32.zip", + "checksum": "SHA-256:b30e450e0af279783c54a9ae77c3b367dd556b78eda930a92ec7b784a74c28c8", + "size": "382457717" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/xtensa-esp-elf-14.2.0_20241119-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-14.2.0_20241119-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:62ae704777d73c30689efff6e81178632a1ca44d1a2d60f4621eb997e040e028", + "size": "386316009" + } + ] + }, + { + "name": "esp-x32", + "version": "2405-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:bce77e8480701d5a90545369d1b5848f6048eb39c0022d2446d1e33a8e127490", + "size": "208911713" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:7c9e3c1adc733d042ed87b92daa1d6396e1b441c1755f1fa14cb88855719ba88", + "size": "202519931" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:d6955e8ea6af91574bf9213b92f32ca09eb8640103446b7fa19a63cfeeec5421", + "size": "202206516" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:3666ee74ecb693ee6488f11469802630a7b0d32608184045a4f35cb413f59e3d", + "size": "213304863" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:948cf57b6eecc898b5f70e06ad08ba88c08b627be570ec631dfcd72f6295194a", + "size": "221357024" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:6f03fdf0cc14a7f3900ee59977f62e8626d8b7c208506e52f1fd883ac223427a", + "size": "199689745" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-i686-w64-mingw32_hotfix.zip", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-i686-w64-mingw32_hotfix.zip", + "checksum": "SHA-256:d6b227c50e3c8e21d62502b3140e5ab74a4cb502c2b4169c36238b9858a8fb88", + "size": "266042967" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/xtensa-esp-elf-13.2.0_20240530-x86_64-w64-mingw32_hotfix.zip", + "archiveFileName": "xtensa-esp-elf-13.2.0_20240530-x86_64-w64-mingw32_hotfix.zip", + "checksum": "SHA-256:155ee97b531236e6a7c763395c68ca793e55e74d2cb4d38a23057a153e01e7d0", + "size": "269831985" + } + ] + }, + { + "name": "esp-x32", + "version": "2302-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:e8d35938385447cf9c34735fee2a3b2b61cca6be07db77a45856a1c2a347e423", + "size": "111766903" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:569988acfc2673369f222037c64bac96990cee08cebeebc4f8860e0d984f8bd9", + "size": "106473247" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:6a844f16021e936cc9b87b203978356f57ab2144554f6f2a0f73ffa3d3d316c5", + "size": "105576049" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:743d6f03a89329bb09f9550d27fcab677f5cf06b4720793bbcef7883a932681d", + "size": "114870843" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:4d32d764e984f3a570aacfb2f4957619540fb4629534d969b2e83997901334c3", + "size": "119424029" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:dc8fa7f4933bf5cb08e83bacce6160cc9dfe93d7aad1e8f92599bb81ff5b2e28", + "size": "106136827" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:62bb6428d107ed3f44c212c77ecf24804b74c97327b0f0ad2029c656c6dbd6ee", + "size": "130847086" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:8febfe4a6476efc69012390106c8c660a14418f025137b0513670c72124339cf", + "size": "134985117" + } + ] + }, + { + "name": "xtensa-esp-elf-gdb", + "version": "14.2_20240403-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:9d68472d4cba5cf8c2b79d94f86f92c828e76a632bd1e6be5e7706e5b304d36e", + "size": "31010320" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:bdabc3217994815fc311c4e16e588b78f6596b5ad4ffa46c80b40e982cfb1e66", + "size": "30954580" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:d54b8d703ba897b28c627da3d27106a3906dd01ba298778a67064710bc33c76d", + "size": "28697281" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:64d3bc992ed8fdec383d49e8b803ac494605a38117c8293db8da055037de96b0", + "size": "29890994" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:023e74b3fda793da4bc0509b02de776ee0dad6efaaac17bef5916fb7dc9c26b9", + "size": "44446611" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:ea757c6bf8c25238f6d2fdcc6bbab25a1b00608a0f9e19b7ddd2f37ddbdc3fb1", + "size": "37021423" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-i686-w64-mingw32.zip", + "checksum": "SHA-256:322e8d9b700dc32d8158e3dc55fb85ec55de48d0bb7789375ee39a28d5d655e2", + "size": "26302466" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/xtensa-esp-elf-gdb-14.2_20240403-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-14.2_20240403-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:a27a2fe20f192f8e0a51b8936428b4e1cf8935cfe008ee445cc49f6fc7f6db2e", + "size": "28366035" + } + ] + }, + { + "name": "xtensa-esp-elf-gdb", + "version": "12.1_20231023-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:d0743ec43cd92c35452a9097f7863281de4e72f04120d63cfbcf9d591a373529", + "size": "36942094" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:bc1fac0366c6a08e26c45896ca21c8c90efc2cdd431b8ba084e8772e15502d0e", + "size": "37134601" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:25efc51d52b71f097ccec763c5c885c8f5026b432fec4b5badd6a5f36fe34d04", + "size": "34579556" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:e0af0b3b4a6b29a843cd5f47e331a966d9258f7d825b4656c6251490f71b05b2", + "size": "35676578" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:bd146fd99a52b2d71c7ce0f62b9e18f3423d6cae7b2b2c954046b0dd7a23142f", + "size": "52863941" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:5edc76565bf9d2fadf24e443ddf3df7567354f336a65d4af5b2ee805cdfcec24", + "size": "33504923" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-i686-w64-mingw32.zip", + "checksum": "SHA-256:ea4f3ee6b95ad1ad2e07108a21a50037a3e64a420cdeb34b2ba95d612faed898", + "size": "31068749" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/xtensa-esp-elf-gdb-12.1_20231023-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-12.1_20231023-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:13bb97f39173948d1cfb6e651d9b335ea9d52f1fdd0dda1eda3a2d23d8c63644", + "size": "33514906" + } + ] + }, + { + "name": "xtensa-esp-elf-gdb", + "version": "11.2_20220823-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:b5f7cc3e4b5a58db655754083ed9652e4953e71c3b4922fb624e7a034ec24a64", + "size": 26947336 + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:816acfae38b6b443f4f1590395f68f079243539259d19c7772ae6416c6519444", + "size": 27134508 + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:4dd1bace0633196fddfdcef3cebcc4bbfce22f5a0d2d1e3d618f3d8a6cbfcacc", + "size": 25205239 + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-i586-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:27744d09d171be2f55ec15fa7f2d7f8ff94d33f7e130d24ebe082cb6c438618b", + "size": 25978028 + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:1432faa12d7301133f6ee654d60751b57adcc6cf323ee1ecc393f06f0225eff4", + "size": 38386785 + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:d0b542ef070ea72857f9cf554f176a0a9d868cd59e05ac293ad39402bcc5277d", + "size": 21671964 + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-i686-w64-mingw32.zip", + "checksum": "SHA-256:1678b06aa80b1d689d05548056635efde5b73b98f2c3de5d555bcfc6f374c5d0", + "size": 23241302 + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/xtensa-esp-elf-gdb-11.2_20220823-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp-elf-gdb-11.2_20220823-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:7060df4b6aa133e282147c3651d50222d677d6a0fff92979c500353b099a3f41", + "size": 25135265 + } + ] + }, + { + "name": "esp-rv32", + "version": "2411-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:a16942465d33c7f0334c16e83bc6feb62e06eeb79cf19099293480bb8d48c0cd", + "size": "593721156" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:22486233d0e0fd58a54ae453b701f195f1432fc6f2e17085b9d6c8d5d9acefb7", + "size": "587879927" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:27a72d5d96cdb56dae2a1da5dfde1717c18a8c1f9a1454c8e34a8bd34abe662d", + "size": "586531522" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:b7bd6e4cd53a4c55831d48e96a3d500bfffb091bec84a30bc8c3ad687e3eb3a2", + "size": "597070471" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-x86_64-apple-darwin_signed.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-x86_64-apple-darwin_signed.tar.gz", + "checksum": "SHA-256:5f8b571e1aedbe9f856f3bdeca6600cd5510ccff1ca102c4f001421eda560585", + "size": "602343061" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-aarch64-apple-darwin_signed.tar.gz", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-aarch64-apple-darwin_signed.tar.gz", + "checksum": "SHA-256:a7276042a7eb2d33c2dff7167539e445c32c07d43a2c6827e86d035642503e0b", + "size": "578521565" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-i686-w64-mingw32.zip", + "checksum": "SHA-256:54193a97bd75205678ead8d11f00b351cfa3c2a6e5ab5d966341358b9f9422d7", + "size": "672055172" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-14.2.0_20241119/riscv32-esp-elf-14.2.0_20241119-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-14.2.0_20241119-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:24c8407fa467448d394e0639436a5ede31caf1838e35e8435e19df58ebed438c", + "size": "677812937" + } + ] + }, + { + "name": "esp-rv32", + "version": "2405-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:e7fbfffbb19dcd3764a9848a141bf44e19ad0b48e0bd1515912345c26fe52fba", + "size": "294346758" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:a178a895b807ed2e87d5d62153c36a6aae048581f527c0eb152f0a02b8de9571", + "size": "288374597" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:4a2f176d0f5bc8a70645975e2a08ea94145fb69b7225c5cdcbd6024a4836aaf5", + "size": "287737495" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:7a6f02f1b2effafb18600bbf602818f6923fd320f000fb8659f34acbfda8812f", + "size": "299138540" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-x86_64-apple-darwin.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:a193b4f025d0d836b0a9d9cbe760af1c53e53af66fc332fe98952bc4c456dd9a", + "size": "305025700" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-aarch64-apple-darwin.tar.gz", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:7082dd2e2123dea5609a24092d19ac6612ae7e219df1d298de6b2f64cb4af0df", + "size": "285458443" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-i686-w64-mingw32.zip", + "checksum": "SHA-256:590bfb10576702639825581cc00c445da6e577012840a787137417e80d15f46d", + "size": "366573064" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-13.2.0_20240530/riscv32-esp-elf-13.2.0_20240530-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-13.2.0_20240530-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:413eb9f6adf8fdaf25544d014c850fc09eb38bb93a2fc5ebd107ab1b0de1bb3a", + "size": "369820297" + } + ] + }, + { + "name": "esp-rv32", + "version": "2302-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:1eb0d65990547ee9706b90406600cbc3638814d5feb7c1f7b44bb5416478a5bd", + "size": "257615266" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:921fcdc170c7fe5d6a0a30470ed1875c8926d910c19739fc950c8d1836e4c1c5", + "size": "253094184" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:f66e06312b58251c2121c1b1df1102565708573b86b2a9fe0c03ea1b0e9a7511", + "size": "252558021" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:8abcac0331ef8973d1c705e77523364ebec7e98b37640d4a1d036912f3cbe946", + "size": "261248375" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:76a334bc75a4e3891c222c84d7968817f2d0699d2976fc2a1658e56395283bec", + "size": "268987133" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:f30571945b257a10a26901bba3c5892e07c192aacf9ed6e8fcd11ca36ed827d2", + "size": "252159713" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:a5dfbb6dbf6fc6c6ea9beb2723af059ba3c5b2c86c2f0dc3b21afdc7bb229bf5", + "size": "324863847" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/riscv32-esp-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:9deae9e0013b2f7bbf017f9c8135755bfa89522f337c7dca35872bf12ec08176", + "size": "328092732" + } + ] + }, + { + "name": "riscv32-esp-elf-gdb", + "version": "14.2_20240403-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:ce004bc0bbd71b246800d2d13b239218b272a38bd528e316f21f1af2db8a4b13", + "size": "30707431" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:ba10f2866c61410b88c65957274280b1a62e3bed05131654ed9b6758efe18e55", + "size": "30824065" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:88539db5d987f28827efac7e26080a2803b9b539342ccd2963ccfdd56d7f08f7", + "size": "29000575" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:0e628ee37438ab6ba05eb889a76d09e50cb98e0020a16b8e2b935c5cf19b4ed2", + "size": "29947521" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:8f6bda832d70dad5860a639d55aba4237bd10cbac9f4822db1eece97357b34a9", + "size": "44196117" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:d88b6116e86456c8480ce9bc95aed375a35c0d091f1da0a53b86be0e6ef3d320", + "size": "36794404" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-i686-w64-mingw32.zip", + "checksum": "SHA-256:d6e7ce05805b0d8d4dd138ad239b98a1adf8da98941867d60760eb1ae5361730", + "size": "26486295" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v14.2_20240403/riscv32-esp-elf-gdb-14.2_20240403-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-14.2_20240403-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:5c9f211dc46daf6b96fad09d709284a0f0186fef8947d9f6edd6bca5b5ad4317", + "size": "27942579" + } + ] + }, + { + "name": "riscv32-esp-elf-gdb", + "version": "12.1_20231023-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:2c78b806be176b1e449e07ff83429d38dfc39a13f89a127ac1ffa6c1230537a0", + "size": "36630145" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:33f80117c8777aaff9179e27953e41764c5c46b3c576dc96a37ecc7a368807ec", + "size": "36980143" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:292e6ec0a9381c1480bbadf5caae25e86428b68fb5d030c9be7deda5e7f070e0", + "size": "34950318" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:68a25fbcfc6371ec4dbe503ec92211977eb2006f0c29e67dbce6b93c70c6b7ec", + "size": "35801607" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:322c722e6c12225ed8cd97f95a0375105756dc5113d369958ce0858ad1a90257", + "size": "52618688" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:c2224b3a8d02451c530cf004c29653292d963a1b4021b4b472b862b6dbe97e0b", + "size": "33149392" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-i686-w64-mingw32.zip", + "checksum": "SHA-256:4b42149a99dd87ee7e6dde25c99bad966c7f964253fa8f771593d7cef69f5602", + "size": "31635103" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v12.1_20231023/riscv32-esp-elf-gdb-12.1_20231023-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-12.1_20231023-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:728231546ad5006d34463f972658b2a89e52f660a42abab08a29bedd4a8046ad", + "size": "33400816" + } + ] + }, + { + "name": "riscv32-esp-elf-gdb", + "version": "11.2_20220823-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-x86_64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:6bf5b5d2d407e074af2a74fc826764934ac1625a1751c52fbc0d4d7772061f8f", + "size": 26799809 + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-aarch64-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:e54ef67cdb5724fc2da8f0487f19b2c83c08b560fff317f5ffd98fbb230b397a", + "size": 27021672 + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-arm-linux-gnueabi.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:86772c6aee8a05b2c75a6b04e9da630e35e8415b64da8ccde92a5fb2d3c7fcf4", + "size": 25532577 + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-i586-linux-gnu.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-i586-linux-gnu.tar.gz", + "checksum": "SHA-256:3463be3e24182b7f1bd0fb232020534445b2d0ea0e7093c1b4f4da102b3baf52", + "size": 26188698 + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-x86_64-apple-darwin14.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-x86_64-apple-darwin14.tar.gz", + "checksum": "SHA-256:a9db1811ebb9271134eba2f7c303fc2587bd4b2a1ae33cd05ff2605cd2fb30d2", + "size": 38397584 + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-aarch64-apple-darwin21.1.tar.gz", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-aarch64-apple-darwin21.1.tar.gz", + "checksum": "SHA-256:c94fb6d726b8d97e65e23237f5126a41343bca8f22a0414df5f0e6777e36f51c", + "size": 21593613 + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-i686-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-i686-w64-mingw32.zip", + "checksum": "SHA-256:20cdee8a1c01428363ef02f4cc8035c65508d6b43560c525733eae94b7c7bb50", + "size": 23436802 + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/binutils-gdb/releases/download/esp-gdb-v11.2_20220823/riscv32-esp-elf-gdb-11.2_20220823-x86_64-w64-mingw32.zip", + "archiveFileName": "riscv32-esp-elf-gdb-11.2_20220823-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:add72366485b784b66837ce263548980f1df144d0954c42d75a81f6acbd43cac", + "size": 24802315 + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20241016-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-linux-amd64-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:e82b0f036dc99244bead5f09a86e91bb2365cbcd1122ac68261e5647942485df", + "size": "2398717" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-linux-arm64-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:8f8daf5bd22ec5d2fa9257b0862ec33da18ee677e023fb9a9eb17f74ce208c76", + "size": "2271584" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-linux-armel-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:bc9c020ecf20e2000f76cffa44305fd5bc44d2e688ea78cce423399d33f19767", + "size": "2414206" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-macos-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:02a2dffe801a2d005fa9e614d80ff8173395b2cb0b5d3118d0229d094a9946a7", + "size": "2508089" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-macos-arm64-0.12.0-esp32-20241016.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20241016.tar.gz", + "checksum": "SHA-256:c382f9e884d6565cb6089bff5f200f4810994667d885f062c3d3c5625a0fa9d6", + "size": "2552569" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-win32-0.12.0-esp32-20241016.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20241016.zip", + "checksum": "SHA-256:3b5d615e0a72cc771a45dd469031312d5881c01d7b6bc9edb29b8b6bda8c2e90", + "size": "2946244" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20241016/openocd-esp32-win64-0.12.0-esp32-20241016.zip", + "archiveFileName": "openocd-esp32-win64-0.12.0-esp32-20241016.zip", + "checksum": "SHA-256:5e7b2fd1947d3a8625f6a11db7a2340cf2f41ff4c61284c022c7d7c32b18780a", + "size": "2946244" + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240821-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-linux-amd64-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:f8c68541fa38307bc0c0763b7e1e3fe4e943d5d45da07d817a73b492e103b652", + "size": "2373094" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-linux-arm64-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:4d6e263d84e447354dc685848557d6c284dda7fe007ee451f729a7edfa7baad7", + "size": "2251272" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-linux-armel-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:9d45679f2c4cf450d5e2350047cf57bb76dde2487d30cebce0a72c9173b5c45b", + "size": "2390074" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-macos-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:565c8fabc5f19a6e7a0864a294d74b307eec30b9291d16d3fc90e273f0330cb4", + "size": "2485320" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-macos-arm64-0.12.0-esp32-20240821.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20240821.tar.gz", + "checksum": "SHA-256:68c5c7cf3d15b9810939a5edabc6ff2c9f4fc32262de91fc292a180bc5cc0637", + "size": "2530336" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-win32-0.12.0-esp32-20240821.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20240821.zip", + "checksum": "SHA-256:463fc2903ddaf03f86ff50836c5c63cc696550b0446140159eddfd2e85570c5d", + "size": "2916409" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240821/openocd-esp32-win64-0.12.0-esp32-20240821.zip", + "archiveFileName": "openocd-esp32-win64-0.12.0-esp32-20240821.zip", + "checksum": "SHA-256:550f57369f1f1f6cc600b5dffa3378fd6164d8ea8db7c567cf41091771f090cb", + "size": "2916408" + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20240318-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-linux-amd64-0.12.0-esp32-20240318.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20240318.tar.gz", + "checksum": "SHA-256:cf26c5cef4f6b04aa23cd2778675604e5a74a4ce4d8d17b854d05fbcb782d52c", + "size": "2252682" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-linux-arm64-0.12.0-esp32-20240318.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20240318.tar.gz", + "checksum": "SHA-256:9b97a37aa2cab94424a778c25c0b4aa0f90d6ef9cda764a1d9289d061305f4b7", + "size": "2132904" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-linux-armel-0.12.0-esp32-20240318.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20240318.tar.gz", + "checksum": "SHA-256:b7e82776ec374983807d3389df09c632ad9bc8341f2075690b6b500319dfeaf4", + "size": "2271761" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-macos-0.12.0-esp32-20240318.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20240318.tar.gz", + "checksum": "SHA-256:b16c3082c94df1079367c44d99f7a8605534cd48aabc18898e46e94a2c8c57e7", + "size": "2365588" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-macos-arm64-0.12.0-esp32-20240318.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20240318.tar.gz", + "checksum": "SHA-256:534ec925ae6e35e869e4e4e6e4d2c4a1eb081f97ebcc2dd5efdc52d12f4c2f86", + "size": "2406377" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-win32-0.12.0-esp32-20240318.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20240318.zip", + "checksum": "SHA-256:d379329eba052435173ab0d69c9b15bc164a6ce489e2a67cd11169d2dabff633", + "size": "2783915" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20240318/openocd-esp32-win32-0.12.0-esp32-20240318.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20240318.zip", + "checksum": "SHA-256:d379329eba052435173ab0d69c9b15bc164a6ce489e2a67cd11169d2dabff633", + "size": "2783915" + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230921-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-linux-amd64-0.12.0-esp32-20230921.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20230921.tar.gz", + "checksum": "SHA-256:61e38e0a13a5c1664624ec1c397d7f7d6868554b0d345d3fb1f7294cce38cc4b", + "size": "2193783" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-linux-arm64-0.12.0-esp32-20230921.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20230921.tar.gz", + "checksum": "SHA-256:6430315dc1b926541c93cef63d2b08982543ad3f9fe6e0d7107c8a518ef20432", + "size": "2062058" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-linux-armel-0.12.0-esp32-20230921.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20230921.tar.gz", + "checksum": "SHA-256:5df16d8a91f013a547f6b3b914c655a9d267996a3b6503031b335ac04a4f8d15", + "size": "2206666" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-macos-0.12.0-esp32-20230921.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20230921.tar.gz", + "checksum": "SHA-256:0a4f764934f488af18cdac2a0d152dd36b4870f3bec1a2d4e25b6b3b7a5258a0", + "size": "2305832" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-macos-arm64-0.12.0-esp32-20230921.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20230921.tar.gz", + "checksum": "SHA-256:6dce89048f642eb0559a915b6e514f90feb2a95afe21b84f0b0ebf2b27824816", + "size": "2341406" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-win32-0.12.0-esp32-20230921.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20230921.zip", + "checksum": "SHA-256:ac9d522a63b0816f64d921547bd55c031788035ced85c067d8e7c2862cb1bd0d", + "size": "2710475" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230921/openocd-esp32-win32-0.12.0-esp32-20230921.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20230921.zip", + "checksum": "SHA-256:ac9d522a63b0816f64d921547bd55c031788035ced85c067d8e7c2862cb1bd0d", + "size": "2710475" + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.12.0-esp32-20230419-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-linux-amd64-0.12.0-esp32-20230419.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.12.0-esp32-20230419.tar.gz", + "checksum": "SHA-256:5144e7516cd75a2152b35ecae0a400f7d3d4424c2488fbacc49433564f54c70d", + "size": 2126949 + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-linux-arm64-0.12.0-esp32-20230419.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.12.0-esp32-20230419.tar.gz", + "checksum": "SHA-256:1c4d900c738fe00730c6033abb6cf1cc6587717dbeee291d5908272d153d329a", + "size": 1989161 + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-linux-armel-0.12.0-esp32-20230419.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.12.0-esp32-20230419.tar.gz", + "checksum": "SHA-256:293258fd67618dd352e1096137ad9f2b801926eaf74ffcd570540ae94ad8ee5c", + "size": 2129727 + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-macos-0.12.0-esp32-20230419.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.12.0-esp32-20230419.tar.gz", + "checksum": "SHA-256:621aad7d011c6817cde9570dfea42c7bcc699458bf43c37706cb4c2f6475a247", + "size": 2237976 + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-macos-arm64-0.12.0-esp32-20230419.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.12.0-esp32-20230419.tar.gz", + "checksum": "SHA-256:3af7eac3a7de3939731ec4c13fb5d72a8e6ce5e5d274bb9697f5d93039561e42", + "size": 2270699 + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-win32-0.12.0-esp32-20230419.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20230419.zip", + "checksum": "SHA-256:f2cb3d9cacfe789c20d3272af846d726a062ce8f2e4ee142bddb27501d7dd7a7", + "size": 2619680 + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.12.0-esp32-20230419/openocd-esp32-win32-0.12.0-esp32-20230419.zip", + "archiveFileName": "openocd-esp32-win32-0.12.0-esp32-20230419.zip", + "checksum": "SHA-256:f2cb3d9cacfe789c20d3272af846d726a062ce8f2e4ee142bddb27501d7dd7a7", + "size": 2619680 + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20221026-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-linux-amd64-0.11.0-esp32-20221026.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.11.0-esp32-20221026.tar.gz", + "checksum": "SHA-256:ce63e9b1dfab60cc62da5dc2abcc22ba7036c42afe74671c787eb026744e7d0b", + "size": "2051435" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-linux-arm64-0.11.0-esp32-20221026.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.11.0-esp32-20221026.tar.gz", + "checksum": "SHA-256:fe60a3a603e8c6bee47367e40fcb8c0da3a38e01163e9674ebc919b067700506", + "size": "1993843" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-linux-armel-0.11.0-esp32-20221026.tar.gz", + "archiveFileName": "openocd-esp32-linux-armel-0.11.0-esp32-20221026.tar.gz", + "checksum": "SHA-256:6ef76101cca196a4be30fc74f191eff34abb423e32930a383012b866c9b76135", + "size": "2092111" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-macos-0.11.0-esp32-20221026.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.11.0-esp32-20221026.tar.gz", + "checksum": "SHA-256:8edc666a0a230432554b73df7c62e0b5ec21fb018e7fda13b11a7ca8b6c1763b", + "size": "2199855" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-macos-arm64-0.11.0-esp32-20221026.tar.gz", + "archiveFileName": "openocd-esp32-macos-arm64-0.11.0-esp32-20221026.tar.gz", + "checksum": "SHA-256:c426c0158ba6488e2f432f7c5b22e79155b5b0fae6d1ad5bbd7894723b43aa12", + "size": "2247179" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-win32-0.11.0-esp32-20221026.zip", + "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20221026.zip", + "checksum": "SHA-256:e0e789d35308c029c6b53457cf4a42a5620cb1a3014740026c089c2ed4fd77b2", + "size": "2493214" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20221026/openocd-esp32-win32-0.11.0-esp32-20221026.zip", + "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20221026.zip", + "checksum": "SHA-256:e0e789d35308c029c6b53457cf4a42a5620cb1a3014740026c089c2ed4fd77b2", + "size": "2493214" + } + ] + }, + { + "name": "openocd-esp32", + "version": "v0.11.0-esp32-20220706-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-win32-0.11.0-esp32-20220706.zip", + "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20220706.zip", + "checksum": "SHA-256:c3d39eb4365a9947e71f1d3780ce031185bc6437f21186568a5c05f23f57a8d0", + "size": "2608736" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-win32-0.11.0-esp32-20220706.zip", + "archiveFileName": "openocd-esp32-win32-0.11.0-esp32-20220706.zip", + "checksum": "SHA-256:c3d39eb4365a9947e71f1d3780ce031185bc6437f21186568a5c05f23f57a8d0", + "size": "2608736" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-macos-0.11.0-esp32-20220706.tar.gz", + "archiveFileName": "openocd-esp32-macos-0.11.0-esp32-20220706.tar.gz", + "checksum": "SHA-256:333ee2ec3c9b5dc6ad4509faae55335cdea7f8bf83a56bfcf5327e4497c8538a", + "size": "2077882" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", + "checksum": "SHA-256:26f1f18dd93eb70a13203848d3fb1cc2e0de1fd6749c7dd771b2de8709735aed", + "size": "2011201" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", + "archiveFileName": "openocd-esp32-linux-amd64-0.11.0-esp32-20220706.tar.gz", + "checksum": "SHA-256:26f1f18dd93eb70a13203848d3fb1cc2e0de1fd6749c7dd771b2de8709735aed", + "size": "2011201" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-armhf-0.11.0-esp32-20220706.tar.gz", + "archiveFileName": "openocd-esp32-linux-armhf-0.11.0-esp32-20220706.tar.gz", + "checksum": "SHA-256:7f3b57332104e8b8e6194553365a70a9d3754878cfc063d5dc5d839513a63de9", + "size": "1902964" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/openocd-esp32/releases/download/v0.11.0-esp32-20220706/openocd-esp32-linux-arm64-0.11.0-esp32-20220706.tar.gz", + "archiveFileName": "openocd-esp32-linux-arm64-0.11.0-esp32-20220706.tar.gz", + "checksum": "SHA-256:f97792bc2852937ec0accb9f0eb2e49926c0f747a71f101a4e34aed75d2c6fcc", + "size": "1954685" + } + ] + }, + { + "name": "esptool_py", + "version": "4.9.dev3-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-linux-amd64.tar.gz", + "archiveFileName": "esptool-v4.9.dev3-linux-amd64.tar.gz", + "checksum": "SHA-256:4ecaf51836cbf4ea3c19840018bfef3b0b8cd8fc3c95f6e1e043ca5bbeab9bf0", + "size": "64958202" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-linux-armv7.tar.gz", + "archiveFileName": "esptool-v4.9.dev3-linux-armv7.tar.gz", + "checksum": "SHA-256:fff818573bce483ee793ac83c8211f6abf764aa3350f198228859f696a0a0b36", + "size": "31530030" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-linux-aarch64.tar.gz", + "archiveFileName": "esptool-v4.9.dev3-linux-aarch64.tar.gz", + "checksum": "SHA-256:5b274bdff2f62e6a07c3c1dfa51b1128924621f661747eca3dbe0f77972f2f06", + "size": "33663882" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-macos-amd64.tar.gz", + "archiveFileName": "esptool-v4.9.dev3-macos-amd64.tar.gz", + "checksum": "SHA-256:c733c83b58fcf5f642fbb2fddb8ff24640c2c785126cba0821fb70c4a5ceea7a", + "size": "32767836" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-macos-arm64.tar.gz", + "archiveFileName": "esptool-v4.9.dev3-macos-arm64.tar.gz", + "checksum": "SHA-256:83c195a15981e6a5e7a130db2ccfb21e2d8093912e5b003681f9a5abadd71af7", + "size": "30121441" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-win64.zip", + "archiveFileName": "esptool-v4.9.dev3-win64.zip", + "checksum": "SHA-256:890051a4fdc684ff6f4af18d0bb27d274ca940ee0eef716a9455f8c64b25b215", + "size": "36072564" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/3.1.0-RC3/esptool-v4.9.dev3-win64.zip", + "archiveFileName": "esptool-v4.9.dev3-win64.zip", + "checksum": "SHA-256:890051a4fdc684ff6f4af18d0bb27d274ca940ee0eef716a9455f8c64b25b215", + "size": "36072564" + } + ] + }, + { + "name": "esptool_py", + "version": "4.6-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-src.tar.gz", + "archiveFileName": "esptool-v4.6-src.tar.gz", + "checksum": "SHA-256:22f9bad0cd1cea14e554ac1f4a6d8f67415ff7029a66ce9130756276e7264e5a", + "size": "99141" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-src.tar.gz", + "archiveFileName": "esptool-v4.6-src.tar.gz", + "checksum": "SHA-256:22f9bad0cd1cea14e554ac1f4a6d8f67415ff7029a66ce9130756276e7264e5a", + "size": "99141" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-src.tar.gz", + "archiveFileName": "esptool-v4.6-src.tar.gz", + "checksum": "SHA-256:22f9bad0cd1cea14e554ac1f4a6d8f67415ff7029a66ce9130756276e7264e5a", + "size": "99141" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-src.tar.gz", + "archiveFileName": "esptool-v4.6-src.tar.gz", + "checksum": "SHA-256:22f9bad0cd1cea14e554ac1f4a6d8f67415ff7029a66ce9130756276e7264e5a", + "size": "99141" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-macos.tar.gz", + "archiveFileName": "esptool-v4.6-macos.tar.gz", + "checksum": "SHA-256:885ec69fcffdcb9e7c6eacd2589f13a45ce6bcb6742bea368ec3a73bcca6dd59", + "size": "5851297" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-win64.zip", + "archiveFileName": "esptool-v4.6-win64.zip", + "checksum": "SHA-256:c7c68cd1aa520cbfce488ff6a77818ece272272eb012831b9d9ab1280a7c393f", + "size": "6638480" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.9/esptool-v4.6-win64.zip", + "archiveFileName": "esptool-v4.6-win64.zip", + "checksum": "SHA-256:c7c68cd1aa520cbfce488ff6a77818ece272272eb012831b9d9ab1280a7c393f", + "size": "6638480" + } + ] + }, + { + "name": "esptool_py", + "version": "4.5.1-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-src.tar.gz", + "archiveFileName": "esptool-v4.5.1-src.tar.gz", + "checksum": "SHA-256:aa06831a7d88d8ccde4ea21241e983a08dbdae967290e181658b0d18bffc8f86", + "size": "96922" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-src.tar.gz", + "archiveFileName": "esptool-v4.5.1-src.tar.gz", + "checksum": "SHA-256:aa06831a7d88d8ccde4ea21241e983a08dbdae967290e181658b0d18bffc8f86", + "size": "96922" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-src.tar.gz", + "archiveFileName": "esptool-v4.5.1-src.tar.gz", + "checksum": "SHA-256:aa06831a7d88d8ccde4ea21241e983a08dbdae967290e181658b0d18bffc8f86", + "size": "96922" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-src.tar.gz", + "archiveFileName": "esptool-v4.5.1-src.tar.gz", + "checksum": "SHA-256:aa06831a7d88d8ccde4ea21241e983a08dbdae967290e181658b0d18bffc8f86", + "size": "96922" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-macos.tar.gz", + "archiveFileName": "esptool-v4.5.1-macos.tar.gz", + "checksum": "SHA-256:78b52acfd51541ceb97cee893b7d4d49b8ddc284602be8c73ea47e3d849e0956", + "size": "5850888" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-win64.zip", + "archiveFileName": "esptool-v4.5.1-win64.zip", + "checksum": "SHA-256:64d0c24499d46b80d6bd7a05c98bdacc3455ab6d503cc2a99e35711310216045", + "size": "6638448" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.7/esptool-v4.5.1-win64.zip", + "archiveFileName": "esptool-v4.5.1-win64.zip", + "checksum": "SHA-256:64d0c24499d46b80d6bd7a05c98bdacc3455ab6d503cc2a99e35711310216045", + "size": "6638448" + } + ] + }, + { + "name": "esptool_py", + "version": "4.5-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", + "archiveFileName": "esptool-v4.5-src.tar.gz", + "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", + "size": "96621" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", + "archiveFileName": "esptool-v4.5-src.tar.gz", + "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", + "size": "96621" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", + "archiveFileName": "esptool-v4.5-src.tar.gz", + "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", + "size": "96621" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-src.tar.gz", + "archiveFileName": "esptool-v4.5-src.tar.gz", + "checksum": "SHA-256:0f5d20c4624d913c3c994db57da3c4e5a43bd8437351d9b789f79d3f1b057292", + "size": "96621" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-macos.tar.gz", + "archiveFileName": "esptool-v4.5-macos.tar.gz", + "checksum": "SHA-256:adcce051f282a19f78da30717ff0e4334b0edaf16a7f14d185ba4cae464586e2", + "size": "5850835" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.6/esptool-v4.5-win64.zip", + "archiveFileName": "esptool-v4.5-win64.zip", + "checksum": "SHA-256:a55c5f7d490fbd2cd5fdf486d71f2ed13e3304482d54374b6aa23d42c9b98a96", + "size": "6639416" + } + ] + }, + { + "name": "esptool_py", + "version": "4.2.1-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-windows.zip", + "archiveFileName": "esptool-4.2.1-windows.zip", + "checksum": "SHA-256:582560067bfbd9895f4862eb5fdf87558ddee5d4d30e7575c9b8bcb0dd60fd94", + "size": "6368279" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-windows.zip", + "archiveFileName": "esptool-4.2.1-windows.zip", + "checksum": "SHA-256:582560067bfbd9895f4862eb5fdf87558ddee5d4d30e7575c9b8bcb0dd60fd94", + "size": "6368279" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-macos.tar.gz", + "archiveFileName": "esptool-4.2.1-macos.tar.gz", + "checksum": "SHA-256:a984f7ad8bdb40c42d0d368bf4bb21b69a9587aed46b7b6d7de23ca58a3f150d", + "size": "5816598" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", + "archiveFileName": "esptool-4.2.1-linux.tar.gz", + "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", + "size": "90123" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", + "archiveFileName": "esptool-4.2.1-linux.tar.gz", + "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", + "size": "90123" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", + "archiveFileName": "esptool-4.2.1-linux.tar.gz", + "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", + "size": "90123" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.4/esptool-4.2.1-linux.tar.gz", + "archiveFileName": "esptool-4.2.1-linux.tar.gz", + "checksum": "SHA-256:5a45fb77eb6574554ec2f45230d0b350f26f9c24ab3b6c13c4031ebdf72a34ab", + "size": "90123" + } + ] + }, + { + "name": "esptool_py", + "version": "3.3.0-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-windows.zip", + "archiveFileName": "esptool-3.3-windows.zip", + "checksum": "SHA-256:55a1d7165414bf4dbd2bb16ca094e555d671958450f5d1536b457a518d2b15df", + "size": "7436864" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-windows.zip", + "archiveFileName": "esptool-3.3-windows.zip", + "checksum": "SHA-256:55a1d7165414bf4dbd2bb16ca094e555d671958450f5d1536b457a518d2b15df", + "size": "7436864" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-macos.tar.gz", + "archiveFileName": "esptool-3.3-macos.tar.gz", + "checksum": "SHA-256:3e5f7b521ae33c8c63f3b48efc909c08f37bef1a083c0eafa408312c09900afd", + "size": "6944975" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", + "archiveFileName": "esptool-3.3-linux.tar.gz", + "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", + "size": "97026" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", + "archiveFileName": "esptool-3.3-linux.tar.gz", + "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", + "size": "97026" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", + "archiveFileName": "esptool-3.3-linux.tar.gz", + "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", + "size": "97026" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.2/esptool-3.3-linux.tar.gz", + "archiveFileName": "esptool-3.3-linux.tar.gz", + "checksum": "SHA-256:fbe91a49e5f5deca4881f5eed32e8903faf97bfd365fe2d0d1512b80bdb67f5e", + "size": "97026" + } + ] + }, + { + "name": "esptool_py", + "version": "3.1.0-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-windows.zip", + "archiveFileName": "esptool-3.1.0-windows.zip", + "checksum": "SHA-256:c9b4f9bc6e94db136c2545c87c00c7ab1441644ca0bac50811bc3c014e22514b", + "size": "7411889" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-macos.tar.gz", + "archiveFileName": "esptool-3.1.0-macos.tar.gz", + "checksum": "SHA-256:1dffcb884665fb616779aea62a68f517aac251ea6dfe95560906c364d6ef3065", + "size": "6776909" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", + "archiveFileName": "esptool-3.1.0-linux.tar.gz", + "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", + "size": "80550" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", + "archiveFileName": "esptool-3.1.0-linux.tar.gz", + "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", + "size": "80550" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", + "archiveFileName": "esptool-3.1.0-linux.tar.gz", + "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", + "size": "80550" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/2.0.0-alpha1/esptool-3.1.0-linux.tar.gz", + "archiveFileName": "esptool-3.1.0-linux.tar.gz", + "checksum": "SHA-256:15eca9896a30e804aa24be6f7a06e39397541b8b09a7a4c48deb65f826e7baad", + "size": "80550" + } + ] + }, + { + "name": "esptool_py", + "version": "3.0.0-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-windows.zip", + "archiveFileName": "esptool-3.0.0.2-windows.zip", + "checksum": "SHA-256:b192bfc1545a3c92658ce586b4edcc2aca3f0ad4b3fa8417d658bc8a48f1387e", + "size": "3434736" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-macos.tar.gz", + "archiveFileName": "esptool-3.0.0.2-macos.tar.gz", + "checksum": "SHA-256:2cafab7f1ebce89475b84c115548eaace40b6366d7b3f9862cdb2fc64f806643", + "size": "3859642" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-linux.tar.gz", + "archiveFileName": "esptool-3.0.0.2-linux.tar.gz", + "checksum": "SHA-256:d5cb51da1c74ff69f81b820470d2ecccb5c7c3a2dec7776483d4c89588b00020", + "size": "57526" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-linux.tar.gz", + "archiveFileName": "esptool-3.0.0.2-linux.tar.gz", + "checksum": "SHA-256:d5cb51da1c74ff69f81b820470d2ecccb5c7c3a2dec7776483d4c89588b00020", + "size": "57526" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-linux.tar.gz", + "archiveFileName": "esptool-3.0.0.2-linux.tar.gz", + "checksum": "SHA-256:d5cb51da1c74ff69f81b820470d2ecccb5c7c3a2dec7776483d4c89588b00020", + "size": "57526" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/esptool-3.0.0.2-linux.tar.gz", + "archiveFileName": "esptool-3.0.0.2-linux.tar.gz", + "checksum": "SHA-256:d5cb51da1c74ff69f81b820470d2ecccb5c7c3a2dec7776483d4c89588b00020", + "size": "57526" + } + ] + }, + { + "version": "2.6.1-cn", + "name": "esptool_py", + "systems": [ + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.1-windows.zip", + "checksum": "SHA-256:84cf0b369a7707fe566434faba148852fc464992111d5baa95b658b374802f96", + "host": "i686-mingw32", + "archiveFileName": "esptool-2.6.1-windows.zip", + "size": "3422445" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.1-macos.tar.gz", + "checksum": "SHA-256:f4eb758a301d6902cc9dfcd49d36345d2f075ad123da7cf8132d15cfb7533457", + "host": "x86_64-apple-darwin", + "archiveFileName": "esptool-2.6.1-macos.tar.gz", + "size": "3837085" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.1-linux.tar.gz", + "checksum": "SHA-256:eaf82ff4070d9792f6a42ae1e485375de5a87bec59ef01dfb95de901519ec7fb", + "host": "x86_64-pc-linux-gnu", + "archiveFileName": "esptool-2.6.1-linux.tar.gz", + "size": "44762" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.1-linux.tar.gz", + "checksum": "SHA-256:eaf82ff4070d9792f6a42ae1e485375de5a87bec59ef01dfb95de901519ec7fb", + "host": "i686-pc-linux-gnu", + "archiveFileName": "esptool-2.6.1-linux.tar.gz", + "size": "44762" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.1-linux.tar.gz", + "checksum": "SHA-256:eaf82ff4070d9792f6a42ae1e485375de5a87bec59ef01dfb95de901519ec7fb", + "host": "arm-linux-gnueabihf", + "archiveFileName": "esptool-2.6.1-linux.tar.gz", + "size": "44762" + } + ] + }, + { + "version": "2.6.0-cn", + "name": "esptool_py", + "systems": [ + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.0-windows.zip", + "checksum": "SHA-256:a73f4cf68db240d7f1d250c5c7f2dfcb53c17a37483729f1bf71f8f43d79a799", + "host": "i686-mingw32", + "archiveFileName": "esptool-2.6.0-windows.zip", + "size": "3421208" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.0-macos.tar.gz", + "checksum": "SHA-256:0a881b91547c840fab8c72ae3d031069384278b8c2e5241647e8c8292c5e4a4b", + "host": "x86_64-apple-darwin", + "archiveFileName": "esptool-2.6.0-macos.tar.gz", + "size": "3835660" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.0-linux.tar.gz", + "checksum": "SHA-256:6d162f70f395ca31f5008829dd7e833e729f044a9c7355d5be8ce333a054e110", + "host": "x86_64-pc-linux-gnu", + "archiveFileName": "esptool-2.6.0-linux.tar.gz", + "size": "43535" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.0-linux.tar.gz", + "checksum": "SHA-256:6d162f70f395ca31f5008829dd7e833e729f044a9c7355d5be8ce333a054e110", + "host": "i686-pc-linux-gnu", + "archiveFileName": "esptool-2.6.0-linux.tar.gz", + "size": "43535" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.6.0-linux.tar.gz", + "checksum": "SHA-256:6d162f70f395ca31f5008829dd7e833e729f044a9c7355d5be8ce333a054e110", + "host": "arm-linux-gnueabihf", + "archiveFileName": "esptool-2.6.0-linux.tar.gz", + "size": "43535" + } + ] + }, + { + "version": "3.0.0-gnu12-dc7f933-cn", + "name": "mklittlefs", + "systems": [ + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/aarch64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "archiveFileName": "aarch64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "checksum": "SHA-256:fc56e389383749e4cf4fab0fcf75cc0ebc41e59383caf6c2eff1c3d9794af200", + "size": "44651" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/arm-linux-gnueabihf.mklittlefs-c41e51a.200706.tar.gz", + "archiveFileName": "arm-linux-gnueabihf.mklittlefs-c41e51a.200706.tar.gz", + "checksum": "SHA-256:52b642dd0545eb3bd8dfb75dde6601df21700e4867763fd2696274be279294c5", + "size": "37211" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/i686-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "archiveFileName": "i686-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "checksum": "SHA-256:7886051d8ccc54aed0af2e7cdf6ff992bb51638df86f3b545955697720b6d062", + "size": "48033" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/i686-w64-mingw32.mklittlefs-c41e51a.200706.zip", + "archiveFileName": "i686-w64-mingw32.mklittlefs-c41e51a.200706.zip", + "checksum": "SHA-256:43740db30ce451454f2337331f10ab4ed41bd83dbf0fa0cb4387107388b59f42", + "size": "332655" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/x86_64-apple-darwin14.mklittlefs-c41e51a.200706.tar.gz", + "archiveFileName": "x86_64-apple-darwin14.mklittlefs-c41e51a.200706.tar.gz", + "checksum": "SHA-256:e3edd5e05b70db3c7df6b9d626558348ad04804022fe955c799aeb51808c7dc3", + "size": "362608" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/x86_64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "archiveFileName": "x86_64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz", + "checksum": "SHA-256:66e84dda0aad747517da3785125e05738a540948aab2b7eaa02855167a1eea53", + "size": "46778" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/earlephilhower/esp-quick-toolchain/releases/download/3.0.0-gnu12/x86_64-w64-mingw32.mklittlefs-c41e51a.200706.zip", + "archiveFileName": "x86_64-w64-mingw32.mklittlefs-c41e51a.200706.zip", + "checksum": "SHA-256:2e319077491f8e832e96eb4f2f7a70dd919333cee4b388c394e0e848d031d542", + "size": "345132" + } + ] + }, + { + "name": "mkspiffs", + "version": "0.2.3-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-win32.zip", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-win32.zip", + "checksum": "SHA-256:b647f2c2efe6949819c85ea9404271b55c7c9c25bcb98d3b98a1d0ba771adf56", + "size": "249809" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", + "checksum": "SHA-256:9f43fc74a858cf564966b5035322c3e5e61c31a647c5a1d71b388ed6efc48423", + "size": "130270" + }, + { + "host": "i386-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-osx.tar.gz", + "checksum": "SHA-256:9f43fc74a858cf564966b5035322c3e5e61c31a647c5a1d71b388ed6efc48423", + "size": "130270" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux64.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux64.tar.gz", + "checksum": "SHA-256:5e1a4ff41385e842f389f6b5254102a547e566a06b49babeffa93ef37115cb5d", + "size": "50646" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux32.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux32.tar.gz", + "checksum": "SHA-256:464463a93e8833209cdc29ba65e1a12fec31718dc10075c195a2445b2c3f6cb0", + "size": "48751" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", + "checksum": "SHA-256:ade3dc00117912ac08a1bdbfbfe76b12d21a34bc5fa1de0cfc45fe7a8d0a0185", + "size": "40665" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/igrr/mkspiffs/releases/download/0.2.3/mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", + "archiveFileName": "mkspiffs-0.2.3-arduino-esp32-linux-armhf.tar.gz", + "checksum": "SHA-256:ade3dc00117912ac08a1bdbfbfe76b12d21a34bc5fa1de0cfc45fe7a8d0a0185", + "size": "40665" + } + ] + }, + { + "name": "esp-xs2", + "version": "2302-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:2ff838520a5003d2768b275f5bb5ead69dd2388c3b7cd9043cb59891ba43147f", + "size": "112199211" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:6d79d5b14fc7129a9b8208d54e19b05dedb565f50f7a96264c9df84b06ad3be0", + "size": "106953064" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:e5bd03b6ad19179b015a93ada9992adc3610036ebf6aeb0835a09c9aadb50a14", + "size": "106026829" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:fb45943557b2d201bbb1bdc7514a1872f9bb96c2dfb48b95abdba281cc792f75", + "size": "115288662" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:e965236cb80e45282d16f40184af183e013b63b177bd1884736c463eac636564", + "size": "119711811" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:78a55eec18650b21378d97494989ffe208748e0f49bb2b2d6756b264e1863919", + "size": "106540817" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:1e6dac5162ab75f94b88c47ebeabb6600c652fb4f615ed07c1724d037c02fd19", + "size": "131273859" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:8a785cc4e0838cebe404f82c0ead7a0f9ac5fabc660a742e33a41ddac6326cc1", + "size": "135373049" + } + ] + }, + { + "name": "esp-xs3", + "version": "2302-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:61495ffe575e00c6998ae7274ff917658c04bded62ece0937c7042d6dcbf46de", + "size": "111971129" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:9008d395be46fcfe68c7de6edc850fc1595f28323a28e7922e5c085bd310cb90", + "size": "106616800" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:568857bdac7dea389dffc7fbc6871b4af299150a8ecf1bf965f224d2a1655edb", + "size": "105700326" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:d122738bcc6c2f52d05fa89b2fb1afe6a7894cda8a07a1879aca867a31507ed0", + "size": "115098400" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:7defcddb98788b0991416ad2e0cb6a3b248b8030f22d5d76b8832117cc1494ca", + "size": "119883189" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:b59e076f8e4b9ca99535d449f9fc4cbb443188051dce4ad934e38f16b095f8d9", + "size": "106464677" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:3ddf51774817e815e5d41c312a90c1159226978fb45fd0d4f7085c567f8b73ab", + "size": "131134034" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:1d15ca65e3508388a86d8bed3048c46d07538f5bc88d3e4296f9c03152087cd1", + "size": "135381926" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:8ef14e0409c2011b41e504a30f70d3e35287313a795d1f2462ad2cd0e2052d37", + "size": "94397702" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:e7d217ac2ef52c746a41f8647840b2717edcd8afc15f081bc1c4505e10a189b7", + "size": "90684219" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:ea6631f8a5105ae90d7fc462c10ed4f9049924ea8c2f9391d90b339d5f881dac", + "size": "89954866" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:ecb90af9cede0982672234da0b1bd7b7f76eadde60aa5c82eefdf37d64ffe49f", + "size": "96354023" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:19af109fda024a3a4c989f7ccaa104f9b1b74cfd6c9363e730bb8cb9b50d5dc4", + "size": "101712946" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "checksum": "SHA-256:b14189772d70a96813895fff7731d0f2fec0c825cfc02e002d6d91a0cc4b6b1d", + "size": "93104016" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:9851c2cfa355e1fad8abfb643a1c945d27385b1851f3ae468915ea78fcbec940", + "size": "118610020" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:a328b3c55631846241bbe7999a309b20b797c8dc50b6e8dccf463e66a2da5fb4", + "size": "121846722" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:8ef14e0409c2011b41e504a30f70d3e35287313a795d1f2462ad2cd0e2052d37", + "size": "94397702" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:e7d217ac2ef52c746a41f8647840b2717edcd8afc15f081bc1c4505e10a189b7", + "size": "90684219" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:ea6631f8a5105ae90d7fc462c10ed4f9049924ea8c2f9391d90b339d5f881dac", + "size": "89954866" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:ecb90af9cede0982672234da0b1bd7b7f76eadde60aa5c82eefdf37d64ffe49f", + "size": "96354023" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:19af109fda024a3a4c989f7ccaa104f9b1b74cfd6c9363e730bb8cb9b50d5dc4", + "size": "101712946" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:9851c2cfa355e1fad8abfb643a1c945d27385b1851f3ae468915ea78fcbec940", + "size": "118610020" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:a328b3c55631846241bbe7999a309b20b797c8dc50b6e8dccf463e66a2da5fb4", + "size": "121846722" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "checksum": "SHA-256:9edd1e77627688f435561922d14299f6a0021ba1f6ff67e472e1108695a69e53", + "size": "90569312" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "checksum": "SHA-256:3a21a3e310e6b1e7d7bed1f3e59698a5bd29ed3a5ca79fba9265d7dd2f1e0cd2", + "size": "86838362" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "checksum": "SHA-256:89313c4c1d8db1b01624f31b58bf3fbe527160569828ac4301e9daa75c52716d", + "size": "86187540" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "checksum": "SHA-256:a1f165a836f175daa6fbfde4ca99cb93b377f021fbfc41f79a700bd4df965a9a", + "size": "92580267" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "checksum": "SHA-256:dda3d7a43efd995d9a51d5a5741626dbf915df46078aef0b5aea7163ac82398b", + "size": "97807647" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "checksum": "SHA-256:fd147592928ef2d7092ba34b01ecd776fe26ba3d7e3f9b6b215a3b46e981ee2c", + "size": "116464819" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "checksum": "SHA-256:9395315c07de0b9f05c9a6616ba1f05e76ab651053f2f40479163a8e03cfa830", + "size": "119511910" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "checksum": "SHA-256:3eb3d68b27fa6ba5af6f88da21cb8face9be0094daaa8960793cfe570ab785ff", + "size": "90565318" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "checksum": "SHA-256:aa534be24e45e06b7080a6a3bb8cd9e3cfb818f5f8bce2244d7cfb5e91336541", + "size": "86860292" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "checksum": "SHA-256:f0e49ce06fe7833ff5d76961dc2dac5449d320f823bb8c05a302cf85a3a6eb04", + "size": "86183421" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "checksum": "SHA-256:06de09b74652de43e5b22db3b7fc992623044baa75e9faaab68317a986715ba3", + "size": "92582250" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "checksum": "SHA-256:96443f69c8569417c780ee749d91ef33cffe22153fffa30a0fbf12107d87381b", + "size": "97808961" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win32.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win32.zip", + "checksum": "SHA-256:076a4171bdc33e5ced3952efffb233d70263dfa760e636704050597a9edf61db", + "size": "112578260" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win64.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r2-win64.zip", + "checksum": "SHA-256:c35b7998f7f503e0cb22055d1e279ae14b6b0e09bb3ff3846b17d552ece9c247", + "size": "115278695" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "gcc8_4_0-esp-2021r1-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "checksum": "SHA-256:44a0b467b9d2b759ab48b2f27aed684581f33c96e2842992781c4e045992c5b0", + "size": "86361217" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "checksum": "SHA-256:fdacdb2a7bbf6293bcafda9b52463a4da8a2f3b7e1df9f83d35ff9d1efa22012", + "size": "84520407" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "checksum": "SHA-256:e2024096492dfaa50fc6ac336cd8faa2e395e8cebb617753eab0b5f16d3dd0dc", + "size": "88375391" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "checksum": "SHA-256:7bbc6a2b94f009cd8a3351b9c7acf7a5caa1c4d3700500ead60f84965386a61b", + "size": "93357296" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32-elf-gcc8_4_0-esp-2021r1-win32.zip", + "archiveFileName": "xtensa-esp32-elf-gcc8_4_0-esp-2021r1-win32.zip", + "checksum": "SHA-256:e4f9fdda192abfc9807e3e7fcd6e9fea30c1a0cf3f3c5a5c961b5114fc8c9b7e", + "size": "105603626" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "1.22.0-97-gc752ad5-5.2.0-cn", + "systems": [ + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-win32-1.22.0-97-gc752ad5-5.2.0.zip", + "archiveFileName": "xtensa-esp32-elf-win32-1.22.0-97-gc752ad5-5.2.0.zip", + "checksum": "SHA-256:80571e5d5a63494f4fa758bb9d8fb882ba4059853a8c412a84d232dc1c1400e6", + "size": "125747216" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-macos-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "archiveFileName": "xtensa-esp32-elf-macos-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "checksum": "SHA-256:b1ce39a563ae359cf363fb7d8ee80cb1e5226fda83188203cff60f16f55e33ef", + "size": "50525386" + }, + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux64-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "archiveFileName": "xtensa-esp32-elf-linux64-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "checksum": "SHA-256:96f5f6e7611a0ed1dc47048c54c3113fc5cebffbf0ba90d8bfcd497afc7ef9f3", + "size": "44225380" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux32-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "archiveFileName": "xtensa-esp32-elf-linux32-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "checksum": "SHA-256:8094a2c30b474e99ce64dd0ba8f310c4614eb3b3cac884a3aea0fd5f565af119", + "size": "45575521" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "archiveFileName": "xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "checksum": "SHA-256:d70d550f88448fa476b29fa50ef5502ab497a16ac7fa9ca24c6d0a39bb1e681e", + "size": "50657803" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/arduino-esp32/releases/download/1.0.5-rc5/xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "archiveFileName": "xtensa-esp32-elf-linux-armel-1.22.0-97-gc752ad5-5.2.0.tar.gz", + "checksum": "SHA-256:d70d550f88448fa476b29fa50ef5502ab497a16ac7fa9ca24c6d0a39bb1e681e", + "size": "50657803" + } + ] + }, + { + "version": "1.22.0-80-g6c4433a-5.2.0-cn", + "name": "xtensa-esp32-elf-gcc", + "systems": [ + { + "url": "https://dl.espressif.cn/dl/xtensa-esp32-elf-win32-1.22.0-80-g6c4433a-5.2.0.zip", + "checksum": "SHA-256:f217fccbeaaa8c92db239036e0d6202458de4488b954a3a38f35ac2ec48058a4", + "host": "i686-mingw32", + "archiveFileName": "xtensa-esp32-elf-win32-1.22.0-80-g6c4433a-5.2.0.zip", + "size": "125719261" + }, + { + "url": "https://dl.espressif.cn/dl/xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "checksum": "SHA-256:a4307a97945d2f2f2745f415fbe80d727750e19f91f9a1e7e2f8a6065652f9da", + "host": "x86_64-apple-darwin", + "archiveFileName": "xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "size": "46517409" + }, + { + "url": "https://dl.espressif.cn/dl/xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "checksum": "SHA-256:3fe96c151d46c1d4e5edc6ed690851b8e53634041114bad04729bc16b0445156", + "host": "x86_64-pc-linux-gnu", + "archiveFileName": "xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "size": "44219107" + }, + { + "url": "https://dl.espressif.cn/dl/xtensa-esp32-elf-linux32-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "checksum": "SHA-256:b4055695ffc2dfc0bcb6dafdc2572a6e01151c4179ef5fa972b3fcb2183eb155", + "host": "i686-pc-linux-gnu", + "archiveFileName": "xtensa-esp32-elf-linux32-1.22.0-80-g6c4433a-5.2.0.tar.gz", + "size": "45566336" + }, + { + "url": "https://dl.espressif.cn/dl/xtensa-esp32-elf-linux-armel-1.22.0-87-gb57bad3-5.2.0.tar.gz", + "checksum": "SHA-256:9c68c87bb23b1256dc0a1859b515946763e5292dcab4a4159a52fae5618ce861", + "host": "arm-linux-gnueabihf", + "archiveFileName": "xtensa-esp32-elf-linux-armel-1.22.0-87-gb57bad3-5.2.0.tar.gz", + "size": "50655584" + } + ] + }, + { + "name": "xtensa-esp32-elf-gcc", + "version": "esp-12.2.0_20230208-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:e8d35938385447cf9c34735fee2a3b2b61cca6be07db77a45856a1c2a347e423", + "size": "111766903" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:569988acfc2673369f222037c64bac96990cee08cebeebc4f8860e0d984f8bd9", + "size": "106473247" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:6a844f16021e936cc9b87b203978356f57ab2144554f6f2a0f73ffa3d3d316c5", + "size": "105576049" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:743d6f03a89329bb09f9550d27fcab677f5cf06b4720793bbcef7883a932681d", + "size": "114870843" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:4d32d764e984f3a570aacfb2f4957619540fb4629534d969b2e83997901334c3", + "size": "119424029" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:dc8fa7f4933bf5cb08e83bacce6160cc9dfe93d7aad1e8f92599bb81ff5b2e28", + "size": "106136827" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:62bb6428d107ed3f44c212c77ecf24804b74c97327b0f0ad2029c656c6dbd6ee", + "size": "130847086" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:8febfe4a6476efc69012390106c8c660a14418f025137b0513670c72124339cf", + "size": "134985117" + } + ] + }, + { + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:19c77bd91fefab7c8c40a6334f9b985e2d9a1c7fac6d424b692110930dd3682f", + "size": "67849099" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:bdcd24676ef2a65b670ca9e0a01768ece47f4dfcfb545a3307f76a054c33b522", + "size": "64154532" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:b26723b6ce1c35b90f204eb39e5ab06a6f80fb7895f000e16b6962e4c176ae32", + "size": "63448105" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:da3b5c45e4997d14269df1814c92dd7004902bb810608341bc3819c3e506fa0b", + "size": "69656104" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:8eb63745b44083edef7cc6fdf3b06999f576b75134bc5e8b0ef881ca439b72d7", + "size": "75154138" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "checksum": "SHA-256:4cd38d6ec31076c0aa083f62ab84ab5c33aa07fafd0af61366186e5f553aa008", + "size": "66457613" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:c758062295804b082fbd77fcd59a356f62d4e76372aaa29589cc871603309cba", + "size": "82338511" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:1c1e168ff8bc460a9719f3b216d3c1125d29040389786d738244838499362c74", + "size": "85579252" + } + ] + }, + { + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:19c77bd91fefab7c8c40a6334f9b985e2d9a1c7fac6d424b692110930dd3682f", + "size": "67849099" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:bdcd24676ef2a65b670ca9e0a01768ece47f4dfcfb545a3307f76a054c33b522", + "size": "64154532" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:b26723b6ce1c35b90f204eb39e5ab06a6f80fb7895f000e16b6962e4c176ae32", + "size": "63448105" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:da3b5c45e4997d14269df1814c92dd7004902bb810608341bc3819c3e506fa0b", + "size": "69656104" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:8eb63745b44083edef7cc6fdf3b06999f576b75134bc5e8b0ef881ca439b72d7", + "size": "75154138" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:c758062295804b082fbd77fcd59a356f62d4e76372aaa29589cc871603309cba", + "size": "82338511" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:1c1e168ff8bc460a9719f3b216d3c1125d29040389786d738244838499362c74", + "size": "85579252" + } + ] + }, + { + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "checksum": "SHA-256:a32451a8edc1104b83cd9971178e61826e957d7db9ad9f81798a8969fd5a954e", + "size": "90894048" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "checksum": "SHA-256:2ac2c94a533a99a091d2159c678c611c712c494b5f68d97913254712047260f9", + "size": "87178224" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "checksum": "SHA-256:da49afee1e2e03eaab3f492718789442d33b562800e2a892679f95b50be24d14", + "size": "86569314" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "checksum": "SHA-256:36d3c4990a5feb68aa8534463bc9e8ee367fe23886f78e1d726f4411c7571462", + "size": "92884013" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "checksum": "SHA-256:de9af641678c93775e932ee5ec4f478f8925cfc1ebc22e41adc4fb85430a0c35", + "size": "98224709" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "checksum": "SHA-256:ccf08afe60046f87b0e81ca17dc5073eda68ab5e7522c163dd5b583d713b7b39", + "size": "116924759" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "checksum": "SHA-256:37c91490b8fc75e638c23785e261eaf553be2dcd106cf6cff5b76981fa02955b", + "size": "119912142" + } + ] + }, + { + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "checksum": "SHA-256:a6e0947c92b823ca04f062522249f0a428357e0b056f1ff4c6bcabef83cf63a7", + "size": "90901736" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "checksum": "SHA-256:d2e5600fc194b508bd393b236a09fd62ed70afb6c36619d4b106b696a56ca66d", + "size": "87176557" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "checksum": "SHA-256:3fff4199e986dd74660f17ca27d9414cb98f1b911a7f13bb3b22e784cb1156cf", + "size": "86581102" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "checksum": "SHA-256:7732f9fb371d36b6b324820e300beecc33c2719921a61cf1cdb5bc625016b346", + "size": "92875986" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "checksum": "SHA-256:e6dd32782fcff8f633299b97d1c671d6b6513390aca2ddbd7543c2cc62e72d7e", + "size": "98212907" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win32.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win32.zip", + "checksum": "SHA-256:41b917b35f6fbe7d30b7de91c32cf348c406acfa729a1eabc450d040dc46fbe2", + "size": "113022469" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win64.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r2-win64.zip", + "checksum": "SHA-256:a764c1a0ee743d69f8cbfadbe4426a2c15c0e233b0894244c7cadf3b4d7dd32a", + "size": "115696999" + } + ] + }, + { + "name": "xtensa-esp32s2-elf-gcc", + "version": "gcc8_4_0-esp-2021r1-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "checksum": "SHA-256:b127baccfe6949ee7eaf3d0782ea772750a9b8e2732b16ce6bcc9dcd91f7209a", + "size": "86687290" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "checksum": "SHA-256:7ca0d240f11e1c53c01a56257b0c968f876ab405142d1068d8c9b456d939554c", + "size": "84916701" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "checksum": "SHA-256:9941f993ff84d1c606b45ffbeeb7bcdc5a72cf24e787bb9230390510fe3511c6", + "size": "88699953" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "checksum": "SHA-256:4b55b1a9ca7fc945be6fc3513802b6cece9264bee4cbca76013569cec2695973", + "size": "93757895" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-win32.zip", + "archiveFileName": "xtensa-esp32s2-elf-gcc8_4_0-esp-2021r1-win32.zip", + "checksum": "SHA-256:c94ec1e45c81b7e4944d216bab4aa41d46849768d7761fd691661dab1a3df828", + "size": "106013515" + } + ] + }, + { + "name": "xtensa-esp32s2-elf-gcc", + "version": "esp-12.2.0_20230208-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:2ff838520a5003d2768b275f5bb5ead69dd2388c3b7cd9043cb59891ba43147f", + "size": "112199211" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:6d79d5b14fc7129a9b8208d54e19b05dedb565f50f7a96264c9df84b06ad3be0", + "size": "106953064" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:e5bd03b6ad19179b015a93ada9992adc3610036ebf6aeb0835a09c9aadb50a14", + "size": "106026829" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:fb45943557b2d201bbb1bdc7514a1872f9bb96c2dfb48b95abdba281cc792f75", + "size": "115288662" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:e965236cb80e45282d16f40184af183e013b63b177bd1884736c463eac636564", + "size": "119711811" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:78a55eec18650b21378d97494989ffe208748e0f49bb2b2d6756b264e1863919", + "size": "106540817" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:1e6dac5162ab75f94b88c47ebeabb6600c652fb4f615ed07c1724d037c02fd19", + "size": "131273859" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s2-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s2-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:8a785cc4e0838cebe404f82c0ead7a0f9ac5fabc660a742e33a41ddac6326cc1", + "size": "135373049" + } + ] + }, + { + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:8aa17a6adf01efa5b1628c8ac578063a44d26ae9581d39486b92223a41ef262f", + "size": "68099473" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:b218c11122e5565b6442376ebd21a652abdfcbf90981afa3e177ce978710225d", + "size": "64233211" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:967477434ad5483718915936a77ce915a10c5972a6b3fd02688a5c4e14182bfb", + "size": "63530586" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:07671d01a63ebd389912787efb2b263677c7b351c07fe430ded733cdae95e81d", + "size": "70025439" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:99b6d44cea5aebbedc8b6965e7bf551aa4a40ed83ddbe1c0e9b7cb255564ded5", + "size": "75719772" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "checksum": "SHA-256:c64b05be25d26916c65dcfe11de9e60b96d58980b2df706d3074cb70b1ef6cb9", + "size": "66791095" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:658d3036ffdf11ddad6f0a784c8829f6ffd4dbd7c252d7f61722256d0ad43975", + "size": "82665716" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:9000be38d44bf79c39b93a2aeb99b42e956c593ccbc02fe31cb9c71ae1bbcb22", + "size": "86022563" + } + ] + }, + { + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:8aa17a6adf01efa5b1628c8ac578063a44d26ae9581d39486b92223a41ef262f", + "size": "68099473" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:b218c11122e5565b6442376ebd21a652abdfcbf90981afa3e177ce978710225d", + "size": "64233211" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:967477434ad5483718915936a77ce915a10c5972a6b3fd02688a5c4e14182bfb", + "size": "63530586" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:07671d01a63ebd389912787efb2b263677c7b351c07fe430ded733cdae95e81d", + "size": "70025439" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:99b6d44cea5aebbedc8b6965e7bf551aa4a40ed83ddbe1c0e9b7cb255564ded5", + "size": "75719772" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:658d3036ffdf11ddad6f0a784c8829f6ffd4dbd7c252d7f61722256d0ad43975", + "size": "82665716" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:9000be38d44bf79c39b93a2aeb99b42e956c593ccbc02fe31cb9c71ae1bbcb22", + "size": "86022563" + } + ] + }, + { + "name": "xtensa-esp32s3-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "checksum": "SHA-256:59b271d014ff3915b6db1b43b610a45eea15fe5d6877d12cae8a191cc996ed37", + "size": "90903617" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "checksum": "SHA-256:7051b32483e61f98606d71c98e372929428a5165df791dcd5830ed9517763152", + "size": "87065204" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "checksum": "SHA-256:48c8dbbf96eec691a812327dc580042d9718fe989e60c2111ebfd692ac710081", + "size": "86455731" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "checksum": "SHA-256:552dca3f4302ab7ca88a934b0391200198c9d10a4d8ac413fe604cbf8601f950", + "size": "92906274" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "checksum": "SHA-256:e5af78f05d3af07617805d06ebb45ff2fe9b6aed6970a84c35eea28a5d8d5e53", + "size": "98553473" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "checksum": "SHA-256:1b70163acccc5655449de1d149427a54f384156bd35816ec60c422d76d033f05", + "size": "116847008" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "archiveFileName": "xtensa-esp32s3-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "checksum": "SHA-256:58e58575d1938879fd51e822181e54bcb343aa846eb3fca8f616c2cde7bd0041", + "size": "120066269" + } + ] + }, + { + "name": "xtensa-esp32s3-elf-gcc", + "version": "esp-12.2.0_20230208-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-linux-gnu.tar.gz", + "checksum": "SHA-256:61495ffe575e00c6998ae7274ff917658c04bded62ece0937c7042d6dcbf46de", + "size": "111971129" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-aarch64-linux-gnu.tar.gz", + "checksum": "SHA-256:9008d395be46fcfe68c7de6edc850fc1595f28323a28e7922e5c085bd310cb90", + "size": "106616800" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-arm-linux-gnueabi.tar.gz", + "checksum": "SHA-256:568857bdac7dea389dffc7fbc6871b4af299150a8ecf1bf965f224d2a1655edb", + "size": "105700326" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-i686-linux-gnu.tar.gz", + "checksum": "SHA-256:d122738bcc6c2f52d05fa89b2fb1afe6a7894cda8a07a1879aca867a31507ed0", + "size": "115098400" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-apple-darwin.tar.gz", + "checksum": "SHA-256:7defcddb98788b0991416ad2e0cb6a3b248b8030f22d5d76b8832117cc1494ca", + "size": "119883189" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-aarch64-apple-darwin.tar.gz", + "checksum": "SHA-256:b59e076f8e4b9ca99535d449f9fc4cbb443188051dce4ad934e38f16b095f8d9", + "size": "106464677" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-i686-w64-mingw32.zip", + "checksum": "SHA-256:3ddf51774817e815e5d41c312a90c1159226978fb45fd0d4f7085c567f8b73ab", + "size": "131134034" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-12.2.0_20230208/xtensa-esp32s3-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "archiveFileName": "xtensa-esp32s3-elf-12.2.0_20230208-x86_64-w64-mingw32.zip", + "checksum": "SHA-256:1d15ca65e3508388a86d8bed3048c46d07538f5bc88d3e4296f9c03152087cd1", + "size": "135381926" + } + ] + }, + { + "name": "riscv32-esp-elf-gcc", + "version": "esp-2021r2-patch5-8.4.0-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:f7d73e5f9e2df3ea6ca8e2c95d6ca6d23d6b38fd101ea5d3012f3cb3cd59f39f", + "size": "192388486" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:cf520ae3a72f65b9758ea187524b105b8b7546566d738c32e60a0df9846ef1af", + "size": "188626914" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:2dc3536214caa1697f6834bb4701d05894ca55b53589fc5b54064b050ef93799", + "size": "188624050" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:165d6d53e76d79f5ade7e2b7ade54b2b495ecfda0d1184d84d6343659d0e3bdb", + "size": "194606113" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:d6d4cef216cbf28d6fbb88f3e127d4f42a376d9497c260bf8c1ad9cef440f839", + "size": "199411930" + }, + { + "host": "arm64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos-arm64.tar.gz", + "checksum": "SHA-256:6e03f2ab1f145be13f8890c6de77b53f52c7bffe3d9d5824549db20298f5ba91", + "size": "191209735" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:1e0cfcfbc8f82c441261cadd21742f66d716ec18c18bf10ed7c7d5b0bee6752f", + "size": "257844437" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:b08f568e8fe5069dd521b87da21b8e56117e5c2c3b492f73a51966a46d3379a4", + "size": "259712666" + } + ] + }, + { + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch5-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-amd64.tar.gz", + "checksum": "SHA-256:f7d73e5f9e2df3ea6ca8e2c95d6ca6d23d6b38fd101ea5d3012f3cb3cd59f39f", + "size": "192388486" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-arm64.tar.gz", + "checksum": "SHA-256:cf520ae3a72f65b9758ea187524b105b8b7546566d738c32e60a0df9846ef1af", + "size": "188626914" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-armel.tar.gz", + "checksum": "SHA-256:2dc3536214caa1697f6834bb4701d05894ca55b53589fc5b54064b050ef93799", + "size": "188624050" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-linux-i686.tar.gz", + "checksum": "SHA-256:165d6d53e76d79f5ade7e2b7ade54b2b495ecfda0d1184d84d6343659d0e3bdb", + "size": "194606113" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-macos.tar.gz", + "checksum": "SHA-256:d6d4cef216cbf28d6fbb88f3e127d4f42a376d9497c260bf8c1ad9cef440f839", + "size": "199411930" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win32.zip", + "checksum": "SHA-256:1e0cfcfbc8f82c441261cadd21742f66d716ec18c18bf10ed7c7d5b0bee6752f", + "size": "257844437" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch5/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch5-win64.zip", + "checksum": "SHA-256:b08f568e8fe5069dd521b87da21b8e56117e5c2c3b492f73a51966a46d3379a4", + "size": "259712666" + } + ] + }, + { + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-patch3-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-amd64.tar.gz", + "checksum": "SHA-256:179cbad579790ad35e0f414a18d90017c0f158c397022411a8e9867db2174f15", + "size": "106843321" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-arm64.tar.gz", + "checksum": "SHA-256:fb339d476c79c76db8f903b265cab6bb6950d5ed954dec644445252d3378023c", + "size": "103277393" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-armel.tar.gz", + "checksum": "SHA-256:51a6296d8334b7452dba44b2b62e87afd7fd1c74bafa1aa29b1f4ab72cb9e5e0", + "size": "103062256" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-linux-i686.tar.gz", + "checksum": "SHA-256:fef60f7ef37ffaa50416d8f244cdbd710d6729dae41ef06c4ec0e50a1f3b7dd7", + "size": "109460025" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-macos.tar.gz", + "checksum": "SHA-256:4aacc1742a76349d790b1ac8e9e9d963daefda5346dbd6741cfe8e7a35a44e4e", + "size": "113703959" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win32.zip", + "checksum": "SHA-256:eb2a442d7f551ebeb842995ec372ec4b364314ca2d7aae779399a74972f7d6bc", + "size": "144711970" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2-patch3/riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-patch3-win64.zip", + "checksum": "SHA-256:f5607e5187317d521f0474cade83f8eb590f2d165d95c3779b6ce11fbac21d1f", + "size": "146606480" + } + ] + }, + { + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r2-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-amd64.tar.gz", + "checksum": "SHA-256:812d735063da9d063b374b59f55832a96c41fbd27ddaef19000a75de8607ba21", + "size": "106837189" + }, + { + "host": "aarch64-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-arm64.tar.gz", + "checksum": "SHA-256:712f1fbc3e08304a6f32aa18b346b16bbcb413b507b3d4c7c3211bf0d7dc4813", + "size": "103273444" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-armel.tar.gz", + "checksum": "SHA-256:80a3342cda2cd4b6b75ebb2b36d5d12fce7d375cfadadcff01ec3a907f0a16a2", + "size": "103058744" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-linux-i686.tar.gz", + "checksum": "SHA-256:7f0162a81558ab0ed09d6c5d356def25b5cb3d5c2d61358f20152fa260ccc8ae", + "size": "109447789" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-macos.tar.gz", + "checksum": "SHA-256:3ff7e5427907cf8e271c1f959b70fb01e39625c3caf61a6567e7b38aa0c11578", + "size": "113672945" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-win32.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-win32.zip", + "checksum": "SHA-256:c8ff08883c1456c278fad85e1c43b7c6e251d525683214168655550e85c5b82e", + "size": "140809778" + }, + { + "host": "x86_64-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r2/riscv32-esp-elf-gcc8_4_0-esp-2021r2-win64.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r2-win64.zip", + "checksum": "SHA-256:6c04cb4728db928ec6473e63146b695b6dec686a0d40dd73dd3353f05247b19e", + "size": "142365782" + } + ] + }, + { + "name": "riscv32-esp-elf-gcc", + "version": "gcc8_4_0-esp-2021r1-cn", + "systems": [ + { + "host": "x86_64-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-amd64.tar.gz", + "checksum": "SHA-256:3459618f33bbd5f54d7d7783e807cb6eef6472a220f2f1eb3faced735b9d13bb", + "size": "152812483" + }, + { + "host": "arm-linux-gnueabihf", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-armel.tar.gz", + "checksum": "SHA-256:24b9e54b348bbd5fb816fc4c52abb47337c702beecdbba840750b7cfb9d38069", + "size": "151726623" + }, + { + "host": "i686-pc-linux-gnu", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-linux-i686.tar.gz", + "checksum": "SHA-256:954d340ebffef12a2ce9be1ea004e6f45a8863f1e6f41f46fd3f04f58499627c", + "size": "155430963" + }, + { + "host": "x86_64-apple-darwin", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-macos.tar.gz", + "checksum": "SHA-256:612fb3a3f84f703222327bd16581df8f80fda8cdf137637fe5d611587d1b664e", + "size": "159836199" + }, + { + "host": "i686-mingw32", + "url": "https://dl.espressif.cn/github_assets/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-win32.zip", + "archiveFileName": "riscv32-esp-elf-gcc8_4_0-esp-2021r1-win32.zip", + "checksum": "SHA-256:5711eb407ffe44adddbd1281b6b575a5645e7193ca78faefa27dc5bc5b662bec", + "size": "191266312" + } + ] + }, + { + "version": "2.3.1-cn", + "name": "esptool", + "systems": [ + { + "url": "https://dl.espressif.cn/dl/esptool-2.3.1-windows.zip", + "checksum": "SHA-256:c187763d0faac7da7c30a292a23c759bbc256fcd084dc8846ed284000cb0fe29", + "host": "i686-mingw32", + "archiveFileName": "esptool-2.3.1-windows.zip", + "size": "3396085" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.3.1-macos.tar.gz", + "checksum": "SHA-256:cd922418f02e0ca11dc066b36a22646a1b441da00d762b4464ca598c902c5ecb", + "host": "x86_64-apple-darwin", + "archiveFileName": "esptool-2.3.1-macos.tar.gz", + "size": "3810932" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.3.1-linux.tar.gz", + "checksum": "SHA-256:cff30841dad80ed5d7d2d58a31843b63afa57528979a9c839806568167691d8e", + "host": "x86_64-pc-linux-gnu", + "archiveFileName": "esptool-2.3.1-linux.tar.gz", + "size": "39563" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.3.1-linux.tar.gz", + "checksum": "SHA-256:cff30841dad80ed5d7d2d58a31843b63afa57528979a9c839806568167691d8e", + "host": "i686-pc-linux-gnu", + "archiveFileName": "esptool-2.3.1-linux.tar.gz", + "size": "39563" + }, + { + "url": "https://dl.espressif.cn/dl/esptool-2.3.1-linux.tar.gz", + "checksum": "SHA-256:cff30841dad80ed5d7d2d58a31843b63afa57528979a9c839806568167691d8e", + "host": "arm-linux-gnueabihf", + "archiveFileName": "esptool-2.3.1-linux.tar.gz", + "size": "39563" + } + ] + } + ] + } + ] +} diff --git a/runtime-tests-results/RUNTIME_TESTS_REPORT.md b/runtime-tests-results/RUNTIME_TESTS_REPORT.md new file mode 100644 index 00000000000..4825c3b2c5b --- /dev/null +++ b/runtime-tests-results/RUNTIME_TESTS_REPORT.md @@ -0,0 +1,37 @@ +## Runtime Tests Report + +:white_check_mark: **The test workflows are passing.** :white_check_mark: + +### Validation Tests + +#### Hardware + +Test|ESP32|ESP32-C3|ESP32-C6|ESP32-H2|ESP32-P4|ESP32-S2|ESP32-S3 +-|:-:|:-:|:-:|:-:|:-:|:-:|:-: +democfg|2/2 :white_check_mark:|-|1/1 :white_check_mark:|-|-|1/1 :white_check_mark:|1/1 :white_check_mark: +hello_world|1/1 :white_check_mark:|1/1 :white_check_mark:|1/1 :white_check_mark:|1/1 :white_check_mark:|1/1 :white_check_mark:|1/1 :white_check_mark:|1/1 :white_check_mark: +nvs|2/2 :white_check_mark:|2/2 :white_check_mark:|4/4 :white_check_mark:|4/4 :white_check_mark:|4/4 :white_check_mark:|2/2 :white_check_mark:|3/3 :white_check_mark: +periman|1/1 :white_check_mark:|1/1 :white_check_mark:|1/1 :white_check_mark:|1/1 :white_check_mark:|-|1/1 :white_check_mark:|1/1 :white_check_mark: +psram|10/10 :white_check_mark:|-|-|-|8/8 :white_check_mark:|10/10 :white_check_mark:|10/10 :white_check_mark: +timer|3/3 :white_check_mark:|4/4 :white_check_mark:|4/4 :white_check_mark:|4/4 :white_check_mark:|4/4 :white_check_mark:|4/4 :white_check_mark:|4/4 :white_check_mark: +touch|3/3 :white_check_mark:|-|-|-|3/3 :white_check_mark:|3/3 :white_check_mark:|3/3 :white_check_mark: +uart|11/11 :white_check_mark:|10/10 :white_check_mark:|10/10 :white_check_mark:|10/10 :white_check_mark:|10/10 :white_check_mark:|11/11 :white_check_mark:|10/10 :white_check_mark: +unity|2/2 :white_check_mark:|2/2 :white_check_mark:|2/2 :white_check_mark:|2/2 :white_check_mark:|2/2 :white_check_mark:|2/2 :white_check_mark:|2/2 :white_check_mark: +#### Wokwi + +Test|ESP32|ESP32-C3|ESP32-C6|ESP32-H2|ESP32-P4|ESP32-S2|ESP32-S3 +-|:-:|:-:|:-:|:-:|:-:|:-:|:-: +gpio|1/1 :white_check_mark:|1/1 :white_check_mark:|1/1 :white_check_mark:|1/1 :white_check_mark:|1/1 :white_check_mark:|1/1 :white_check_mark:|1/1 :white_check_mark: +hello_world|1/1 :white_check_mark:|1/1 :white_check_mark:|1/1 :white_check_mark:|1/1 :white_check_mark:|1/1 :white_check_mark:|1/1 :white_check_mark:|1/1 :white_check_mark: +i2c_master|7/7 :white_check_mark:|7/7 :white_check_mark:|7/7 :white_check_mark:|6/6 :white_check_mark:|6/6 :white_check_mark:|7/7 :white_check_mark:|7/7 :white_check_mark: +nvs|2/2 :white_check_mark:|2/2 :white_check_mark:|4/4 :white_check_mark:|4/4 :white_check_mark:|4/4 :white_check_mark:|2/2 :white_check_mark:|3/3 :white_check_mark: +psram|10/10 :white_check_mark:|-|-|-|8/8 :white_check_mark:|10/10 :white_check_mark:|10/10 :white_check_mark: +timer|3/3 :white_check_mark:|4/4 :white_check_mark:|4/4 :white_check_mark:|4/4 :white_check_mark:|4/4 :white_check_mark:|4/4 :white_check_mark:|4/4 :white_check_mark: +uart|11/11 :white_check_mark:|10/10 :white_check_mark:|10/10 :white_check_mark:|10/10 :white_check_mark:|10/10 :white_check_mark:|10/10 :white_check_mark:|10/10 :white_check_mark: +unity|2/2 :white_check_mark:|2/2 :white_check_mark:|2/2 :white_check_mark:|2/2 :white_check_mark:|2/2 :white_check_mark:|2/2 :white_check_mark:|2/2 :white_check_mark: +wifi|2/2 :white_check_mark:|1/1 :white_check_mark:|1/1 :white_check_mark:|-|-|2/2 :white_check_mark:|3/3 :white_check_mark: + + +Generated on: 2025/05/17 03:09:43 + +[Build, Hardware and QEMU run](https://github.com/espressif/arduino-esp32/actions/runs/15080719368) / [Wokwi run](https://github.com/espressif/arduino-esp32/actions/runs/15081010769) diff --git a/runtime-tests-results/badge.svg b/runtime-tests-results/badge.svg new file mode 100644 index 00000000000..7e6be97fbf1 --- /dev/null +++ b/runtime-tests-results/badge.svg @@ -0,0 +1,14 @@ +<svg width="141.3" height="20" viewBox="0 0 1413 200" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Runtime Tests: passing"> + <title>Runtime Tests: passing</title> + <g> + <rect fill="#555" width="895" height="200"/> + <rect fill="#3C1" x="895" width="518" height="200"/> + </g> + <g aria-hidden="true" fill="#fff" text-anchor="start" font-family="Verdana,DejaVu Sans,sans-serif" font-size="110"> + <text x="60" y="148" textLength="795" fill="#000" opacity="0.1">Runtime Tests</text> + <text x="50" y="138" textLength="795">Runtime Tests</text> + <text x="950" y="148" textLength="418" fill="#000" opacity="0.1">passing</text> + <text x="940" y="138" textLength="418">passing</text> + </g> + +</svg> \ No newline at end of file diff --git a/runtime-tests-results/table_generator.py b/runtime-tests-results/table_generator.py new file mode 100644 index 00000000000..af149ed544d --- /dev/null +++ b/runtime-tests-results/table_generator.py @@ -0,0 +1,104 @@ +import json +import sys +import os +from datetime import datetime + +SUCCESS_SYMBOL = ":white_check_mark:" +FAILURE_SYMBOL = ":x:" +ERROR_SYMBOL = ":fire:" + +# Load the JSON file passed as argument to the script +with open(sys.argv[1], "r") as f: + data = json.load(f) + tests = sorted(data["stats"]["suite_details"], key=lambda x: x["name"]) + +# Generate the table + +print("## Runtime Tests Report") +print("") + +try: + if os.environ["IS_FAILING"] == "true": + print(f"{FAILURE_SYMBOL} **The test workflows are failing. Please check the run logs.** {FAILURE_SYMBOL}") + print("") + else: + print(f"{SUCCESS_SYMBOL} **The test workflows are passing.** {SUCCESS_SYMBOL}") + print("") +except KeyError: + pass + +print("### Validation Tests") +print("") + +proc_test_data = {} +target_list = [] + +for test in tests: + if test["name"].startswith("performance_"): + continue + + _, platform, target, test_name = test["name"].split("_", 3) + test_name = test_name[:-1] + + if target not in target_list: + target_list.append(target) + + if platform not in proc_test_data: + proc_test_data[platform] = {} + + if test_name not in proc_test_data[platform]: + proc_test_data[platform][test_name] = {} + + if target not in proc_test_data[platform][test_name]: + proc_test_data[platform][test_name][target] = { + "failures": 0, + "total": 0, + "errors": 0 + } + + proc_test_data[platform][test_name][target]["total"] += test["tests"] + proc_test_data[platform][test_name][target]["failures"] += test["failures"] + proc_test_data[platform][test_name][target]["errors"] += test["errors"] + +target_list = sorted(target_list) + +for platform in proc_test_data: + print(f"#### {platform.capitalize()}") + print("") + print("Test", end="") + + for target in target_list: + # Make target name uppercase and add hyfen if not esp32 + if target != "esp32": + target = target.replace("esp32", "esp32-") + + print(f"|{target.upper()}", end="") + + print("") + print("-" + "|:-:" * len(target_list)) + + for test_name, targets in proc_test_data[platform].items(): + print(f"{test_name}", end="") + for target in target_list: + if target in targets: + test_data = targets[target] + if test_data["errors"] > 0: + print(f"|Error {ERROR_SYMBOL}", end="") + else: + print(f"|{test_data['total']-test_data['failures']}/{test_data['total']}", end="") + if test_data["failures"] > 0: + print(f" {FAILURE_SYMBOL}", end="") + else: + print(f" {SUCCESS_SYMBOL}", end="") + else: + print("|-", end="") + print("") + +print("\n") +print(f"Generated on: {datetime.now().strftime('%Y/%m/%d %H:%M:%S')}") +print("") + +try: + print(f"[Build, Hardware and QEMU run](https://github.com/{os.environ['GITHUB_REPOSITORY']}/actions/runs/{os.environ['BUILD_RUN_ID']}) / [Wokwi run](https://github.com/{os.environ['GITHUB_REPOSITORY']}/actions/runs/{os.environ['WOKWI_RUN_ID']})") +except KeyError: + pass diff --git a/runtime-tests-results/unity_results.json b/runtime-tests-results/unity_results.json new file mode 100644 index 00000000000..73cab67bab4 --- /dev/null +++ b/runtime-tests-results/unity_results.json @@ -0,0 +1,2717 @@ +{ + "title": "All 50 tests pass in 2h 11m 46s", + "summary": "190 files 190 suites 2h 11m 46s ⏱️\n 50 tests 50 ✅ 0 💤 0 ❌\n489 runs 489 ✅ 0 💤 0 ❌\n\nResults for commit 13cd0d3c.\n", + "conclusion": "success", + "stats": { + "files": 190, + "errors": [], + "suites": 190, + "duration": 7906, + "suite_details": [ + { + "name": "validation_wokwi_esp32c6_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s3_linpack_double0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32h2_uart0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32c3_ramspeed0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32p4_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c3_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32h2_linpack_double0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32h2_timer0", + "tests": 4, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32p4_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c3_timer0", + "tests": 4, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c6_gpio0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32_wifi1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c6_uart0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c6_timer0", + "tests": 4, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32h2_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32_psram0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32h2_nvs3", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s2_uart0", + "tests": 11, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c6_timer0", + "tests": 4, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s2_psramspeed0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c6_democfg0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s2_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s3_uart0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s2_linpack_double0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s3_wifi1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c6_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32c6_ramspeed0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s3_touch0", + "tests": 3, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c6_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s2_democfg0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s2_gpio0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32p4_psramspeed0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s3_periman0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c6_nvs2", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s3_wifi0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32h2_superpi0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32h2_nvs2", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32h2_nvs3", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s2_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c3_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32p4_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s2_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32p4_timer0", + "tests": 4, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32_touch0", + "tests": 3, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32h2_ramspeed0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s2_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32h2_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32c6_coremark0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32h2_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c3_timer0", + "tests": 4, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s2_psram0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s2_superpi0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s2_linpack_float0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32p4_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s3_superpi0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32p4_nvs3", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32p4_nvs2", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32p4_i2c_master0", + "tests": 6, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32p4_superpi0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32h2_gpio0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s3_nvs2", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s3_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c3_uart0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c6_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32p4_psram0", + "tests": 8, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c6_uart0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c6_nvs3", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32c3_coremark0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s3_wifi2", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32p4_touch0", + "tests": 3, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c3_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32p4_timer0", + "tests": 4, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32_i2c_master0", + "tests": 7, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32_timer0", + "tests": 3, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s2_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32_uart0", + "tests": 11, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32p4_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s3_psram0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32c6_linpack_double0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32_linpack_double0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32h2_periman0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s3_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s3_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s2_timer0", + "tests": 4, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s3_timer0", + "tests": 4, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s3_democfg0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32p4_uart0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s3_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s2_fibonacci0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32_ramspeed0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s2_touch0", + "tests": 3, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s2_i2c_master0", + "tests": 7, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32h2_nvs2", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s3_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s3_uart0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32p4_linpack_float0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32h2_linpack_float0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32_psram0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32h2_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32_uart0", + "tests": 11, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c6_wifi0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32_democfg1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32c6_fibonacci0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32_gpio0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s2_timer0", + "tests": 4, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c6_nvs2", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32p4_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s2_uart0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c3_periman0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s2_wifi1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s2_psram0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s3_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32_timer0", + "tests": 3, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s2_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s2_wifi0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c3_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c6_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c6_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s2_ramspeed0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32_wifi0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32h2_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32h2_timer0", + "tests": 4, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s2_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s3_coremark0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s3_fibonacci0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32h2_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c6_i2c_master0", + "tests": 7, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32_fibonacci0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32_superpi0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c6_periman0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32p4_psram0", + "tests": 8, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32c3_superpi0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s3_timer0", + "tests": 4, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32p4_nvs2", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32p4_nvs3", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c3_uart0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c3_gpio0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32h2_i2c_master0", + "tests": 6, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32p4_coremark0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s3_linpack_float0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c3_i2c_master0", + "tests": 7, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32c3_linpack_double0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s3_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32h2_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32_democfg0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32p4_linpack_double0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s2_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32h2_coremark0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32h2_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s3_ramspeed0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32c3_fibonacci0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c3_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32p4_gpio0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32_coremark0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s2_periman0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32_periman0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32_psramspeed0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s3_gpio0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32p4_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32c6_linpack_float0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32h2_uart0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c3_wifi0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32p4_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32_linpack_float0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32h2_fibonacci0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c3_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s2_coremark0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32c3_linpack_float0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c3_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s3_psram0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s3_i2c_master0", + "tests": 7, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c6_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32p4_uart0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c6_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32p4_fibonacci0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s3_nvs2", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s3_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s3_psramspeed0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c6_nvs3", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c3_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32c6_superpi0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32p4_ramspeed0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + } + ], + "tests": 50, + "tests_succ": 50, + "tests_skip": 0, + "tests_fail": 0, + "tests_error": 0, + "runs": 489, + "runs_succ": 489, + "runs_skip": 0, + "runs_fail": 0, + "runs_error": 0, + "commit": "13cd0d3c3fb6d6f719c55cdb671d6807874427b5" + }, + "annotations": [ + { + "path": ".github", + "start_line": 0, + "end_line": 0, + "annotation_level": "notice", + "message": "There are 50 tests, see \"Raw output\" for the full list of tests.", + "title": "50 tests found", + "raw_details": "auto_baudrate_test\nbasic_transmission_test\nbegin_when_running_test\nchange_baudrate_test\nchange_clock\nchange_cpu_frequency_test\nchange_pins_test\ndisabled_uart_calls_test\nenabled_uart_calls_test\nend_when_stopped_test\nperformance.coremark.test_coremark ‑ test_coremark\nperformance.fibonacci.test_fibonacci ‑ test_fibonacci\nperformance.linpack_double.test_linpack_double ‑ test_linpack_double\nperformance.linpack_float.test_linpack_float ‑ test_linpack_float\nperformance.psramspeed.test_psramspeed ‑ test_psramspeed\nperformance.ramspeed.test_ramspeed ‑ test_ramspeed\nperformance.superpi.test_superpi ‑ test_superpi\nperiman_test\npsram_found\nresize_buffers_test\nrtc_run_clock\nrtc_set_time\nscan_bus\nscan_bus_with_wifi\nswap_pins\ntest_api\ntest_calloc_success\ntest_fail\ntest_malloc_fail\ntest_malloc_success\ntest_memcpy\ntest_memset_all_ones\ntest_memset_all_zeroes\ntest_memset_alternating\ntest_memset_random\ntest_pass\ntest_realloc_success\ntest_touch_errors\ntest_touch_interrtupt\ntest_touch_read\ntimer_clock_select_test\ntimer_divider_test\ntimer_interrupt_test\ntimer_read_test\nvalidation.democfg.test_democfg ‑ test_cfg\nvalidation.gpio.test_gpio ‑ test_gpio\nvalidation.hello_world.test_hello_world ‑ test_hello_world\nvalidation.nvs.test_nvs ‑ test_nvs\nvalidation.periman.test_periman ‑ test_periman\nvalidation.wifi.test_wifi ‑ test_wifi" + } + ], + "check_url": "https://github.com/espressif/arduino-esp32/runs/42397580637", + "formatted": { + "stats": { + "files": "190", + "errors": [], + "suites": "190", + "duration": "7 906", + "suite_details": [ + { + "name": "validation_wokwi_esp32c6_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s3_linpack_double0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32h2_uart0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32c3_ramspeed0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32p4_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c3_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32h2_linpack_double0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32h2_timer0", + "tests": 4, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32p4_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c3_timer0", + "tests": 4, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c6_gpio0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32_wifi1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c6_uart0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c6_timer0", + "tests": 4, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32h2_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32_psram0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32h2_nvs3", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s2_uart0", + "tests": 11, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c6_timer0", + "tests": 4, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s2_psramspeed0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c6_democfg0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s2_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s3_uart0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s2_linpack_double0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s3_wifi1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c6_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32c6_ramspeed0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s3_touch0", + "tests": 3, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c6_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s2_democfg0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s2_gpio0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32p4_psramspeed0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s3_periman0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c6_nvs2", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s3_wifi0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32h2_superpi0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32h2_nvs2", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32h2_nvs3", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s2_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c3_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32p4_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s2_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32p4_timer0", + "tests": 4, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32_touch0", + "tests": 3, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32h2_ramspeed0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s2_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32h2_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32c6_coremark0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32h2_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c3_timer0", + "tests": 4, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s2_psram0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s2_superpi0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s2_linpack_float0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32p4_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s3_superpi0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32p4_nvs3", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32p4_nvs2", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32p4_i2c_master0", + "tests": 6, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32p4_superpi0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32h2_gpio0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s3_nvs2", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s3_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c3_uart0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c6_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32p4_psram0", + "tests": 8, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c6_uart0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c6_nvs3", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32c3_coremark0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s3_wifi2", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32p4_touch0", + "tests": 3, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c3_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32p4_timer0", + "tests": 4, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32_i2c_master0", + "tests": 7, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32_timer0", + "tests": 3, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s2_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32_uart0", + "tests": 11, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32p4_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s3_psram0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32c6_linpack_double0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32_linpack_double0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32h2_periman0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s3_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s3_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s2_timer0", + "tests": 4, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s3_timer0", + "tests": 4, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s3_democfg0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32p4_uart0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s3_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s2_fibonacci0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32_ramspeed0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s2_touch0", + "tests": 3, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s2_i2c_master0", + "tests": 7, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32h2_nvs2", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s3_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s3_uart0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32p4_linpack_float0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32h2_linpack_float0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32_psram0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32h2_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32_uart0", + "tests": 11, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c6_wifi0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32_democfg1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32c6_fibonacci0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32_gpio0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s2_timer0", + "tests": 4, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c6_nvs2", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32p4_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s2_uart0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c3_periman0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s2_wifi1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s2_psram0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s3_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32_timer0", + "tests": 3, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s2_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s2_wifi0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c3_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c6_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c6_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s2_ramspeed0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32_wifi0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32h2_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32h2_timer0", + "tests": 4, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s2_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s3_coremark0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s3_fibonacci0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32h2_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c6_i2c_master0", + "tests": 7, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32_fibonacci0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32_superpi0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c6_periman0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32p4_psram0", + "tests": 8, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32c3_superpi0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s3_timer0", + "tests": 4, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32p4_nvs2", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32p4_nvs3", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c3_uart0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c3_gpio0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32h2_i2c_master0", + "tests": 6, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32p4_coremark0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s3_linpack_float0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c3_i2c_master0", + "tests": 7, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32c3_linpack_double0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s3_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32h2_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32_democfg0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32p4_linpack_double0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s2_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32h2_coremark0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32h2_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s3_ramspeed0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32c3_fibonacci0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c3_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32p4_gpio0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32_coremark0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s2_periman0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32_periman0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32_psramspeed0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s3_gpio0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32p4_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32c6_linpack_float0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32h2_uart0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c3_wifi0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32p4_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32_linpack_float0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32h2_fibonacci0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c3_nvs1", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s2_coremark0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32c3_linpack_float0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c3_nvs0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s3_psram0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s3_i2c_master0", + "tests": 7, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c6_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32p4_uart0", + "tests": 10, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32c6_unity0", + "tests": 2, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32p4_fibonacci0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32s3_nvs2", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_wokwi_esp32s3_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32s3_psramspeed0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c6_nvs3", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "validation_hardware_esp32c3_hello_world0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32c6_superpi0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + }, + { + "name": "performance_hardware_esp32p4_ramspeed0", + "tests": 1, + "skipped": 0, + "failures": 0, + "errors": 0 + } + ], + "tests": "50", + "tests_succ": "50", + "tests_skip": "0", + "tests_fail": "0", + "tests_error": "0", + "runs": "489", + "runs_succ": "489", + "runs_skip": "0", + "runs_fail": "0", + "runs_error": "0", + "commit": "13cd0d3c3fb6d6f719c55cdb671d6807874427b5" + } + } +} \ No newline at end of file diff --git a/v2.x_cli_compile/cli_compile_0.json b/v2.x_cli_compile/cli_compile_0.json new file mode 100644 index 00000000000..6f63890ad62 --- /dev/null +++ b/v2.x_cli_compile/cli_compile_0.json @@ -0,0 +1,366 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32s3:PSRAM=opi,USBMode=default,PartitionScheme=huge_app", + "target": "esp32s3", + "sketches": [ +{"name": "ArduinoOTA/examples/BasicOTA", + "sizes": [{ + "flash_bytes": 733453, + "flash_percentage": 23, + "ram_bytes": 46064, + "ram_percentage": 14 + }] + }, +{"name": "ArduinoOTA/examples/OTAWebUpdater", + "sizes": [{ + "flash_bytes": 753785, + "flash_percentage": 23, + "ram_bytes": 44472, + "ram_percentage": 13 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPClient", + "sizes": [{ + "flash_bytes": 679917, + "flash_percentage": 21, + "ram_bytes": 40280, + "ram_percentage": 12 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPMulticastServer", + "sizes": [{ + "flash_bytes": 680201, + "flash_percentage": 21, + "ram_bytes": 40280, + "ram_percentage": 12 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPServer", + "sizes": [{ + "flash_bytes": 679985, + "flash_percentage": 21, + "ram_bytes": 40280, + "ram_percentage": 12 + }] + }, +{"name": "BLE/examples/BLE5_extended_scan", + "sizes": [{ + "flash_bytes": 899133, + "flash_percentage": 28, + "ram_bytes": 44188, + "ram_percentage": 13 + }] + }, +{"name": "BLE/examples/BLE5_multi_advertising", + "sizes": [{ + "flash_bytes": 899973, + "flash_percentage": 28, + "ram_bytes": 44548, + "ram_percentage": 13 + }] + }, +{"name": "BLE/examples/BLE5_periodic_advertising", + "sizes": [{ + "flash_bytes": 899761, + "flash_percentage": 28, + "ram_bytes": 44308, + "ram_percentage": 13 + }] + }, +{"name": "BLE/examples/BLE5_periodic_sync", + "sizes": [{ + "flash_bytes": 899565, + "flash_percentage": 28, + "ram_bytes": 44212, + "ram_percentage": 13 + }] + }, +{"name": "BLE/examples/BLE_Beacon_Scanner", + "sizes": [{ + "flash_bytes": 905453, + "flash_percentage": 28, + "ram_bytes": 44188, + "ram_percentage": 13 + }] + }, +{"name": "BLE/examples/BLE_EddystoneTLM_Beacon", + "sizes": [{ + "flash_bytes": 910809, + "flash_percentage": 28, + "ram_bytes": 44364, + "ram_percentage": 13 + }] + }, +{"name": "BLE/examples/BLE_EddystoneURL_Beacon", + "sizes": [{ + "flash_bytes": 908393, + "flash_percentage": 28, + "ram_bytes": 44356, + "ram_percentage": 13 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32s2", + "sketches": [ +{"name": "ArduinoOTA/examples/BasicOTA", + "sizes": [{ + "flash_bytes": 708858, + "flash_percentage": 22, + "ram_bytes": 41008, + "ram_percentage": 12 + }] + }, +{"name": "ArduinoOTA/examples/OTAWebUpdater", + "sizes": [{ + "flash_bytes": 729334, + "flash_percentage": 23, + "ram_bytes": 39440, + "ram_percentage": 12 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPClient", + "sizes": [{ + "flash_bytes": 657066, + "flash_percentage": 20, + "ram_bytes": 35424, + "ram_percentage": 10 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPMulticastServer", + "sizes": [{ + "flash_bytes": 657346, + "flash_percentage": 20, + "ram_bytes": 35424, + "ram_percentage": 10 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPServer", + "sizes": [{ + "flash_bytes": 657126, + "flash_percentage": 20, + "ram_bytes": 35424, + "ram_percentage": 10 + }] + }, +{"name": "DNSServer/examples/CaptivePortal", + "sizes": [{ + "flash_bytes": 650294, + "flash_percentage": 20, + "ram_bytes": 36824, + "ram_percentage": 11 + }] + }, +{"name": "EEPROM/examples/eeprom_class", + "sizes": [{ + "flash_bytes": 230542, + "flash_percentage": 7, + "ram_bytes": 14624, + "ram_percentage": 4 + }] + }, +{"name": "EEPROM/examples/eeprom_extra", + "sizes": [{ + "flash_bytes": 247170, + "flash_percentage": 7, + "ram_bytes": 14568, + "ram_percentage": 4 + }] + }, +{"name": "EEPROM/examples/eeprom_write", + "sizes": [{ + "flash_bytes": 229042, + "flash_percentage": 7, + "ram_bytes": 14568, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/AnalogOut/LEDCSoftwareFade", + "sizes": [{ + "flash_bytes": 202942, + "flash_percentage": 6, + "ram_bytes": 14360, + "ram_percentage": 4 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3:PartitionScheme=huge_app", + "target": "esp32c3", + "sketches": [ +{"name": "ArduinoOTA/examples/BasicOTA", + "sizes": [{ + "flash_bytes": 762032, + "flash_percentage": 24, + "ram_bytes": 40044, + "ram_percentage": 12 + }] + }, +{"name": "ArduinoOTA/examples/OTAWebUpdater", + "sizes": [{ + "flash_bytes": 780802, + "flash_percentage": 24, + "ram_bytes": 38452, + "ram_percentage": 11 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPClient", + "sizes": [{ + "flash_bytes": 703804, + "flash_percentage": 22, + "ram_bytes": 34468, + "ram_percentage": 10 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPMulticastServer", + "sizes": [{ + "flash_bytes": 704128, + "flash_percentage": 22, + "ram_bytes": 34468, + "ram_percentage": 10 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPServer", + "sizes": [{ + "flash_bytes": 703872, + "flash_percentage": 22, + "ram_bytes": 34468, + "ram_percentage": 10 + }] + }, +{"name": "BLE/examples/BLE5_extended_scan", + "sizes": [{ + "flash_bytes": 973122, + "flash_percentage": 30, + "ram_bytes": 38428, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE5_multi_advertising", + "sizes": [{ + "flash_bytes": 974370, + "flash_percentage": 30, + "ram_bytes": 38820, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE5_periodic_advertising", + "sizes": [{ + "flash_bytes": 973934, + "flash_percentage": 30, + "ram_bytes": 38556, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE5_periodic_sync", + "sizes": [{ + "flash_bytes": 973470, + "flash_percentage": 30, + "ram_bytes": 38444, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE_Beacon_Scanner", + "sizes": [{ + "flash_bytes": 978734, + "flash_percentage": 31, + "ram_bytes": 38428, + "ram_percentage": 11 + }] + } +] +}, +{ "board": "espressif:esp32:esp32:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32", + "sketches": [ +{"name": "ArduinoOTA/examples/BasicOTA", + "sizes": [{ + "flash_bytes": 785461, + "flash_percentage": 24, + "ram_bytes": 48732, + "ram_percentage": 14 + }] + }, +{"name": "ArduinoOTA/examples/OTAWebUpdater", + "sizes": [{ + "flash_bytes": 806125, + "flash_percentage": 25, + "ram_bytes": 47148, + "ram_percentage": 14 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPClient", + "sizes": [{ + "flash_bytes": 738633, + "flash_percentage": 23, + "ram_bytes": 43404, + "ram_percentage": 13 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPMulticastServer", + "sizes": [{ + "flash_bytes": 739073, + "flash_percentage": 23, + "ram_bytes": 43404, + "ram_percentage": 13 + }] + }, +{"name": "AsyncUDP/examples/AsyncUDPServer", + "sizes": [{ + "flash_bytes": 738697, + "flash_percentage": 23, + "ram_bytes": 43404, + "ram_percentage": 13 + }] + }, +{"name": "BLE/examples/BLE_Beacon_Scanner", + "sizes": [{ + "flash_bytes": 1137393, + "flash_percentage": 36, + "ram_bytes": 39120, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE_EddystoneTLM_Beacon", + "sizes": [{ + "flash_bytes": 1141173, + "flash_percentage": 36, + "ram_bytes": 39316, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE_EddystoneURL_Beacon", + "sizes": [{ + "flash_bytes": 1138433, + "flash_percentage": 36, + "ram_bytes": 39208, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE_client", + "sizes": [{ + "flash_bytes": 1148561, + "flash_percentage": 36, + "ram_bytes": 39168, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE_iBeacon", + "sizes": [{ + "flash_bytes": 1144745, + "flash_percentage": 36, + "ram_bytes": 39128, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE_notify", + "sizes": [{ + "flash_bytes": 1142397, + "flash_percentage": 36, + "ram_bytes": 39136, + "ram_percentage": 11 + }] + } +] +} +]} diff --git a/v2.x_cli_compile/cli_compile_1.json b/v2.x_cli_compile/cli_compile_1.json new file mode 100644 index 00000000000..517579dad21 --- /dev/null +++ b/v2.x_cli_compile/cli_compile_1.json @@ -0,0 +1,366 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32s3:PSRAM=opi,USBMode=default,PartitionScheme=huge_app", + "target": "esp32s3", + "sketches": [ +{"name": "BLE/examples/BLE_client", + "sizes": [{ + "flash_bytes": 915981, + "flash_percentage": 29, + "ram_bytes": 44244, + "ram_percentage": 13 + }] + }, +{"name": "BLE/examples/BLE_iBeacon", + "sizes": [{ + "flash_bytes": 912589, + "flash_percentage": 29, + "ram_bytes": 44204, + "ram_percentage": 13 + }] + }, +{"name": "BLE/examples/BLE_notify", + "sizes": [{ + "flash_bytes": 910357, + "flash_percentage": 28, + "ram_bytes": 44204, + "ram_percentage": 13 + }] + }, +{"name": "BLE/examples/BLE_scan", + "sizes": [{ + "flash_bytes": 902425, + "flash_percentage": 28, + "ram_bytes": 44188, + "ram_percentage": 13 + }] + }, +{"name": "BLE/examples/BLE_server", + "sizes": [{ + "flash_bytes": 907013, + "flash_percentage": 28, + "ram_bytes": 44188, + "ram_percentage": 13 + }] + }, +{"name": "BLE/examples/BLE_server_multiconnect", + "sizes": [{ + "flash_bytes": 910385, + "flash_percentage": 28, + "ram_bytes": 44204, + "ram_percentage": 13 + }] + }, +{"name": "BLE/examples/BLE_uart", + "sizes": [{ + "flash_bytes": 910673, + "flash_percentage": 28, + "ram_bytes": 44204, + "ram_percentage": 13 + }] + }, +{"name": "BLE/examples/BLE_write", + "sizes": [{ + "flash_bytes": 907381, + "flash_percentage": 28, + "ram_bytes": 44188, + "ram_percentage": 13 + }] + }, +{"name": "DNSServer/examples/CaptivePortal", + "sizes": [{ + "flash_bytes": 671909, + "flash_percentage": 21, + "ram_bytes": 41576, + "ram_percentage": 12 + }] + }, +{"name": "EEPROM/examples/eeprom_class", + "sizes": [{ + "flash_bytes": 272193, + "flash_percentage": 8, + "ram_bytes": 18648, + "ram_percentage": 5 + }] + }, +{"name": "EEPROM/examples/eeprom_extra", + "sizes": [{ + "flash_bytes": 274157, + "flash_percentage": 8, + "ram_bytes": 18584, + "ram_percentage": 5 + }] + }, +{"name": "EEPROM/examples/eeprom_write", + "sizes": [{ + "flash_bytes": 270385, + "flash_percentage": 8, + "ram_bytes": 18584, + "ram_percentage": 5 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32s2", + "sketches": [ +{"name": "ESP32/examples/AnalogOut/SigmaDelta", + "sizes": [{ + "flash_bytes": 199414, + "flash_percentage": 6, + "ram_bytes": 14328, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/AnalogOut/ledcFrequency", + "sizes": [{ + "flash_bytes": 227774, + "flash_percentage": 7, + "ram_bytes": 14424, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/AnalogOut/ledcWrite_RGB", + "sizes": [{ + "flash_bytes": 226870, + "flash_percentage": 7, + "ram_bytes": 14608, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/AnalogRead", + "sizes": [{ + "flash_bytes": 245642, + "flash_percentage": 7, + "ram_bytes": 14752, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/ArduinoStackSize", + "sizes": [{ + "flash_bytes": 236114, + "flash_percentage": 7, + "ram_bytes": 14528, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/CI/CIBoardsTest", + "sizes": [{ + "flash_bytes": 247898, + "flash_percentage": 7, + "ram_bytes": 15192, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Camera/CameraWebServer", + "sizes": [{ + "flash_bytes": 1404190, + "flash_percentage": 44, + "ram_bytes": 62028, + "ram_percentage": 18 + }] + }, +{"name": "ESP32/examples/ChipID/GetChipID", + "sizes": [{ + "flash_bytes": 237822, + "flash_percentage": 7, + "ram_bytes": 14564, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/DeepSleep/ExternalWakeUp", + "sizes": [{ + "flash_bytes": 257362, + "flash_percentage": 8, + "ram_bytes": 17768, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/DeepSleep/TimerWakeUp", + "sizes": [{ + "flash_bytes": 257498, + "flash_percentage": 8, + "ram_bytes": 17768, + "ram_percentage": 5 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3:PartitionScheme=huge_app", + "target": "esp32c3", + "sketches": [ +{"name": "BLE/examples/BLE_EddystoneTLM_Beacon", + "sizes": [{ + "flash_bytes": 981922, + "flash_percentage": 31, + "ram_bytes": 38548, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE_EddystoneURL_Beacon", + "sizes": [{ + "flash_bytes": 980790, + "flash_percentage": 31, + "ram_bytes": 38540, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE_client", + "sizes": [{ + "flash_bytes": 977826, + "flash_percentage": 31, + "ram_bytes": 38492, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE_iBeacon", + "sizes": [{ + "flash_bytes": 989884, + "flash_percentage": 31, + "ram_bytes": 38436, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE_notify", + "sizes": [{ + "flash_bytes": 987582, + "flash_percentage": 31, + "ram_bytes": 38444, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE_scan", + "sizes": [{ + "flash_bytes": 974340, + "flash_percentage": 30, + "ram_bytes": 38428, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE_server", + "sizes": [{ + "flash_bytes": 981480, + "flash_percentage": 31, + "ram_bytes": 38428, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE_server_multiconnect", + "sizes": [{ + "flash_bytes": 987584, + "flash_percentage": 31, + "ram_bytes": 38444, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE_uart", + "sizes": [{ + "flash_bytes": 987888, + "flash_percentage": 31, + "ram_bytes": 38444, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE_write", + "sizes": [{ + "flash_bytes": 981814, + "flash_percentage": 31, + "ram_bytes": 38428, + "ram_percentage": 11 + }] + } +] +}, +{ "board": "espressif:esp32:esp32:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32", + "sketches": [ +{"name": "BLE/examples/BLE_scan", + "sizes": [{ + "flash_bytes": 1134401, + "flash_percentage": 36, + "ram_bytes": 39120, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE_server", + "sizes": [{ + "flash_bytes": 1138925, + "flash_percentage": 36, + "ram_bytes": 39120, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE_server_multiconnect", + "sizes": [{ + "flash_bytes": 1142429, + "flash_percentage": 36, + "ram_bytes": 39136, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE_uart", + "sizes": [{ + "flash_bytes": 1142721, + "flash_percentage": 36, + "ram_bytes": 39128, + "ram_percentage": 11 + }] + }, +{"name": "BLE/examples/BLE_write", + "sizes": [{ + "flash_bytes": 1139281, + "flash_percentage": 36, + "ram_bytes": 39120, + "ram_percentage": 11 + }] + }, +{"name": "BluetoothSerial/examples/DiscoverConnect", + "sizes": [{ + "flash_bytes": 1116957, + "flash_percentage": 35, + "ram_bytes": 39920, + "ram_percentage": 12 + }] + }, +{"name": "BluetoothSerial/examples/GetLocalMAC", + "sizes": [{ + "flash_bytes": 1115381, + "flash_percentage": 35, + "ram_bytes": 39912, + "ram_percentage": 12 + }] + }, +{"name": "BluetoothSerial/examples/SerialToSerialBT", + "sizes": [{ + "flash_bytes": 1114041, + "flash_percentage": 35, + "ram_bytes": 39912, + "ram_percentage": 12 + }] + }, +{"name": "BluetoothSerial/examples/SerialToSerialBTM", + "sizes": [{ + "flash_bytes": 1115189, + "flash_percentage": 35, + "ram_bytes": 39928, + "ram_percentage": 12 + }] + }, +{"name": "BluetoothSerial/examples/SerialToSerialBT_SSP_pairing", + "sizes": [{ + "flash_bytes": 1115057, + "flash_percentage": 35, + "ram_bytes": 39896, + "ram_percentage": 12 + }] + }, +{"name": "BluetoothSerial/examples/bt_classic_device_discovery", + "sizes": [{ + "flash_bytes": 1115309, + "flash_percentage": 35, + "ram_bytes": 39896, + "ram_percentage": 12 + }] + } +] +} +]} diff --git a/v2.x_cli_compile/cli_compile_10.json b/v2.x_cli_compile/cli_compile_10.json new file mode 100644 index 00000000000..c3b93826c99 --- /dev/null +++ b/v2.x_cli_compile/cli_compile_10.json @@ -0,0 +1,366 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32s3:PSRAM=opi,USBMode=default,PartitionScheme=huge_app", + "target": "esp32s3", + "sketches": [ +{"name": "USB/examples/SystemControl", + "sizes": [{ + "flash_bytes": 292873, + "flash_percentage": 9, + "ram_bytes": 30948, + "ram_percentage": 9 + }] + }, +{"name": "USB/examples/USBMSC", + "sizes": [{ + "flash_bytes": 318185, + "flash_percentage": 10, + "ram_bytes": 39484, + "ram_percentage": 12 + }] + }, +{"name": "USB/examples/USBSerial", + "sizes": [{ + "flash_bytes": 308673, + "flash_percentage": 9, + "ram_bytes": 31140, + "ram_percentage": 9 + }] + }, +{"name": "USB/examples/USBVendor", + "sizes": [{ + "flash_bytes": 313389, + "flash_percentage": 9, + "ram_bytes": 31316, + "ram_percentage": 9 + }] + }, +{"name": "Update/examples/AWS_S3_OTA_Update", + "sizes": [{ + "flash_bytes": 705457, + "flash_percentage": 22, + "ram_bytes": 42208, + "ram_percentage": 12 + }] + }, +{"name": "Update/examples/HTTPS_OTA_Update", + "sizes": [{ + "flash_bytes": 835661, + "flash_percentage": 26, + "ram_bytes": 42384, + "ram_percentage": 12 + }] + }, +{"name": "Update/examples/SD_Update", + "sizes": [{ + "flash_bytes": 335081, + "flash_percentage": 10, + "ram_bytes": 19412, + "ram_percentage": 5 + }] + }, +{"name": "WebServer/examples/AdvancedWebServer", + "sizes": [{ + "flash_bytes": 751097, + "flash_percentage": 23, + "ram_bytes": 44272, + "ram_percentage": 13 + }] + }, +{"name": "WebServer/examples/FSBrowser", + "sizes": [{ + "flash_bytes": 787821, + "flash_percentage": 25, + "ram_bytes": 44256, + "ram_percentage": 13 + }] + }, +{"name": "WebServer/examples/HelloServer", + "sizes": [{ + "flash_bytes": 749929, + "flash_percentage": 23, + "ram_bytes": 44272, + "ram_percentage": 13 + }] + }, +{"name": "WebServer/examples/HttpAdvancedAuth", + "sizes": [{ + "flash_bytes": 764649, + "flash_percentage": 24, + "ram_bytes": 46512, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/HttpBasicAuth", + "sizes": [{ + "flash_bytes": 764677, + "flash_percentage": 24, + "ram_bytes": 46480, + "ram_percentage": 14 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32s2", + "sketches": [ +{"name": "USB/examples/Mouse/ButtonMouseControl", + "sizes": [{ + "flash_bytes": 254326, + "flash_percentage": 8, + "ram_bytes": 26604, + "ram_percentage": 8 + }] + }, +{"name": "USB/examples/SystemControl", + "sizes": [{ + "flash_bytes": 254070, + "flash_percentage": 8, + "ram_bytes": 26604, + "ram_percentage": 8 + }] + }, +{"name": "USB/examples/USBMSC", + "sizes": [{ + "flash_bytes": 279870, + "flash_percentage": 8, + "ram_bytes": 35012, + "ram_percentage": 10 + }] + }, +{"name": "USB/examples/USBSerial", + "sizes": [{ + "flash_bytes": 270362, + "flash_percentage": 8, + "ram_bytes": 26668, + "ram_percentage": 8 + }] + }, +{"name": "USB/examples/USBVendor", + "sizes": [{ + "flash_bytes": 276842, + "flash_percentage": 8, + "ram_bytes": 26844, + "ram_percentage": 8 + }] + }, +{"name": "Update/examples/AWS_S3_OTA_Update", + "sizes": [{ + "flash_bytes": 681082, + "flash_percentage": 21, + "ram_bytes": 37168, + "ram_percentage": 11 + }] + }, +{"name": "Update/examples/HTTPS_OTA_Update", + "sizes": [{ + "flash_bytes": 813902, + "flash_percentage": 25, + "ram_bytes": 37520, + "ram_percentage": 11 + }] + }, +{"name": "Update/examples/SD_Update", + "sizes": [{ + "flash_bytes": 309166, + "flash_percentage": 9, + "ram_bytes": 15236, + "ram_percentage": 4 + }] + }, +{"name": "WebServer/examples/AdvancedWebServer", + "sizes": [{ + "flash_bytes": 727014, + "flash_percentage": 23, + "ram_bytes": 39232, + "ram_percentage": 11 + }] + }, +{"name": "WebServer/examples/FSBrowser", + "sizes": [{ + "flash_bytes": 763678, + "flash_percentage": 24, + "ram_bytes": 39240, + "ram_percentage": 11 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3:PartitionScheme=huge_app", + "target": "esp32c3", + "sketches": [ +{"name": "WebServer/examples/HttpAdvancedAuth", + "sizes": [{ + "flash_bytes": 792906, + "flash_percentage": 25, + "ram_bytes": 40492, + "ram_percentage": 12 + }] + }, +{"name": "WebServer/examples/HttpBasicAuth", + "sizes": [{ + "flash_bytes": 792958, + "flash_percentage": 25, + "ram_bytes": 40476, + "ram_percentage": 12 + }] + }, +{"name": "WebServer/examples/MultiHomedServers", + "sizes": [{ + "flash_bytes": 790220, + "flash_percentage": 25, + "ram_bytes": 37988, + "ram_percentage": 11 + }] + }, +{"name": "WebServer/examples/PathArgServer", + "sizes": [{ + "flash_bytes": 1024044, + "flash_percentage": 32, + "ram_bytes": 43308, + "ram_percentage": 13 + }] + }, +{"name": "WebServer/examples/SDWebServer", + "sizes": [{ + "flash_bytes": 846650, + "flash_percentage": 26, + "ram_bytes": 38484, + "ram_percentage": 11 + }] + }, +{"name": "WebServer/examples/SimpleAuthentification", + "sizes": [{ + "flash_bytes": 755340, + "flash_percentage": 24, + "ram_bytes": 36100, + "ram_percentage": 11 + }] + }, +{"name": "WebServer/examples/UploadHugeFile", + "sizes": [{ + "flash_bytes": 1058324, + "flash_percentage": 33, + "ram_bytes": 41748, + "ram_percentage": 12 + }] + }, +{"name": "WebServer/examples/WebUpdate", + "sizes": [{ + "flash_bytes": 780340, + "flash_percentage": 24, + "ram_bytes": 38452, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/FTM/FTM_Initiator", + "sizes": [{ + "flash_bytes": 703022, + "flash_percentage": 22, + "ram_bytes": 34444, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/FTM/FTM_Responder", + "sizes": [{ + "flash_bytes": 700432, + "flash_percentage": 22, + "ram_bytes": 34428, + "ram_percentage": 10 + }] + } +] +}, +{ "board": "espressif:esp32:esp32:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32", + "sketches": [ +{"name": "SPIFFS/examples/SPIFFS_Test", + "sizes": [{ + "flash_bytes": 317473, + "flash_percentage": 10, + "ram_bytes": 22008, + "ram_percentage": 6 + }] + }, +{"name": "SPIFFS/examples/SPIFFS_time", + "sizes": [{ + "flash_bytes": 794537, + "flash_percentage": 25, + "ram_bytes": 45056, + "ram_percentage": 13 + }] + }, +{"name": "SimpleBLE/examples/SimpleBleDevice", + "sizes": [{ + "flash_bytes": 1095117, + "flash_percentage": 34, + "ram_bytes": 39136, + "ram_percentage": 11 + }] + }, +{"name": "Ticker/examples/Arguments", + "sizes": [{ + "flash_bytes": 281621, + "flash_percentage": 8, + "ram_bytes": 21496, + "ram_percentage": 6 + }] + }, +{"name": "Ticker/examples/Blinker", + "sizes": [{ + "flash_bytes": 255057, + "flash_percentage": 8, + "ram_bytes": 21136, + "ram_percentage": 6 + }] + }, +{"name": "Update/examples/AWS_S3_OTA_Update", + "sizes": [{ + "flash_bytes": 755561, + "flash_percentage": 24, + "ram_bytes": 44884, + "ram_percentage": 13 + }] + }, +{"name": "Update/examples/HTTPS_OTA_Update", + "sizes": [{ + "flash_bytes": 897525, + "flash_percentage": 28, + "ram_bytes": 45492, + "ram_percentage": 13 + }] + }, +{"name": "Update/examples/SD_Update", + "sizes": [{ + "flash_bytes": 345101, + "flash_percentage": 10, + "ram_bytes": 22160, + "ram_percentage": 6 + }] + }, +{"name": "WebServer/examples/AdvancedWebServer", + "sizes": [{ + "flash_bytes": 803733, + "flash_percentage": 25, + "ram_bytes": 47056, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/FSBrowser", + "sizes": [{ + "flash_bytes": 850021, + "flash_percentage": 27, + "ram_bytes": 47188, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/HelloServer", + "sizes": [{ + "flash_bytes": 802185, + "flash_percentage": 25, + "ram_bytes": 46948, + "ram_percentage": 14 + }] + } +] +} +]} diff --git a/v2.x_cli_compile/cli_compile_11.json b/v2.x_cli_compile/cli_compile_11.json new file mode 100644 index 00000000000..9b4528f3d20 --- /dev/null +++ b/v2.x_cli_compile/cli_compile_11.json @@ -0,0 +1,366 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32s3:PSRAM=opi,USBMode=default,PartitionScheme=huge_app", + "target": "esp32s3", + "sketches": [ +{"name": "WebServer/examples/MultiHomedServers", + "sizes": [{ + "flash_bytes": 752489, + "flash_percentage": 23, + "ram_bytes": 44000, + "ram_percentage": 13 + }] + }, +{"name": "WebServer/examples/PathArgServer", + "sizes": [{ + "flash_bytes": 1018517, + "flash_percentage": 32, + "ram_bytes": 48940, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/SDWebServer", + "sizes": [{ + "flash_bytes": 809813, + "flash_percentage": 25, + "ram_bytes": 44524, + "ram_percentage": 13 + }] + }, +{"name": "WebServer/examples/SimpleAuthentification", + "sizes": [{ + "flash_bytes": 718389, + "flash_percentage": 22, + "ram_bytes": 41904, + "ram_percentage": 12 + }] + }, +{"name": "WebServer/examples/UploadHugeFile", + "sizes": [{ + "flash_bytes": 1045437, + "flash_percentage": 33, + "ram_bytes": 47600, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/WebUpdate", + "sizes": [{ + "flash_bytes": 753065, + "flash_percentage": 23, + "ram_bytes": 44456, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/FTM/FTM_Initiator", + "sizes": [{ + "flash_bytes": 677473, + "flash_percentage": 21, + "ram_bytes": 40256, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/FTM/FTM_Responder", + "sizes": [{ + "flash_bytes": 674981, + "flash_percentage": 21, + "ram_bytes": 40232, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/SimpleWiFiServer", + "sizes": [{ + "flash_bytes": 700697, + "flash_percentage": 22, + "ram_bytes": 41976, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WPS", + "sizes": [{ + "flash_bytes": 697177, + "flash_percentage": 22, + "ram_bytes": 40456, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiAccessPoint", + "sizes": [{ + "flash_bytes": 701089, + "flash_percentage": 22, + "ram_bytes": 41976, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiBlueToothSwitch", + "sizes": [{ + "flash_bytes": 764693, + "flash_percentage": 24, + "ram_bytes": 41424, + "ram_percentage": 12 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32s2", + "sketches": [ +{"name": "WebServer/examples/HelloServer", + "sizes": [{ + "flash_bytes": 725518, + "flash_percentage": 23, + "ram_bytes": 39232, + "ram_percentage": 11 + }] + }, +{"name": "WebServer/examples/HttpAdvancedAuth", + "sizes": [{ + "flash_bytes": 740446, + "flash_percentage": 23, + "ram_bytes": 41456, + "ram_percentage": 12 + }] + }, +{"name": "WebServer/examples/HttpBasicAuth", + "sizes": [{ + "flash_bytes": 740502, + "flash_percentage": 23, + "ram_bytes": 41440, + "ram_percentage": 12 + }] + }, +{"name": "WebServer/examples/MultiHomedServers", + "sizes": [{ + "flash_bytes": 728090, + "flash_percentage": 23, + "ram_bytes": 38968, + "ram_percentage": 11 + }] + }, +{"name": "WebServer/examples/PathArgServer", + "sizes": [{ + "flash_bytes": 994962, + "flash_percentage": 31, + "ram_bytes": 44080, + "ram_percentage": 13 + }] + }, +{"name": "WebServer/examples/SDWebServer", + "sizes": [{ + "flash_bytes": 784970, + "flash_percentage": 24, + "ram_bytes": 39492, + "ram_percentage": 12 + }] + }, +{"name": "WebServer/examples/SimpleAuthentification", + "sizes": [{ + "flash_bytes": 695826, + "flash_percentage": 22, + "ram_bytes": 37048, + "ram_percentage": 11 + }] + }, +{"name": "WebServer/examples/UploadHugeFile", + "sizes": [{ + "flash_bytes": 1020510, + "flash_percentage": 32, + "ram_bytes": 42572, + "ram_percentage": 12 + }] + }, +{"name": "WebServer/examples/WebUpdate", + "sizes": [{ + "flash_bytes": 728630, + "flash_percentage": 23, + "ram_bytes": 39440, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/FTM/FTM_Initiator", + "sizes": [{ + "flash_bytes": 654638, + "flash_percentage": 20, + "ram_bytes": 35384, + "ram_percentage": 10 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3:PartitionScheme=huge_app", + "target": "esp32c3", + "sketches": [ +{"name": "WiFi/examples/SimpleWiFiServer", + "sizes": [{ + "flash_bytes": 726770, + "flash_percentage": 23, + "ram_bytes": 35956, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WPS", + "sizes": [{ + "flash_bytes": 725302, + "flash_percentage": 23, + "ram_bytes": 34644, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiAccessPoint", + "sizes": [{ + "flash_bytes": 727264, + "flash_percentage": 23, + "ram_bytes": 35956, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiBlueToothSwitch", + "sizes": [{ + "flash_bytes": 799774, + "flash_percentage": 25, + "ram_bytes": 35652, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiClient", + "sizes": [{ + "flash_bytes": 715168, + "flash_percentage": 22, + "ram_bytes": 35740, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiClientBasic", + "sizes": [{ + "flash_bytes": 716186, + "flash_percentage": 22, + "ram_bytes": 35692, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiClientConnect", + "sizes": [{ + "flash_bytes": 702186, + "flash_percentage": 22, + "ram_bytes": 34436, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiClientEnterprise", + "sizes": [{ + "flash_bytes": 849896, + "flash_percentage": 27, + "ram_bytes": 36332, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/WiFiClientEvents", + "sizes": [{ + "flash_bytes": 703020, + "flash_percentage": 22, + "ram_bytes": 34428, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiClientStaticIP", + "sizes": [{ + "flash_bytes": 715576, + "flash_percentage": 22, + "ram_bytes": 35724, + "ram_percentage": 10 + }] + } +] +}, +{ "board": "espressif:esp32:esp32:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32", + "sketches": [ +{"name": "WebServer/examples/HttpAdvancedAuth", + "sizes": [{ + "flash_bytes": 817509, + "flash_percentage": 25, + "ram_bytes": 49180, + "ram_percentage": 15 + }] + }, +{"name": "WebServer/examples/HttpBasicAuth", + "sizes": [{ + "flash_bytes": 817557, + "flash_percentage": 25, + "ram_bytes": 49148, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/MultiHomedServers", + "sizes": [{ + "flash_bytes": 804797, + "flash_percentage": 25, + "ram_bytes": 46676, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/PathArgServer", + "sizes": [{ + "flash_bytes": 1094305, + "flash_percentage": 34, + "ram_bytes": 53232, + "ram_percentage": 16 + }] + }, +{"name": "WebServer/examples/SDWebServer", + "sizes": [{ + "flash_bytes": 864613, + "flash_percentage": 27, + "ram_bytes": 47492, + "ram_percentage": 14 + }] + }, +{"name": "WebServer/examples/SimpleAuthentification", + "sizes": [{ + "flash_bytes": 778725, + "flash_percentage": 24, + "ram_bytes": 45036, + "ram_percentage": 13 + }] + }, +{"name": "WebServer/examples/UploadHugeFile", + "sizes": [{ + "flash_bytes": 1112361, + "flash_percentage": 35, + "ram_bytes": 51564, + "ram_percentage": 15 + }] + }, +{"name": "WebServer/examples/WebUpdate", + "sizes": [{ + "flash_bytes": 805493, + "flash_percentage": 25, + "ram_bytes": 47132, + "ram_percentage": 14 + }] + }, +{"name": "WiFi/examples/FTM/FTM_Initiator", + "sizes": [{ + "flash_bytes": 734717, + "flash_percentage": 23, + "ram_bytes": 43364, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/FTM/FTM_Responder", + "sizes": [{ + "flash_bytes": 733409, + "flash_percentage": 23, + "ram_bytes": 43364, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/SimpleWiFiServer", + "sizes": [{ + "flash_bytes": 750993, + "flash_percentage": 23, + "ram_bytes": 44652, + "ram_percentage": 13 + }] + } +] +} +]} diff --git a/v2.x_cli_compile/cli_compile_12.json b/v2.x_cli_compile/cli_compile_12.json new file mode 100644 index 00000000000..7a26a6e4cbc --- /dev/null +++ b/v2.x_cli_compile/cli_compile_12.json @@ -0,0 +1,366 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32s3:PSRAM=opi,USBMode=default,PartitionScheme=huge_app", + "target": "esp32s3", + "sketches": [ +{"name": "WiFi/examples/WiFiClient", + "sizes": [{ + "flash_bytes": 687657, + "flash_percentage": 21, + "ram_bytes": 41560, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiClientBasic", + "sizes": [{ + "flash_bytes": 688485, + "flash_percentage": 21, + "ram_bytes": 41504, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiClientConnect", + "sizes": [{ + "flash_bytes": 677117, + "flash_percentage": 21, + "ram_bytes": 40240, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiClientEnterprise", + "sizes": [{ + "flash_bytes": 814697, + "flash_percentage": 25, + "ram_bytes": 42152, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiClientEvents", + "sizes": [{ + "flash_bytes": 677545, + "flash_percentage": 21, + "ram_bytes": 40232, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiClientStaticIP", + "sizes": [{ + "flash_bytes": 687997, + "flash_percentage": 21, + "ram_bytes": 41544, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiIPv6", + "sizes": [{ + "flash_bytes": 685413, + "flash_percentage": 21, + "ram_bytes": 41872, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiMulti", + "sizes": [{ + "flash_bytes": 676917, + "flash_percentage": 21, + "ram_bytes": 40248, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiScan", + "sizes": [{ + "flash_bytes": 675849, + "flash_percentage": 21, + "ram_bytes": 40240, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiScanDualAntenna", + "sizes": [{ + "flash_bytes": 676717, + "flash_percentage": 21, + "ram_bytes": 40240, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiSmartConfig", + "sizes": [{ + "flash_bytes": 709529, + "flash_percentage": 22, + "ram_bytes": 40572, + "ram_percentage": 12 + }] + }, +{"name": "WiFi/examples/WiFiTelnetToSerial", + "sizes": [{ + "flash_bytes": 693085, + "flash_percentage": 22, + "ram_bytes": 41584, + "ram_percentage": 12 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32s2", + "sketches": [ +{"name": "WiFi/examples/FTM/FTM_Responder", + "sizes": [{ + "flash_bytes": 652082, + "flash_percentage": 20, + "ram_bytes": 35376, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/SimpleWiFiServer", + "sizes": [{ + "flash_bytes": 676218, + "flash_percentage": 21, + "ram_bytes": 36920, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/WPS", + "sizes": [{ + "flash_bytes": 674310, + "flash_percentage": 21, + "ram_bytes": 35584, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiAccessPoint", + "sizes": [{ + "flash_bytes": 676626, + "flash_percentage": 21, + "ram_bytes": 36920, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/WiFiClient", + "sizes": [{ + "flash_bytes": 664838, + "flash_percentage": 21, + "ram_bytes": 36688, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/WiFiClientBasic", + "sizes": [{ + "flash_bytes": 665662, + "flash_percentage": 21, + "ram_bytes": 36632, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/WiFiClientConnect", + "sizes": [{ + "flash_bytes": 654286, + "flash_percentage": 20, + "ram_bytes": 35384, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiClientEnterprise", + "sizes": [{ + "flash_bytes": 793206, + "flash_percentage": 25, + "ram_bytes": 37280, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/WiFiClientEvents", + "sizes": [{ + "flash_bytes": 654690, + "flash_percentage": 20, + "ram_bytes": 35376, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiClientStaticIP", + "sizes": [{ + "flash_bytes": 665198, + "flash_percentage": 21, + "ram_bytes": 36672, + "ram_percentage": 11 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3:PartitionScheme=huge_app", + "target": "esp32c3", + "sketches": [ +{"name": "WiFi/examples/WiFiIPv6", + "sizes": [{ + "flash_bytes": 713012, + "flash_percentage": 22, + "ram_bytes": 36044, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiMulti", + "sizes": [{ + "flash_bytes": 702622, + "flash_percentage": 22, + "ram_bytes": 34444, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiScan", + "sizes": [{ + "flash_bytes": 701748, + "flash_percentage": 22, + "ram_bytes": 34428, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiScanDualAntenna", + "sizes": [{ + "flash_bytes": 702242, + "flash_percentage": 22, + "ram_bytes": 34428, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiSmartConfig", + "sizes": [{ + "flash_bytes": 879906, + "flash_percentage": 27, + "ram_bytes": 35428, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiTelnetToSerial", + "sizes": [{ + "flash_bytes": 719826, + "flash_percentage": 22, + "ram_bytes": 35764, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiUDPClient", + "sizes": [{ + "flash_bytes": 709610, + "flash_percentage": 22, + "ram_bytes": 36060, + "ram_percentage": 11 + }] + }, +{"name": "WiFiClientSecure/examples/WiFiClientInsecure", + "sizes": [{ + "flash_bytes": 839004, + "flash_percentage": 26, + "ram_bytes": 36676, + "ram_percentage": 11 + }] + }, +{"name": "WiFiClientSecure/examples/WiFiClientPSK", + "sizes": [{ + "flash_bytes": 839094, + "flash_percentage": 26, + "ram_bytes": 36684, + "ram_percentage": 11 + }] + }, +{"name": "WiFiClientSecure/examples/WiFiClientSecure", + "sizes": [{ + "flash_bytes": 840196, + "flash_percentage": 26, + "ram_bytes": 36676, + "ram_percentage": 11 + }] + } +] +}, +{ "board": "espressif:esp32:esp32:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32", + "sketches": [ +{"name": "WiFi/examples/WPS", + "sizes": [{ + "flash_bytes": 756549, + "flash_percentage": 24, + "ram_bytes": 43572, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiAccessPoint", + "sizes": [{ + "flash_bytes": 751401, + "flash_percentage": 23, + "ram_bytes": 44652, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiBlueToothSwitch", + "sizes": [{ + "flash_bytes": 906021, + "flash_percentage": 28, + "ram_bytes": 47400, + "ram_percentage": 14 + }] + }, +{"name": "WiFi/examples/WiFiClient", + "sizes": [{ + "flash_bytes": 747085, + "flash_percentage": 23, + "ram_bytes": 44668, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiClientBasic", + "sizes": [{ + "flash_bytes": 748045, + "flash_percentage": 23, + "ram_bytes": 44620, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiClientConnect", + "sizes": [{ + "flash_bytes": 735465, + "flash_percentage": 23, + "ram_bytes": 43372, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiClientEnterprise", + "sizes": [{ + "flash_bytes": 878801, + "flash_percentage": 27, + "ram_bytes": 45292, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiClientEvents", + "sizes": [{ + "flash_bytes": 736073, + "flash_percentage": 23, + "ram_bytes": 43364, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiClientStaticIP", + "sizes": [{ + "flash_bytes": 747517, + "flash_percentage": 23, + "ram_bytes": 44660, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiIPv6", + "sizes": [{ + "flash_bytes": 744733, + "flash_percentage": 23, + "ram_bytes": 44972, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiMulti", + "sizes": [{ + "flash_bytes": 735481, + "flash_percentage": 23, + "ram_bytes": 43364, + "ram_percentage": 13 + }] + } +] +} +]} diff --git a/v2.x_cli_compile/cli_compile_13.json b/v2.x_cli_compile/cli_compile_13.json new file mode 100644 index 00000000000..8dd562a7833 --- /dev/null +++ b/v2.x_cli_compile/cli_compile_13.json @@ -0,0 +1,318 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32s3:PSRAM=opi,USBMode=default,PartitionScheme=huge_app", + "target": "esp32s3", + "sketches": [ +{"name": "WiFi/examples/WiFiUDPClient", + "sizes": [{ + "flash_bytes": 683305, + "flash_percentage": 21, + "ram_bytes": 41888, + "ram_percentage": 12 + }] + }, +{"name": "WiFiClientSecure/examples/WiFiClientInsecure", + "sizes": [{ + "flash_bytes": 814525, + "flash_percentage": 25, + "ram_bytes": 42504, + "ram_percentage": 12 + }] + }, +{"name": "WiFiClientSecure/examples/WiFiClientPSK", + "sizes": [{ + "flash_bytes": 814637, + "flash_percentage": 25, + "ram_bytes": 42512, + "ram_percentage": 12 + }] + }, +{"name": "WiFiClientSecure/examples/WiFiClientSecure", + "sizes": [{ + "flash_bytes": 815737, + "flash_percentage": 25, + "ram_bytes": 42504, + "ram_percentage": 12 + }] + }, +{"name": "WiFiClientSecure/examples/WiFiClientSecureEnterprise", + "sizes": [{ + "flash_bytes": 851277, + "flash_percentage": 27, + "ram_bytes": 42936, + "ram_percentage": 13 + }] + }, +{"name": "WiFiClientSecure/examples/WiFiClientShowPeerCredentials", + "sizes": [{ + "flash_bytes": 855233, + "flash_percentage": 27, + "ram_bytes": 42496, + "ram_percentage": 12 + }] + }, +{"name": "WiFiProv/examples/WiFiProv", + "sizes": [{ + "flash_bytes": 1320897, + "flash_percentage": 41, + "ram_bytes": 61324, + "ram_percentage": 18 + }] + }, +{"name": "Wire/examples/WireMaster", + "sizes": [{ + "flash_bytes": 278529, + "flash_percentage": 8, + "ram_bytes": 18944, + "ram_percentage": 5 + }] + }, +{"name": "Wire/examples/WireScan", + "sizes": [{ + "flash_bytes": 276833, + "flash_percentage": 8, + "ram_bytes": 18880, + "ram_percentage": 5 + }] + }, +{"name": "Wire/examples/WireSlave", + "sizes": [{ + "flash_bytes": 271601, + "flash_percentage": 8, + "ram_bytes": 18880, + "ram_percentage": 5 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32s2", + "sketches": [ +{"name": "WiFi/examples/WiFiIPv6", + "sizes": [{ + "flash_bytes": 662542, + "flash_percentage": 21, + "ram_bytes": 36984, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/WiFiMulti", + "sizes": [{ + "flash_bytes": 654030, + "flash_percentage": 20, + "ram_bytes": 35376, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiScan", + "sizes": [{ + "flash_bytes": 652950, + "flash_percentage": 20, + "ram_bytes": 35368, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiScanDualAntenna", + "sizes": [{ + "flash_bytes": 653582, + "flash_percentage": 20, + "ram_bytes": 35368, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiSmartConfig", + "sizes": [{ + "flash_bytes": 686330, + "flash_percentage": 21, + "ram_bytes": 35676, + "ram_percentage": 10 + }] + }, +{"name": "WiFi/examples/WiFiTelnetToSerial", + "sizes": [{ + "flash_bytes": 670310, + "flash_percentage": 21, + "ram_bytes": 36728, + "ram_percentage": 11 + }] + }, +{"name": "WiFi/examples/WiFiUDPClient", + "sizes": [{ + "flash_bytes": 660422, + "flash_percentage": 20, + "ram_bytes": 37000, + "ram_percentage": 11 + }] + }, +{"name": "WiFiClientSecure/examples/WiFiClientInsecure", + "sizes": [{ + "flash_bytes": 793202, + "flash_percentage": 25, + "ram_bytes": 37632, + "ram_percentage": 11 + }] + }, +{"name": "WiFiClientSecure/examples/WiFiClientPSK", + "sizes": [{ + "flash_bytes": 793294, + "flash_percentage": 25, + "ram_bytes": 37640, + "ram_percentage": 11 + }] + }, +{"name": "WiFiClientSecure/examples/WiFiClientSecure", + "sizes": [{ + "flash_bytes": 794398, + "flash_percentage": 25, + "ram_bytes": 37632, + "ram_percentage": 11 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3:PartitionScheme=huge_app", + "target": "esp32c3", + "sketches": [ +{"name": "WiFiClientSecure/examples/WiFiClientSecureEnterprise", + "sizes": [{ + "flash_bytes": 876754, + "flash_percentage": 27, + "ram_bytes": 37020, + "ram_percentage": 11 + }] + }, +{"name": "WiFiClientSecure/examples/WiFiClientShowPeerCredentials", + "sizes": [{ + "flash_bytes": 877266, + "flash_percentage": 27, + "ram_bytes": 36676, + "ram_percentage": 11 + }] + }, +{"name": "WiFiProv/examples/WiFiProv", + "sizes": [{ + "flash_bytes": 1444508, + "flash_percentage": 45, + "ram_bytes": 55620, + "ram_percentage": 16 + }] + }, +{"name": "Wire/examples/WireMaster", + "sizes": [{ + "flash_bytes": 257648, + "flash_percentage": 8, + "ram_bytes": 13988, + "ram_percentage": 4 + }] + }, +{"name": "Wire/examples/WireScan", + "sizes": [{ + "flash_bytes": 255672, + "flash_percentage": 8, + "ram_bytes": 13924, + "ram_percentage": 4 + }] + }, +{"name": "Wire/examples/WireSlave", + "sizes": [{ + "flash_bytes": 250308, + "flash_percentage": 7, + "ram_bytes": 13916, + "ram_percentage": 4 + }] + } +] +}, +{ "board": "espressif:esp32:esp32:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32", + "sketches": [ +{"name": "WiFi/examples/WiFiScan", + "sizes": [{ + "flash_bytes": 734289, + "flash_percentage": 23, + "ram_bytes": 43348, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiScanDualAntenna", + "sizes": [{ + "flash_bytes": 735285, + "flash_percentage": 23, + "ram_bytes": 43348, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiSmartConfig", + "sizes": [{ + "flash_bytes": 770425, + "flash_percentage": 24, + "ram_bytes": 43664, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiTelnetToSerial", + "sizes": [{ + "flash_bytes": 753097, + "flash_percentage": 23, + "ram_bytes": 44708, + "ram_percentage": 13 + }] + }, +{"name": "WiFi/examples/WiFiUDPClient", + "sizes": [{ + "flash_bytes": 742617, + "flash_percentage": 23, + "ram_bytes": 44988, + "ram_percentage": 13 + }] + }, +{"name": "WiFiClientSecure/examples/WiFiClientInsecure", + "sizes": [{ + "flash_bytes": 877873, + "flash_percentage": 27, + "ram_bytes": 45612, + "ram_percentage": 13 + }] + }, +{"name": "WiFiClientSecure/examples/WiFiClientPSK", + "sizes": [{ + "flash_bytes": 877989, + "flash_percentage": 27, + "ram_bytes": 45620, + "ram_percentage": 13 + }] + }, +{"name": "WiFiClientSecure/examples/WiFiClientSecure", + "sizes": [{ + "flash_bytes": 879085, + "flash_percentage": 27, + "ram_bytes": 45612, + "ram_percentage": 13 + }] + }, +{"name": "WiFiClientSecure/examples/WiFiClientSecureEnterprise", + "sizes": [{ + "flash_bytes": 915593, + "flash_percentage": 29, + "ram_bytes": 46084, + "ram_percentage": 14 + }] + }, +{"name": "WiFiClientSecure/examples/WiFiClientShowPeerCredentials", + "sizes": [{ + "flash_bytes": 920025, + "flash_percentage": 29, + "ram_bytes": 46624, + "ram_percentage": 14 + }] + }, +{"name": "WiFiProv/examples/WiFiProv", + "sizes": [{ + "flash_bytes": 1585685, + "flash_percentage": 50, + "ram_bytes": 56432, + "ram_percentage": 17 + }] + } +] +} +]} diff --git a/v2.x_cli_compile/cli_compile_14.json b/v2.x_cli_compile/cli_compile_14.json new file mode 100644 index 00000000000..22a3b4bc22d --- /dev/null +++ b/v2.x_cli_compile/cli_compile_14.json @@ -0,0 +1,84 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32s2:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32s2", + "sketches": [ +{"name": "WiFiClientSecure/examples/WiFiClientSecureEnterprise", + "sizes": [{ + "flash_bytes": 829754, + "flash_percentage": 26, + "ram_bytes": 38064, + "ram_percentage": 11 + }] + }, +{"name": "WiFiClientSecure/examples/WiFiClientShowPeerCredentials", + "sizes": [{ + "flash_bytes": 833762, + "flash_percentage": 26, + "ram_bytes": 37624, + "ram_percentage": 11 + }] + }, +{"name": "WiFiProv/examples/WiFiProv", + "sizes": [{ + "flash_bytes": 764982, + "flash_percentage": 24, + "ram_bytes": 35452, + "ram_percentage": 10 + }] + }, +{"name": "Wire/examples/WireMaster", + "sizes": [{ + "flash_bytes": 250942, + "flash_percentage": 7, + "ram_bytes": 14920, + "ram_percentage": 4 + }] + }, +{"name": "Wire/examples/WireScan", + "sizes": [{ + "flash_bytes": 249274, + "flash_percentage": 7, + "ram_bytes": 14856, + "ram_percentage": 4 + }] + }, +{"name": "Wire/examples/WireSlave", + "sizes": [{ + "flash_bytes": 244174, + "flash_percentage": 7, + "ram_bytes": 14848, + "ram_percentage": 4 + }] + } +] +}, +{ "board": "espressif:esp32:esp32:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32", + "sketches": [ +{"name": "Wire/examples/WireMaster", + "sizes": [{ + "flash_bytes": 295169, + "flash_percentage": 9, + "ram_bytes": 21872, + "ram_percentage": 6 + }] + }, +{"name": "Wire/examples/WireScan", + "sizes": [{ + "flash_bytes": 293413, + "flash_percentage": 9, + "ram_bytes": 21800, + "ram_percentage": 6 + }] + }, +{"name": "Wire/examples/WireSlave", + "sizes": [{ + "flash_bytes": 287861, + "flash_percentage": 9, + "ram_bytes": 21800, + "ram_percentage": 6 + }] + } +] +} +]} diff --git a/v2.x_cli_compile/cli_compile_2.json b/v2.x_cli_compile/cli_compile_2.json new file mode 100644 index 00000000000..04770dd8d9a --- /dev/null +++ b/v2.x_cli_compile/cli_compile_2.json @@ -0,0 +1,366 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32s3:PSRAM=opi,USBMode=default,PartitionScheme=huge_app", + "target": "esp32s3", + "sketches": [ +{"name": "ESP32/examples/AnalogOut/LEDCSoftwareFade", + "sizes": [{ + "flash_bytes": 242345, + "flash_percentage": 7, + "ram_bytes": 18264, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/AnalogOut/SigmaDelta", + "sizes": [{ + "flash_bytes": 238709, + "flash_percentage": 7, + "ram_bytes": 18248, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/AnalogOut/ledcFrequency", + "sizes": [{ + "flash_bytes": 253901, + "flash_percentage": 8, + "ram_bytes": 18344, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/AnalogOut/ledcWrite_RGB", + "sizes": [{ + "flash_bytes": 268637, + "flash_percentage": 8, + "ram_bytes": 18632, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/AnalogRead", + "sizes": [{ + "flash_bytes": 273853, + "flash_percentage": 8, + "ram_bytes": 18920, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/ArduinoStackSize", + "sizes": [{ + "flash_bytes": 263089, + "flash_percentage": 8, + "ram_bytes": 18544, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/CI/CIBoardsTest", + "sizes": [{ + "flash_bytes": 291357, + "flash_percentage": 9, + "ram_bytes": 19376, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/Camera/CameraWebServer", + "sizes": [{ + "flash_bytes": 2967053, + "flash_percentage": 94, + "ram_bytes": 71596, + "ram_percentage": 21 + }] + }, +{"name": "ESP32/examples/ChipID/GetChipID", + "sizes": [{ + "flash_bytes": 264625, + "flash_percentage": 8, + "ram_bytes": 18580, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/DeepSleep/ExternalWakeUp", + "sizes": [{ + "flash_bytes": 278557, + "flash_percentage": 8, + "ram_bytes": 19492, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/DeepSleep/TimerWakeUp", + "sizes": [{ + "flash_bytes": 278701, + "flash_percentage": 8, + "ram_bytes": 19492, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/DeepSleep/TouchWakeUp", + "sizes": [{ + "flash_bytes": 284889, + "flash_percentage": 9, + "ram_bytes": 19772, + "ram_percentage": 6 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32s2", + "sketches": [ +{"name": "ESP32/examples/DeepSleep/TouchWakeUp", + "sizes": [{ + "flash_bytes": 263422, + "flash_percentage": 8, + "ram_bytes": 18056, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/ESPNow/ESPNow_Basic_Master", + "sizes": [{ + "flash_bytes": 688810, + "flash_percentage": 21, + "ram_bytes": 35496, + "ram_percentage": 10 + }] + }, +{"name": "ESP32/examples/ESPNow/ESPNow_Basic_Slave", + "sizes": [{ + "flash_bytes": 656806, + "flash_percentage": 20, + "ram_bytes": 35436, + "ram_percentage": 10 + }] + }, +{"name": "ESP32/examples/ESPNow/ESPNow_MultiSlave_Master", + "sizes": [{ + "flash_bytes": 688094, + "flash_percentage": 21, + "ram_bytes": 36184, + "ram_percentage": 11 + }] + }, +{"name": "ESP32/examples/ESPNow/ESPNow_MultiSlave_Slave", + "sizes": [{ + "flash_bytes": 656914, + "flash_percentage": 20, + "ram_bytes": 35436, + "ram_percentage": 10 + }] + }, +{"name": "ESP32/examples/FreeRTOS/BasicMultiThreading", + "sizes": [{ + "flash_bytes": 253062, + "flash_percentage": 8, + "ram_bytes": 15024, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Mutex", + "sizes": [{ + "flash_bytes": 237138, + "flash_percentage": 7, + "ram_bytes": 14536, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Queue", + "sizes": [{ + "flash_bytes": 236906, + "flash_percentage": 7, + "ram_bytes": 14528, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Semaphore", + "sizes": [{ + "flash_bytes": 236258, + "flash_percentage": 7, + "ram_bytes": 14528, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/GPIO/BlinkRGB", + "sizes": [{ + "flash_bytes": 209654, + "flash_percentage": 6, + "ram_bytes": 14544, + "ram_percentage": 4 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3:PartitionScheme=huge_app", + "target": "esp32c3", + "sketches": [ +{"name": "DNSServer/examples/CaptivePortal", + "sizes": [{ + "flash_bytes": 698876, + "flash_percentage": 22, + "ram_bytes": 35876, + "ram_percentage": 10 + }] + }, +{"name": "EEPROM/examples/eeprom_class", + "sizes": [{ + "flash_bytes": 264286, + "flash_percentage": 8, + "ram_bytes": 13900, + "ram_percentage": 4 + }] + }, +{"name": "EEPROM/examples/eeprom_extra", + "sizes": [{ + "flash_bytes": 266024, + "flash_percentage": 8, + "ram_bytes": 13836, + "ram_percentage": 4 + }] + }, +{"name": "EEPROM/examples/eeprom_write", + "sizes": [{ + "flash_bytes": 245826, + "flash_percentage": 7, + "ram_bytes": 13724, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/AnalogOut/LEDCSoftwareFade", + "sizes": [{ + "flash_bytes": 224888, + "flash_percentage": 7, + "ram_bytes": 13492, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/AnalogOut/SigmaDelta", + "sizes": [{ + "flash_bytes": 221018, + "flash_percentage": 7, + "ram_bytes": 13476, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/AnalogOut/ledcFrequency", + "sizes": [{ + "flash_bytes": 227380, + "flash_percentage": 7, + "ram_bytes": 13532, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/AnalogOut/ledcWrite_RGB", + "sizes": [{ + "flash_bytes": 249166, + "flash_percentage": 7, + "ram_bytes": 13748, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/AnalogRead", + "sizes": [{ + "flash_bytes": 248742, + "flash_percentage": 7, + "ram_bytes": 13836, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/ArduinoStackSize", + "sizes": [{ + "flash_bytes": 243042, + "flash_percentage": 7, + "ram_bytes": 13692, + "ram_percentage": 4 + }] + } +] +}, +{ "board": "espressif:esp32:esp32:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32", + "sketches": [ +{"name": "BluetoothSerial/examples/bt_remove_paired_devices", + "sizes": [{ + "flash_bytes": 1090293, + "flash_percentage": 34, + "ram_bytes": 39168, + "ram_percentage": 11 + }] + }, +{"name": "DNSServer/examples/CaptivePortal", + "sizes": [{ + "flash_bytes": 728341, + "flash_percentage": 23, + "ram_bytes": 44668, + "ram_percentage": 13 + }] + }, +{"name": "EEPROM/examples/eeprom_class", + "sizes": [{ + "flash_bytes": 288981, + "flash_percentage": 9, + "ram_bytes": 21568, + "ram_percentage": 6 + }] + }, +{"name": "EEPROM/examples/eeprom_extra", + "sizes": [{ + "flash_bytes": 291089, + "flash_percentage": 9, + "ram_bytes": 21512, + "ram_percentage": 6 + }] + }, +{"name": "EEPROM/examples/eeprom_write", + "sizes": [{ + "flash_bytes": 287469, + "flash_percentage": 9, + "ram_bytes": 21620, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/AnalogOut/LEDCSoftwareFade", + "sizes": [{ + "flash_bytes": 256305, + "flash_percentage": 8, + "ram_bytes": 21216, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/AnalogOut/SigmaDelta", + "sizes": [{ + "flash_bytes": 252253, + "flash_percentage": 8, + "ram_bytes": 21152, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/AnalogOut/ledcFrequency", + "sizes": [{ + "flash_bytes": 267993, + "flash_percentage": 8, + "ram_bytes": 21288, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/AnalogOut/ledcWrite_RGB", + "sizes": [{ + "flash_bytes": 285697, + "flash_percentage": 9, + "ram_bytes": 21584, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/AnalogRead", + "sizes": [{ + "flash_bytes": 288073, + "flash_percentage": 9, + "ram_bytes": 21648, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/ArduinoStackSize", + "sizes": [{ + "flash_bytes": 279625, + "flash_percentage": 8, + "ram_bytes": 21472, + "ram_percentage": 6 + }] + } +] +} +]} diff --git a/v2.x_cli_compile/cli_compile_3.json b/v2.x_cli_compile/cli_compile_3.json new file mode 100644 index 00000000000..cf0a1d57d8b --- /dev/null +++ b/v2.x_cli_compile/cli_compile_3.json @@ -0,0 +1,366 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32s3:PSRAM=opi,USBMode=default,PartitionScheme=huge_app", + "target": "esp32s3", + "sketches": [ +{"name": "ESP32/examples/ESPNow/ESPNow_Basic_Master", + "sizes": [{ + "flash_bytes": 712225, + "flash_percentage": 22, + "ram_bytes": 40360, + "ram_percentage": 12 + }] + }, +{"name": "ESP32/examples/ESPNow/ESPNow_Basic_Slave", + "sizes": [{ + "flash_bytes": 679693, + "flash_percentage": 21, + "ram_bytes": 40308, + "ram_percentage": 12 + }] + }, +{"name": "ESP32/examples/ESPNow/ESPNow_MultiSlave_Master", + "sizes": [{ + "flash_bytes": 711545, + "flash_percentage": 22, + "ram_bytes": 41048, + "ram_percentage": 12 + }] + }, +{"name": "ESP32/examples/ESPNow/ESPNow_MultiSlave_Slave", + "sizes": [{ + "flash_bytes": 679805, + "flash_percentage": 21, + "ram_bytes": 40308, + "ram_percentage": 12 + }] + }, +{"name": "ESP32/examples/FreeRTOS/BasicMultiThreading", + "sizes": [{ + "flash_bytes": 281305, + "flash_percentage": 8, + "ram_bytes": 19376, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Mutex", + "sizes": [{ + "flash_bytes": 263821, + "flash_percentage": 8, + "ram_bytes": 18576, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Queue", + "sizes": [{ + "flash_bytes": 263877, + "flash_percentage": 8, + "ram_bytes": 18552, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Semaphore", + "sizes": [{ + "flash_bytes": 263329, + "flash_percentage": 8, + "ram_bytes": 18552, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/GPIO/BlinkRGB", + "sizes": [{ + "flash_bytes": 250625, + "flash_percentage": 7, + "ram_bytes": 18640, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/GPIO/FunctionalInterrupt", + "sizes": [{ + "flash_bytes": 268089, + "flash_percentage": 8, + "ram_bytes": 19176, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/GPIO/FunctionalInterruptStruct", + "sizes": [{ + "flash_bytes": 266585, + "flash_percentage": 8, + "ram_bytes": 19168, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/GPIO/GPIOInterrupt", + "sizes": [{ + "flash_bytes": 267241, + "flash_percentage": 8, + "ram_bytes": 19176, + "ram_percentage": 5 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32s2", + "sketches": [ +{"name": "ESP32/examples/GPIO/FunctionalInterrupt", + "sizes": [{ + "flash_bytes": 240978, + "flash_percentage": 7, + "ram_bytes": 15120, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/GPIO/FunctionalInterruptStruct", + "sizes": [{ + "flash_bytes": 239498, + "flash_percentage": 7, + "ram_bytes": 15128, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/GPIO/GPIOInterrupt", + "sizes": [{ + "flash_bytes": 240150, + "flash_percentage": 7, + "ram_bytes": 15128, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/RMT/RMTCallback", + "sizes": [{ + "flash_bytes": 243746, + "flash_percentage": 7, + "ram_bytes": 14824, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/RMT/RMTLoopback", + "sizes": [{ + "flash_bytes": 245994, + "flash_percentage": 7, + "ram_bytes": 16832, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/RMT/RMTReadXJT", + "sizes": [{ + "flash_bytes": 244178, + "flash_percentage": 7, + "ram_bytes": 14888, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/RMT/RMTWriteNeoPixel", + "sizes": [{ + "flash_bytes": 243694, + "flash_percentage": 7, + "ram_bytes": 17872, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/ResetReason", + "sizes": [{ + "flash_bytes": 257594, + "flash_percentage": 8, + "ram_bytes": 17768, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/Serial/OnReceiveError_BREAK_Demo", + "sizes": [{ + "flash_bytes": 238886, + "flash_percentage": 7, + "ram_bytes": 14568, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Serial/OnReceive_Demo", + "sizes": [{ + "flash_bytes": 237706, + "flash_percentage": 7, + "ram_bytes": 14536, + "ram_percentage": 4 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3:PartitionScheme=huge_app", + "target": "esp32c3", + "sketches": [ +{"name": "ESP32/examples/CI/CIBoardsTest", + "sizes": [{ + "flash_bytes": 268090, + "flash_percentage": 8, + "ram_bytes": 14212, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/ChipID/GetChipID", + "sizes": [{ + "flash_bytes": 243722, + "flash_percentage": 7, + "ram_bytes": 13728, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/DeepSleep/TimerWakeUp", + "sizes": [{ + "flash_bytes": 257176, + "flash_percentage": 8, + "ram_bytes": 14720, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/ESPNow/ESPNow_Basic_Master", + "sizes": [{ + "flash_bytes": 736754, + "flash_percentage": 23, + "ram_bytes": 34548, + "ram_percentage": 10 + }] + }, +{"name": "ESP32/examples/ESPNow/ESPNow_Basic_Slave", + "sizes": [{ + "flash_bytes": 703450, + "flash_percentage": 22, + "ram_bytes": 34500, + "ram_percentage": 10 + }] + }, +{"name": "ESP32/examples/ESPNow/ESPNow_MultiSlave_Master", + "sizes": [{ + "flash_bytes": 735584, + "flash_percentage": 23, + "ram_bytes": 35244, + "ram_percentage": 10 + }] + }, +{"name": "ESP32/examples/ESPNow/ESPNow_MultiSlave_Slave", + "sizes": [{ + "flash_bytes": 703750, + "flash_percentage": 22, + "ram_bytes": 34500, + "ram_percentage": 10 + }] + }, +{"name": "ESP32/examples/FreeRTOS/BasicMultiThreading", + "sizes": [{ + "flash_bytes": 255990, + "flash_percentage": 8, + "ram_bytes": 14060, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Mutex", + "sizes": [{ + "flash_bytes": 243776, + "flash_percentage": 7, + "ram_bytes": 13708, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Queue", + "sizes": [{ + "flash_bytes": 243862, + "flash_percentage": 7, + "ram_bytes": 13692, + "ram_percentage": 4 + }] + } +] +}, +{ "board": "espressif:esp32:esp32:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32", + "sketches": [ +{"name": "ESP32/examples/CI/CIBoardsTest", + "sizes": [{ + "flash_bytes": 298857, + "flash_percentage": 9, + "ram_bytes": 21880, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Camera/CameraWebServer", + "sizes": [{ + "flash_bytes": 1517793, + "flash_percentage": 48, + "ram_bytes": 71228, + "ram_percentage": 21 + }] + }, +{"name": "ESP32/examples/ChipID/GetChipID", + "sizes": [{ + "flash_bytes": 281809, + "flash_percentage": 8, + "ram_bytes": 21516, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/DeepSleep/ExternalWakeUp", + "sizes": [{ + "flash_bytes": 296449, + "flash_percentage": 9, + "ram_bytes": 22792, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/DeepSleep/SmoothBlink_ULP_Code", + "sizes": [{ + "flash_bytes": 299281, + "flash_percentage": 9, + "ram_bytes": 22792, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/DeepSleep/TimerWakeUp", + "sizes": [{ + "flash_bytes": 296425, + "flash_percentage": 9, + "ram_bytes": 22792, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/DeepSleep/TouchWakeUp", + "sizes": [{ + "flash_bytes": 305029, + "flash_percentage": 9, + "ram_bytes": 23304, + "ram_percentage": 7 + }] + }, +{"name": "ESP32/examples/ESPNow/ESPNow_Basic_Master", + "sizes": [{ + "flash_bytes": 772993, + "flash_percentage": 24, + "ram_bytes": 43484, + "ram_percentage": 13 + }] + }, +{"name": "ESP32/examples/ESPNow/ESPNow_Basic_Slave", + "sizes": [{ + "flash_bytes": 738261, + "flash_percentage": 23, + "ram_bytes": 43424, + "ram_percentage": 13 + }] + }, +{"name": "ESP32/examples/ESPNow/ESPNow_MultiSlave_Master", + "sizes": [{ + "flash_bytes": 772257, + "flash_percentage": 24, + "ram_bytes": 44172, + "ram_percentage": 13 + }] + }, +{"name": "ESP32/examples/ESPNow/ESPNow_MultiSlave_Slave", + "sizes": [{ + "flash_bytes": 738353, + "flash_percentage": 23, + "ram_bytes": 43424, + "ram_percentage": 13 + }] + } +] +} +]} diff --git a/v2.x_cli_compile/cli_compile_4.json b/v2.x_cli_compile/cli_compile_4.json new file mode 100644 index 00000000000..5124bd62660 --- /dev/null +++ b/v2.x_cli_compile/cli_compile_4.json @@ -0,0 +1,366 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32s3:PSRAM=opi,USBMode=default,PartitionScheme=huge_app", + "target": "esp32s3", + "sketches": [ +{"name": "ESP32/examples/HWCDC_Events", + "sizes": [{ + "flash_bytes": 235717, + "flash_percentage": 7, + "ram_bytes": 18168, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/RMT/RMTCallback", + "sizes": [{ + "flash_bytes": 272793, + "flash_percentage": 8, + "ram_bytes": 19040, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/RMT/RMTLoopback", + "sizes": [{ + "flash_bytes": 275249, + "flash_percentage": 8, + "ram_bytes": 21048, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/RMT/RMTReadXJT", + "sizes": [{ + "flash_bytes": 273217, + "flash_percentage": 8, + "ram_bytes": 19088, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/RMT/RMTWriteNeoPixel", + "sizes": [{ + "flash_bytes": 272317, + "flash_percentage": 8, + "ram_bytes": 22072, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/ResetReason", + "sizes": [{ + "flash_bytes": 278781, + "flash_percentage": 8, + "ram_bytes": 19484, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/Serial/OnReceiveError_BREAK_Demo", + "sizes": [{ + "flash_bytes": 265845, + "flash_percentage": 8, + "ram_bytes": 18584, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/Serial/OnReceive_Demo", + "sizes": [{ + "flash_bytes": 264661, + "flash_percentage": 8, + "ram_bytes": 18552, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/Serial/RxFIFOFull_Demo", + "sizes": [{ + "flash_bytes": 264013, + "flash_percentage": 8, + "ram_bytes": 18544, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/Serial/RxTimeout_Demo", + "sizes": [{ + "flash_bytes": 263857, + "flash_percentage": 8, + "ram_bytes": 18560, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/Serial/Serial_All_CPU_Freqs", + "sizes": [{ + "flash_bytes": 263973, + "flash_percentage": 8, + "ram_bytes": 18576, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/Serial/Serial_STD_Func_OnReceive", + "sizes": [{ + "flash_bytes": 264465, + "flash_percentage": 8, + "ram_bytes": 18544, + "ram_percentage": 5 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32s2", + "sketches": [ +{"name": "ESP32/examples/Serial/RxFIFOFull_Demo", + "sizes": [{ + "flash_bytes": 237062, + "flash_percentage": 7, + "ram_bytes": 14528, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Serial/RxTimeout_Demo", + "sizes": [{ + "flash_bytes": 236878, + "flash_percentage": 7, + "ram_bytes": 14528, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Serial/Serial_All_CPU_Freqs", + "sizes": [{ + "flash_bytes": 236886, + "flash_percentage": 7, + "ram_bytes": 14536, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Serial/Serial_STD_Func_OnReceive", + "sizes": [{ + "flash_bytes": 237802, + "flash_percentage": 7, + "ram_bytes": 14528, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/TWAI/TWAIreceive", + "sizes": [{ + "flash_bytes": 242086, + "flash_percentage": 7, + "ram_bytes": 14552, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/TWAI/TWAItransmit", + "sizes": [{ + "flash_bytes": 242598, + "flash_percentage": 7, + "ram_bytes": 14560, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Template/ExampleTemplate", + "sizes": [{ + "flash_bytes": 196166, + "flash_percentage": 6, + "ram_bytes": 14248, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Time/SimpleTime", + "sizes": [{ + "flash_bytes": 678354, + "flash_percentage": 21, + "ram_bytes": 36784, + "ram_percentage": 11 + }] + }, +{"name": "ESP32/examples/Timer/RepeatTimer", + "sizes": [{ + "flash_bytes": 228974, + "flash_percentage": 7, + "ram_bytes": 14592, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Timer/WatchdogTimer", + "sizes": [{ + "flash_bytes": 228606, + "flash_percentage": 7, + "ram_bytes": 14576, + "ram_percentage": 4 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3:PartitionScheme=huge_app", + "target": "esp32c3", + "sketches": [ +{"name": "ESP32/examples/FreeRTOS/Semaphore", + "sizes": [{ + "flash_bytes": 243220, + "flash_percentage": 7, + "ram_bytes": 13692, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/GPIO/BlinkRGB", + "sizes": [{ + "flash_bytes": 232886, + "flash_percentage": 7, + "ram_bytes": 13684, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/GPIO/FunctionalInterrupt", + "sizes": [{ + "flash_bytes": 246928, + "flash_percentage": 7, + "ram_bytes": 13980, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/GPIO/FunctionalInterruptStruct", + "sizes": [{ + "flash_bytes": 246388, + "flash_percentage": 7, + "ram_bytes": 13972, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/GPIO/GPIOInterrupt", + "sizes": [{ + "flash_bytes": 247024, + "flash_percentage": 7, + "ram_bytes": 13980, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/HWCDC_Events", + "sizes": [{ + "flash_bytes": 261638, + "flash_percentage": 8, + "ram_bytes": 14076, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/RMT/RMTCallback", + "sizes": [{ + "flash_bytes": 252396, + "flash_percentage": 8, + "ram_bytes": 13972, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/RMT/RMTLoopback", + "sizes": [{ + "flash_bytes": 255006, + "flash_percentage": 8, + "ram_bytes": 15988, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/RMT/RMTReadXJT", + "sizes": [{ + "flash_bytes": 252918, + "flash_percentage": 8, + "ram_bytes": 14020, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/RMT/RMTWriteNeoPixel", + "sizes": [{ + "flash_bytes": 251926, + "flash_percentage": 8, + "ram_bytes": 17012, + "ram_percentage": 5 + }] + } +] +}, +{ "board": "espressif:esp32:esp32:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32", + "sketches": [ +{"name": "ESP32/examples/FreeRTOS/BasicMultiThreading", + "sizes": [{ + "flash_bytes": 286609, + "flash_percentage": 9, + "ram_bytes": 21656, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Mutex", + "sizes": [{ + "flash_bytes": 280717, + "flash_percentage": 8, + "ram_bytes": 21588, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Queue", + "sizes": [{ + "flash_bytes": 280429, + "flash_percentage": 8, + "ram_bytes": 21472, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/FreeRTOS/Semaphore", + "sizes": [{ + "flash_bytes": 279865, + "flash_percentage": 8, + "ram_bytes": 21472, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/GPIO/BlinkRGB", + "sizes": [{ + "flash_bytes": 248525, + "flash_percentage": 7, + "ram_bytes": 21040, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/GPIO/FunctionalInterrupt", + "sizes": [{ + "flash_bytes": 284697, + "flash_percentage": 9, + "ram_bytes": 21976, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/GPIO/FunctionalInterruptStruct", + "sizes": [{ + "flash_bytes": 283161, + "flash_percentage": 9, + "ram_bytes": 21968, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/GPIO/GPIOInterrupt", + "sizes": [{ + "flash_bytes": 283833, + "flash_percentage": 9, + "ram_bytes": 21976, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/HallSensor", + "sizes": [{ + "flash_bytes": 284369, + "flash_percentage": 9, + "ram_bytes": 21480, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/I2S/HiFreq_ADC", + "sizes": [{ + "flash_bytes": 303785, + "flash_percentage": 9, + "ram_bytes": 21616, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/RMT/RMTCallback", + "sizes": [{ + "flash_bytes": 287729, + "flash_percentage": 9, + "ram_bytes": 21976, + "ram_percentage": 6 + }] + } +] +} +]} diff --git a/v2.x_cli_compile/cli_compile_5.json b/v2.x_cli_compile/cli_compile_5.json new file mode 100644 index 00000000000..65fa35be282 --- /dev/null +++ b/v2.x_cli_compile/cli_compile_5.json @@ -0,0 +1,366 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32s3:PSRAM=opi,USBMode=default,PartitionScheme=huge_app", + "target": "esp32s3", + "sketches": [ +{"name": "ESP32/examples/TWAI/TWAIreceive", + "sizes": [{ + "flash_bytes": 269105, + "flash_percentage": 8, + "ram_bytes": 18576, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/TWAI/TWAItransmit", + "sizes": [{ + "flash_bytes": 269429, + "flash_percentage": 8, + "ram_bytes": 18584, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/Template/ExampleTemplate", + "sizes": [{ + "flash_bytes": 235717, + "flash_percentage": 7, + "ram_bytes": 18168, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/Time/SimpleTime", + "sizes": [{ + "flash_bytes": 701753, + "flash_percentage": 22, + "ram_bytes": 41640, + "ram_percentage": 12 + }] + }, +{"name": "ESP32/examples/Timer/RepeatTimer", + "sizes": [{ + "flash_bytes": 270801, + "flash_percentage": 8, + "ram_bytes": 18624, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/Timer/WatchdogTimer", + "sizes": [{ + "flash_bytes": 270381, + "flash_percentage": 8, + "ram_bytes": 18600, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/Touch/TouchButtonV2", + "sizes": [{ + "flash_bytes": 268945, + "flash_percentage": 8, + "ram_bytes": 18856, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/Touch/TouchInterrupt", + "sizes": [{ + "flash_bytes": 268845, + "flash_percentage": 8, + "ram_bytes": 18856, + "ram_percentage": 5 + }] + }, +{"name": "ESP32/examples/Touch/TouchRead", + "sizes": [{ + "flash_bytes": 269041, + "flash_percentage": 8, + "ram_bytes": 18832, + "ram_percentage": 5 + }] + }, +{"name": "ESPmDNS/examples/mDNS-SD_Extended", + "sizes": [{ + "flash_bytes": 700313, + "flash_percentage": 22, + "ram_bytes": 42152, + "ram_percentage": 12 + }] + }, +{"name": "ESPmDNS/examples/mDNS_Web_Server", + "sizes": [{ + "flash_bytes": 716257, + "flash_percentage": 22, + "ram_bytes": 43440, + "ram_percentage": 13 + }] + }, +{"name": "FFat/examples/FFat_Test", + "sizes": [{ + "flash_bytes": 318437, + "flash_percentage": 10, + "ram_bytes": 19292, + "ram_percentage": 5 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32s2", + "sketches": [ +{"name": "ESP32/examples/Touch/TouchButtonV2", + "sizes": [{ + "flash_bytes": 227110, + "flash_percentage": 7, + "ram_bytes": 14824, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Touch/TouchInterrupt", + "sizes": [{ + "flash_bytes": 227010, + "flash_percentage": 7, + "ram_bytes": 14824, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Touch/TouchRead", + "sizes": [{ + "flash_bytes": 227170, + "flash_percentage": 7, + "ram_bytes": 14816, + "ram_percentage": 4 + }] + }, +{"name": "ESPmDNS/examples/mDNS-SD_Extended", + "sizes": [{ + "flash_bytes": 677466, + "flash_percentage": 21, + "ram_bytes": 37304, + "ram_percentage": 11 + }] + }, +{"name": "ESPmDNS/examples/mDNS_Web_Server", + "sizes": [{ + "flash_bytes": 693046, + "flash_percentage": 22, + "ram_bytes": 38592, + "ram_percentage": 11 + }] + }, +{"name": "FFat/examples/FFat_Test", + "sizes": [{ + "flash_bytes": 291278, + "flash_percentage": 9, + "ram_bytes": 15268, + "ram_percentage": 4 + }] + }, +{"name": "FFat/examples/FFat_time", + "sizes": [{ + "flash_bytes": 714470, + "flash_percentage": 22, + "ram_bytes": 36908, + "ram_percentage": 11 + }] + }, +{"name": "HTTPClient/examples/Authorization", + "sizes": [{ + "flash_bytes": 831282, + "flash_percentage": 26, + "ram_bytes": 37656, + "ram_percentage": 11 + }] + }, +{"name": "HTTPClient/examples/BasicHttpClient", + "sizes": [{ + "flash_bytes": 831274, + "flash_percentage": 26, + "ram_bytes": 37656, + "ram_percentage": 11 + }] + }, +{"name": "HTTPClient/examples/BasicHttpsClient", + "sizes": [{ + "flash_bytes": 836662, + "flash_percentage": 26, + "ram_bytes": 37688, + "ram_percentage": 11 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3:PartitionScheme=huge_app", + "target": "esp32c3", + "sketches": [ +{"name": "ESP32/examples/ResetReason", + "sizes": [{ + "flash_bytes": 257350, + "flash_percentage": 8, + "ram_bytes": 14720, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Serial/OnReceiveError_BREAK_Demo", + "sizes": [{ + "flash_bytes": 246020, + "flash_percentage": 7, + "ram_bytes": 13724, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Serial/OnReceive_Demo", + "sizes": [{ + "flash_bytes": 244732, + "flash_percentage": 7, + "ram_bytes": 13700, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Serial/RxFIFOFull_Demo", + "sizes": [{ + "flash_bytes": 244158, + "flash_percentage": 7, + "ram_bytes": 13692, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Serial/RxTimeout_Demo", + "sizes": [{ + "flash_bytes": 243942, + "flash_percentage": 7, + "ram_bytes": 13700, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Serial/Serial_All_CPU_Freqs", + "sizes": [{ + "flash_bytes": 244150, + "flash_percentage": 7, + "ram_bytes": 13708, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Serial/Serial_STD_Func_OnReceive", + "sizes": [{ + "flash_bytes": 244458, + "flash_percentage": 7, + "ram_bytes": 13692, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/TWAI/TWAIreceive", + "sizes": [{ + "flash_bytes": 248880, + "flash_percentage": 7, + "ram_bytes": 13700, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/TWAI/TWAItransmit", + "sizes": [{ + "flash_bytes": 249204, + "flash_percentage": 7, + "ram_bytes": 13700, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Template/ExampleTemplate", + "sizes": [{ + "flash_bytes": 217764, + "flash_percentage": 6, + "ram_bytes": 13412, + "ram_percentage": 4 + }] + } +] +}, +{ "board": "espressif:esp32:esp32:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32", + "sketches": [ +{"name": "ESP32/examples/RMT/RMTLoopback", + "sizes": [{ + "flash_bytes": 290085, + "flash_percentage": 9, + "ram_bytes": 23984, + "ram_percentage": 7 + }] + }, +{"name": "ESP32/examples/RMT/RMTReadXJT", + "sizes": [{ + "flash_bytes": 288193, + "flash_percentage": 9, + "ram_bytes": 22024, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/RMT/RMTWriteNeoPixel", + "sizes": [{ + "flash_bytes": 287549, + "flash_percentage": 9, + "ram_bytes": 25024, + "ram_percentage": 7 + }] + }, +{"name": "ESP32/examples/ResetReason", + "sizes": [{ + "flash_bytes": 296533, + "flash_percentage": 9, + "ram_bytes": 22792, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/OnReceiveError_BREAK_Demo", + "sizes": [{ + "flash_bytes": 282477, + "flash_percentage": 8, + "ram_bytes": 21496, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/OnReceive_Demo", + "sizes": [{ + "flash_bytes": 281269, + "flash_percentage": 8, + "ram_bytes": 21480, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/RxFIFOFull_Demo", + "sizes": [{ + "flash_bytes": 280581, + "flash_percentage": 8, + "ram_bytes": 21472, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/RxTimeout_Demo", + "sizes": [{ + "flash_bytes": 280401, + "flash_percentage": 8, + "ram_bytes": 21472, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/Serial_All_CPU_Freqs", + "sizes": [{ + "flash_bytes": 280413, + "flash_percentage": 8, + "ram_bytes": 21488, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Serial/Serial_STD_Func_OnReceive", + "sizes": [{ + "flash_bytes": 281417, + "flash_percentage": 8, + "ram_bytes": 21580, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/TWAI/TWAIreceive", + "sizes": [{ + "flash_bytes": 286217, + "flash_percentage": 9, + "ram_bytes": 21520, + "ram_percentage": 6 + }] + } +] +} +]} diff --git a/v2.x_cli_compile/cli_compile_6.json b/v2.x_cli_compile/cli_compile_6.json new file mode 100644 index 00000000000..9bb544916aa --- /dev/null +++ b/v2.x_cli_compile/cli_compile_6.json @@ -0,0 +1,366 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32s3:PSRAM=opi,USBMode=default,PartitionScheme=huge_app", + "target": "esp32s3", + "sketches": [ +{"name": "FFat/examples/FFat_time", + "sizes": [{ + "flash_bytes": 737869, + "flash_percentage": 23, + "ram_bytes": 41764, + "ram_percentage": 12 + }] + }, +{"name": "HTTPClient/examples/Authorization", + "sizes": [{ + "flash_bytes": 852737, + "flash_percentage": 27, + "ram_bytes": 42512, + "ram_percentage": 12 + }] + }, +{"name": "HTTPClient/examples/BasicHttpClient", + "sizes": [{ + "flash_bytes": 852737, + "flash_percentage": 27, + "ram_bytes": 42512, + "ram_percentage": 12 + }] + }, +{"name": "HTTPClient/examples/BasicHttpsClient", + "sizes": [{ + "flash_bytes": 858141, + "flash_percentage": 27, + "ram_bytes": 42560, + "ram_percentage": 12 + }] + }, +{"name": "HTTPClient/examples/HTTPClientEnterprise", + "sizes": [{ + "flash_bytes": 886677, + "flash_percentage": 28, + "ram_bytes": 42936, + "ram_percentage": 13 + }] + }, +{"name": "HTTPClient/examples/ReuseConnection", + "sizes": [{ + "flash_bytes": 851773, + "flash_percentage": 27, + "ram_bytes": 42704, + "ram_percentage": 13 + }] + }, +{"name": "HTTPClient/examples/StreamHttpClient", + "sizes": [{ + "flash_bytes": 851605, + "flash_percentage": 27, + "ram_bytes": 42512, + "ram_percentage": 12 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdate", + "sizes": [{ + "flash_bytes": 757517, + "flash_percentage": 24, + "ram_bytes": 42380, + "ram_percentage": 12 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdateSPIFFS", + "sizes": [{ + "flash_bytes": 756841, + "flash_percentage": 24, + "ram_bytes": 42380, + "ram_percentage": 12 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdateSecure", + "sizes": [{ + "flash_bytes": 880541, + "flash_percentage": 27, + "ram_bytes": 43324, + "ram_percentage": 13 + }] + }, +{"name": "HTTPUpdateServer/examples/WebUpdater", + "sizes": [{ + "flash_bytes": 768921, + "flash_percentage": 24, + "ram_bytes": 44544, + "ram_percentage": 13 + }] + }, +{"name": "I2S/examples/ADCPlotter", + "sizes": [{ + "flash_bytes": 282029, + "flash_percentage": 8, + "ram_bytes": 18712, + "ram_percentage": 5 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32s2", + "sketches": [ +{"name": "HTTPClient/examples/HTTPClientEnterprise", + "sizes": [{ + "flash_bytes": 864882, + "flash_percentage": 27, + "ram_bytes": 38080, + "ram_percentage": 11 + }] + }, +{"name": "HTTPClient/examples/ReuseConnection", + "sizes": [{ + "flash_bytes": 830258, + "flash_percentage": 26, + "ram_bytes": 37848, + "ram_percentage": 11 + }] + }, +{"name": "HTTPClient/examples/StreamHttpClient", + "sizes": [{ + "flash_bytes": 830106, + "flash_percentage": 26, + "ram_bytes": 37656, + "ram_percentage": 11 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdate", + "sizes": [{ + "flash_bytes": 731334, + "flash_percentage": 23, + "ram_bytes": 37312, + "ram_percentage": 11 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdateSPIFFS", + "sizes": [{ + "flash_bytes": 730674, + "flash_percentage": 23, + "ram_bytes": 37312, + "ram_percentage": 11 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdateSecure", + "sizes": [{ + "flash_bytes": 856254, + "flash_percentage": 27, + "ram_bytes": 38264, + "ram_percentage": 11 + }] + }, +{"name": "HTTPUpdateServer/examples/WebUpdater", + "sizes": [{ + "flash_bytes": 744978, + "flash_percentage": 23, + "ram_bytes": 39520, + "ram_percentage": 12 + }] + }, +{"name": "I2S/examples/ADCPlotter", + "sizes": [{ + "flash_bytes": 237090, + "flash_percentage": 7, + "ram_bytes": 14672, + "ram_percentage": 4 + }] + }, +{"name": "I2S/examples/FullDuplex", + "sizes": [{ + "flash_bytes": 237122, + "flash_percentage": 7, + "ram_bytes": 14672, + "ram_percentage": 4 + }] + }, +{"name": "I2S/examples/InputSerialPlotter", + "sizes": [{ + "flash_bytes": 237098, + "flash_percentage": 7, + "ram_bytes": 14672, + "ram_percentage": 4 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3:PartitionScheme=huge_app", + "target": "esp32c3", + "sketches": [ +{"name": "ESP32/examples/Time/SimpleTime", + "sizes": [{ + "flash_bytes": 726508, + "flash_percentage": 23, + "ram_bytes": 35828, + "ram_percentage": 10 + }] + }, +{"name": "ESP32/examples/Timer/RepeatTimer", + "sizes": [{ + "flash_bytes": 250806, + "flash_percentage": 7, + "ram_bytes": 13724, + "ram_percentage": 4 + }] + }, +{"name": "ESP32/examples/Timer/WatchdogTimer", + "sizes": [{ + "flash_bytes": 250408, + "flash_percentage": 7, + "ram_bytes": 13708, + "ram_percentage": 4 + }] + }, +{"name": "ESPmDNS/examples/mDNS-SD_Extended", + "sizes": [{ + "flash_bytes": 728660, + "flash_percentage": 23, + "ram_bytes": 36348, + "ram_percentage": 11 + }] + }, +{"name": "ESPmDNS/examples/mDNS_Web_Server", + "sizes": [{ + "flash_bytes": 746362, + "flash_percentage": 23, + "ram_bytes": 37628, + "ram_percentage": 11 + }] + }, +{"name": "FFat/examples/FFat_Test", + "sizes": [{ + "flash_bytes": 300304, + "flash_percentage": 9, + "ram_bytes": 14436, + "ram_percentage": 4 + }] + }, +{"name": "FFat/examples/FFat_time", + "sizes": [{ + "flash_bytes": 764694, + "flash_percentage": 24, + "ram_bytes": 35948, + "ram_percentage": 10 + }] + }, +{"name": "HTTPClient/examples/Authorization", + "sizes": [{ + "flash_bytes": 875318, + "flash_percentage": 27, + "ram_bytes": 36700, + "ram_percentage": 11 + }] + }, +{"name": "HTTPClient/examples/BasicHttpClient", + "sizes": [{ + "flash_bytes": 875310, + "flash_percentage": 27, + "ram_bytes": 36700, + "ram_percentage": 11 + }] + }, +{"name": "HTTPClient/examples/BasicHttpsClient", + "sizes": [{ + "flash_bytes": 881022, + "flash_percentage": 28, + "ram_bytes": 36740, + "ram_percentage": 11 + }] + } +] +}, +{ "board": "espressif:esp32:esp32:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32", + "sketches": [ +{"name": "ESP32/examples/TWAI/TWAItransmit", + "sizes": [{ + "flash_bytes": 286477, + "flash_percentage": 9, + "ram_bytes": 21520, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Template/ExampleTemplate", + "sizes": [{ + "flash_bytes": 248525, + "flash_percentage": 7, + "ram_bytes": 21040, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Time/SimpleTime", + "sizes": [{ + "flash_bytes": 761717, + "flash_percentage": 24, + "ram_bytes": 45916, + "ram_percentage": 14 + }] + }, +{"name": "ESP32/examples/Timer/RepeatTimer", + "sizes": [{ + "flash_bytes": 287233, + "flash_percentage": 9, + "ram_bytes": 21536, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Timer/WatchdogTimer", + "sizes": [{ + "flash_bytes": 286809, + "flash_percentage": 9, + "ram_bytes": 21504, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Touch/TouchButton", + "sizes": [{ + "flash_bytes": 288249, + "flash_percentage": 9, + "ram_bytes": 21976, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Touch/TouchInterrupt", + "sizes": [{ + "flash_bytes": 287429, + "flash_percentage": 9, + "ram_bytes": 21976, + "ram_percentage": 6 + }] + }, +{"name": "ESP32/examples/Touch/TouchRead", + "sizes": [{ + "flash_bytes": 287521, + "flash_percentage": 9, + "ram_bytes": 21976, + "ram_percentage": 6 + }] + }, +{"name": "ESPmDNS/examples/mDNS-SD_Extended", + "sizes": [{ + "flash_bytes": 760809, + "flash_percentage": 24, + "ram_bytes": 45276, + "ram_percentage": 13 + }] + }, +{"name": "ESPmDNS/examples/mDNS_Web_Server", + "sizes": [{ + "flash_bytes": 777689, + "flash_percentage": 24, + "ram_bytes": 46564, + "ram_percentage": 14 + }] + }, +{"name": "Ethernet/examples/ETH_LAN8720", + "sizes": [{ + "flash_bytes": 783325, + "flash_percentage": 24, + "ram_bytes": 44644, + "ram_percentage": 13 + }] + } +] +} +]} diff --git a/v2.x_cli_compile/cli_compile_7.json b/v2.x_cli_compile/cli_compile_7.json new file mode 100644 index 00000000000..fd7e182c50f --- /dev/null +++ b/v2.x_cli_compile/cli_compile_7.json @@ -0,0 +1,366 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32s3:PSRAM=opi,USBMode=default,PartitionScheme=huge_app", + "target": "esp32s3", + "sketches": [ +{"name": "I2S/examples/FullDuplex", + "sizes": [{ + "flash_bytes": 282061, + "flash_percentage": 8, + "ram_bytes": 18720, + "ram_percentage": 5 + }] + }, +{"name": "I2S/examples/InputSerialPlotter", + "sizes": [{ + "flash_bytes": 282037, + "flash_percentage": 8, + "ram_bytes": 18712, + "ram_percentage": 5 + }] + }, +{"name": "I2S/examples/SimpleTone", + "sizes": [{ + "flash_bytes": 282009, + "flash_percentage": 8, + "ram_bytes": 18720, + "ram_percentage": 5 + }] + }, +{"name": "Insights/examples/DiagnosticsSmokeTest", + "sizes": [{ + "flash_bytes": 852253, + "flash_percentage": 27, + "ram_bytes": 44088, + "ram_percentage": 13 + }] + }, +{"name": "Insights/examples/MinimalDiagnostics", + "sizes": [{ + "flash_bytes": 851725, + "flash_percentage": 27, + "ram_bytes": 43968, + "ram_percentage": 13 + }] + }, +{"name": "LittleFS/examples/LITTLEFS_test", + "sizes": [{ + "flash_bytes": 304769, + "flash_percentage": 9, + "ram_bytes": 19096, + "ram_percentage": 5 + }] + }, +{"name": "LittleFS/examples/LITTLEFS_time", + "sizes": [{ + "flash_bytes": 738317, + "flash_percentage": 23, + "ram_bytes": 41680, + "ram_percentage": 12 + }] + }, +{"name": "NetBIOS/examples/ESP_NBNST", + "sizes": [{ + "flash_bytes": 680053, + "flash_percentage": 21, + "ram_bytes": 40296, + "ram_percentage": 12 + }] + }, +{"name": "Preferences/examples/Prefs2Struct", + "sizes": [{ + "flash_bytes": 270653, + "flash_percentage": 8, + "ram_bytes": 18568, + "ram_percentage": 5 + }] + }, +{"name": "Preferences/examples/StartCounter", + "sizes": [{ + "flash_bytes": 271357, + "flash_percentage": 8, + "ram_bytes": 18576, + "ram_percentage": 5 + }] + }, +{"name": "RainMaker/examples/RMakerCustom", + "sizes": [{ + "flash_bytes": 1668329, + "flash_percentage": 53, + "ram_bytes": 66484, + "ram_percentage": 20 + }] + }, +{"name": "RainMaker/examples/RMakerCustomAirCooler", + "sizes": [{ + "flash_bytes": 1655465, + "flash_percentage": 52, + "ram_bytes": 66596, + "ram_percentage": 20 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32s2", + "sketches": [ +{"name": "I2S/examples/SimpleTone", + "sizes": [{ + "flash_bytes": 237074, + "flash_percentage": 7, + "ram_bytes": 14680, + "ram_percentage": 4 + }] + }, +{"name": "Insights/examples/DiagnosticsSmokeTest", + "sizes": [{ + "flash_bytes": 830682, + "flash_percentage": 26, + "ram_bytes": 39216, + "ram_percentage": 11 + }] + }, +{"name": "Insights/examples/MinimalDiagnostics", + "sizes": [{ + "flash_bytes": 830158, + "flash_percentage": 26, + "ram_bytes": 39096, + "ram_percentage": 11 + }] + }, +{"name": "LittleFS/examples/LITTLEFS_test", + "sizes": [{ + "flash_bytes": 278218, + "flash_percentage": 8, + "ram_bytes": 15072, + "ram_percentage": 4 + }] + }, +{"name": "LittleFS/examples/LITTLEFS_time", + "sizes": [{ + "flash_bytes": 715518, + "flash_percentage": 22, + "ram_bytes": 36824, + "ram_percentage": 11 + }] + }, +{"name": "NetBIOS/examples/ESP_NBNST", + "sizes": [{ + "flash_bytes": 657194, + "flash_percentage": 20, + "ram_bytes": 35440, + "ram_percentage": 10 + }] + }, +{"name": "Preferences/examples/Prefs2Struct", + "sizes": [{ + "flash_bytes": 243678, + "flash_percentage": 7, + "ram_bytes": 14552, + "ram_percentage": 4 + }] + }, +{"name": "Preferences/examples/StartCounter", + "sizes": [{ + "flash_bytes": 244394, + "flash_percentage": 7, + "ram_bytes": 14552, + "ram_percentage": 4 + }] + }, +{"name": "RainMaker/examples/RMakerCustom", + "sizes": [{ + "flash_bytes": 1109890, + "flash_percentage": 35, + "ram_bytes": 40412, + "ram_percentage": 12 + }] + }, +{"name": "RainMaker/examples/RMakerCustomAirCooler", + "sizes": [{ + "flash_bytes": 1097046, + "flash_percentage": 34, + "ram_bytes": 40536, + "ram_percentage": 12 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3:PartitionScheme=huge_app", + "target": "esp32c3", + "sketches": [ +{"name": "HTTPClient/examples/HTTPClientEnterprise", + "sizes": [{ + "flash_bytes": 909746, + "flash_percentage": 28, + "ram_bytes": 37044, + "ram_percentage": 11 + }] + }, +{"name": "HTTPClient/examples/ReuseConnection", + "sizes": [{ + "flash_bytes": 874404, + "flash_percentage": 27, + "ram_bytes": 36892, + "ram_percentage": 11 + }] + }, +{"name": "HTTPClient/examples/StreamHttpClient", + "sizes": [{ + "flash_bytes": 874028, + "flash_percentage": 27, + "ram_bytes": 36700, + "ram_percentage": 11 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdate", + "sizes": [{ + "flash_bytes": 771178, + "flash_percentage": 24, + "ram_bytes": 36324, + "ram_percentage": 11 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdateSPIFFS", + "sizes": [{ + "flash_bytes": 770794, + "flash_percentage": 24, + "ram_bytes": 36324, + "ram_percentage": 11 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdateSecure", + "sizes": [{ + "flash_bytes": 901396, + "flash_percentage": 28, + "ram_bytes": 37284, + "ram_percentage": 11 + }] + }, +{"name": "HTTPUpdateServer/examples/WebUpdater", + "sizes": [{ + "flash_bytes": 796606, + "flash_percentage": 25, + "ram_bytes": 38540, + "ram_percentage": 11 + }] + }, +{"name": "Insights/examples/DiagnosticsSmokeTest", + "sizes": [{ + "flash_bytes": 890348, + "flash_percentage": 28, + "ram_bytes": 38260, + "ram_percentage": 11 + }] + }, +{"name": "Insights/examples/MinimalDiagnostics", + "sizes": [{ + "flash_bytes": 889830, + "flash_percentage": 28, + "ram_bytes": 38148, + "ram_percentage": 11 + }] + }, +{"name": "LittleFS/examples/LITTLEFS_test", + "sizes": [{ + "flash_bytes": 289886, + "flash_percentage": 9, + "ram_bytes": 14236, + "ram_percentage": 4 + }] + } +] +}, +{ "board": "espressif:esp32:esp32:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32", + "sketches": [ +{"name": "Ethernet/examples/ETH_TLK110", + "sizes": [{ + "flash_bytes": 783329, + "flash_percentage": 24, + "ram_bytes": 44644, + "ram_percentage": 13 + }] + }, +{"name": "FFat/examples/FFat_Test", + "sizes": [{ + "flash_bytes": 337917, + "flash_percentage": 10, + "ram_bytes": 22480, + "ram_percentage": 6 + }] + }, +{"name": "FFat/examples/FFat_time", + "sizes": [{ + "flash_bytes": 799617, + "flash_percentage": 25, + "ram_bytes": 45252, + "ram_percentage": 13 + }] + }, +{"name": "HTTPClient/examples/Authorization", + "sizes": [{ + "flash_bytes": 917653, + "flash_percentage": 29, + "ram_bytes": 46648, + "ram_percentage": 14 + }] + }, +{"name": "HTTPClient/examples/BasicHttpClient", + "sizes": [{ + "flash_bytes": 917637, + "flash_percentage": 29, + "ram_bytes": 46648, + "ram_percentage": 14 + }] + }, +{"name": "HTTPClient/examples/BasicHttpsClient", + "sizes": [{ + "flash_bytes": 923193, + "flash_percentage": 29, + "ram_bytes": 46848, + "ram_percentage": 14 + }] + }, +{"name": "HTTPClient/examples/HTTPClientEnterprise", + "sizes": [{ + "flash_bytes": 952337, + "flash_percentage": 30, + "ram_bytes": 47088, + "ram_percentage": 14 + }] + }, +{"name": "HTTPClient/examples/ReuseConnection", + "sizes": [{ + "flash_bytes": 916593, + "flash_percentage": 29, + "ram_bytes": 46840, + "ram_percentage": 14 + }] + }, +{"name": "HTTPClient/examples/StreamHttpClient", + "sizes": [{ + "flash_bytes": 916417, + "flash_percentage": 29, + "ram_bytes": 46648, + "ram_percentage": 14 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdate", + "sizes": [{ + "flash_bytes": 808953, + "flash_percentage": 25, + "ram_bytes": 46060, + "ram_percentage": 14 + }] + }, +{"name": "HTTPUpdate/examples/httpUpdateSPIFFS", + "sizes": [{ + "flash_bytes": 808257, + "flash_percentage": 25, + "ram_bytes": 46060, + "ram_percentage": 14 + }] + } +] +} +]} diff --git a/v2.x_cli_compile/cli_compile_8.json b/v2.x_cli_compile/cli_compile_8.json new file mode 100644 index 00000000000..a18568cffcb --- /dev/null +++ b/v2.x_cli_compile/cli_compile_8.json @@ -0,0 +1,366 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32s3:PSRAM=opi,USBMode=default,PartitionScheme=huge_app", + "target": "esp32s3", + "sketches": [ +{"name": "RainMaker/examples/RMakerSonoffDualR3", + "sizes": [{ + "flash_bytes": 1671221, + "flash_percentage": 53, + "ram_bytes": 67084, + "ram_percentage": 20 + }] + }, +{"name": "RainMaker/examples/RMakerSwitch", + "sizes": [{ + "flash_bytes": 1678461, + "flash_percentage": 53, + "ram_bytes": 66516, + "ram_percentage": 20 + }] + }, +{"name": "SD/examples/SD_Test", + "sizes": [{ + "flash_bytes": 332685, + "flash_percentage": 10, + "ram_bytes": 19732, + "ram_percentage": 6 + }] + }, +{"name": "SD/examples/SD_time", + "sizes": [{ + "flash_bytes": 752357, + "flash_percentage": 23, + "ram_bytes": 42188, + "ram_percentage": 12 + }] + }, +{"name": "SD_MMC/examples/SDMMC_Test", + "sizes": [{ + "flash_bytes": 346101, + "flash_percentage": 11, + "ram_bytes": 19612, + "ram_percentage": 5 + }] + }, +{"name": "SD_MMC/examples/SDMMC_time", + "sizes": [{ + "flash_bytes": 768401, + "flash_percentage": 24, + "ram_bytes": 42112, + "ram_percentage": 12 + }] + }, +{"name": "SPI/examples/SPI_Multiple_Buses", + "sizes": [{ + "flash_bytes": 258209, + "flash_percentage": 8, + "ram_bytes": 18712, + "ram_percentage": 5 + }] + }, +{"name": "SPIFFS/examples/SPIFFS_Test", + "sizes": [{ + "flash_bytes": 298757, + "flash_percentage": 9, + "ram_bytes": 19088, + "ram_percentage": 5 + }] + }, +{"name": "SPIFFS/examples/SPIFFS_time", + "sizes": [{ + "flash_bytes": 732945, + "flash_percentage": 23, + "ram_bytes": 41664, + "ram_percentage": 12 + }] + }, +{"name": "SimpleBLE/examples/SimpleBleDevice", + "sizes": [{ + "flash_bytes": 863333, + "flash_percentage": 27, + "ram_bytes": 44188, + "ram_percentage": 13 + }] + }, +{"name": "Ticker/examples/Arguments", + "sizes": [{ + "flash_bytes": 275141, + "flash_percentage": 8, + "ram_bytes": 19024, + "ram_percentage": 5 + }] + }, +{"name": "Ticker/examples/Blinker", + "sizes": [{ + "flash_bytes": 254001, + "flash_percentage": 8, + "ram_bytes": 18656, + "ram_percentage": 5 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32s2", + "sketches": [ +{"name": "RainMaker/examples/RMakerSonoffDualR3", + "sizes": [{ + "flash_bytes": 1112582, + "flash_percentage": 35, + "ram_bytes": 40996, + "ram_percentage": 12 + }] + }, +{"name": "RainMaker/examples/RMakerSwitch", + "sizes": [{ + "flash_bytes": 1119890, + "flash_percentage": 35, + "ram_bytes": 40452, + "ram_percentage": 12 + }] + }, +{"name": "SD/examples/SD_Test", + "sizes": [{ + "flash_bytes": 303722, + "flash_percentage": 9, + "ram_bytes": 15540, + "ram_percentage": 4 + }] + }, +{"name": "SD/examples/SD_time", + "sizes": [{ + "flash_bytes": 727066, + "flash_percentage": 23, + "ram_bytes": 37164, + "ram_percentage": 11 + }] + }, +{"name": "SPI/examples/SPI_Multiple_Buses", + "sizes": [{ + "flash_bytes": 216082, + "flash_percentage": 6, + "ram_bytes": 14632, + "ram_percentage": 4 + }] + }, +{"name": "SPIFFS/examples/SPIFFS_Test", + "sizes": [{ + "flash_bytes": 272610, + "flash_percentage": 8, + "ram_bytes": 15064, + "ram_percentage": 4 + }] + }, +{"name": "SPIFFS/examples/SPIFFS_time", + "sizes": [{ + "flash_bytes": 710170, + "flash_percentage": 22, + "ram_bytes": 36816, + "ram_percentage": 11 + }] + }, +{"name": "Ticker/examples/Arguments", + "sizes": [{ + "flash_bytes": 246510, + "flash_percentage": 7, + "ram_bytes": 14824, + "ram_percentage": 4 + }] + }, +{"name": "Ticker/examples/Blinker", + "sizes": [{ + "flash_bytes": 212970, + "flash_percentage": 6, + "ram_bytes": 14568, + "ram_percentage": 4 + }] + }, +{"name": "USB/examples/CompositeDevice", + "sizes": [{ + "flash_bytes": 314226, + "flash_percentage": 9, + "ram_bytes": 27244, + "ram_percentage": 8 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3:PartitionScheme=huge_app", + "target": "esp32c3", + "sketches": [ +{"name": "LittleFS/examples/LITTLEFS_time", + "sizes": [{ + "flash_bytes": 767682, + "flash_percentage": 24, + "ram_bytes": 35852, + "ram_percentage": 10 + }] + }, +{"name": "NetBIOS/examples/ESP_NBNST", + "sizes": [{ + "flash_bytes": 705940, + "flash_percentage": 22, + "ram_bytes": 34484, + "ram_percentage": 10 + }] + }, +{"name": "Preferences/examples/Prefs2Struct", + "sizes": [{ + "flash_bytes": 245088, + "flash_percentage": 7, + "ram_bytes": 13716, + "ram_percentage": 4 + }] + }, +{"name": "Preferences/examples/StartCounter", + "sizes": [{ + "flash_bytes": 249070, + "flash_percentage": 7, + "ram_bytes": 13716, + "ram_percentage": 4 + }] + }, +{"name": "RainMaker/examples/RMakerCustom", + "sizes": [{ + "flash_bytes": 1797460, + "flash_percentage": 57, + "ram_bytes": 59012, + "ram_percentage": 18 + }] + }, +{"name": "RainMaker/examples/RMakerCustomAirCooler", + "sizes": [{ + "flash_bytes": 1783272, + "flash_percentage": 56, + "ram_bytes": 59076, + "ram_percentage": 18 + }] + }, +{"name": "RainMaker/examples/RMakerSonoffDualR3", + "sizes": [{ + "flash_bytes": 1799672, + "flash_percentage": 57, + "ram_bytes": 59284, + "ram_percentage": 18 + }] + }, +{"name": "RainMaker/examples/RMakerSwitch", + "sizes": [{ + "flash_bytes": 1822800, + "flash_percentage": 57, + "ram_bytes": 60604, + "ram_percentage": 18 + }] + }, +{"name": "SD/examples/SD_Test", + "sizes": [{ + "flash_bytes": 311602, + "flash_percentage": 9, + "ram_bytes": 14660, + "ram_percentage": 4 + }] + }, +{"name": "SD/examples/SD_time", + "sizes": [{ + "flash_bytes": 776168, + "flash_percentage": 24, + "ram_bytes": 36172, + "ram_percentage": 11 + }] + } +] +}, +{ "board": "espressif:esp32:esp32:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32", + "sketches": [ +{"name": "HTTPUpdate/examples/httpUpdateSecure", + "sizes": [{ + "flash_bytes": 936209, + "flash_percentage": 29, + "ram_bytes": 47180, + "ram_percentage": 14 + }] + }, +{"name": "HTTPUpdateServer/examples/WebUpdater", + "sizes": [{ + "flash_bytes": 821853, + "flash_percentage": 26, + "ram_bytes": 47220, + "ram_percentage": 14 + }] + }, +{"name": "I2S/examples/ADCPlotter", + "sizes": [{ + "flash_bytes": 304429, + "flash_percentage": 9, + "ram_bytes": 21648, + "ram_percentage": 6 + }] + }, +{"name": "I2S/examples/FullDuplex", + "sizes": [{ + "flash_bytes": 304441, + "flash_percentage": 9, + "ram_bytes": 21656, + "ram_percentage": 6 + }] + }, +{"name": "I2S/examples/InputSerialPlotter", + "sizes": [{ + "flash_bytes": 304437, + "flash_percentage": 9, + "ram_bytes": 21648, + "ram_percentage": 6 + }] + }, +{"name": "I2S/examples/SimpleTone", + "sizes": [{ + "flash_bytes": 304417, + "flash_percentage": 9, + "ram_bytes": 21656, + "ram_percentage": 6 + }] + }, +{"name": "Insights/examples/DiagnosticsSmokeTest", + "sizes": [{ + "flash_bytes": 915669, + "flash_percentage": 29, + "ram_bytes": 47188, + "ram_percentage": 14 + }] + }, +{"name": "Insights/examples/MinimalDiagnostics", + "sizes": [{ + "flash_bytes": 915121, + "flash_percentage": 29, + "ram_bytes": 47068, + "ram_percentage": 14 + }] + }, +{"name": "LittleFS/examples/LITTLEFS_test", + "sizes": [{ + "flash_bytes": 323293, + "flash_percentage": 10, + "ram_bytes": 22016, + "ram_percentage": 6 + }] + }, +{"name": "LittleFS/examples/LITTLEFS_time", + "sizes": [{ + "flash_bytes": 799829, + "flash_percentage": 25, + "ram_bytes": 45072, + "ram_percentage": 13 + }] + }, +{"name": "NetBIOS/examples/ESP_NBNST", + "sizes": [{ + "flash_bytes": 738973, + "flash_percentage": 23, + "ram_bytes": 43420, + "ram_percentage": 13 + }] + } +] +} +]} diff --git a/v2.x_cli_compile/cli_compile_9.json b/v2.x_cli_compile/cli_compile_9.json new file mode 100644 index 00000000000..556236bb7f0 --- /dev/null +++ b/v2.x_cli_compile/cli_compile_9.json @@ -0,0 +1,366 @@ +{"boards": [ +{ "board": "espressif:esp32:esp32s3:PSRAM=opi,USBMode=default,PartitionScheme=huge_app", + "target": "esp32s3", + "sketches": [ +{"name": "USB/examples/CompositeDevice", + "sizes": [{ + "flash_bytes": 352577, + "flash_percentage": 11, + "ram_bytes": 31724, + "ram_percentage": 9 + }] + }, +{"name": "USB/examples/ConsumerControl", + "sizes": [{ + "flash_bytes": 292873, + "flash_percentage": 9, + "ram_bytes": 30948, + "ram_percentage": 9 + }] + }, +{"name": "USB/examples/CustomHIDDevice", + "sizes": [{ + "flash_bytes": 310913, + "flash_percentage": 9, + "ram_bytes": 31300, + "ram_percentage": 9 + }] + }, +{"name": "USB/examples/FirmwareMSC", + "sizes": [{ + "flash_bytes": 340761, + "flash_percentage": 10, + "ram_bytes": 31356, + "ram_percentage": 9 + }] + }, +{"name": "USB/examples/Gamepad", + "sizes": [{ + "flash_bytes": 311237, + "flash_percentage": 9, + "ram_bytes": 31308, + "ram_percentage": 9 + }] + }, +{"name": "USB/examples/HIDVendor", + "sizes": [{ + "flash_bytes": 313353, + "flash_percentage": 9, + "ram_bytes": 31380, + "ram_percentage": 9 + }] + }, +{"name": "USB/examples/Keyboard/KeyboardLogout", + "sizes": [{ + "flash_bytes": 293909, + "flash_percentage": 9, + "ram_bytes": 30964, + "ram_percentage": 9 + }] + }, +{"name": "USB/examples/Keyboard/KeyboardMessage", + "sizes": [{ + "flash_bytes": 294045, + "flash_percentage": 9, + "ram_bytes": 30964, + "ram_percentage": 9 + }] + }, +{"name": "USB/examples/Keyboard/KeyboardReprogram", + "sizes": [{ + "flash_bytes": 294249, + "flash_percentage": 9, + "ram_bytes": 30964, + "ram_percentage": 9 + }] + }, +{"name": "USB/examples/Keyboard/KeyboardSerial", + "sizes": [{ + "flash_bytes": 311161, + "flash_percentage": 9, + "ram_bytes": 31308, + "ram_percentage": 9 + }] + }, +{"name": "USB/examples/KeyboardAndMouseControl", + "sizes": [{ + "flash_bytes": 311761, + "flash_percentage": 9, + "ram_bytes": 31316, + "ram_percentage": 9 + }] + }, +{"name": "USB/examples/Mouse/ButtonMouseControl", + "sizes": [{ + "flash_bytes": 293133, + "flash_percentage": 9, + "ram_bytes": 30948, + "ram_percentage": 9 + }] + } +] +}, +{ "board": "espressif:esp32:esp32s2:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32s2", + "sketches": [ +{"name": "USB/examples/ConsumerControl", + "sizes": [{ + "flash_bytes": 254062, + "flash_percentage": 8, + "ram_bytes": 26604, + "ram_percentage": 8 + }] + }, +{"name": "USB/examples/CustomHIDDevice", + "sizes": [{ + "flash_bytes": 274350, + "flash_percentage": 8, + "ram_bytes": 26820, + "ram_percentage": 8 + }] + }, +{"name": "USB/examples/FirmwareMSC", + "sizes": [{ + "flash_bytes": 302338, + "flash_percentage": 9, + "ram_bytes": 26868, + "ram_percentage": 8 + }] + }, +{"name": "USB/examples/Gamepad", + "sizes": [{ + "flash_bytes": 274690, + "flash_percentage": 8, + "ram_bytes": 26836, + "ram_percentage": 8 + }] + }, +{"name": "USB/examples/HIDVendor", + "sizes": [{ + "flash_bytes": 276810, + "flash_percentage": 8, + "ram_bytes": 26916, + "ram_percentage": 8 + }] + }, +{"name": "USB/examples/Keyboard/KeyboardLogout", + "sizes": [{ + "flash_bytes": 255094, + "flash_percentage": 8, + "ram_bytes": 26620, + "ram_percentage": 8 + }] + }, +{"name": "USB/examples/Keyboard/KeyboardMessage", + "sizes": [{ + "flash_bytes": 255230, + "flash_percentage": 8, + "ram_bytes": 26620, + "ram_percentage": 8 + }] + }, +{"name": "USB/examples/Keyboard/KeyboardReprogram", + "sizes": [{ + "flash_bytes": 255442, + "flash_percentage": 8, + "ram_bytes": 26620, + "ram_percentage": 8 + }] + }, +{"name": "USB/examples/Keyboard/KeyboardSerial", + "sizes": [{ + "flash_bytes": 272854, + "flash_percentage": 8, + "ram_bytes": 26836, + "ram_percentage": 8 + }] + }, +{"name": "USB/examples/KeyboardAndMouseControl", + "sizes": [{ + "flash_bytes": 275222, + "flash_percentage": 8, + "ram_bytes": 26844, + "ram_percentage": 8 + }] + } +] +}, +{ "board": "espressif:esp32:esp32c3:PartitionScheme=huge_app", + "target": "esp32c3", + "sketches": [ +{"name": "SPIFFS/examples/SPIFFS_Test", + "sizes": [{ + "flash_bytes": 283072, + "flash_percentage": 8, + "ram_bytes": 14228, + "ram_percentage": 4 + }] + }, +{"name": "SPIFFS/examples/SPIFFS_time", + "sizes": [{ + "flash_bytes": 761398, + "flash_percentage": 24, + "ram_bytes": 35852, + "ram_percentage": 10 + }] + }, +{"name": "Ticker/examples/Arguments", + "sizes": [{ + "flash_bytes": 254262, + "flash_percentage": 8, + "ram_bytes": 13956, + "ram_percentage": 4 + }] + }, +{"name": "Ticker/examples/Blinker", + "sizes": [{ + "flash_bytes": 236012, + "flash_percentage": 7, + "ram_bytes": 13700, + "ram_percentage": 4 + }] + }, +{"name": "Update/examples/AWS_S3_OTA_Update", + "sizes": [{ + "flash_bytes": 731638, + "flash_percentage": 23, + "ram_bytes": 36188, + "ram_percentage": 11 + }] + }, +{"name": "Update/examples/HTTPS_OTA_Update", + "sizes": [{ + "flash_bytes": 871088, + "flash_percentage": 27, + "ram_bytes": 36580, + "ram_percentage": 11 + }] + }, +{"name": "Update/examples/SD_Update", + "sizes": [{ + "flash_bytes": 312918, + "flash_percentage": 9, + "ram_bytes": 14324, + "ram_percentage": 4 + }] + }, +{"name": "WebServer/examples/AdvancedWebServer", + "sizes": [{ + "flash_bytes": 789266, + "flash_percentage": 25, + "ram_bytes": 38268, + "ram_percentage": 11 + }] + }, +{"name": "WebServer/examples/FSBrowser", + "sizes": [{ + "flash_bytes": 824582, + "flash_percentage": 26, + "ram_bytes": 38204, + "ram_percentage": 11 + }] + }, +{"name": "WebServer/examples/HelloServer", + "sizes": [{ + "flash_bytes": 788116, + "flash_percentage": 25, + "ram_bytes": 38268, + "ram_percentage": 11 + }] + } +] +}, +{ "board": "espressif:esp32:esp32:PSRAM=enabled,PartitionScheme=huge_app", + "target": "esp32", + "sketches": [ +{"name": "Preferences/examples/Prefs2Struct", + "sizes": [{ + "flash_bytes": 287413, + "flash_percentage": 9, + "ram_bytes": 21496, + "ram_percentage": 6 + }] + }, +{"name": "Preferences/examples/StartCounter", + "sizes": [{ + "flash_bytes": 288141, + "flash_percentage": 9, + "ram_bytes": 21496, + "ram_percentage": 6 + }] + }, +{"name": "RainMaker/examples/RMakerCustom", + "sizes": [{ + "flash_bytes": 1934577, + "flash_percentage": 61, + "ram_bytes": 62368, + "ram_percentage": 19 + }] + }, +{"name": "RainMaker/examples/RMakerCustomAirCooler", + "sizes": [{ + "flash_bytes": 1912137, + "flash_percentage": 60, + "ram_bytes": 62504, + "ram_percentage": 19 + }] + }, +{"name": "RainMaker/examples/RMakerSonoffDualR3", + "sizes": [{ + "flash_bytes": 1937737, + "flash_percentage": 61, + "ram_bytes": 62864, + "ram_percentage": 19 + }] + }, +{"name": "RainMaker/examples/RMakerSwitch", + "sizes": [{ + "flash_bytes": 1945433, + "flash_percentage": 61, + "ram_bytes": 62408, + "ram_percentage": 19 + }] + }, +{"name": "SD/examples/SD_Test", + "sizes": [{ + "flash_bytes": 342761, + "flash_percentage": 10, + "ram_bytes": 22488, + "ram_percentage": 6 + }] + }, +{"name": "SD/examples/SD_time", + "sizes": [{ + "flash_bytes": 804281, + "flash_percentage": 25, + "ram_bytes": 45260, + "ram_percentage": 13 + }] + }, +{"name": "SD_MMC/examples/SDMMC_Test", + "sizes": [{ + "flash_bytes": 365289, + "flash_percentage": 11, + "ram_bytes": 22852, + "ram_percentage": 6 + }] + }, +{"name": "SD_MMC/examples/SDMMC_time", + "sizes": [{ + "flash_bytes": 830225, + "flash_percentage": 26, + "ram_bytes": 45672, + "ram_percentage": 13 + }] + }, +{"name": "SPI/examples/SPI_Multiple_Buses", + "sizes": [{ + "flash_bytes": 260045, + "flash_percentage": 8, + "ram_bytes": 21208, + "ram_percentage": 6 + }] + } +] +} +]}