h2zero / NimBLE-Arduino

A fork of the NimBLE library structured for compilation with Arduino, for use with ESP32, nRF5x.
https://h2zero.github.io/NimBLE-Arduino/
Apache License 2.0
707 stars 146 forks source link

Higher Flash and Ram usage than ESP32 BLE Arduino #276

Closed Nailik closed 2 years ago

Nailik commented 3 years ago

Hi, i switched to this library from ESP32 BLE Arduino 1.0.1 in order to have a smaller programm, but it increased:

Before

RAM:   [==        ]  15.2% (used 49884 bytes from 327680 bytes)
Flash: [=====     ]  54.3% (used 1138746 bytes from 2097152 bytes)
Full Output Before ``` C:\Users\kilia\.platformio\penv\Scripts\platformio.exe -c clion run --target upload -e featheresp32 Processing featheresp32 (platform: espressif32; board: featheresp32; framework: arduino) ------------------------------------------------------------------------------------------------------------------------ Verbose mode can be enabled via `-v, --verbose` option CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/featheresp32.html PLATFORM: Espressif 32 (3.3.1) > Adafruit ESP32 Feather HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa) PACKAGES: - framework-arduinoespressif32 3.10006.210326 (1.0.6) - tool-esptoolpy 1.30100.210531 (3.1.0) - tool-mkspiffs 2.230.0 (2.30) - toolchain-xtensa32 2.50200.97 (5.2.0) LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf LDF Modes: Finder ~ chain, Compatibility ~ soft Found 46 compatible libraries Scanning dependencies... Dependency Graph |-- 1.1.8 | |-- 1.0.1 | |-- 1.10.10 | | |-- 1.8.2 | | | |-- 1.0.1 | | | |-- 1.0 | | |-- 1.0.1 | | |-- 1.0 |-- 1.8.2 | |-- 1.0.1 | |-- 1.0 |-- 1.8.5 |-- 0.7.4 |-- 1.2.3 | |-- 1.1.1 | |-- 1.0 | |-- 1.0 | |-- 6.18.3 |-- 1.0.1 |-- 1.0 | |-- 1.0 | |-- 1.0 | |-- 1.0 | | |-- 1.0 |-- 1.0 |-- 1.0 | |-- 1.0 |-- 1.0 | |-- 1.0 |-- 1.10.10 | |-- 1.8.2 | | |-- 1.0.1 | | |-- 1.0 | |-- 1.0.1 | |-- 1.0 |-- 1.0 |-- 1.0.1 |-- 6.18.3 |-- 1.0 |-- 1.0 | |-- 1.0 | |-- 1.0 |-- 1.1.1 |-- 1.1.0 | |-- 1.0 Building in release mode Compiling .pio\build\featheresp32\src\Bluetooth.cpp.o Compiling .pio\build\featheresp32\src\Button.cpp.o Compiling .pio\build\featheresp32\src\Calibration.cpp.o Compiling .pio\build\featheresp32\src\Configuration.cpp.o Compiling .pio\build\featheresp32\src\Display.cpp.o Compiling .pio\build\featheresp32\src\Logger.cpp.o Compiling .pio\build\featheresp32\src\Logic.cpp.o Compiling .pio\build\featheresp32\src\Ota.cpp.o Compiling .pio\build\featheresp32\src\OtaConnection.cpp.o Compiling .pio\build\featheresp32\src\OtaServer.cpp.o Compiling .pio\build\featheresp32\src\Sensor.cpp.o Compiling .pio\build\featheresp32\src\Sound.cpp.o Compiling .pio\build\featheresp32\src\Status.cpp.o Compiling .pio\build\featheresp32\src\main.cpp.o Generating partitions .pio\build\featheresp32\partitions.bin Compiling .pio\build\featheresp32\lib78e\Wire\Wire.cpp.o Compiling .pio\build\featheresp32\lib4c4\SPI\SPI.cpp.o Compiling .pio\build\featheresp32\libd60\Adafruit BusIO\Adafruit_BusIO_Register.cpp.o Archiving .pio\build\featheresp32\lib4c4\libSPI.a Compiling .pio\build\featheresp32\libd60\Adafruit BusIO\Adafruit_I2CDevice.cpp.o Compiling .pio\build\featheresp32\libd60\Adafruit BusIO\Adafruit_SPIDevice.cpp.o Compiling .pio\build\featheresp32\libd2a\Adafruit GFX Library\Adafruit_GFX.cpp.o Compiling .pio\build\featheresp32\libd2a\Adafruit GFX Library\Adafruit_GrayOLED.cpp.o Archiving .pio\build\featheresp32\lib78e\libWire.a Compiling .pio\build\featheresp32\libd2a\Adafruit GFX Library\Adafruit_SPITFT.cpp.o Compiling .pio\build\featheresp32\libd2a\Adafruit GFX Library\glcdfont.c.o Compiling .pio\build\featheresp32\liba9f\Adafruit LED Backpack Library\Adafruit_LEDBackpack.cpp.o Compiling .pio\build\featheresp32\libdd9\Adafruit NeoPixel\Adafruit_NeoPixel.cpp.o Archiving .pio\build\featheresp32\libd60\libAdafruit BusIO.a Compiling .pio\build\featheresp32\libdd9\Adafruit NeoPixel\esp.c.o Compiling .pio\build\featheresp32\libdd9\Adafruit NeoPixel\esp8266.c.o Compiling .pio\build\featheresp32\libdd9\Adafruit NeoPixel\kendyte_k210.c.o Compiling .pio\build\featheresp32\libdd9\Adafruit NeoPixel\rp2040.c.o Compiling .pio\build\featheresp32\libe02\HX711\HX711.cpp.o Archiving .pio\build\featheresp32\libd2a\libAdafruit GFX Library.a Compiling .pio\build\featheresp32\lib773\AsyncTCP\AsyncTCP.cpp.o Compiling .pio\build\featheresp32\liba55\FS\FS.cpp.o Compiling .pio\build\featheresp32\liba55\FS\vfs_api.cpp.o Compiling .pio\build\featheresp32\libb43\WiFi\ETH.cpp.o Compiling .pio\build\featheresp32\libb43\WiFi\WiFi.cpp.o Archiving .pio\build\featheresp32\libdd9\libAdafruit NeoPixel.a Archiving .pio\build\featheresp32\liba9f\libAdafruit LED Backpack Library.a Compiling .pio\build\featheresp32\libb43\WiFi\WiFiAP.cpp.o Compiling .pio\build\featheresp32\libb43\WiFi\WiFiClient.cpp.o Archiving .pio\build\featheresp32\libe02\libHX711.a Compiling .pio\build\featheresp32\libb43\WiFi\WiFiGeneric.cpp.o Compiling .pio\build\featheresp32\libb43\WiFi\WiFiMulti.cpp.o Archiving .pio\build\featheresp32\lib773\libAsyncTCP.a Archiving .pio\build\featheresp32\liba55\libFS.a Compiling .pio\build\featheresp32\libb43\WiFi\WiFiSTA.cpp.o Compiling .pio\build\featheresp32\libb43\WiFi\WiFiScan.cpp.o Compiling .pio\build\featheresp32\libb43\WiFi\WiFiServer.cpp.o Compiling .pio\build\featheresp32\libb43\WiFi\WiFiUdp.cpp.o Compiling .pio\build\featheresp32\libf08\ESP Async WebServer\AsyncEventSource.cpp.o Compiling .pio\build\featheresp32\libf08\ESP Async WebServer\AsyncWebSocket.cpp.o Compiling .pio\build\featheresp32\libf08\ESP Async WebServer\SPIFFSEditor.cpp.o Compiling .pio\build\featheresp32\libf08\ESP Async WebServer\WebAuthentication.cpp.o Compiling .pio\build\featheresp32\libf08\ESP Async WebServer\WebHandlers.cpp.o Compiling .pio\build\featheresp32\libf08\ESP Async WebServer\WebRequest.cpp.o Compiling .pio\build\featheresp32\libf08\ESP Async WebServer\WebResponses.cpp.o Archiving .pio\build\featheresp32\libb43\libWiFi.a Compiling .pio\build\featheresp32\libf08\ESP Async WebServer\WebServer.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\BLE2902.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\BLE2904.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\BLEAddress.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\BLEAdvertisedDevice.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\BLEAdvertising.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\BLEBeacon.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\BLECharacteristic.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\BLECharacteristicMap.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\BLEClient.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\BLEDescriptor.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\BLEDescriptorMap.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\BLEDevice.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\BLEEddystoneTLM.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\BLEEddystoneURL.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\BLEExceptions.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\BLEHIDDevice.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\BLERemoteCharacteristic.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\BLERemoteDescriptor.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\BLERemoteService.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\BLEScan.cpp.o Archiving .pio\build\featheresp32\libf08\libESP Async WebServer.a Compiling .pio\build\featheresp32\libfe4\BLE\BLESecurity.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\BLEServer.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\BLEService.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\BLEServiceMap.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\BLEUUID.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\BLEUtils.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\BLEValue.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\FreeRTOS.cpp.o Compiling .pio\build\featheresp32\libfe4\BLE\GeneralUtils.cpp.o Compiling .pio\build\featheresp32\lib101\Update\HttpsOTAUpdate.cpp.o Compiling .pio\build\featheresp32\lib101\Update\Updater.cpp.o Compiling .pio\build\featheresp32\libb23\ESPmDNS\ESPmDNS.cpp.o Compiling .pio\build\featheresp32\libe16\ArduinoOTA\ArduinoOTA.cpp.o Compiling .pio\build\featheresp32\libda4\SPIFFS\SPIFFS.cpp.o Compiling .pio\build\featheresp32\libe25\Preferences\Preferences.cpp.o Compiling .pio\build\featheresp32\lib60e\WebServer\Parsing.cpp.o Compiling .pio\build\featheresp32\lib60e\WebServer\WebServer.cpp.o Archiving .pio\build\featheresp32\lib101\libUpdate.a Compiling .pio\build\featheresp32\lib60e\WebServer\detail\mimetable.cpp.o Archiving .pio\build\featheresp32\libfe4\libBLE.a Archiving .pio\build\featheresp32\libb23\libESPmDNS.a Compiling .pio\build\featheresp32\liba8e\DNSServer\DNSServer.cpp.o Archiving .pio\build\featheresp32\libFrameworkArduinoVariant.a Compiling .pio\build\featheresp32\FrameworkArduino\Esp.cpp.o Compiling .pio\build\featheresp32\FrameworkArduino\FunctionalInterrupt.cpp.o Archiving .pio\build\featheresp32\libe16\libArduinoOTA.a Archiving .pio\build\featheresp32\libda4\libSPIFFS.a Compiling .pio\build\featheresp32\FrameworkArduino\HardwareSerial.cpp.o Compiling .pio\build\featheresp32\FrameworkArduino\IPAddress.cpp.o Archiving .pio\build\featheresp32\libe25\libPreferences.a Compiling .pio\build\featheresp32\FrameworkArduino\IPv6Address.cpp.o Compiling .pio\build\featheresp32\FrameworkArduino\MD5Builder.cpp.o Archiving .pio\build\featheresp32\liba8e\libDNSServer.a Compiling .pio\build\featheresp32\FrameworkArduino\Print.cpp.o Compiling .pio\build\featheresp32\FrameworkArduino\Stream.cpp.o Compiling .pio\build\featheresp32\FrameworkArduino\StreamString.cpp.o Compiling .pio\build\featheresp32\FrameworkArduino\WMath.cpp.o Archiving .pio\build\featheresp32\lib60e\libWebServer.a Compiling .pio\build\featheresp32\FrameworkArduino\WString.cpp.o Compiling .pio\build\featheresp32\FrameworkArduino\base64.cpp.o Compiling .pio\build\featheresp32\FrameworkArduino\cbuf.cpp.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-adc.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-bt.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-cpu.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-dac.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-gpio.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-i2c.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-ledc.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-log.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-matrix.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-misc.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-psram.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-rmt.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-sigmadelta.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-spi.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-time.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-timer.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-touch.c.o C:\Users\kilia\.platformio\packages\framework-arduinoespressif32\cores\esp32\esp32-hal-spi.c: In function 'spiTransferBy tesNL': C:\Users\kilia\.platformio\packages\framework-arduinoespressif32\cores\esp32\esp32-hal-spi.c:922:39: warning: initializa tion from incompatible pointer type [-Wincompatible-pointer-types] uint8_t * last_out8 = &result[c_longs-1]; ^ C:\Users\kilia\.platformio\packages\framework-arduinoespressif32\cores\esp32\esp32-hal-spi.c:923:40: warning: initializa tion from incompatible pointer type [-Wincompatible-pointer-types] uint8_t * last_data8 = &last_data; ^ Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-uart.c.o Compiling .pio\build\featheresp32\FrameworkArduino\libb64\cdecode.c.o Compiling .pio\build\featheresp32\FrameworkArduino\libb64\cencode.c.o Compiling .pio\build\featheresp32\FrameworkArduino\main.cpp.o Compiling .pio\build\featheresp32\FrameworkArduino\stdlib_noniso.c.o Compiling .pio\build\featheresp32\FrameworkArduino\wiring_pulse.c.o Compiling .pio\build\featheresp32\FrameworkArduino\wiring_shift.c.o Archiving .pio\build\featheresp32\libFrameworkArduino.a Linking .pio\build\featheresp32\firmware.elf Retrieving maximum program size .pio\build\featheresp32\firmware.elf Checking size .pio\build\featheresp32\firmware.elf Advanced Memory Usage is available via "PlatformIO Home > Project Inspect" RAM: [== ] 15.2% (used 49884 bytes from 327680 bytes) Flash: [===== ] 54.3% (used 1138746 bytes from 2097152 bytes) Building .pio\build\featheresp32\firmware.bin esptool.py v3.1 Merged 1 ELF section Configuring upload protocol... AVAILABLE: esp-prog, espota, esptool, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex- arm-usb-tiny-h, olimex-jtag-tiny, tumpa CURRENT: upload_protocol = esptool Looking for upload port... Auto-detected: COM7 Uploading .pio\build\featheresp32\firmware.bin esptool.py v3.1 Serial port COM7 Connecting.... Chip is ESP32-D0WD-V3 (revision 3) Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None Crystal is 40MHz MAC: 84:cc:a8:12:1b:e0 Uploading stub... Running stub... Stub running... Changing baud rate to 460800 Changed. Configuring flash size... Auto-detected Flash size: 4MB Flash will be erased from 0x00001000 to 0x00005fff... Flash will be erased from 0x00008000 to 0x00008fff... Flash will be erased from 0x0000e000 to 0x0000ffff... Flash will be erased from 0x00010000 to 0x00126fff... Compressed 17104 bytes to 11191... Writing at 0x00001000... (100 %) Wrote 17104 bytes (11191 compressed) at 0x00001000 in 0.6 seconds (effective 239.6 kbit/s)... Hash of data verified. Compressed 3072 bytes to 116... Writing at 0x00008000... (100 %) Wrote 3072 bytes (116 compressed) at 0x00008000 in 0.1 seconds (effective 408.1 kbit/s)... Hash of data verified. Compressed 8192 bytes to 47... Writing at 0x0000e000... (100 %) Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.1 seconds (effective 519.1 kbit/s)... Hash of data verified. Compressed 1138848 bytes to 646052... Writing at 0x00010000... (2 %) Writing at 0x0001b2d8... (5 %) Writing at 0x00028cb2... (7 %) Writing at 0x00033778... (10 %) Writing at 0x0004566c... (12 %) Writing at 0x00052e01... (15 %) Writing at 0x00058ae7... (17 %) Writing at 0x0005f5c5... (20 %) Writing at 0x0006561e... (22 %) Writing at 0x0006aefb... (25 %) Writing at 0x0006fff2... (27 %) Writing at 0x0007543a... (30 %) Writing at 0x0007a7c8... (32 %) Writing at 0x0007fd8a... (35 %) Writing at 0x0008524c... (37 %) Writing at 0x0008c831... (40 %) Writing at 0x00094f2f... (42 %) Writing at 0x0009a7a0... (45 %) Writing at 0x0009fde8... (47 %) Writing at 0x000a5ba6... (50 %) Writing at 0x000ab82b... (52 %) Writing at 0x000b113b... (55 %) Writing at 0x000b6d75... (57 %) Writing at 0x000bcaed... (60 %) Writing at 0x000c262d... (62 %) Writing at 0x000c853e... (65 %) Writing at 0x000ce2d6... (67 %) Writing at 0x000d3f7a... (70 %) Writing at 0x000d9ebb... (72 %) Writing at 0x000e099a... (75 %) Writing at 0x000e6608... (77 %) Writing at 0x000ecd48... (80 %) Writing at 0x000f5948... (82 %) Writing at 0x000fd08d... (85 %) Writing at 0x001031f6... (87 %) Writing at 0x00108ea6... (90 %) Writing at 0x0010fbb8... (92 %) Writing at 0x00117b44... (95 %) Writing at 0x0011d7b4... (97 %) Writing at 0x001232f9... (100 %) Wrote 1138848 bytes (646052 compressed) at 0x00010000 in 17.0 seconds (effective 537.1 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin... ============================================= [SUCCESS] Took 69.66 seconds ============================================= Process finished with exit code 0 ```

