esptool.py v4.2.1 Serial port COM20 Connecting... . . Chip is ESP32-D0WD (revision 1) Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None Crystal is 40MHz MAC: c8:2b:96:9e:a2:70 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 0x0018ffff... Warning: some reserved header fields have non-zero values. This image may be from a newer esptool.py? Compressed 17536 bytes to 12203... Writing at 0x00001000... (100 %) Wrote 17536 bytes (12203 compressed) at 0x00001000 in 0.5 seconds (effective 274.9 kbit/s)... Hash of data verified. Compressed 3072 bytes to 146... Writing at 0x00008000... (100 %) Wrote 3072 bytes (146 compressed) at 0x00008000 in 0.0 seconds (effective 511.6 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 688.0 kbit/s)... Hash of data verified. Compressed 1570820 bytes to 969826... Writing at 0x00010000... (1 %) Writing at 0x0001eaa1... (3 %) Writing at 0x0002fd4c... (5 %) Writing at 0x00034dbd... (6 %) Writing at 0x00038dd8... (8 %) Writing at 0x0003cc5d... (10 %) Writing at 0x00046d1e... (11 %) Writing at 0x00051bcd... (13 %) Writing at 0x000591f0... (15 %) Writing at 0x00063a0c... (16 %) Writing at 0x0007725a... (18 %) Writing at 0x0007ca9a... (20 %) Writing at 0x000826f1... (21 %) Writing at 0x000879c4... (23 %) Writing at 0x0008d4fb... (25 %) Writing at 0x000928cb... (26 %) Writing at 0x00099275... (28 %) Writing at 0x0009f03f... (30 %) Writing at 0x000a4a82... (31 %) Writing at 0x000aac56... (33 %) Writing at 0x000b03a7... (35 %) Writing at 0x000b622a... (36 %) Writing at 0x000bc207... (38 %) Writing at 0x000c1f67... (40 %) Writing at 0x000c81c7... (41 %) Writing at 0x000cdda8... (43 %) Writing at 0x000d344a... (45 %) Writing at 0x000d8754... (46 %) Writing at 0x000ddb14... (48 %) Writing at 0x000e3010... (50 %) Writing at 0x000e8624... (51 %) Writing at 0x000edfde... (53 %) Writing at 0x000f3b96... (55 %) Writing at 0x000f8d78... (56 %) Writing at 0x000fe112... (58 %) Writing at 0x00103236... (60 %) Writing at 0x00108982... (61 %) Writing at 0x0010db08... (63 %) Writing at 0x00112dcc... (65 %) Writing at 0x001188d3... (66 %) Writing at 0x0011def2... (68 %) Writing at 0x0012381f... (70 %) Writing at 0x001292b7... (71 %) Writing at 0x0012f519... (73 %) Writing at 0x00134d5c... (75 %) Writing at 0x0013a262... (76 %) Writing at 0x0013f7e1... (78 %) Writing at 0x001450aa... (80 %) Writing at 0x0014adfa... (81 %) Writing at 0x0014ffc1... (83 %) Writing at 0x0015520a... (85 %) Writing at 0x0015b06c... (86 %) Writing at 0x001636c9... (88 %) Writing at 0x0016c14d... (90 %) Writing at 0x00172161... (91 %) Writing at 0x0017757a... (93 %) Writing at 0x0017cd31... (95 %) Writing at 0x00182d09... (96 %) Writing at 0x001880ee... (98 %) Writing at 0x0018ddf1... (100 %) Wrote 1570820 bytes (969826 compressed) at 0x00010000 in 22.1 seconds (effective 569.2 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin...
Java Resource
log.debug("log1 = {}", Server.class.getResource("keystore.jks")); log.debug("log2 = {}", Server.class.getResource("/keystore.jks")); log.debug("log3 = {}", getClass().getResource("keystore.jks")); log.debug("log4 = {}", getClass().getResource("/keystore.jks")); log.debug("log5 = {}", getClass().getClassLoader().getResource("keystore.jks")); log.debug("log6 = {}", getClass().getClassLoader().getResource("/keystore.jks"));
15:46:10.008 [main] DEBUG com.server.lib.Server -- log1 = null 15:46:10.015 [main] DEBUG com.server.lib.Server -- log2 = file:/C:/Dev/gitRepositories/SimpleWebServer/target/classes/keystore.jks 15:46:10.015 [main] DEBUG com.server.lib.Server -- log3 = null 15:46:10.016 [main] DEBUG com.server.lib.Server -- log4 = file:/C:/Dev/gitRepositories/SimpleWebServer/target/classes/keystore.jks 15:46:10.016 [main] DEBUG com.server.lib.Server -- log5 = file:/C:/Dev/gitRepositories/SimpleWebServer/target/classes/keystore.jks 15:46:10.017 [main] DEBUG com.server.lib.Server -- log6 = null
Findings…
class.getResource(
) orgetClass().getResource()
with slashgetClass().getClassLoader().getResource
without slash
Java Simple HTTP Server
Without SSL/TLS
github.com/rjlfinn/java-http-server
With SSL/TLS
Simple Java HTTPS server
Java Network Programming, 4th Edition
SSL Handshake Failures
Do javax.net.ssl.* VM arguments need to be migrated to jakarta.net.ssl.*?
How does Javas KeyManagerFactory.init work with multiple keys
What is SunX509 used for and can it work with parties using IbmX509?
What is the difference of TrustManager PKIX and SunX509?
org.springframework.web.client.ResourceAccessException: I/O error on POST request for "https://localhost:8585/testOne": PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
- because of self-signed cert???
“PKIX path building failed” and “unable to find valid certification path to requested target”
Accept server’s self-signed ssl certificate in Java client
Keytool’s -storepass vs. -keypass — Why 2 passwords?
In case we get the error “javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target while establishing the SSL connection”, it indicates that we don’t have the public certificate of the server which we’re trying to connect in the Java truststore.
$ find /c/Program\ Files/choco/openjdk-jdk-17 -name "*cacert*" /c/Program Files/choco/openjdk-jdk-17/lib/security/cacerts $ keytool -list -v -keystore /c/Program\ Files/choco/openjdk-jdk-17/lib/security/cacerts Enter keystore password: Keystore type: JKS Keystore provider: SUN Your keystore contains 111 entries [...] $ pwd /c/gitRepositories/SimpleWebServer/src/main/resources $ keytool -list -v -keystore keystore.jks -storepass pass_for_self_signed_cert Keystore type: PKCS12 Keystore provider: SUN Your keystore contains 1 entry Alias name: selfsigned Creation date: Nov 25, 2024 Entry type: PrivateKeyEntry Certificate chain length: 1 Certificate[1]: Owner: CN=localhost, OU=Developers, O=Bull Bytes, L=Linz, C=AT Issuer: CN=localhost, OU=Developers, O=Bull Bytes, L=Linz, C=AT Serial number: f771d2346ba5c42b Valid from: Mon Nov 25 15:31:14 CET 2024 until: Sun Feb 23 15:31:14 CET 2025 Certificate fingerprints: SHA1: DA:6D:B0:C4:F4:6E:65:45:AB:3E:AC:C3:9B:AD:25:30:B6:AD:21:CF SHA256: 81:94:78:29:23:13:1B:73:B3:D2:5A:B1:5B:24:77:85:34:F1:FD:BA:92:F6:34:12:DC:4F:88:50:7F:1B:3A:51 Signature algorithm name: SHA256withRSA Subject Public Key Algorithm: 2048-bit RSA key Version: 3 Extensions: #1: ObjectId: 2.5.29.14 Criticality=false SubjectKeyIdentifier [ KeyIdentifier [ 0000: 4D 9B 90 29 EB 60 D7 7F 21 28 46 B2 FA 8E 58 5C M..).`..!(F...X\ 0010: D9 23 F1 98 .#.. ] ] ******************************************* ******************************************* $ keytool -import -v -trustcacerts -alias localhost-2 -file localhost.crt -keystore /c/Program\ Files/choco/openjdk-jdk-17/lib/security/cacerts -storepass changeit -keypass changeit Owner: CN=localhost, OU=Developers, O=Bull Bytes, L=Linz, C=AT Issuer: CN=localhost, OU=Developers, O=Bull Bytes, L=Linz, C=AT Serial number: f771d2346ba5c42b Valid from: Mon Nov 25 15:31:14 CET 2024 until: Sun Feb 23 15:31:14 CET 2025 Certificate fingerprints: SHA1: DA:6D:B0:C4:F4:6E:65:45:AB:3E:AC:C3:9B:AD:25:30:B6:AD:21:CF SHA256: 81:94:78:29:23:13:1B:73:B3:D2:5A:B1:5B:24:77:85:34:F1:FD:BA:92:F6:34:12:DC:4F:88:50:7F:1B:3A:51 Signature algorithm name: SHA256withRSA Subject Public Key Algorithm: 2048-bit RSA key Version: 3 Extensions: #1: ObjectId: 2.5.29.14 Criticality=false SubjectKeyIdentifier [ KeyIdentifier [ 0000: 4D 9B 90 29 EB 60 D7 7F 21 28 46 B2 FA 8E 58 5C M..).`..!(F...X\ 0010: D9 23 F1 98 .#.. ] ] Trust this certificate? [no]: yes Certificate was added to keystore [Storing C:/Program Files/choco/openjdk-jdk-17/lib/security/cacerts] keytool error: java.io.FileNotFoundException: C:\Program Files\choco\openjdk-jdk-17\lib\security\cacerts (Access is denied) java.io.FileNotFoundException: C:\Program Files\choco\openjdk-jdk-17\lib\security\cacerts (Access is denied) at java.base/java.io.FileOutputStream.open0(Native Method) at java.base/java.io.FileOutputStream.open(FileOutputStream.java:293) at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:235) at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:123) at java.base/sun.security.tools.keytool.Main.doCommands(Main.java:1375) at java.base/sun.security.tools.keytool.Main.run(Main.java:423) at java.base/sun.security.tools.keytool.Main.main(Main.java:416) (admin) $ keytool -import -v -trustcacerts -alias localhost-2 -file localhost.crt -keystore /c/Program\ Files/choco/openjdk-jdk-17/lib/security/cacerts -storepass changeit -keypass changeit Owner: CN=localhost, OU=Developers, O=Bull Bytes, L=Linz, C=AT Issuer: CN=localhost, OU=Developers, O=Bull Bytes, L=Linz, C=AT Serial number: f771d2346ba5c42b Valid from: Mon Nov 25 15:31:14 CET 2024 until: Sun Feb 23 15:31:14 CET 2025 Certificate fingerprints: SHA1: DA:6D:B0:C4:F4:6E:65:45:AB:3E:AC:C3:9B:AD:25:30:B6:AD:21:CF SHA256: 81:94:78:29:23:13:1B:73:B3:D2:5A:B1:5B:24:77:85:34:F1:FD:BA:92:F6:34:12:DC:4F:88:50:7F:1B:3A:51 Signature algorithm name: SHA256withRSA Subject Public Key Algorithm: 2048-bit RSA key Version: 3 Extensions: #1: ObjectId: 2.5.29.14 Criticality=false SubjectKeyIdentifier [ KeyIdentifier [ 0000: 4D 9B 90 29 EB 60 D7 7F 21 28 46 B2 FA 8E 58 5C M..).`..!(F...X\ 0010: D9 23 F1 98 .#.. ] ] Trust this certificate? [no]: yes Certificate was added to keystore [Storing C:/Program Files/choco/openjdk-jdk-17/lib/security/cacerts]
Reading from an SSL input stream (Java)
How to tell if Java SSLSocket has data available?
There is no way to do this. Your streams cannot tell you the length of the data without first decrypting it. available() will always return 0 for SSLSocket.
sslsocket read only once from inputstream,why?
Getting an InputStream from an SSLSocket
available() doesn’t do what you think it does; don’t rely on it. For SSLSockets, available() is even less reliable. From the JSSE Ref Guide:
“Implementation Note: Due to the complexity of the SSL and TLS protocols, it is difficult to predict whether incoming bytes on a connection are handshake or application data, and how that data might affect the current connection state (even causing the process to block). In the Sun JSSE implementation, the available() method on the object obtained by SSLSocket.getInputStream() returns a count of the number of application data bytes successfully decrypted from the SSL connection but not yet read by the application.”
My experience is that this generally maps to “0”.
Arduino Kalman Filter
CarbonAeronautics
github.com/CarbonAeronautics
, Quadcopter build and programming manual
Build and program this Arduino drone yourself!
0 | You can build a drone with less than 40 components
14 | Measure angles with the MPU6050 accelerometer
15 | Combine a gyroscope and accelerometer to measure angles – precisely
16 | Program an angle mode flight controller in Arduino
Machine Learning TV
ExpressLRS Unified_ESP32_2400_TX_via_UART
3.5.2
* Executing task: C:\Users\andreas\.platformio\penv\Scripts\platformio.exe run --environment Unified_ESP32_2400_TX_via_UART Processing Unified_ESP32_2400_TX_via_UART (platform: espressif32@6.4.0; board: esp32dev; framework: arduino) ------------------------------------------------------------------------------------------------------------ Verbose mode can be enabled via `-v, --verbose` option build flags: ['-D PLATFORM_ESP32=1', '-D CONFIG_TCPIP_LWIP=1', '-D BEARSSL_SSL_BASIC', '-D CONFIG_DISABLE_HAL_LOCKS=1', '-I ${PROJECTSRC_DIR}/hal', '-DRADIO_SX128X=1', '-DTARGET_TX=1 -Wall -Iinclude', '-include target/Unified_ESP32_TX.h', '-D VTABLES_IN_FLASH=1', '-O2', '-DRegulatory_Domain_EU_CE_2400', '-DLOCK_ON_FIRST_CONNECTION', '-DAUTO_WIFI_ON_INTERVAL=60', '-DLATEST_COMMIT=55,97,99,53,102,52', '-DLATEST_VERSION=51,46,53,46,50', '-DTARGET_NAME=UNIFIED_ESP32_2400_TX'] Building for ESP32 Platform CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32dev.html PLATFORM: Espressif 32 (6.4.0) > Espressif ESP32 Dev Module HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash DEBUG: Current (cmsis-dap) External (cmsis-dap, esp-bridge, 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.20011.230801 (2.0.11) - tool-esptoolpy @ 1.40501.0 (4.5.1) - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5 LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf LDF Modes: Finder ~ chain, Compatibility ~ soft Found 94 compatible libraries Scanning dependencies... Dependency Graph |-- ESPAsyncWebServer-esphome @ 3.0.0 |-- AsyncTCP-esphome @ 2.0.1 |-- ESP32-BLE-Gamepad @ 0.5.2 |-- NimBLE-Arduino @ 1.4.1 |-- ArduinoJson @ 7.0.4 |-- c_library_v2 @ 0.0.0+20241121205304.sha.e54a8d2e |-- GFX Library for Arduino @ 1.2.8 |-- U8g2 @ 2.34.4 |-- SPIFFS @ 2.0.0 |-- OTA |-- SX1280Driver |-- Handset |-- LBT |-- DEVICE |-- CRSF2MSP |-- Telemetry |-- FIFO |-- CONFIG |-- MSPVTX |-- MSP |-- logging |-- Wire @ 2.0.0 |-- Backpack |-- BLE |-- BUTTON |-- BUZZER |-- GSENSOR |-- LED |-- LUA |-- POWER_DETECT |-- SCREEN |-- THERMAL |-- VTX |-- WIFI |-- MAVLink |-- StubbornReceiver |-- StubbornSender |-- TelemetryProtocol |-- MeanAccumulator |-- POWERMGNT |-- CRC |-- FHSS |-- HWTIMER |-- LQCALC Building in release mode PLATFORM : 'espressif32' BUILD ENV: 'UNIFIED_ESP32_2400_TX_VIA_UART' build version: 3.5.2 (7ac5f4) None Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\src\common.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\src\dynpower.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\src\hal\hal_stm32.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\src\rx-serial\SerialAirPort.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\src\rx-serial\SerialCRSF.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\src\rx-serial\SerialHoTT_TLM.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\src\rx-serial\SerialIO.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\src\rx-serial\SerialMavlink.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\src\rx-serial\SerialSBUS.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\src\rx-serial\SerialSUMD.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\src\rx-serial\SerialSmartAudio.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\src\rx-serial\SerialTramp.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\src\rx-serial\devSerialIO.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\src\rxtx_common.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\src\tx_main.cpp.o Building .pio\build\Unified_ESP32_2400_TX_via_UART\bootloader.bin Generating partitions .pio\build\Unified_ESP32_2400_TX_via_UART\partitions.bin Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba6a\AsyncTCP-esphome@2.0.1\AsyncTCP.cpp.o esptool.py v4.5.1 Creating esp32 image... Merged 1 ELF section Successfully created esp32 image. Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib1ea\FS\FS.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib1ea\FS\vfs_api.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib0f4\WiFi\WiFi.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib0f4\WiFi\WiFiAP.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib0f4\WiFi\WiFiClient.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib0f4\WiFi\WiFiGeneric.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib0f4\WiFi\WiFiMulti.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib0f4\WiFi\WiFiSTA.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib0f4\WiFi\WiFiScan.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib0f4\WiFi\WiFiServer.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\liba6a\libAsyncTCP-esphome@2.0.1.a Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib1ea\libFS.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib0f4\WiFi\WiFiUdp.cpp.o Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib1ea\libFS.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\liba6a\libAsyncTCP-esphome@2.0.1.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libf8e\ESPAsyncWebServer-esphome\AsyncEventSource.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libf8e\ESPAsyncWebServer-esphome\AsyncWebSocket.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libf8e\ESPAsyncWebServer-esphome\WebAuthentication.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libf8e\ESPAsyncWebServer-esphome\WebHandlers.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libf8e\ESPAsyncWebServer-esphome\WebRequest.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libf8e\ESPAsyncWebServer-esphome\WebResponses.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libf8e\ESPAsyncWebServer-esphome\WebServer.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\NimBLE2904.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\NimBLEAddress.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\NimBLEAdvertisedDevice.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\NimBLEAdvertising.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib0f4\libWiFi.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib0f4\libWiFi.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\NimBLEBeacon.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\NimBLECharacteristic.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\NimBLEClient.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\NimBLEDescriptor.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\NimBLEDevice.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\NimBLEEddystoneTLM.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\NimBLEEddystoneURL.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\NimBLEExtAdvertising.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\NimBLEHIDDevice.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\NimBLERemoteCharacteristic.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\NimBLERemoteDescriptor.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\NimBLERemoteService.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\libf8e\libESPAsyncWebServer-esphome.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\NimBLEScan.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\NimBLESecurity.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\NimBLEServer.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\NimBLEService.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\NimBLEUUID.cpp.o Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\libf8e\libESPAsyncWebServer-esphome.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\NimBLEUtils.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\esp_port\esp-hci\src\esp_nimble_hci.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\esp_port\port\src\esp_nimble_mem.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\ext\tinycrypt\src\aes_decrypt.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\ext\tinycrypt\src\aes_encrypt.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\ext\tinycrypt\src\cbc_mode.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\ext\tinycrypt\src\ccm_mode.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\ext\tinycrypt\src\cmac_mode.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\ext\tinycrypt\src\ctr_mode.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\ext\tinycrypt\src\ctr_prng.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\ext\tinycrypt\src\ecc.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\ext\tinycrypt\src\ecc_dh.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\ext\tinycrypt\src\ecc_dsa.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\ext\tinycrypt\src\ecc_platform_specific.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\ext\tinycrypt\src\hmac.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\ext\tinycrypt\src\hmac_prng.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\ext\tinycrypt\src\sha256.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\ext\tinycrypt\src\utils.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\controller\src\ble_ll.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\controller\src\ble_ll_adv.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\controller\src\ble_ll_conn.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\controller\src\ble_ll_conn_hci.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\controller\src\ble_ll_ctrl.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\controller\src\ble_ll_dtm.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\controller\src\ble_ll_hci.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\controller\src\ble_ll_hci_ev.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\controller\src\ble_ll_iso.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\controller\src\ble_ll_rand.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\controller\src\ble_ll_resolv.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\controller\src\ble_ll_rfmgmt.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\controller\src\ble_ll_scan.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\controller\src\ble_ll_sched.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\controller\src\ble_ll_supp_cmd.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\controller\src\ble_ll_sync.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\controller\src\ble_ll_trace.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\controller\src\ble_ll_utils.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\controller\src\ble_ll_whitelist.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\drivers\nrf51\src\ble_hw.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\drivers\nrf51\src\ble_phy.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\drivers\nrf52\src\ble_hw.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\drivers\nrf52\src\ble_phy.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\drivers\nrf52\src\ble_phy_trace.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\access.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\adv.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\aes-ccm.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\app_keys.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\beacon.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\cdb.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\cfg.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\cfg_cli.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\cfg_srv.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\crypto.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\friend.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\glue.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\health_cli.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\health_srv.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\heartbeat.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\light_model.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\lpn.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\mesh.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\model_cli.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\model_srv.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\net.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\nodes.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\pb_adv.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\pb_gatt.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\prov.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\prov_device.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\provisioner.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\proxy.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\rpl.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\settings.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\shell.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\subnet.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\mesh\src\transport.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\services\ans\src\ble_svc_ans.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\services\bas\src\ble_svc_bas.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\services\dis\src\ble_svc_dis.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\services\gap\src\ble_svc_gap.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\services\gatt\src\ble_svc_gatt.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\services\ias\src\ble_svc_ias.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\services\ipss\src\ble_svc_ipss.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\services\lls\src\ble_svc_lls.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_att.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_att_clt.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_att_cmd.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_att_svr.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_eddystone.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_gap.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_gattc.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_gatts.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_gatts_lcl.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_hs.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_hs_adv.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_hs_atomic.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_hs_cfg.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_hs_conn.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_hs_flow.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_hs_hci.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_hs_hci_cmd.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_hs_hci_evt.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_hs_hci_util.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_hs_id.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_hs_log.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_hs_mbuf.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_hs_misc.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_hs_mqueue.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_hs_periodic_sync.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_hs_pvcy.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_hs_resolv.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_hs_shutdown.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_hs_startup.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_hs_stop.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_ibeacon.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_l2cap.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_l2cap_coc.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_l2cap_sig.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_l2cap_sig_cmd.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_monitor.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_sm.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_sm_alg.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_sm_cmd.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_sm_lgcy.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_sm_sc.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_store.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_store_util.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\src\ble_uuid.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\store\config\src\ble_store_config.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\store\config\src\ble_store_config_conf.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\store\config\src\ble_store_nvs.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\host\util\src\addr.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\nimble\transport\ram\src\ble_hci_ram.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\porting\nimble\src\endian.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\porting\nimble\src\hal_timer.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\porting\nimble\src\hal_uart.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\porting\nimble\src\mem.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\porting\nimble\src\nimble_port.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\porting\nimble\src\os_cputime.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\porting\nimble\src\os_cputime_pwr2.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\porting\nimble\src\os_mbuf.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\porting\nimble\src\os_mempool.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\porting\nimble\src\os_msys_init.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\porting\npl\freertos\src\nimble_port_freertos.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\NimBLE-Arduino@1.4.1\nimble\porting\npl\freertos\src\npl_os_freertos.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc4e\ESP32-BLE-Gamepad\BleConnectionStatus.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc4e\ESP32-BLE-Gamepad\BleGamepad.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc4e\ESP32-BLE-Gamepad\BleGamepadConfiguration.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libbe4\SPI\SPI.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libf14\Wire\Wire.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\U8g2lib.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\U8x8lib.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\mui.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\mui_u8g2.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8g2_bitmap.c.o .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ESP32-BLE-Gamepad/BleGamepadConfiguration.cpp: In constructor 'BleGamepadConfiguration::BleGamepadConfiguration()': .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ESP32-BLE-Gamepad/BleGamepadConfiguration.cpp:21:79: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] _hardwareRevision("1.0.0") ^ .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ESP32-BLE-Gamepad/BleGamepadConfiguration.cpp:21:79: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ESP32-BLE-Gamepad/BleGamepadConfiguration.cpp:21:79: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ESP32-BLE-Gamepad/BleGamepadConfiguration.cpp:21:79: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ESP32-BLE-Gamepad/BleGamepadConfiguration.cpp:21:79: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8g2_box.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8g2_buffer.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8g2_button.c.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\libbe4\libSPI.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8g2_circle.c.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\libc4e\libESP32-BLE-Gamepad.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8g2_cleardisplay.c.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\libf14\libWire.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8g2_d_memory.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8g2_d_setup.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8g2_font.c.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\libNimBLE-Arduino@1.4.1.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\libbe4\libSPI.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\libf14\libWire.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\libc4e\libESP32-BLE-Gamepad.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib939\libNimBLE-Arduino@1.4.1.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8g2_fonts.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8g2_hvline.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8g2_input_value.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8g2_intersection.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8g2_kerning.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8g2_line.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8g2_ll_hvline.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8g2_message.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8g2_polygon.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8g2_selection_list.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8g2_setup.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8log.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8log_u8g2.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8log_u8x8.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_8x8.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_byte.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_cad.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_capture.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_a2printer.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_gp1247ai.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_gp1287ai.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_gu800.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_hd44102.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_il3820_296x128.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ist3020.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ist3088.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ist7920.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ks0108.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_lc7981.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ld7032_60x32.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ls013b7dh03.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_max7219.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_pcd8544_84x48.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_pcf8812.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_pcf8814_hx1230.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_s1d15721.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_s1d15e06.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_sbn1661.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_sed1330.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_sh1106_64x32.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_sh1106_72x40.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_sh1107.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_sh1108.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_sh1122.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ssd1305.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ssd1306_128x32.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ssd1306_128x64_noname.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ssd1306_2040x16.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ssd1306_48x64.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ssd1306_64x32.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ssd1306_64x48.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ssd1306_72x40.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ssd1306_96x16.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ssd1306_96x40.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ssd1309.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ssd1316.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ssd1317.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ssd1318.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ssd1320.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ssd1322.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ssd1325.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ssd1326.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ssd1327.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ssd1329.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ssd1606_172x72.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_ssd1607_200x200.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_st7511.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_st75160.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_st75256.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_st7528.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_st75320.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_st7565.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_st7567.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_st7571.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_st7586s_erc240160.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_st7586s_jlx384160.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_st7586s_s028hn118a.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_st7586s_ymc240160.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_st7588.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_st7920.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_t6963.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_uc1601.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_uc1604.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_uc1608.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_uc1609.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_uc1610.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_uc1611.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_uc1617.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_uc1638.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_uc1701_dogs102.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_d_uc1701_mini12864.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_debounce.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_display.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_fonts.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_gpio.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_input_value.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_message.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_selection_list.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_setup.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_string.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_u16toa.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\U8g2\clib\u8x8_u8toa.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\Arduino_DataBus.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\Arduino_G.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\Arduino_GFX.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\Arduino_GFX_Library.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\libU8g2.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\Arduino_TFT.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\Arduino_TFT_18bit.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\canvas\Arduino_Canvas.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\canvas\Arduino_Canvas_3bit.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\canvas\Arduino_Canvas_Indexed.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\canvas\Arduino_Canvas_Mono.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\databus\Arduino_AVRPAR8.cpp.o Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\liba62\libU8g2.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\databus\Arduino_ESP32LCD16.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\databus\Arduino_ESP32LCD8.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\databus\Arduino_ESP32PAR16.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\databus\Arduino_ESP32PAR16Q.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\databus\Arduino_ESP32PAR16QQ.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\databus\Arduino_ESP32PAR8.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\databus\Arduino_ESP32PAR8Q.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\databus\Arduino_ESP32PAR8QQ.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\databus\Arduino_ESP32RGBPanel.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\databus\Arduino_ESP32S2PAR16.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\databus\Arduino_ESP32S2PAR16Q.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\databus\Arduino_ESP32S2PAR8.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\databus\Arduino_ESP32S2PAR8Q.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\databus\Arduino_ESP32SPI.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\databus\Arduino_ESP8266SPI.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\databus\Arduino_HWSPI.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\databus\Arduino_NRFXSPI.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\databus\Arduino_RPiPicoPAR16.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\databus\Arduino_RPiPicoPAR8.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\databus\Arduino_RPiPicoSPI.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\databus\Arduino_RTLPAR8.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\databus\Arduino_STM32PAR8.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\databus\Arduino_SWPAR8.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\databus\Arduino_SWSPI.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\databus\Arduino_mbedSPI.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_GC9106.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_GC9107.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_GC9503V_RGBPanel.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_GC9A01.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_HX8347C.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_HX8347D.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_HX8352C.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_HX8357A.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_HX8357B.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_ILI9225.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_ILI9331.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_ILI9341.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_ILI9342.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_ILI9481_18bit.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_ILI9486.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_ILI9486_18bit.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_ILI9488.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_ILI9488_18bit.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_ILI9488_3bit.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_ILI9806.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_JBT6K71.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_NT35310.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_NT35510.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_NT39125.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_R61529.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_RPi_DPI_RGBPanel.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_SEPS525.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_SSD1283A.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_SSD1331.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_SSD1351.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_ST7701_RGBPanel.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_ST7735.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_ST7789.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\GFX Library for Arduino\display\Arduino_ST7796.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libec2\SPIFFS\SPIFFS.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib44d\CRC\crc.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib8cd\logging\logging.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib5f1\OPTIONS\EspFlashStream.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib5f1\OPTIONS\hardware.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib5f1\OPTIONS\options.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\libec2\libSPIFFS.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc38\CrsfProtocol\dummy.c.o Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\libec2\libSPIFFS.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib0f6\MSP\msp.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib44d\libCRC.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib1d7\TelemetryProtocol\dummy.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib95f\FEC\FEC.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib8cd\liblogging.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib44d\libCRC.a Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\libc38\libCrsfProtocol.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib95f\FEC\hamming.cpp.o Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib8cd\liblogging.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\libc38\libCrsfProtocol.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libe01\RFAMP\RFAMP_hal.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib95f\libFEC.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib95f\libFEC.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib978\SPIEx\SPIEx.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libff6\SX1280Driver\SX1280.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib0f6\libMSP.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libff6\SX1280Driver\SX1280_hal.cpp.o Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib0f6\libMSP.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib80d\DEVICE\device.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib5da\DAC\DAC.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib823\POWERMGNT\POWERMGNT.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib978\libSPIEx.a Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\libe01\libRFAMP.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib978\libSPIEx.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\libe01\libRFAMP.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libbcb\Handset\AutoDetect.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libbcb\Handset\CRSF.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libbcb\Handset\CRSFHandset.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib80d\libDEVICE.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib80d\libDEVICE.a Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib5da\libDAC.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libbcb\Handset\PPMHandset.cpp.o Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib5da\libDAC.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libbcb\Handset\devHandset.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libacf\OTA\OTA.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib823\libPOWERMGNT.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib823\libPOWERMGNT.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib84b\LBT\LBT.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\libGFX Library for Arduino.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib5f8\CRSF2MSP\crsf2msp.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib5f8\CRSF2MSP\msp2crsf.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libb0b\HWTIMER\ESP32_hwTimer.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\libbcb\libHandset.a Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib1d7\libTelemetryProtocol.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libb0b\HWTIMER\ESP8266_hwTimer.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libb0b\HWTIMER\STM32_hwTimer.cpp.o Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\libc0e\libGFX Library for Arduino.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\libbcb\libHandset.a lib/OPTIONS/options.cpp: In function 'void saveOptions(Stream&, bool)': lib/OPTIONS/options.cpp:216:52: warning: 'ArduinoJson::V704PB2::JsonArray ArduinoJson::V704PB2::JsonDocument::createNestedArray(TChar*) [with TChar = const char]' is deprecated: use doc[key].to<JsonArray>() instead [-Wdeprecated-declarations] JsonArray uid = doc.createNestedArray("uid"); ^ In file included from .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ArduinoJson/src/ArduinoJson.hpp:33, from .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ArduinoJson/src/ArduinoJson.h:9, from lib/OPTIONS/options.cpp:183: .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp:305:13: note: declared here JsonArray createNestedArray(TChar* key) { ^~~~~~~~~~~~~~~~~ Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib9a2\PWM\PWM.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\libacf\libOTA.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib9a2\PWM\PWM_ESP32.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib84b\libLBT.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\libacf\libOTA.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib84b\libLBT.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib9a2\PWM\PWM_ESP8266.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib5f8\libCRSF2MSP.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib9a2\PWM\waveform_8266.cpp.o Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib5f8\libCRSF2MSP.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libe55\VTXSPI\devVTXSPI.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib79e\MSPVTX\devMSPVTX.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib79e\MSPVTX\freqTable.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libc6c\TCPSOCKET\tcpsocket.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\libe55\libVTXSPI.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\libe55\libVTXSPI.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib795\Telemetry\telemetry.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\libff6\libSX1280Driver.a Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib5f1\libOPTIONS.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib5f1\libOPTIONS.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\libff6\libSX1280Driver.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib28c\EEPROM\EEPROM.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\libc6c\libTCPSOCKET.a Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib9a2\libPWM.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\libc6c\libTCPSOCKET.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib9a2\libPWM.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib316\elrs_eeprom\elrs_eeprom.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib841\CONFIG\config.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib79e\libMSPVTX.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib79e\libMSPVTX.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libfee\MAVLink\MAVLink.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib07c\Backpack\devBackpack.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib795\libTelemetry.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib795\libTelemetry.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib8a5\BUTTON\devButton.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib316\libelrs_eeprom.a Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib28c\libEEPROM.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib316\libelrs_eeprom.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib28c\libEEPROM.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib2d1\BLE\devBLE.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib941\BUZZER\devBuzzer.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib841\libCONFIG.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib1d7\libTelemetryProtocol.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib841\libCONFIG.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib620\GSENSOR\devGsensor.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib620\GSENSOR\gsensor.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib620\GSENSOR\stk8baxx.cpp.o In file included from .pio/libdeps/Unified_ESP32_2400_TX_via_UART/c_library_v2/common/common.h:2717, from .pio/libdeps/Unified_ESP32_2400_TX_via_UART/c_library_v2/common/mavlink.h:32, from lib/MAVLink/MAVLink.h:4, from lib/MAVLink/MAVLink.cpp:1: .pio/libdeps/Unified_ESP32_2400_TX_via_UART/c_library_v2/common/./mavlink_msg_command_int.h: In function 'uint16_t buildMAVLinkELRSModeChange(uint8_t, uint8_t*)': .pio/libdeps/Unified_ESP32_2400_TX_via_UART/c_library_v2/common/./mavlink_msg_command_int.h:282:207: warning: 'commandMsg.__mavlink_command_int_t::autocontinue' is used uninitialized in this function [-Wuninitialized] return mavlink_msg_command_int_pack(system_id, component_id, msg, command_int->target_system, command_int->target_component, command_int->frame, command_int->command, command_int->current, command_int->autocontinue, command_int->param1, command_int->param2, command_int->param3, command_int->param4, command_int->x, command_int->y, command_int->z); ~~~~~~~~~~~~~^~~~~~~~~~~~ .pio/libdeps/Unified_ESP32_2400_TX_via_UART/c_library_v2/common/./mavlink_msg_command_int.h:282:143: warning: '*((void*)& commandMsg +32)' is used uninitialized in this function [-Wuninitialized] return mavlink_msg_command_int_pack(system_id, component_id, msg, command_int->target_system, command_int->target_component, command_int->frame, command_int->command, command_int->current, command_int->autocontinue, command_int->param1, command_int->param2, command_int->param3, command_int->param4, command_int->x, command_int->y, command_int->z); ~~~~~~~~~~~~~^~~~~ In file included from .pio/libdeps/Unified_ESP32_2400_TX_via_UART/c_library_v2/common/common.h:2717, from .pio/libdeps/Unified_ESP32_2400_TX_via_UART/c_library_v2/common/mavlink.h:32, from lib/MAVLink/MAVLink.h:4, from lib/MAVLink/MAVLink.cpp:1: .pio/libdeps/Unified_ESP32_2400_TX_via_UART/c_library_v2/common/./mavlink_msg_command_int.h:282:276: warning: 'commandMsg.__mavlink_command_int_t::param3' is used uninitialized in this function [-Wuninitialized] return mavlink_msg_command_int_pack(system_id, component_id, msg, command_int->target_system, command_int->target_component, command_int->frame, command_int->command, command_int->current, command_int->autocontinue, command_int->param1, command_int->param2, command_int->param3, command_int->param4, command_int->x, command_int->y, command_int->z); ~~~~~~~~~~~~~^~~~~~ .pio/libdeps/Unified_ESP32_2400_TX_via_UART/c_library_v2/common/./mavlink_msg_command_int.h:282:297: warning: 'commandMsg.__mavlink_command_int_t::param4' is used uninitialized in this function [-Wuninitialized] return mavlink_msg_command_int_pack(system_id, component_id, msg, command_int->target_system, command_int->target_component, command_int->frame, command_int->command, command_int->current, command_int->autocontinue, command_int->param1, command_int->param2, command_int->param3, command_int->param4, command_int->x, command_int->y, command_int->z); ~~~~~~~~~~~~~^~~~~~ .pio/libdeps/Unified_ESP32_2400_TX_via_UART/c_library_v2/common/./mavlink_msg_command_int.h:282:318: warning: 'commandMsg.__mavlink_command_int_t::x' is used uninitialized in this function [-Wuninitialized] return mavlink_msg_command_int_pack(system_id, component_id, msg, command_int->target_system, command_int->target_component, command_int->frame, command_int->command, command_int->current, command_int->autocontinue, command_int->param1, command_int->param2, command_int->param3, command_int->param4, command_int->x, command_int->y, command_int->z); ~~~~~~~~~~~~~^ .pio/libdeps/Unified_ESP32_2400_TX_via_UART/c_library_v2/common/./mavlink_msg_command_int.h:282:334: warning: 'commandMsg.__mavlink_command_int_t::y' is used uninitialized in this function [-Wuninitialized] return mavlink_msg_command_int_pack(system_id, component_id, msg, command_int->target_system, command_int->target_component, command_int->frame, command_int->command, command_int->current, command_int->autocontinue, command_int->param1, command_int->param2, command_int->param3, command_int->param4, command_int->x, command_int->y, command_int->z); ~~~~~~~~~~~~~^ .pio/libdeps/Unified_ESP32_2400_TX_via_UART/c_library_v2/common/./mavlink_msg_command_int.h:282:350: warning: 'commandMsg.__mavlink_command_int_t::z' is used uninitialized in this function [-Wuninitialized] return mavlink_msg_command_int_pack(system_id, component_id, msg, command_int->target_system, command_int->target_component, command_int->frame, command_int->command, command_int->current, command_int->autocontinue, command_int->param1, command_int->param2, command_int->param3, command_int->param4, command_int->x, command_int->y, command_int->z); ~~~~~~~~~~~~~^ Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib483\LED\devLED.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\libb0b\libHWTIMER.a Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\libfee\libMAVLink.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib483\LED\devRGB.cpp.o Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\libb0b\libHWTIMER.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\libfee\libMAVLink.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib483\LED\esp32rgb.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib07c\libBackpack.a Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib8a5\libBUTTON.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib8a5\libBUTTON.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib07c\libBackpack.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libff3\FHSS\FHSS.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libff3\FHSS\random.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libe02\LUA\lua.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib2d1\libBLE.a Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib941\libBUZZER.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libe02\LUA\rx_devLUA.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libe02\LUA\rxtx_devLua.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libe02\LUA\tx_devLUA.cpp.o Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib2d1\libBLE.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib941\libBUZZER.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib6c4\POWER_DETECT\devPDET.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib483\libLED.a Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\libff3\libFHSS.a Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib620\libGSENSOR.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib483\libLED.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\libff3\libFHSS.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib620\libGSENSOR.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libaee\THERMAL\devThermal.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libaee\THERMAL\lm75a.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libaee\THERMAL\rpm.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libaee\THERMAL\thermal.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib7c8\SCREEN\FiveWayButton\FiveWayButton.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib7c8\SCREEN\OLED\oleddisplay.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib7c8\SCREEN\TFT\tftdisplay.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib7c8\SCREEN\devScreen.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib7c8\SCREEN\display.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib7c8\SCREEN\fsm.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\libe02\libLUA.a Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib6c4\libPOWER_DETECT.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib6c4\libPOWER_DETECT.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\libe02\libLUA.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib7c8\SCREEN\menu.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib801\VTX\devVTX.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libb42\DNSServer\DNSServer.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib5fa\ESPmDNS\ESPmDNS.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib75c\Update\HttpsOTAUpdate.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib75c\Update\Updater.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libcd6\WIFI\devWIFI.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\libb42\libDNSServer.a Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib801\libVTX.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libcd6\WIFI\lr1121.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libcd6\WIFI\wifiJoystick.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\lib439\StubbornReceiver\stubborn_receiver.cpp.o Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\libb42\libDNSServer.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib801\libVTX.a Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib5fa\libESPmDNS.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\libfaf\StubbornSender\stubborn_sender.cpp.o Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib5fa\libESPmDNS.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\Esp.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib75c\libUpdate.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\FirmwareMSC.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib439\libStubbornReceiver.a In file included from lib/SCREEN/OLED/oleddisplay.cpp:7: lib/SCREEN/OLED/XBMStrings.h:138:24: warning: 'elrs64' defined but not used [-Wunused-variable] static unsigned char elrs64[] = { ^~~~~~ lib/SCREEN/OLED/XBMStrings.h:121:24: warning: 'elrs32' defined but not used [-Wunused-variable] static unsigned char elrs32[] = { ^~~~~~ Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib75c\libUpdate.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib439\libStubbornReceiver.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\FunctionalInterrupt.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\HWCDC.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\libfaf\libStubbornSender.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\HardwareSerial.cpp.o Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\libfaf\libStubbornSender.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\IPAddress.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\IPv6Address.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\MD5Builder.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\Print.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\Stream.cpp.o In file included from lib/WIFI/devWIFI.cpp:7: .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ESPAsyncWebServer-esphome/src/AsyncJson.h:88:25: warning: 'DynamicJsonDocument' is deprecated: use JsonDocument instead [-Wdeprecated-declarations] DynamicJsonDocument _jsonBuffer; ^~~~~~~~~~~ In file included from .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ArduinoJson/src/ArduinoJson.hpp:53, from .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ArduinoJson/src/ArduinoJson.h:9, from .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ESPAsyncWebServer-esphome/src/AsyncJson.h:37, from lib/WIFI/devWIFI.cpp:7: .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ArduinoJson/src/ArduinoJson/compatibility.hpp:125:58: note: declared here class ARDUINOJSON_DEPRECATED("use JsonDocument instead") DynamicJsonDocument ^~~~~~~~~~~~~~~~~~~ In file included from lib/WIFI/devWIFI.cpp:7: .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ESPAsyncWebServer-esphome/src/AsyncJson.h: In constructor 'AsyncJsonResponse::AsyncJsonResponse(bool, size_t)': .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ESPAsyncWebServer-esphome/src/AsyncJson.h:110:47: warning: 'ArduinoJson::V704PB2::JsonArray ArduinoJson::V704PB2::JsonDocument::createNestedArray()' is deprecated: use add<JsonArray>() instead [-Wdeprecated-declarations] _root = _jsonBuffer.createNestedArray(); ^ In file included from .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ArduinoJson/src/ArduinoJson.hpp:33, from .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ArduinoJson/src/ArduinoJson.h:9, from .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ESPAsyncWebServer-esphome/src/AsyncJson.h:37, from lib/WIFI/devWIFI.cpp:7: .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp:298:13: note: declared here JsonArray createNestedArray() { ^~~~~~~~~~~~~~~~~ In file included from lib/WIFI/devWIFI.cpp:7: .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ESPAsyncWebServer-esphome/src/AsyncJson.h:112:48: warning: 'ArduinoJson::V704PB2::JsonObject ArduinoJson::V704PB2::JsonDocument::createNestedObject()' is deprecated: use add<JsonObject>() instead [-Wdeprecated-declarations] _root = _jsonBuffer.createNestedObject(); ^ In file included from .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ArduinoJson/src/ArduinoJson.hpp:33, from .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ArduinoJson/src/ArduinoJson.h:9, from .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ESPAsyncWebServer-esphome/src/AsyncJson.h:37, from lib/WIFI/devWIFI.cpp:7: .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ArduinoJson/src/ArduinoJson/Document/JsonDocument.hpp:318:14: note: declared here JsonObject createNestedObject() { ^~~~~~~~~~~~~~~~~~ In file included from lib/WIFI/devWIFI.cpp:7: .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ESPAsyncWebServer-esphome/src/AsyncJson.h: In member function 'virtual void AsyncCallbackJsonWebHandler::handleRequest(AsyncWebServerRequest*)': .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ESPAsyncWebServer-esphome/src/AsyncJson.h:224:39: warning: 'DynamicJsonDocument' is deprecated: use JsonDocument instead [-Wdeprecated-declarations] DynamicJsonDocument jsonBuffer(this->maxJsonBufferSize); ^ In file included from .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ArduinoJson/src/ArduinoJson.hpp:53, from .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ArduinoJson/src/ArduinoJson.h:9, from .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ESPAsyncWebServer-esphome/src/AsyncJson.h:37, from lib/WIFI/devWIFI.cpp:7: .pio/libdeps/Unified_ESP32_2400_TX_via_UART/ArduinoJson/src/ArduinoJson/compatibility.hpp:125:58: note: declared here class ARDUINOJSON_DEPRECATED("use JsonDocument instead") DynamicJsonDocument ^~~~~~~~~~~~~~~~~~~ Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\libaee\libTHERMAL.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\StreamString.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\Tone.cpp.o Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\libaee\libTHERMAL.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\USB.cpp.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\lib7c8\libSCREEN.a Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\libcd6\libWIFI.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\USBCDC.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\USBMSC.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\WMath.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\WString.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\base64.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\cbuf.cpp.o Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\libcd6\libWIFI.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\lib7c8\libSCREEN.a Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\esp32-hal-adc.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\esp32-hal-bt.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\esp32-hal-cpu.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\esp32-hal-dac.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\esp32-hal-gpio.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\esp32-hal-i2c-slave.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\esp32-hal-i2c.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\esp32-hal-ledc.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\esp32-hal-matrix.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\esp32-hal-misc.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\esp32-hal-psram.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\esp32-hal-rgb-led.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\esp32-hal-rmt.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\esp32-hal-sigmadelta.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\esp32-hal-spi.c.o C:/Users/andreas/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-rmt.c:105:25: warning: 'g_rmt_objlocks' defined but not used [-Wunused-variable] static xSemaphoreHandle g_rmt_objlocks[MAX_CHANNELS] = { ^~~~~~~~~~~~~~ Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\esp32-hal-time.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\esp32-hal-timer.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\esp32-hal-tinyusb.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\esp32-hal-touch.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\esp32-hal-uart.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\firmware_msc_fat.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\libb64\cdecode.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\libb64\cencode.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\main.cpp.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\stdlib_noniso.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\wiring_pulse.c.o Compiling .pio\build\Unified_ESP32_2400_TX_via_UART\FrameworkArduino\wiring_shift.c.o Archiving .pio\build\Unified_ESP32_2400_TX_via_UART\libFrameworkArduino.a Indexing .pio\build\Unified_ESP32_2400_TX_via_UART\libFrameworkArduino.a Linking .pio\build\Unified_ESP32_2400_TX_via_UART\firmware.elf Retrieving maximum program size .pio\build\Unified_ESP32_2400_TX_via_UART\firmware.elf Checking size .pio\build\Unified_ESP32_2400_TX_via_UART\firmware.elf Advanced Memory Usage is available via "PlatformIO Home > Project Inspect" RAM: [== ] 21.0% (used 68732 bytes from 327680 bytes) Flash: [======== ] 79.5% (used 1563701 bytes from 1966080 bytes) copyBootApp0bin([".pio\build\Unified_ESP32_2400_TX_via_UART\firmware.bin"], [".pio\build\Unified_ESP32_2400_TX_via_UART\firmware.elf"]) Building .pio\build\Unified_ESP32_2400_TX_via_UART\firmware.bin esptool.py v4.5.1 Creating esp32 image... Merged 25 ELF sections Successfully created esp32 image. appendConfiguration([".pio\build\Unified_ESP32_2400_TX_via_UART\firmware.bin"], [".pio\build\Unified_ESP32_2400_TX_via_UART\firmware.elf"]) 1) AXIS Thor 2.4GHz TX 2) BETAFPV 2.4GHz Nano TX 3) BETAFPV 2.4GHz Nano TX V2 4) BETAFPV 2.4GHz Micro TX 5) BETAFPV 2.4GHz 1W Micro TX 6) BETAFPV 2.4GHz LiteRadio 3 Pro 7) BETAFPV SuperG 2.4GHz Gemini TX 8) DIY Mini ESP32 SX1280 2.4GHz TX 9) DIY ESP32 E28 2.4GHz TX 10) DIY ESP32 F27 2.4GHz TX 11) DIY ESP32 BLE Joystick TX 12) EMAX OLED 2.4GHz TX 13) EMAX Nano 2.4GHz TX 14) Generic Full-duplex 2.4GHz TX 15) Generic ESP32 2.4Ghz Gemini TX 16) HappyModel ES24 2.4GHz TX 17) HappyModel ES24 Pro 2.4GHz TX 18) HappyModel ES24 Slim Pro 2.4GHz TX 19) HELLORADIO V16 Internal 2.4GHz TX 20) HGLRC Hermes 2.4GHz TX 21) iFlight 2.4GHz TX 22) iFlight 2.4GHz TX V2 23) Jumper AION T-20 2.4GHz TX 24) Jumper AION T-20 2.4GHz V2 TX 25) Jumper AION T-ProS 2.4GHz TX 26) Jumper AION T-15 2.4GHz TX 27) Jumper AION T-14 2.4GHz TX 28) Jumper Gemini T-20 2.4GHz TX 29) Jumper AION T-Pro 2.4GHz TX 30) Jumper AION T-Lite 2.4GHz TX 31) Jumper AION Nano 2.4GHz TX 32) NamimnoRC Flash OLED 2.4GHz TX 33) QuadKopters JR 2.4GHz TX 34) QuadKopters Slim 2.4GHz TX 35) RadioMaster Zorro Internal 2.4GHz TX 36) RadioMaster Pocket Internal 2.4GHz TX 37) RadioMaster MT12 Internal 2.4GHz TX 38) RadioMaster TX16S Internal 2.4GHz TX 39) RadioMaster TX12 Internal 2.4GHz TX 40) RadioMaster Ranger 2.4GHz TX 41) RadioMaster Ranger Micro 2.4GHz TX 42) RadioMaster Ranger Nano 2.4GHz TX 43) RadioMaster Boxer Internal 2.4GHz TX 44) Vantac Lite 2.4GHz TX Choose a configuration to load into the firmware file (press enter to leave bare) 9 ============================== [SUCCESS] Took 334.01 seconds ============================== Environment Status Duration ------------------------------ -------- ------------ Unified_ESP32_2400_TX_via_UART SUCCESS 00:05:34.005 ============================== 1 succeeded in 00:05:34.005 ============================== * Terminal will be reused by tasks, press any key to close it.
Pistolengriff Fernsteuerung (Funke) / Pistol Grip Remote Control (Radio)
Sparkfun
General
Accelerometer, Gyro and IMU Buying Guide
Products for Movement – IMU
SparkFun 9DoF Razor IMU M0 – MPU-9250
- SAMD21 (32-bit ARM Cortex-M0+)
- MPU-9250
SparkFun 9DoF Razor IMU M0
9DoF Razor IMU M0 Hookup Guide
github.com/sparkfun/9DOF_Razor_IMU/, 9DOF Razor IMU available from SparkFun Electronics
github.com/sparkfun/SparkFun_MPU-9250-DMP_Arduino_Library, Arduino library for the MPU-9250 enabling its digital motion process (DMP) features.
SparkFun 9DoF IMU Breakout – ICM-20948
SparkFun 9DoF IMU Breakout – ICM-20948 (Qwiic)
SparkFun 9DoF IMU (ICM-20948) Breakout Hookup Guide
github.com/sparkfun/SparkFun_Qwiic_9DoF_IMU_Breakout, The ICM20948 is the next IMU in the lineup from Invensense, following the MPU-9250
github.com/sparkfun/Qwiic_9DoF_IMU_ICM20948_Py, Python module for the SparkFun 9DoF IMU Breakout – ICM-20948 (Qwiic)
OpenLog Artemis
SparkFun OpenLog Artemis
SparkFun OpenLog Artemis (without IMU)
Others
MPU-9250
YouTube
MPU9250 module with Arduino Tutorials -Accelerometer, gyroscope and Magnetometer sensor
IMU MPU-9250 + Arduino + AHRS (Madgwick’s algorithm)
MPU9250 Test
3D Orientation-Rotation Tracking using MPU9250
MPU9250 initialization and gyro zero drift
Tutorials
MPU-9250 and Arduino (9-Axis IMU), with Source Code for Arduino + Client!!
Open source IMU and AHRS algorithms, Madgwick algorithm, sensor fusion algorithm, 2012
MPU-6050
YouTube
LabNote: MPU6050 Based IMU Arm Motion Capture + Blender Realtime Sync
GitHub
https://github.com/T-K-233/Dual-MPU6050-Motion-Sync
IMU
- Inertial Measurement Unit [IMU]
- inertial reference unit [IRU]
- motion reference unit [MRU]
- motion sensing
measurement of motion
- acceleration
- rotation
- velocity
is essential to understanding the orientation of an object
- production line machines
- robotic devices
- vehicles
- autonomous systems (autonomen Systemen,)
- gimbals (kardanischen Aufhängungen)
- machine tools (Werkzeugmaschinen)
- robotic prosthetics (Roboterprothesen)
Modules
- Bosch BMI270 (SpeedyBee F405 V3)
- TDK InvenSense MPU-6000
- TDK InvenSense MPU-6050
- TDK InvenSense MPU-9250 (SparkFun 9DoF Razor IMU M0)
- TDK InvenSense ICM-20689
- TDK InvenSense ICM-20602
- TDK InvenSense ICM-20948
Python
conda create --name QuatAnimation python=3.12 conda activate QuatAnimation # conda cannot use pyside6-addons and pyside6-essentials!! # conda install -c conda-forge numpy pyside6 pyqtgraph pyopengl pip install pyside6 matplotlib numpy pyqtgraph pyopengl
Tutorials
PyQt6 vs PySide6
Plotting with PyQtGraph, Create custom plots in PySide6 with PyQtGraph
Stackoverflow
Pyqtgraph GLMeshItem set rotation with quaternion
ImportError: No module named OpenGL.GL
opengl glLineWidth() doesn’t change size of lines
Wikipedia
Quaternions and spatial rotation
ELRS
Glossary
CRSF
: TBS Crossfire, more specifically in our case most often referring to the communication protocol between
- TX and TX module and
- RX and FC respectively
Supported receiver protocols: CRSF
, SBUS
, SUMD
, HoTT
Telemetry, MAVLink
, and PWM
ExpressLRS
is written in C++ using the Arduino framework.
ExpressLRS
Glossary
Toolchain Setup
DIY Transmitter
PlatformIO
YouTube
SimpleTX introducion
Arduino Based Simple Transmitter for ELRS TX Module
CLOSED – ExpressLRS DIY Transmitter Module Giveaway
ELRS / CRSF HID Joystick with Pi Pico
ExpressLRS Configurator Diy Firmware
ExpressLRS 2 4Ghz Transmitter Module Build and Flash
GitHub
github.com/ExpressLRS/ExpressLRS/, ESP32/ESP8285-based High-Performance Radio Link for RC applications
github.com/kkbin505/Arduino-Transmitter-for-ELRS/tree/SimpleTX_ELRS_3.X_Test, Arduino based RC transmitter for ELRS external TX Module
github.com/dbloemhard/Arduino-Transmitter-for-ELRS3.x, Arduino based RC transmitter for ELRS external TX Module
github.com/cruwaller/elrs_handset/, Custom DIY dual band (900/2400MHz) transmitter (handset) based on ExpressLRS.
github.com/cruwaller/ExpressLRS, ESP32/ESP8285 based LoRa Radio Link
github.com/mikeneiderhauser/CRSFJoystick, Arduino code that runs on a Pi Pico (2040) to emulate a USB HID Joystick
github.com/Sam4uk/CRSF
Tutorials
DIY RC radio link: the problem of protocols, Paweł Spychalski, Nov 2, 2017
FPV Protocols Explained (CRSF, SBUS, DSHOT, ACCST, PPM, PWM and more), 1st April 2021
CRSF Protocol
github.com/crsf-wg/crsf/wiki, CRSF Protocol Specifications
github.com/ExpressLRS/ExpressLRS/blob/master/src/lib/CrsfProtocol/crsf_protocol.h
github.com/britannio/pico_crsf/blob/main/crsf.h
github.com/CapnBry/CRServoF/tree/main/lib/CrsfSerial
DIY ESP32 E28
RandomNerdTutorials.com: ESP32 Pinout Reference: Which GPIO pins should you use?
LastMinuteEngineers.com: ESP32-WROOM-32 Pinout Reference
RP2040
GitHub
github.com/earlephilhower/arduino-pico, Raspberry Pi Pico Arduino core, for all RP2040 and RP2350 boards
Documentation
Raspberry Pi Pico-series Microcontrollers
Arduino Pico: Serial Ports (USB and UART)
Glossary
Serial
is the USB serial port
Serial1
is UART0
, and Serial2
is UART1
Product
Waveshare RP2040-Zero
AliExpress: TZT RP2040-Zero
ArduPilot
Drone 3.5inch – FlyFishRC Volador VX3.5
How to build a sub 250g 3.5-inch freestyle FPV Drone for $160 in 2024, Hoarder Sam
- 16.8V = 4S
- 25.2V = 6S
- FlyFishRC Volador VX3 VX3.5
- JHEMCU ExpressLRS RX24T
- Caddx Ratel 2
- SpeedyBee TX800 VTX
- T-MOTOR P1604 KV2850 6S
- HQ 3.5×2.5×3 Tri-blade Prop
- SpeedyBee F405 Mini
FlyFishRC Volador VX3 VX3.5 O3 FPV Frame 3inch 3.5inch Compatible with DJI O3 Air Unit For FPV RC Freestyle Quadcopter Kit
JHEMCU ExpressLRS RX24T 2.4G ELRS Radio Nano Long Range Receiver T-type Antenna 11X18mm for RC FPV Racing Freestyle Drone
Caddx Ratel 2 V2 FPV Camera Ratel2 2.1mm Lens 16:9/4:3 NTSC/PAL Switchable With Replacement Lens Micro FPV Camera Drone
SpeedyBee TX800 VTX 5.8G 48CH PitMode 25mW/200mW/400mW/800mW Output Long Range Transmitter Tramp Support For RC FPV Racing Drone
4PCS T-MOTOR P1604 KV2850 6S/KV3800 4S Brushless Motor 1.5mm Shaft 9*9mm Holes For RC FPV Freestyle 3.5inch Sub 250g Drone
2pairs HQ 3.5×2.5×3 Tri-blade Prop HQPROP 3525 3.5inch FPV Propeller
SpeedyBee F405 Mini Flight Controller with BLS 35A Mini V2 20×20 4-in-1 ESC for RC FPV Racing Drone
Speedybee Mini
Eachine Q90C Flyingfrog – Brushed Flight Control
Open Source Motion Capture for Autonomous Drones
github.com/jyjblrd/Low-Cost-Mocap
Open Source Motion Capture for Autonomous Drones, $20 system for room-scale millimeter level precision motion capture
Build a low-cost motion capture system
Crazyflie 2.1, $225.00
Crazyflie 2.1+, $240.00
ESPcopter, $149.00
AliExpress
F3 EVO Brush Flight Controller, Original
HappyModel SP Racing F3 EVO Brushed Micro FC, Original
F3 EVO Micro Brushed Flight Control Board
Tiny 32bits 2S F3 Brushed Flight Control Board, Based On SP RACING F3 EVO
SP RACING F3 EVO Clone
Eachine Q90C
Hardware
- XN297 Low Power 2.4GHz GFSK Transceiver (NRF24L01)
YouTube
How to use your Eachine Flying Frog Q90C radio with an FPV Simulator like FPV Freerider &Velocidrone
Manual
Eachine Q90C FlyingFrog FPV Racing Quadcopter Manual
Blog
github.com/pascallanger/DIY-Multiprotocol-TX-Module/blob/master/Protocols_Details.md, ## Q90C – *72*
github.com/goebish/XN297_dumper