I’m new in this community.
Ham Radio (F6DNH) and retired IT Eng. I’m interested in RTK.
I just wanted to compile SparkFun_RTK_Firmware-main as this seems to be the single reference for all Sparkfun RTK products. Probably up-to-date.
And enough, for me, to understand ESP32 C++ software, and RTK Rover or Base.
I don’t know how long this journey will be. Seems to be hard to complete after a couple of days…
I’m using Arduino IDE (2.3.6) and I’ve installed Arduino CLI.
My first remark is the fact that the required libraries, as described either in the official document or reading yaml is not accurate to do the job.
Arduino IDE and libraries, or github repository are many releases behind.
In order to reduce the amount of errors when compiling and in order to go step by step, I’ve reduced the capabilities to a minimum
#define COMPILE_ETHERNET // Comment out to remove Ethernet (W5500) support
#define COMPILE_WIFI // Comment out to remove WiFi functionality
#define COMPILE_BT // Comment out to remove Bluetooth functionality
#define COMPILE_L_BAND // Comment out to remove L-Band functionality
#define COMPILE_SD_MMC // Comment out to remove REFERENCE_STATION microSD SD_MMC support
That’s fine, I’ve errors which should not exists. Not too much and easy to understand:
D:\@Informatique\RTK\Sparkfun\SparkFun_RTK_Firmware-main\Firmware\RTK_Surveyor\Begin.ino: In function 'void beginBoard()':
D:\@Informatique\RTK\Sparkfun\SparkFun_RTK_Firmware-main\Firmware\RTK_Surveyor\Begin.ino:293:34: error: 'ESP_MAC_WIFI_STA' was not declared in this scope
D:\@Informatique\RTK\Sparkfun\SparkFun_RTK_Firmware-main\Firmware\RTK_Surveyor\Begin.ino:293:5: error: 'esp_read_mac' was not declared in this scope
D:\@Informatique\RTK\Sparkfun\SparkFun_RTK_Firmware-main\Firmware\RTK_Surveyor\Begin.ino: In function 'void pinUART2Task(void*)':
D:\@Informatique\RTK\Sparkfun\SparkFun_RTK_Firmware-main\Firmware\RTK_Surveyor\Begin.ino:668:36: error: invalid conversion from 'int' to 'uart_port_t' [-fpermissive]
C:\Users\Personnel\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.5-b66b5448-v1\esp32/include/esp_driver_uart/include/driver/uart.h:732:50: note: initializing argument 1 of 'esp_err_t uart_set_rx_full_threshold(uart_port_t, int)'
D:\@Informatique\RTK\Sparkfun\SparkFun_RTK_Firmware-main\Firmware\RTK_Surveyor\Begin.ino: In function 'void beginLEDs()':
D:\@Informatique\RTK\Sparkfun\SparkFun_RTK_Firmware-main\Firmware\RTK_Surveyor\Begin.ino:993:9: error: 'ledcSetup' was not declared in this scope
D:\@Informatique\RTK\Sparkfun\SparkFun_RTK_Firmware-main\Firmware\RTK_Surveyor\Begin.ino:997:9: error: 'ledcAttachPin' was not declared in this scope; did you mean 'ledcAttach'?``
However, before to continue, I would ask some questions to the community:
was someone successful in (today) compiling the firmware ?
Welcome @F6DNH! And congrats for attempting to compile the firmware from scratch. It is not for the faint of heart.
All current development is on the ‘RTK Everywhere Firmware’ here. We made a breaking change a few years ago when we switched our modern RTK products to ESP32 variants that include PSRAM. So RTK Everywhere = newest, all the bells and whistles that require more RAM, RTK Firmware = older firmware, still works great, runs on all our RTK Facets, Surveyors, Express, products but not where the new work is being done.
You do not list your ESP32 Arduino core version. The yaml shows the ESP32 core version is 2.0.2 which is pretty far behind the current 3.3.0. There are a few bug fixes between those versions sure, but mostly it’s big breaking changes that will cause our firmware not to compile. So be sure to use 2.0.2 when you’re compiling.
Let us know what other blockers you hit and we’ll try to get you through.
The compilation instructions are available at the link below. I will correct the link in the readme.md. Sorry about that.
Please see the important notes: “Be sure to obtain the version of the library reflected in the workflow. Be sure to include the external libraries (You may have to enable external library support in the CLI).”
If you see compiler errors, please post them here and we will do our best to help.
Seems that with the last version of Arduino IDE, ESP32 Core 3.3.0 is installed.
Is it the reason why the 3.0.7 version installation is aborted?
Can we have only a single core installed?
I’m sorry to come again with questions, it’s not an easy journey!
I’m with side effects for unknown reasons…
I’ll make a REAL fresh installation on another PC, my wife laptop!
This one has never been polluted by a previous installation…
It was not necessary as (old approach of a former professional, I’m 77 now!) I wanted to be successful on my OWN desktop. Seems to be a fixed problem now. I will come back later. It’s lunch time in a few minutes…
C:\Users\Personnel>arduino-cli compile D:@Arduino\SparkFun_RTK_Everywhere_Firmware-main\Firmware\RTK_Everywhere --build-property build.partitions=RTKEverywhere --build-property upload.maximum_size=4055040 --fqbn esp32:esp32:esp32:FlashSize=16M,PSRAM=enabled
ATTENTION: la bibliothèque JC_Button prétend être exécutable sur la (ou les) architecture(s) avr et peut être incompatible avec votre carte actuelle qui s’exécute sur esp32.
Library SparkFun u-blox PointPerfect Library has been declared precompiled:
Using precompiled library in D:\Arduino\libraries\SparkFun_u-blox_PointPerfect_Library\src\esp32
Le croquis utilise 3222201 octets (79%) de l’espace de stockage de programmes. Le maximum est de 4055040 octets.
Les variables globales utilisent 81700 octets (24%) de mémoire dynamique, ce qui laisse 245980 octets pour les variables locales. Le maximum est de 327680 octets.
Note : line 11 of RTK_Everywhere.ino should be modified as it refers to the old guidelines…
In order to fix the issue (impossibility yesterday to install the good core version), I’ve done it using Arduino IDE, Tools/Boards Manager.
You are welcome Marc - I am glad it is compiling successfully,
Line 11 has been changed.
On my Windows PC, I keep zipped copies of the different core versions. I close the Arduino IDE, delete the C:\Users\<YOUR USER>\AppData\Local\Arduino15\packages\esp32\tools and \hardware folders, unzip the new version, and then re-open Arduino IDE. The CLI picks up the new version automatically. I have not found a better way to do it…