After

RAM:   [==        ]  18.0% (used 58924 bytes from 327680 bytes)
Flash: [======    ]  64.0% (used 1342702 bytes from 2097152 bytes)
Full Output After ``` C:\Users\kilia\.platformio\penv\Scripts\platformio.exe -c clion run --target upload -e featheresp32 Processing featheresp32 (platform: espressif32; board: featheresp32; framework: arduino) ------------------------------------------------------------------------------------------------------------------------ Verbose mode can be enabled via `-v, --verbose` option CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/featheresp32.html PLATFORM: Espressif 32 (3.3.1) > Adafruit ESP32 Feather HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa) PACKAGES: - framework-arduinoespressif32 3.10006.210326 (1.0.6) - tool-esptoolpy 1.30100.210531 (3.1.0) - tool-mkspiffs 2.230.0 (2.30) - toolchain-xtensa32 2.50200.97 (5.2.0) LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf LDF Modes: Finder ~ chain, Compatibility ~ soft Found 46 compatible libraries Scanning dependencies... Dependency Graph |-- 1.1.8 | |-- 1.0.1 | |-- 1.10.10 | | |-- 1.8.2 | | | |-- 1.0.1 | | | |-- 1.0 | | |-- 1.0.1 | | |-- 1.0 |-- 1.8.2 | |-- 1.0.1 | |-- 1.0 |-- 1.8.5 |-- 0.7.4 |-- 1.3.1 |-- 1.2.3 | |-- 1.1.1 | |-- 1.0 | |-- 1.0 | |-- 6.18.3 |-- 1.0 | |-- 1.0 | |-- 1.0 | |-- 1.0 | | |-- 1.0 |-- 1.0 |-- 1.0 | |-- 1.0 |-- 1.0 | |-- 1.0 |-- 1.10.10 | |-- 1.8.2 | | |-- 1.0.1 | | |-- 1.0 | |-- 1.0.1 | |-- 1.0 |-- 1.0 |-- 1.0.1 |-- 6.18.3 |-- 1.0 |-- 1.0 | |-- 1.0 | |-- 1.0 |-- 1.1.1 |-- 1.1.0 | |-- 1.0 Building in release mode Compiling .pio\build\featheresp32\src\Bluetooth.cpp.o Compiling .pio\build\featheresp32\src\Button.cpp.o Compiling .pio\build\featheresp32\src\Calibration.cpp.o Compiling .pio\build\featheresp32\src\Configuration.cpp.o Compiling .pio\build\featheresp32\src\Display.cpp.o Compiling .pio\build\featheresp32\src\Logger.cpp.o Compiling .pio\build\featheresp32\src\Logic.cpp.o Compiling .pio\build\featheresp32\src\Ota.cpp.o Compiling .pio\build\featheresp32\src\OtaConnection.cpp.o Compiling .pio\build\featheresp32\src\OtaServer.cpp.o Compiling .pio\build\featheresp32\src\Sensor.cpp.o Compiling .pio\build\featheresp32\src\Sound.cpp.o Compiling .pio\build\featheresp32\src\Status.cpp.o Compiling .pio\build\featheresp32\src\main.cpp.o Generating partitions .pio\build\featheresp32\partitions.bin Compiling .pio\build\featheresp32\lib78e\Wire\Wire.cpp.o Compiling .pio\build\featheresp32\lib4c4\SPI\SPI.cpp.o Compiling .pio\build\featheresp32\libd60\Adafruit BusIO\Adafruit_BusIO_Register.cpp.o Compiling .pio\build\featheresp32\libd60\Adafruit BusIO\Adafruit_I2CDevice.cpp.o Compiling .pio\build\featheresp32\libd60\Adafruit BusIO\Adafruit_SPIDevice.cpp.o Archiving .pio\build\featheresp32\lib4c4\libSPI.a Compiling .pio\build\featheresp32\libd2a\Adafruit GFX Library\Adafruit_GFX.cpp.o Compiling .pio\build\featheresp32\libd2a\Adafruit GFX Library\Adafruit_GrayOLED.cpp.o Archiving .pio\build\featheresp32\lib78e\libWire.a Compiling .pio\build\featheresp32\libd2a\Adafruit GFX Library\Adafruit_SPITFT.cpp.o Compiling .pio\build\featheresp32\libd2a\Adafruit GFX Library\glcdfont.c.o Compiling .pio\build\featheresp32\liba9f\Adafruit LED Backpack Library\Adafruit_LEDBackpack.cpp.o Compiling .pio\build\featheresp32\libdd9\Adafruit NeoPixel\Adafruit_NeoPixel.cpp.o Archiving .pio\build\featheresp32\libd60\libAdafruit BusIO.a Compiling .pio\build\featheresp32\libdd9\Adafruit NeoPixel\esp.c.o Compiling .pio\build\featheresp32\libdd9\Adafruit NeoPixel\esp8266.c.o Compiling .pio\build\featheresp32\libdd9\Adafruit NeoPixel\kendyte_k210.c.o Compiling .pio\build\featheresp32\libdd9\Adafruit NeoPixel\rp2040.c.o Compiling .pio\build\featheresp32\libe02\HX711\HX711.cpp.o Archiving .pio\build\featheresp32\libd2a\libAdafruit GFX Library.a Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\NimBLE2904.cpp.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\NimBLEAddress.cpp.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\NimBLEAdvertisedDevice.cpp.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\NimBLEAdvertising.cpp.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\NimBLEBeacon.cpp.o Archiving .pio\build\featheresp32\liba9f\libAdafruit LED Backpack Library.a Archiving .pio\build\featheresp32\libdd9\libAdafruit NeoPixel.a Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\NimBLECharacteristic.cpp.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\NimBLEClient.cpp.o Archiving .pio\build\featheresp32\libe02\libHX711.a Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\NimBLEDescriptor.cpp.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\NimBLEDevice.cpp.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\NimBLEEddystoneTLM.cpp.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\NimBLEEddystoneURL.cpp.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\NimBLEHIDDevice.cpp.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\NimBLERemoteCharacteristic.cpp.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\NimBLERemoteDescriptor.cpp.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\NimBLERemoteService.cpp.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\NimBLEScan.cpp.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\NimBLESecurity.cpp.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\NimBLEServer.cpp.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\NimBLEService.cpp.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\NimBLEUUID.cpp.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\NimBLEUtils.cpp.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\esp-hci\src\esp_nimble_hci.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\ext\tinycrypt\src\aes_decrypt.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\ext\tinycrypt\src\aes_encrypt.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\ext\tinycrypt\src\cbc_mode.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\ext\tinycrypt\src\ccm_mode.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\ext\tinycrypt\src\cmac_mode.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\ext\tinycrypt\src\ctr_mode.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\ext\tinycrypt\src\ctr_prng.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\ext\tinycrypt\src\ecc.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\ext\tinycrypt\src\ecc_dh.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\ext\tinycrypt\src\ecc_dsa.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\ext\tinycrypt\src\ecc_platform_specific.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\ext\tinycrypt\src\hmac.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\ext\tinycrypt\src\hmac_prng.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\ext\tinycrypt\src\sha256.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\ext\tinycrypt\src\utils.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\mesh\src\access.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\mesh\src\adv.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\mesh\src\beacon.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\mesh\src\cfg_cli.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\mesh\src\cfg_srv.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\mesh\src\crypto.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\mesh\src\friend.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\mesh\src\glue.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\mesh\src\health_cli.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\mesh\src\health_srv.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\mesh\src\light_model.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\mesh\src\lpn.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\mesh\src\mesh.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\mesh\src\model_cli.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\mesh\src\model_srv.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\mesh\src\net.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\mesh\src\nodes.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\mesh\src\prov.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\mesh\src\proxy.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\mesh\src\settings.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\mesh\src\shell.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\mesh\src\testing.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\mesh\src\transport.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\services\ans\src\ble_svc_ans.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\services\bas\src\ble_svc_bas.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\services\gap\src\ble_svc_gap.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\services\gatt\src\ble_svc_gatt.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\services\ias\src\ble_svc_ias.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\services\ipss\src\ble_svc_ipss.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\services\lls\src\ble_svc_lls.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\services\tps\src\ble_svc_tps.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_att.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_att_clt.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_att_cmd.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_att_svr.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_eddystone.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_gap.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_gattc.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_gatts.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_gatts_lcl.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_hs.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_hs_adv.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_hs_atomic.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_hs_cfg.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_hs_conn.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_hs_flow.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_hs_hci.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_hs_hci_cmd.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_hs_hci_evt.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_hs_hci_util.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_hs_id.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_hs_log.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_hs_mbuf.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_hs_misc.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_hs_mqueue.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_hs_periodic_sync.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_hs_pvcy.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_hs_resolv.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_hs_shutdown.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_hs_startup.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_hs_stop.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_ibeacon.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_l2cap.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_l2cap_coc.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_l2cap_sig.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_l2cap_sig_cmd.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_monitor.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_sm.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_sm_alg.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_sm_cmd.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_sm_lgcy.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_sm_sc.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_store.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_store_util.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\src\ble_uuid.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\store\config\src\ble_store_config.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\store\config\src\ble_store_nvs.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\store\ram\src\ble_store_ram.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\nimble\host\util\src\addr.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\port\src\esp_nimble_mem.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\porting\nimble\src\endian.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\porting\nimble\src\hal_timer.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\porting\nimble\src\mem.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\porting\nimble\src\nimble_port.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\porting\nimble\src\os_cputime.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\porting\nimble\src\os_cputime_pwr2.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\porting\nimble\src\os_mbuf.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\porting\nimble\src\os_mempool.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\porting\nimble\src\os_msys_init.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\porting\npl\freertos\src\nimble_port_freertos.c.o Compiling .pio\build\featheresp32\lib2c5\NimBLE-Arduino\porting\npl\freertos\src\npl_os_freertos.c.o Compiling .pio\build\featheresp32\lib773\AsyncTCP\AsyncTCP.cpp.o Compiling .pio\build\featheresp32\liba55\FS\FS.cpp.o Compiling .pio\build\featheresp32\liba55\FS\vfs_api.cpp.o Compiling .pio\build\featheresp32\libb43\WiFi\ETH.cpp.o Compiling .pio\build\featheresp32\libb43\WiFi\WiFi.cpp.o Compiling .pio\build\featheresp32\libb43\WiFi\WiFiAP.cpp.o Compiling .pio\build\featheresp32\libb43\WiFi\WiFiClient.cpp.o Archiving .pio\build\featheresp32\lib2c5\libNimBLE-Arduino.a Compiling .pio\build\featheresp32\libb43\WiFi\WiFiGeneric.cpp.o Compiling .pio\build\featheresp32\libb43\WiFi\WiFiMulti.cpp.o Archiving .pio\build\featheresp32\lib773\libAsyncTCP.a Archiving .pio\build\featheresp32\liba55\libFS.a Compiling .pio\build\featheresp32\libb43\WiFi\WiFiSTA.cpp.o Compiling .pio\build\featheresp32\libb43\WiFi\WiFiScan.cpp.o Compiling .pio\build\featheresp32\libb43\WiFi\WiFiServer.cpp.o Compiling .pio\build\featheresp32\libb43\WiFi\WiFiUdp.cpp.o Compiling .pio\build\featheresp32\libf08\ESP Async WebServer\AsyncEventSource.cpp.o Compiling .pio\build\featheresp32\libf08\ESP Async WebServer\AsyncWebSocket.cpp.o Compiling .pio\build\featheresp32\libf08\ESP Async WebServer\SPIFFSEditor.cpp.o Compiling .pio\build\featheresp32\libf08\ESP Async WebServer\WebAuthentication.cpp.o Compiling .pio\build\featheresp32\libf08\ESP Async WebServer\WebHandlers.cpp.o Compiling .pio\build\featheresp32\libf08\ESP Async WebServer\WebRequest.cpp.o Compiling .pio\build\featheresp32\libf08\ESP Async WebServer\WebResponses.cpp.o Archiving .pio\build\featheresp32\libb43\libWiFi.a Compiling .pio\build\featheresp32\libf08\ESP Async WebServer\WebServer.cpp.o Compiling .pio\build\featheresp32\lib101\Update\HttpsOTAUpdate.cpp.o Compiling .pio\build\featheresp32\lib101\Update\Updater.cpp.o Compiling .pio\build\featheresp32\libb23\ESPmDNS\ESPmDNS.cpp.o Compiling .pio\build\featheresp32\libe16\ArduinoOTA\ArduinoOTA.cpp.o Compiling .pio\build\featheresp32\libda4\SPIFFS\SPIFFS.cpp.o Compiling .pio\build\featheresp32\libe25\Preferences\Preferences.cpp.o Archiving .pio\build\featheresp32\lib101\libUpdate.a Compiling .pio\build\featheresp32\lib60e\WebServer\Parsing.cpp.o Compiling .pio\build\featheresp32\lib60e\WebServer\WebServer.cpp.o Compiling .pio\build\featheresp32\lib60e\WebServer\detail\mimetable.cpp.o Compiling .pio\build\featheresp32\liba8e\DNSServer\DNSServer.cpp.o Archiving .pio\build\featheresp32\libb23\libESPmDNS.a Archiving .pio\build\featheresp32\libFrameworkArduinoVariant.a Compiling .pio\build\featheresp32\FrameworkArduino\Esp.cpp.o Archiving .pio\build\featheresp32\libda4\libSPIFFS.a Archiving .pio\build\featheresp32\libe25\libPreferences.a Compiling .pio\build\featheresp32\FrameworkArduino\FunctionalInterrupt.cpp.o Compiling .pio\build\featheresp32\FrameworkArduino\HardwareSerial.cpp.o Archiving .pio\build\featheresp32\libe16\libArduinoOTA.a Compiling .pio\build\featheresp32\FrameworkArduino\IPAddress.cpp.o Compiling .pio\build\featheresp32\FrameworkArduino\IPv6Address.cpp.o Compiling .pio\build\featheresp32\FrameworkArduino\MD5Builder.cpp.o Archiving .pio\build\featheresp32\liba8e\libDNSServer.a Compiling .pio\build\featheresp32\FrameworkArduino\Print.cpp.o Archiving .pio\build\featheresp32\lib60e\libWebServer.a Archiving .pio\build\featheresp32\libf08\libESP Async WebServer.a Compiling .pio\build\featheresp32\FrameworkArduino\Stream.cpp.o Compiling .pio\build\featheresp32\FrameworkArduino\StreamString.cpp.o Compiling .pio\build\featheresp32\FrameworkArduino\WMath.cpp.o Compiling .pio\build\featheresp32\FrameworkArduino\WString.cpp.o Compiling .pio\build\featheresp32\FrameworkArduino\base64.cpp.o Compiling .pio\build\featheresp32\FrameworkArduino\cbuf.cpp.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-adc.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-bt.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-cpu.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-dac.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-gpio.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-i2c.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-ledc.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-log.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-matrix.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-misc.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-psram.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-rmt.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-sigmadelta.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-spi.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-time.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-timer.c.o Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-touch.c.o C:\Users\kilia\.platformio\packages\framework-arduinoespressif32\cores\esp32\esp32-hal-spi.c: In function 'spiTransferBy tesNL': C:\Users\kilia\.platformio\packages\framework-arduinoespressif32\cores\esp32\esp32-hal-spi.c:922:39: warning: initializa tion from incompatible pointer type [-Wincompatible-pointer-types] uint8_t * last_out8 = &result[c_longs-1]; ^ C:\Users\kilia\.platformio\packages\framework-arduinoespressif32\cores\esp32\esp32-hal-spi.c:923:40: warning: initializa tion from incompatible pointer type [-Wincompatible-pointer-types] uint8_t * last_data8 = &last_data; ^ Compiling .pio\build\featheresp32\FrameworkArduino\esp32-hal-uart.c.o Compiling .pio\build\featheresp32\FrameworkArduino\libb64\cdecode.c.o Compiling .pio\build\featheresp32\FrameworkArduino\libb64\cencode.c.o Compiling .pio\build\featheresp32\FrameworkArduino\main.cpp.o Compiling .pio\build\featheresp32\FrameworkArduino\stdlib_noniso.c.o Compiling .pio\build\featheresp32\FrameworkArduino\wiring_pulse.c.o Compiling .pio\build\featheresp32\FrameworkArduino\wiring_shift.c.o Archiving .pio\build\featheresp32\libFrameworkArduino.a Linking .pio\build\featheresp32\firmware.elf Retrieving maximum program size .pio\build\featheresp32\firmware.elf Checking size .pio\build\featheresp32\firmware.elf Advanced Memory Usage is available via "PlatformIO Home > Project Inspect" RAM: [== ] 18.0% (used 58924 bytes from 327680 bytes) Flash: [====== ] 64.0% (used 1342702 bytes from 2097152 bytes) Building .pio\build\featheresp32\firmware.bin esptool.py v3.1 Merged 1 ELF section Configuring upload protocol... AVAILABLE: esp-prog, espota, esptool, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex- arm-usb-tiny-h, olimex-jtag-tiny, tumpa CURRENT: upload_protocol = esptool Looking for upload port... Auto-detected: COM7 Uploading .pio\build\featheresp32\firmware.bin esptool.py v3.1 Serial port COM7 Connecting.... Chip is ESP32-D0WD-V3 (revision 3) Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None Crystal is 40MHz MAC: 84:cc:a8:12:1b:e0 Uploading stub... Running stub... Stub running... Changing baud rate to 460800 Changed. Configuring flash size... Auto-detected Flash size: 4MB Flash will be erased from 0x00001000 to 0x00005fff... Flash will be erased from 0x00008000 to 0x00008fff... Flash will be erased from 0x0000e000 to 0x0000ffff... Flash will be erased from 0x00010000 to 0x00157fff... Compressed 17104 bytes to 11191... Writing at 0x00001000... (100 %) Wrote 17104 bytes (11191 compressed) at 0x00001000 in 0.6 seconds (effective 237.1 kbit/s)... Hash of data verified. Compressed 3072 bytes to 116... Writing at 0x00008000... (100 %) Wrote 3072 bytes (116 compressed) at 0x00008000 in 0.1 seconds (effective 399.8 kbit/s)... Hash of data verified. Compressed 8192 bytes to 47... Writing at 0x0000e000... (100 %) Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.1 seconds (effective 532.8 kbit/s)... Hash of data verified. Compressed 1342816 bytes to 778204... Writing at 0x00010000... (2 %) Writing at 0x0001ab60... (4 %) Writing at 0x0002734c... (6 %) Writing at 0x00032480... (8 %) Writing at 0x0004025e... (10 %) Writing at 0x000550d4... (12 %) Writing at 0x0005cc2a... (14 %) Writing at 0x00062e30... (16 %) Writing at 0x00068645... (18 %) Writing at 0x0006ded2... (20 %) Writing at 0x00073677... (22 %) Writing at 0x000792ad... (25 %) Writing at 0x0007f293... (27 %) Writing at 0x00085bab... (29 %) Writing at 0x0008b946... (31 %) Writing at 0x00090ad3... (33 %) Writing at 0x00095dc9... (35 %) Writing at 0x0009b2b4... (37 %) Writing at 0x000a0837... (39 %) Writing at 0x000a5c9c... (41 %) Writing at 0x000ad44d... (43 %) Writing at 0x000b50f3... (45 %) Writing at 0x000bb13f... (47 %) Writing at 0x000c0829... (50 %) Writing at 0x000c6156... (52 %) Writing at 0x000cc295... (54 %) Writing at 0x000d1c62... (56 %) Writing at 0x000d78ae... (58 %) Writing at 0x000dd55e... (60 %) Writing at 0x000e31af... (62 %) Writing at 0x000e8d79... (64 %) Writing at 0x000eeb8e... (66 %) Writing at 0x000f481b... (68 %) Writing at 0x000fa7fe... (70 %) Writing at 0x00101148... (72 %) Writing at 0x00106f45... (75 %) Writing at 0x0010d280... (77 %) Writing at 0x0011321f... (79 %) Writing at 0x00118e58... (81 %) Writing at 0x0011f5ed... (83 %) Writing at 0x00128005... (85 %) Writing at 0x0012f9a1... (87 %) Writing at 0x00135a1c... (89 %) Writing at 0x0013b84b... (91 %) Writing at 0x001423ef... (93 %) Writing at 0x00149368... (95 %) Writing at 0x0014eec1... (97 %) Writing at 0x001549bc... (100 %) Wrote 1342816 bytes (778204 compressed) at 0x00010000 in 20.1 seconds (effective 534.3 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin... ============================================= [SUCCESS] Took 86.46 seconds ============================================= Process finished with exit code 0 ```

