esp32-aog
esp32-aog copied to clipboard
not building
Hi, I tried to fill in your code but I found some problems
_git/_tomstix/esp32-aog $ pio run Processing featheresp32 (platform: espressif32; board: featheresp32; framework: arduino)
Verbose mode can be enabled via -v, --verbose
option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/featheresp32.html
PLATFORM: Espressif 32 (6.1.0) > Adafruit ESP32 Feather
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.20007.0 (2.0.7)
- tool-esptoolpy @ 1.40500.0 (4.5.0)
- 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 52 compatible libraries Scanning dependencies... Dependency Graph |-- AsyncTCP @ 1.1.1 |-- Adafruit Unified Sensor @ 1.1.9 |-- ESP32CAN @ 0.0.1 |-- Adafruit FXOS8700 @ 2.2.0 | |-- Adafruit BusIO @ 1.14.1 | | |-- Wire @ 1.0.1 | | |-- SPI @ 2.0.0 | |-- Wire @ 1.0.1 | |-- SPI @ 2.0.0 | |-- Adafruit Unified Sensor @ 1.1.9 |-- Adafruit FXAS21002C @ 2.2.0 | |-- Adafruit BusIO @ 1.14.1 | | |-- Wire @ 1.0.1 | | |-- SPI @ 2.0.0 | |-- Wire @ 1.0.1 | |-- SPI @ 2.0.0 | |-- Adafruit Unified Sensor @ 1.1.9 |-- Adafruit AHRS @ 1.1.4 | |-- Adafruit Unified Sensor @ 1.1.9 |-- ESP Async WebServer @ 1.2.3 | |-- AsyncTCP @ 1.1.1 | |-- AsyncElegantOTA @ 2.2.7 | | |-- AsyncTCP @ 1.1.1 | | |-- FS @ 2.0.0 | | |-- Update @ 2.0.0 | | |-- WiFi @ 2.0.0 | |-- FS @ 2.0.0 | |-- WiFi @ 2.0.0 |-- AsyncElegantOTA @ 2.2.7 | |-- AsyncTCP @ 1.1.1 | |-- FS @ 2.0.0 | |-- Update @ 2.0.0 | |-- WiFi @ 2.0.0 |-- ArduinoJson @ 5.13.4 |-- Wire @ 1.0.1 |-- AutoPID @ 1.0.3 |-- ESPUI @ 1.6.2 | |-- ESP Async WebServer @ 1.2.3 | | |-- AsyncTCP @ 1.1.1 | | |-- AsyncElegantOTA @ 2.2.7 | | | |-- AsyncTCP @ 1.1.1 | | | |-- FS @ 2.0.0 | | | |-- Update @ 2.0.0 | | | |-- WiFi @ 2.0.0 | | |-- FS @ 2.0.0 | | |-- WiFi @ 2.0.0 | |-- ArduinoJson @ 5.13.4 | |-- FS @ 2.0.0 | |-- SPIFFS @ 2.0.0 | | |-- FS @ 2.0.0 | |-- WiFi @ 2.0.0 | |-- AsyncTCP @ 1.1.1 | |-- AsyncElegantOTA @ 2.2.7 | | |-- AsyncTCP @ 1.1.1 | | |-- FS @ 2.0.0 | | |-- Update @ 2.0.0 | | |-- WiFi @ 2.0.0 |-- FS @ 2.0.0 |-- SPIFFS @ 2.0.0 | |-- FS @ 2.0.0 |-- DNSServer @ 2.0.0 | |-- WiFi @ 2.0.0 |-- WiFi @ 2.0.0 |-- HTTPClient @ 1.2 | |-- WiFi @ 2.0.0 | |-- WiFiClientSecure @ 2.0.0 | | |-- WiFi @ 2.0.0 |-- MicroNMEA @ 2.0.1 |-- Adafruit ADS1X15 @ 1.2.0 | |-- Wire @ 1.0.1 |-- Adafruit MMA8451 Library @ 1.0.5 | |-- Adafruit Unified Sensor @ 1.1.9 | |-- Wire @ 1.0.1 |-- Adafruit BNO055 @ 1.1.8 | |-- Adafruit Unified Sensor @ 1.1.9 | |-- Wire @ 1.0.1 |-- json |-- ESP32 Async UDP @ 2.0.0 Building in release mode Compiling .pio/build/featheresp32/src/autosteer.cpp.o Compiling .pio/build/featheresp32/src/can.cpp.o Compiling .pio/build/featheresp32/src/idleStats.cpp.o Compiling .pio/build/featheresp32/src/jsonFunctions.cpp.o Compiling .pio/build/featheresp32/src/main.cpp.o Compiling .pio/build/featheresp32/src/rtk.cpp.o Compiling .pio/build/featheresp32/src/sensor.cpp.o Building .pio/build/featheresp32/bootloader.bin Generating partitions .pio/build/featheresp32/partitions.bin esptool.py v4.5 Creating esp32 image... Merged 1 ELF section Successfully created esp32 image. src/jsonFunctions.cpp:29:10: fatal error: crypto/base64.h: No such file or directory #include <crypto/base64.h> ^~~~~~~~~~~~~~~~~ compilation terminated. Compiling .pio/build/featheresp32/lib9c8/AsyncTCP/AsyncTCP.cpp.o Compiling .pio/build/featheresp32/lib731/Adafruit Unified Sensor/Adafruit_Sensor.cpp.o In file included from src/main.cpp:38: .pio/libdeps/featheresp32/AsyncElegantOTA/src/AsyncElegantOTA.h:4:2: warning: #warning AsyncElegantOTA.loop(); is deprecated, please remove it from loop() if defined. This function will be removed in a future release. [-Wcpp] #warning AsyncElegantOTA.loop(); is deprecated, please remove it from loop() if defined. This function will be removed in a future release. ^~~~~~~ Compiling .pio/build/featheresp32/lib004/ESP32CAN/CAN.c.o *** [.pio/build/featheresp32/src/jsonFunctions.cpp.o] Error 1 cc1: warning: command line option '-fno-rtti' is valid for C++/ObjC++ but not for C In file included from .pio/libdeps/featheresp32/ESP32CAN/src/CAN.c:37: /home/orcim/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_hw_support/include/esp_intr.h:8:2: warning: #warning esp_intr.h is deprecated, please include esp_intr_alloc.h instead [-Wcpp] #warning esp_intr.h is deprecated, please include esp_intr_alloc.h instead ^~~~~~~ In file included from lib/Adafruit_MMA8451_Library/Adafruit_MMA8451.h:29, from src/sensor.cpp:31: lib/Wire/src/Wire.h:46:5: error: 'i2c_t' does not name a type; did you mean 'ino_t'? i2c_t * i2c; ^~~~~ ino_t lib/Wire/src/Wire.h:66:5: error: 'i2c_err_t' does not name a type; did you mean 'esp_err_t'? i2c_err_t last_error; // @stickBreaker from esp32-hal-i2c.h ^~~~~~~~~ esp_err_t lib/Wire/src/Wire.h:85:5: error: 'i2c_err_t' does not name a type; did you mean 'esp_err_t'? i2c_err_t writeTransmission(uint16_t address, uint8_t* buff, uint16_t size, bool sendStop=true); ^~~~~~~~~ esp_err_t lib/Wire/src/Wire.h:86:5: error: 'i2c_err_t' does not name a type; did you mean 'esp_err_t'? i2c_err_t readTransmission(uint16_t address, uint8_t* buff, uint16_t size, bool sendStop=true, uint32_t readCount=NULL); ^~~~~~~~~ esp_err_t In file included from lib/Adafruit_MMA8451_Library/Adafruit_MMA8451.h:29, from src/main.hpp:34, from src/autosteer.cpp:28: lib/Wire/src/Wire.h:46:5: error: 'i2c_t' does not name a type; did you mean 'ino_t'? i2c_t * i2c; ^~~~~ ino_t lib/Wire/src/Wire.h:66:5: error: 'i2c_err_t' does not name a type; did you mean 'esp_err_t'? i2c_err_t last_error; // @stickBreaker from esp32-hal-i2c.h ^~~~~~~~~ esp_err_t lib/Wire/src/Wire.h:85:5: error: 'i2c_err_t' does not name a type; did you mean 'esp_err_t'? i2c_err_t writeTransmission(uint16_t address, uint8_t buff, uint16_t size, bool sendStop=true); ^~~~~~~~~ esp_err_t lib/Wire/src/Wire.h:86:5: error: 'i2c_err_t' does not name a type; did you mean 'esp_err_t'? i2c_err_t readTransmission(uint16_t address, uint8_t* buff, uint16_t size, bool sendStop=true, uint32_t readCount=NULL); ^~~~~~~~~ esp_err_t In file included from lib/Adafruit_MMA8451_Library/Adafruit_MMA8451.h:29, from src/main.hpp:34, from src/rtk.cpp:35: lib/Wire/src/Wire.h:46:5: error: 'i2c_t' does not name a type; did you mean 'ino_t'? i2c_t * i2c; ^~~~~ ino_t lib/Wire/src/Wire.h:66:5: error: 'i2c_err_t' does not name a type; did you mean 'esp_err_t'? i2c_err_t last_error; // @stickBreaker from esp32-hal-i2c.h ^~~~~~~~~ esp_err_t lib/Wire/src/Wire.h:85:5: error: 'i2c_err_t' does not name a type; did you mean 'esp_err_t'? i2c_err_t writeTransmission(uint16_t address, uint8_t buff, uint16_t size, bool sendStop=true); ^~~~~~~~~ esp_err_t lib/Wire/src/Wire.h:86:5: error: 'i2c_err_t' does not name a type; did you mean 'esp_err_t'? i2c_err_t readTransmission(uint16_t address, uint8_t* buff, uint16_t size, bool sendStop=true, uint32_t readCount=NULL); ^~~~~~~~~ esp_err_t In file included from lib/Adafruit_MMA8451_Library/Adafruit_MMA8451.h:29, from src/main.hpp:34, from src/idleStats.cpp:27: lib/Wire/src/Wire.h:46:5: error: 'i2c_t' does not name a type; did you mean 'ino_t'? i2c_t * i2c; ^~~~~ ino_t lib/Wire/src/Wire.h:66:5: error: 'i2c_err_t' does not name a type; did you mean 'esp_err_t'? i2c_err_t last_error; // @stickBreaker from esp32-hal-i2c.h ^~~~~~~~~ esp_err_t lib/Wire/src/Wire.h:85:5: error: 'i2c_err_t' does not name a type; did you mean 'esp_err_t'? i2c_err_t writeTransmission(uint16_t address, uint8_t buff, uint16_t size, bool sendStop=true); ^~~~~~~~~ esp_err_t lib/Wire/src/Wire.h:86:5: error: 'i2c_err_t' does not name a type; did you mean 'esp_err_t'? i2c_err_t readTransmission(uint16_t address, uint8_t* buff, uint16_t size, bool sendStop=true, uint32_t readCount=NULL); ^~~~~~~~~ esp_err_t In file included from lib/Adafruit_MMA8451_Library/Adafruit_MMA8451.h:29, from src/main.hpp:34, from src/jsonFunctions.hpp:23, from src/main.cpp:26: lib/Wire/src/Wire.h:46:5: error: 'i2c_t' does not name a type; did you mean 'ino_t'? i2c_t * i2c; ^~~~~ ino_t lib/Wire/src/Wire.h:66:5: error: 'i2c_err_t' does not name a type; did you mean 'esp_err_t'? i2c_err_t last_error; // @stickBreaker from esp32-hal-i2c.h ^~~~~~~~~ esp_err_t lib/Wire/src/Wire.h:85:5: error: 'i2c_err_t' does not name a type; did you mean 'esp_err_t'? i2c_err_t writeTransmission(uint16_t address, uint8_t buff, uint16_t size, bool sendStop=true); ^~~~~~~~~ esp_err_t lib/Wire/src/Wire.h:86:5: error: 'i2c_err_t' does not name a type; did you mean 'esp_err_t'? i2c_err_t readTransmission(uint16_t address, uint8_t* buff, uint16_t size, bool sendStop=true, uint32_t readCount=NULL); ^~~~~~~~~ esp_err_t In file included from lib/Adafruit_MMA8451_Library/Adafruit_MMA8451.h:29, from src/main.hpp:34, from src/can.cpp:27: lib/Wire/src/Wire.h:46:5: error: 'i2c_t' does not name a type; did you mean 'ino_t'? i2c_t * i2c; ^~~~~ ino_t lib/Wire/src/Wire.h:66:5: error: 'i2c_err_t' does not name a type; did you mean 'esp_err_t'? i2c_err_t last_error; // @stickBreaker from esp32-hal-i2c.h ^~~~~~~~~ esp_err_t lib/Wire/src/Wire.h:85:5: error: 'i2c_err_t' does not name a type; did you mean 'esp_err_t'? i2c_err_t writeTransmission(uint16_t address, uint8_t buff, uint16_t size, bool sendStop=true); ^~~~~~~~~ esp_err_t lib/Wire/src/Wire.h:86:5: error: 'i2c_err_t' does not name a type; did you mean 'esp_err_t'? i2c_err_t readTransmission(uint16_t address, uint8_t* buff, uint16_t size, bool sendStop=true, uint32_t readCount=NULL); ^~~~~~~~~ esp_err_t src/rtk.cpp: In function 'void ntripWorker(void)': src/rtk.cpp:263:44: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] if( steerConfig.rtkCorrectionUsername != '\0' ) { ^~~~ src/rtk.cpp:266:46: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] if( steerConfig.rtkCorrectionPassword != '\0' ) { ^~~~ src/rtk.cpp:283:46: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] if( steerConfig.rtkCorrectionMountpoint != '\0' ) { ^~~~ *** [.pio/build/featheresp32/src/autosteer.cpp.o] Error 1 *** [.pio/build/featheresp32/src/idleStats.cpp.o] Error 1 *** [.pio/build/featheresp32/src/rtk.cpp.o] Error 1 *** [.pio/build/featheresp32/src/can.cpp.o] Error 1 *** [.pio/build/featheresp32/src/main.cpp.o] Error 1 *** [.pio/build/featheresp32/src/sensor.cpp.o] Error 1
Sadly, this codebase is out of date with the libraries, or maybe I should say, the libraries it uses made some nasty changes that broke this nice project. Let me see if I can figure out the problem fixes again.
Note that I have ported this code to a different but similar project https://github.com/AOG-addendum/esp32-autosteer. Beware that it no longer uses Atom, but VSCode, as Atom is no longer developed. This codebase should be used with the PCB design listed in the Readme for best results.
I can't get VSCode to recognize this project quickly, and I'm out of time. I know I searched Google for the solutions to the problems you listed here.