Hope you can help me decrease the size.

h2zero commented 3 years ago

This is quite surprising. May I ask what you're including in your application? Also what arduino core version you are compiling with?

thorrak commented 3 years ago

Are you actually using the libraries in your sketch? That flash/ram usage seems lighter than some sketches I’ve built that don’t use either radio…

Nailik commented 3 years ago

Those are the libs i'm using:

adafruit/Adafruit LED Backpack Library @ ^1.1.8
    adafruit/Adafruit BusIO@^1.7.5
    adafruit/Adafruit NeoPixel @ ^1.8.5
    bogde/HX711@^0.7.4
    me-no-dev/ESP Async WebServer @ ^1.2.3

And yes i'm using all the libraries like the Bluetooth connection, webserver, dns and also the neopixel and hx711 and led backpack, but it's far from a finished project ... just testing if everything works.

And the dependency graph (in the Spoiler) shows:

|-- <Adafruit LED Backpack Library> 1.1.8
|   |-- <Wire> 1.0.1
|   |-- <Adafruit GFX Library> 1.10.10
|   |   |-- <Adafruit BusIO> 1.8.2
|   |   |   |-- <Wire> 1.0.1
|   |   |   |-- <SPI> 1.0
|   |   |-- <Wire> 1.0.1
|   |   |-- <SPI> 1.0
|-- <Adafruit BusIO> 1.8.2
|   |-- <Wire> 1.0.1
|   |-- <SPI> 1.0
|-- <Adafruit NeoPixel> 1.8.5
|-- <HX711> 0.7.4
|-- <NimBLE-Arduino> 1.3.1
|-- <ESP Async WebServer> 1.2.3
|   |-- <AsyncTCP> 1.1.1
|   |-- <FS> 1.0
|   |-- <WiFi> 1.0
|   |-- <ArduinoJson> 6.18.3
|-- <ArduinoOTA> 1.0
|   |-- <Update> 1.0
|   |-- <WiFi> 1.0
|   |-- <ESPmDNS> 1.0
|   |   |-- <WiFi> 1.0
|-- <WiFi> 1.0
|-- <ESPmDNS> 1.0
|   |-- <WiFi> 1.0
|-- <SPIFFS> 1.0
|   |-- <FS> 1.0
|-- <Adafruit GFX Library> 1.10.10
|   |-- <Adafruit BusIO> 1.8.2
|   |   |-- <Wire> 1.0.1
|   |   |-- <SPI> 1.0
|   |-- <Wire> 1.0.1
|   |-- <SPI> 1.0
|-- <SPI> 1.0
|-- <Wire> 1.0.1
|-- <ArduinoJson> 6.18.3
|-- <Preferences> 1.0
|-- <WebServer> 1.0
|   |-- <WiFi> 1.0
|   |-- <FS> 1.0
|-- <AsyncTCP> 1.1.1
|-- <DNSServer> 1.1.0
|   |-- <WiFi> 1.0

I'm not sure about the arduino core version since i'm using Plaformio V 5.1.1, maybe this helps.

pio platform show espressif32
espressif32 ~ Espressif 32
==========================
Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.

Version: 3.3.1
Home: https://espressif.com/
Repository: https://github.com/platformio/platform-espressif32.git
Vendor: https://espressif.com/
License: Apache-2.0
Frameworks: arduino, espidf, pumbaa, simba

Packages
--------

Package toolchain-xtensa32
--------------------------
Type: toolchain
Requirements: ~2.50200.0
Installed: Yes
Version: 2.50200.97
Original version: 5.2.0
Description: GCC Toolchain for Xtensa32 processor

Package toolchain-xtensa32s2
----------------------------
Type: toolchain
Requirements: ~1.80400.0
Installed: No (optional)

Package toolchain-esp32ulp
--------------------------
Type: toolchain
Requirements: ~1.22851.0
Installed: No (optional)

Package toolchain-esp32s2ulp
----------------------------
Type: toolchain
Requirements: ~1.22851.0
Installed: No (optional)

Package toolchain-riscv-esp
---------------------------
Type: toolchain
Requirements: ~1.80400.0
Installed: No (optional)

Package framework-arduinoespressif32
------------------------------------
Type: framework
Requirements: ~3.10006.0
Installed: Yes
Version: 3.10006.210326
Original version: 1.0.6
Description: Arduino Wiring-based Framework for Espressif ESP32 microcontrollers

Package framework-arduino-mbcwb
-------------------------------
Type: framework
Requirements: >=2.1.1
Installed: No (optional)

Package framework-espidf
------------------------
Type: framework
Requirements: ~3.40300.0
Installed: No (optional)

Package framework-simba
-----------------------
Type: framework
Requirements: >=12.2.0
Installed: No (optional)

Package framework-pumbaa
------------------------
Type: framework
Requirements: >=2.3.0
Installed: No (optional)

Package tool-esptoolpy
----------------------
Type: uploader
Requirements: ~1.30100.0
Installed: Yes
Version: 1.30100.210531
Original version: 3.1.0
Description: Espressif ESP8266 and ESP32 serial bootloader utility

Package tool-mbctool
--------------------
Requirements: >=2.0.0
Installed: No (optional)

Package tool-openocd-esp32
--------------------------
Type: debugger
Requirements: ~2.1000.0
Installed: Yes
Version: 2.1000.20210721
Original version: 10.0
Description: Open On-Chip Debugger for Espressif ESP32

Package tool-mkspiffs
---------------------
Type: uploader
Requirements: ~2.230.0
Installed: Yes
Version: 2.230.0
Original version: 2.30
Description: Tool to build and unpack SPIFFS images

Package tool-cmake
------------------
Requirements: ~3.16.0
Installed: No (optional)

Package tool-ninja
------------------
Requirements: ^1.7.0
Installed: No (optional)

Package tool-mconf
------------------
Requirements: ~1.4060000.0
Installed: No (optional)

Package tool-idf
----------------
Requirements: ~1.0.1
Installed: No (optional)
h2zero commented 3 years ago

Thanks for the info, looks like 1.0.6 for the arduino core. Unfortunately it doesn't look like PlatformIO provides a component size output command as IDF does, so that won't be able to answer the issue. I wonder if when you include the original BLE library that one of the others isn't included.

From the list of libraries you are using the code size looks appropriate with NimBLE included.