Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
483 commits
Select commit Hold shift + click to select a range
1ae8842
Update LoRa.ino
PaulZC Aug 15, 2025
64e4a4a
Fix typo
nseidle Aug 15, 2025
ce62276
Prelim tilt detection working
nseidle Aug 15, 2025
61e7609
Update coments after Flex hardware tests / investigations
PaulZC Aug 19, 2025
ffb62f4
Disable Flex
PaulZC Aug 19, 2025
2c5d9aa
Merge branch 'release_candidate' into AddFlexLoRa
PaulZC Aug 19, 2025
a221007
Merge pull request #724 from sparkfun/AddFlexLoRa
PaulZC Aug 19, 2025
a57c35b
Merge branch 'release_candidate' into pcUpdates
PaulZC Aug 19, 2025
c9ff986
Revert aclConnected to a one-shot
PaulZC Aug 19, 2025
66b3774
Add BTSerialInterface isClosed
PaulZC Aug 19, 2025
38496b6
Comment update
nseidle Aug 19, 2025
88b9007
Tilt working on LG290P
nseidle Aug 19, 2025
edba7a8
BBB: Bring Back Beeper! Update lever arm.
nseidle Aug 20, 2025
ef6c2f4
Prevent crash in networkUserAdd debug print
PaulZC Aug 14, 2025
a5aabfc
Merge pull request #726 from sparkfun/networkUserAdd_debug
PaulZC Aug 21, 2025
4231f4f
Compiling
nseidle Aug 21, 2025
2ea521b
Defining LG290P UARTs for Torch X2
nseidle Aug 21, 2025
0bac69e
Rename Facet Flex to Flex
nseidle Aug 21, 2025
34d9ad7
Add comments about webServer MDNS.begin
PaulZC Aug 22, 2025
c54f9a6
Set AP Gateway to 192.168.4.1. Fix small gremlins. Reinstate softApSe…
PaulZC Aug 22, 2025
cc17a8d
Add TorchX2 to web config
nseidle Aug 22, 2025
d50f2c4
Fix compile guards
nseidle Aug 22, 2025
5ddbd49
SDP: use deviceName, not sdp_service_name. Set channel in record
PaulZC Aug 25, 2025
eb36c5a
Merge branch 'release_candidate' into pcUpdates
PaulZC Aug 25, 2025
1455fee
Add EA Session support for VTG, GSA & GSV
PaulZC Aug 26, 2025
c5253f5
Update required libraries in workflows
PaulZC Aug 28, 2025
54f397a
Prevent spaceAvailable from possibly going negative
PaulZC Aug 28, 2025
d99b88d
Update Bluetooth.ino
PaulZC Aug 28, 2025
2ae414f
Add comment about AP Gateway
PaulZC Aug 28, 2025
defba5d
Add comments for new commented code
PaulZC Aug 28, 2025
88a3d58
Revert bluetoothUpdate to 100ms
PaulZC Aug 28, 2025
f977f88
Revert bluetoothSelect isClosed
PaulZC Aug 28, 2025
4767daa
Merge pull request #728 from sparkfun/pcUpdates
nseidle Aug 29, 2025
8a48e00
Increase version on Apple Accessory Library
nseidle Sep 3, 2025
54bdf94
Update form.h via Python
github-actions[bot] Sep 3, 2025
b131bb3
Add compile guard for Apple Auth
nseidle Sep 4, 2025
150fb05
Don't end SD unless online.
nseidle Sep 4, 2025
d1fa72f
Update form.h via Python
github-actions[bot] Sep 4, 2025
1bc7f69
Add support for PPP on LG290P
nseidle Sep 4, 2025
79646bd
Fix typo
nseidle Sep 4, 2025
63256cc
Default HAS off on LG290P
nseidle Sep 4, 2025
f9e717b
Whitespace changes
nseidle Sep 4, 2025
c393561
Increase gnssFirmwareVersion array to allow for larger '_PPP_TEMP' fi…
nseidle Sep 4, 2025
f5e217a
Update form.h via Python
github-actions[bot] Sep 4, 2025
cf8a522
Update form.h via Python
github-actions[bot] Sep 4, 2025
0030b29
On LG290P, correctly print the DATA port baud rate
nseidle Sep 4, 2025
382a238
Merge branch 'release_candidate' of https://github.com/sparkfun/Spark…
nseidle Sep 4, 2025
6dee83c
Change default RTCM logging to MSM7
nseidle Sep 10, 2025
d2ecd5e
Update form.h via Python
github-actions[bot] Sep 10, 2025
077ac0c
Merge branch 'release_candidate' into AddFlexTilt
nseidle Sep 10, 2025
0841266
Merge pull request #731 from sparkfun/AddFlexTilt
nseidle Sep 10, 2025
5907d15
Add missing setDataBaudRate() outcome
nseidle Sep 10, 2025
41544a7
Move MSM7 config to enableRTCMRover()
nseidle Sep 10, 2025
a889f2b
Enable RTCM1020/1046.
nseidle Sep 10, 2025
1cae242
Update form.h via Python
github-actions[bot] Sep 10, 2025
93ac4da
Fix compile guard
nseidle Sep 11, 2025
1a1221d
Whitespace
nseidle Sep 11, 2025
1716093
Add debugCLI
nseidle Sep 11, 2025
8fb9e6c
Fix tCmnCnst case in getSettingValue
nseidle Sep 11, 2025
8e68d3f
Add comments
nseidle Sep 11, 2025
a5d7754
Add commandLookupSettingNameAfterPriority
PaulZC Sep 12, 2025
86fa208
Add comments
nseidle Sep 12, 2025
a301c33
Merge branch 'release_candidate' into AddTorchX2
nseidle Sep 12, 2025
e069399
Merge pull request #727 from sparkfun/AddTorchX2
nseidle Sep 12, 2025
a829c7c
Fix merge errors
nseidle Sep 12, 2025
cc7da56
Add COMMAND define calculations
nseidle Sep 12, 2025
9e13fd6
Fix "Unknown setting: antennaHeight_mm" due to overshoot
nseidle Sep 12, 2025
ea30ee3
Whitespace
nseidle Sep 12, 2025
cea432e
Fix ESP-NOW camelcase
nseidle Sep 12, 2025
cc281a5
CLI: Add Factory Reset command
nseidle Sep 16, 2025
c3720bb
Update form.h via Python
github-actions[bot] Sep 16, 2025
f3d0858
Merge branch 'nsUpdates' of https://github.com/sparkfun/SparkFun_RTK_…
nseidle Sep 17, 2025
f3ec9ee
CLI: Add firmware version
nseidle Sep 17, 2025
3195344
Report setting along with error
nseidle Sep 17, 2025
7dcf8af
Add bluetoothCommandIsConnected()
nseidle Sep 17, 2025
4788cac
Process CLI commands first, then decide where to report them
nseidle Sep 17, 2025
0060a1a
Add command to error report
nseidle Sep 17, 2025
54bab4c
Add error reporting for SPEXE commands
nseidle Sep 17, 2025
783ec19
Push CLI responses through BLE check
nseidle Sep 17, 2025
03c5789
Fix debug print
nseidle Sep 17, 2025
6a416c3
Increase OTA WiFi wait to 10 seconds
nseidle Sep 17, 2025
c5b98b6
CLI: Add rtkRemoteFirmwareVersion and UPDATEFIRMWARE commands
nseidle Sep 17, 2025
226fa1b
Update form.h via Python
github-actions[bot] Sep 17, 2025
c99731f
Add more commands to CLI. Use wifiConnectTimeout setting for OTA.
nseidle Sep 17, 2025
511f4ac
Merge branch 'nsUpdates' of https://github.com/sparkfun/SparkFun_RTK_…
nseidle Sep 17, 2025
0ae775a
Update form.h via Python
github-actions[bot] Sep 17, 2025
26db7a2
Reduce debug level to suppress BLE prints
nseidle Sep 18, 2025
ae931df
Update form.h via Python
github-actions[bot] Sep 18, 2025
6bf9cae
Fix SPEXE error output format
nseidle Sep 18, 2025
a4a7549
Fix get/set for profile names
nseidle Sep 18, 2025
b45f39f
Update form.h via Python
github-actions[bot] Sep 18, 2025
9b03afc
Add set support for profileNumber
nseidle Sep 18, 2025
9569999
CLI: Add gets for battery stats, deviceName,
nseidle Sep 19, 2025
d8c6821
CLI: Add error for sets on read only settings
nseidle Sep 19, 2025
5ac5d9a
Remove runCommandMode logic.
nseidle Sep 19, 2025
67e4044
Merge pull request #732 from sparkfun/nsUpdates
nseidle Sep 19, 2025
bdadf18
Update form.h via Python
github-actions[bot] Sep 19, 2025
b03da2f
Remove override
nseidle Sep 19, 2025
ec5b17f
Update form.h via Python
github-actions[bot] Sep 19, 2025
df7d5c1
Add endpoint for counting size of a transfer
nseidle Sep 22, 2025
f6b9383
Add size of list response to the top of the list response.
nseidle Sep 22, 2025
3a83d1e
Add Battery Service over BLE
nseidle Sep 22, 2025
b3b0492
Update form.h via Python
github-actions[bot] Sep 22, 2025
ef2991d
Correct use of prioritySettingsEnd - for Flex
PaulZC Sep 23, 2025
d7eefd8
Fix over-use of prioritySettingsEnd
PaulZC Sep 23, 2025
2e0ce10
Typo fix
nseidle Sep 25, 2025
f2d33d8
Update ESP-NOW example sketches
nseidle Sep 26, 2025
a7c41bb
Use Little-endian UUID
PaulZC Sep 26, 2025
d735fae
Merge pull request #734 from sparkfun/pcUpdates
nseidle Sep 26, 2025
cb9a22c
Update form.h via Python
github-actions[bot] Sep 26, 2025
8889cc7
Revert Little-Endian until btlib changes are in place
nseidle Sep 26, 2025
470e38b
Remove unused variable
nseidle Sep 30, 2025
00413d3
Merge branch 'release_candidate' into nsUpdates
nseidle Sep 30, 2025
7472d17
CLI: Report the number of lines in the list response, instead of bytes
nseidle Sep 30, 2025
62dbb0b
Merge pull request #739 from sparkfun/nsUpdates
nseidle Sep 30, 2025
bc45482
Update form.h via Python
github-actions[bot] Sep 30, 2025
6059819
Add delay to CLI during LIST printing
nseidle Sep 30, 2025
507cb4c
Update form.h via Python
github-actions[bot] Sep 30, 2025
5e8192f
Allow HAS over CLI on LG290P
nseidle Sep 30, 2025
71d8dc3
MFi pairing improvements - requires updated Apple Accessory and libbt.a
PaulZC Oct 1, 2025
5d162b8
Merge branch 'release_candidate' into pcUpdates
PaulZC Oct 1, 2025
e20579e
Alphabetize command list
nseidle Oct 1, 2025
6441891
Update workflows - require Apple Accessory v3.0.9
PaulZC Oct 2, 2025
98279df
Update libbt.a
PaulZC Oct 2, 2025
3f3abde
Default to SSP pairing without PIN
PaulZC Oct 2, 2025
5ae280d
Increase display time
nseidle Oct 2, 2025
1c86c44
Add PAIR and PAIRSTOP commands to CLI
nseidle Oct 2, 2025
e662aa7
Expose wifiChannel over CLI
nseidle Oct 2, 2025
a5b13af
Update ESP-NOW test sketches
nseidle Oct 2, 2025
e3583cd
Make ESP-NOW pairing asynchronous
nseidle Oct 2, 2025
c3ca1f0
Merge pull request #740 from sparkfun/pcUpdates
nseidle Oct 2, 2025
3da1431
Merge pull request #741 from sparkfun/nsUpdates
nseidle Oct 2, 2025
642e5d8
Update form.h via Python
github-actions[bot] Oct 2, 2025
db12e22
Remove warning
nseidle Oct 2, 2025
4d4cf9c
Settings: Add afterSetCmd field to command table
LeeLeahy2 Oct 4, 2025
9ac6cbb
makefile: Update to build with new and updated libraries, add BT patch
LeeLeahy2 Oct 4, 2025
b64114b
menuCommands: Call afterSetCmd function
LeeLeahy2 Oct 4, 2025
4cf000c
GNSS: Add gnssCmdUpdateConstellations called by menuCommands
LeeLeahy2 Oct 4, 2025
4e56f19
GNSS: Add gnssCmdUpdateMessageRates called by menuCommands
LeeLeahy2 Oct 4, 2025
ebe96f9
Make millis timeouts wrapsafe - resolves #742
PaulZC Oct 6, 2025
7b974ca
Add notes about negative elevation limits
PaulZC Oct 6, 2025
6296ca8
Modify CFGPROT for LG290P firmware 6 - see #747
PaulZC Oct 7, 2025
eca8175
Correct HAE calculation in menuBase - see #738
PaulZC Oct 7, 2025
3546970
Add comment about fixedAltitude units
PaulZC Oct 7, 2025
39ed7b9
Remove online.logging check from menuLog ARP Logging option - see #730
PaulZC Oct 7, 2025
4d13e84
Add useMSM7 - see #735
PaulZC Oct 7, 2025
65c6ca1
Merge pull request #748 from sparkfun/pcUpdates
nseidle Oct 7, 2025
c3c9f50
Merge pull request #743 from LeeLeahy2/makefile
nseidle Oct 7, 2025
73eb7bb
Merge branch 'release_candidate' into after-set-cmd
nseidle Oct 7, 2025
2656e6d
Merge pull request #744 from LeeLeahy2/after-set-cmd
nseidle Oct 7, 2025
e1c8352
Merge pull request #745 from LeeLeahy2/update-constellations
nseidle Oct 7, 2025
d9bef99
Merge pull request #746 from LeeLeahy2/update-message-rates
nseidle Oct 7, 2025
abf486b
Update form.h via Python
github-actions[bot] Oct 8, 2025
2241906
Add missing inMainMenu checks on periodic prints
PaulZC Oct 9, 2025
8032960
Update stateModeTable
PaulZC Oct 9, 2025
2505379
Print firmware mode in menuMain
PaulZC Oct 9, 2025
33f92f2
Add firmware mode periodic display PD_FIRMWARE_MODE
PaulZC Oct 9, 2025
8e7b13d
Add rtcmMinElev
PaulZC Oct 9, 2025
c762be8
Merge pull request #750 from sparkfun/pcUpdates
nseidle Oct 9, 2025
05bee20
WIP
PaulZC Oct 9, 2025
e3db394
Add BTSerialInterface (BluetoothSerial) register_callback and memrelease
PaulZC Oct 10, 2025
60efba8
Restructure mmSetBluetoothProtocol
PaulZC Oct 10, 2025
9490b24
Add bluetoothRadioPreviousOnType and bluetoothStartSkipOnlineCheck
PaulZC Oct 10, 2025
09aa47b
Tweaks
PaulZC Oct 10, 2025
8e27a13
Correct mmSetBluetoothProtocol for accessory mode
PaulZC Oct 10, 2025
680f411
Clear btPrintEchoExit on entering the menu - prevents drop-through if…
PaulZC Oct 10, 2025
3d7485d
Merge branch 'release_candidate' into pcUpdates_RenameBluetoothBroadcast
PaulZC Oct 10, 2025
8bb1450
Use Spp memrelease
PaulZC Oct 10, 2025
830231e
Add createCommandTypesJson - WIP
PaulZC Oct 13, 2025
c6d423f
Add ZED getMessageNumberByNameSkipChecks
PaulZC Oct 14, 2025
11ac6f5
Add full command types JSON support
PaulZC Oct 14, 2025
73b5ff0
Add createMessageList for LG290P
PaulZC Oct 15, 2025
68478a3
Web config updates for LG290P
PaulZC Oct 15, 2025
8e16c3d
Add web config info for rtcmMinElev
PaulZC Oct 15, 2025
be7ba73
Move messageRatePQTM before messageRate
PaulZC Oct 15, 2025
cb6b0e6
Add useMSM7 and rtcmMinElev to web config
PaulZC Oct 15, 2025
b00e09e
Add useMSM7 and rtcmMinElev to web config
PaulZC Oct 15, 2025
c192891
Fix incorrect use of label
PaulZC Oct 15, 2025
5fed834
Merge pull request #752 from sparkfun/pcUpdates_RenameBluetoothBroadcast
PaulZC Oct 15, 2025
57257e3
Merge pull request #754 from sparkfun/pcUpdates
PaulZC Oct 15, 2025
888a45a
Update form.h via Python
github-actions[bot] Oct 15, 2025
6e8cd67
Add PPP temp firmware check
nseidle Oct 15, 2025
c7a41e8
Update form.h via Python
github-actions[bot] Oct 15, 2025
555f417
menuCommand: Add wifiAfterCommand
LeeLeahy2 Oct 21, 2025
62da629
Merge pull request #759 from LeeLeahy2/wifi-changes
nseidle Oct 22, 2025
1d22580
Update firmware compilation instructions - WIP - using Docker
PaulZC Oct 24, 2025
64f8e47
Add Dockerfile - WIP
PaulZC Oct 24, 2025
bdf7522
Move Dockerfile
PaulZC Oct 25, 2025
ed81c4f
Change final RUN arduino-cli to CMD
PaulZC Oct 25, 2025
5c47f4f
Docker docs updates
PaulZC Oct 25, 2025
dcd6969
Add Dockerfile screenshots
PaulZC Oct 25, 2025
beb7264
Update firmware_compile.md
PaulZC Oct 25, 2025
c328f64
Update Dockerfile and docs
PaulZC Oct 26, 2025
5595ba4
Fix typos
PaulZC Oct 26, 2025
e85db0e
Add compile_with_docker.bat
PaulZC Oct 27, 2025
e684b13
Update firmware_compile.md
PaulZC Oct 27, 2025
5a4425e
Update workflows to use Dockerfile
PaulZC Oct 28, 2025
123587e
Update form.h via Python
github-actions[bot] Oct 28, 2025
08a0b91
Update firmware_compile.md
PaulZC Oct 28, 2025
249f9bd
Merge pull request #760 from sparkfun/pcDocs
PaulZC Oct 28, 2025
451b3d5
Add LG290P configurePPP - web config needs more work
PaulZC Oct 30, 2025
d18ea8f
settings.configurePPP : use spaces not commas
PaulZC Oct 30, 2025
69ea5e0
Merge pull request #762 from sparkfun/pcUpdates
nseidle Oct 30, 2025
313c77a
Move direct connection mode file deletion into loop - see #763
PaulZC Oct 31, 2025
2f35ac1
Merge pull request #764 from sparkfun/pcUpdates
nseidle Nov 3, 2025
c8a7646
Update form.h via Python
github-actions[bot] Nov 3, 2025
5a8a656
Add compile guard
nseidle Nov 3, 2025
08db0be
Allow compile guards to work
nseidle Nov 3, 2025
ed9e273
Postcard: Throttle SD card checking to once a second
nseidle Nov 3, 2025
ebd88fd
Replace strtok with strtok_r
PaulZC Nov 4, 2025
b2854db
Hide web config configurePPP on non-LG290P platforms
PaulZC Nov 4, 2025
7c9cae1
Fix present.mosaicMicroSd
PaulZC Nov 4, 2025
5d6807a
Update Dockerfile
PaulZC Nov 4, 2025
8443240
Clean up some warnings
PaulZC Nov 4, 2025
4dc15a9
Merge pull request #769 from sparkfun/pcUpdates_Fix_mosaicMicroSd
nseidle Nov 4, 2025
7773573
Merge pull request #768 from sparkfun/pcUpdates_configurePPP_web_config
nseidle Nov 4, 2025
644847b
Restructure NTRIP_SERVER_DATA - make the struct contents volatile
PaulZC Nov 4, 2025
729592c
Merge pull request #767 from sparkfun/pcUpdates_Replace_strtok
nseidle Nov 4, 2025
715c749
Move debug setting so that it works during begin()
nseidle Nov 4, 2025
18b7799
Put LoRa radio into communication mode during command mode
nseidle Nov 4, 2025
fc17ba0
Update form.h via Python
github-actions[bot] Nov 4, 2025
37eb046
Update form.h via Python
github-actions[bot] Nov 4, 2025
f792c77
Whitespace
nseidle Nov 4, 2025
0c83bdc
Merge branch 'release_candidate' of https://github.com/sparkfun/Spark…
nseidle Nov 4, 2025
7f8b4e9
Remove settings call backs
nseidle Nov 4, 2025
41b9812
Improve warning reports for known settings (but not supported on plat…
nseidle Nov 4, 2025
114e1c0
Move the confirmation of data up to avoid main.js from resending larg…
nseidle Nov 4, 2025
310b46a
Update WebServer.ino
nseidle Nov 4, 2025
b2fdcd5
Web Config: During save, transmit only the settings that have changed
nseidle Nov 4, 2025
0934410
Limit file manager string size to avoid stack explosion
nseidle Nov 4, 2025
2f88507
Update form.h via Python
github-actions[bot] Nov 4, 2025
c9789f8
Update form.h via Python
github-actions[bot] Nov 4, 2025
d72e1ff
Merge branch 'release_candidate' into pcUpdates
PaulZC Nov 5, 2025
ac6e0d3
Add ethernetUpdate and ethernetRestartRequested
PaulZC Nov 5, 2025
0555fb6
NtripServer - gently absorb incoming traffic (to free TCP resources);…
PaulZC Nov 5, 2025
248be19
TcpClient - gently absorb incoming data (to free TCP resources)
PaulZC Nov 5, 2025
0b0d052
Absorb all available data in ntripServer and tcpClient
PaulZC Nov 5, 2025
7772ba5
Remove redundant checks around networkMulticastDNSUpdate
PaulZC Nov 5, 2025
1845152
Add NTRIP_SERVER_DATA semaphore and mutex methods
PaulZC Nov 8, 2025
30c5fbe
More NTRIP_SERVER_DATA mutex methods
PaulZC Nov 9, 2025
61f5ead
Remove ntripServer lastConnectionAttempt - it is never set!
PaulZC Nov 9, 2025
f7c33e0
Add semaphore protection for lastSetupMenuChange
PaulZC Nov 9, 2025
aa031fa
Sync more often if log file size is not increasing
PaulZC Nov 9, 2025
19c6f16
Increase uartReceiveBufferSize to 4K. EVK needs 4K. SEMP errors are s…
PaulZC Nov 9, 2025
91d719e
Initialize previousPriority - to display IP address on first connect
PaulZC Nov 9, 2025
ba34680
Make semaphoreProtectedTimer timer volatile!
PaulZC Nov 10, 2025
1aa3465
Add comment
PaulZC Nov 10, 2025
1ac4107
Merge pull request #772 from sparkfun/pcUpdates
nseidle Nov 12, 2025
b9892b9
Update form.h via Python
github-actions[bot] Nov 12, 2025
27d2b61
Merge branch 'main' into release_candidate
nseidle Nov 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
137 changes: 33 additions & 104 deletions .github/workflows/compile-rtk-everywhere.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,7 @@ on:
env:
FILENAME_PREFIX: RTK_Everywhere_Firmware
FIRMWARE_VERSION_MAJOR: 2
FIRMWARE_VERSION_MINOR: 2
POINTPERFECT_LBAND_TOKEN: ${{ secrets.POINTPERFECT_LBAND_TOKEN }}
POINTPERFECT_IP_TOKEN: ${{ secrets.POINTPERFECT_IP_TOKEN }}
POINTPERFECT_LBAND_IP_TOKEN: ${{ secrets.POINTPERFECT_LBAND_IP_TOKEN }}
POINTPERFECT_RTCM_TOKEN: ${{ secrets.POINTPERFECT_RTCM_TOKEN }}
FIRMWARE_VERSION_MINOR: 3
CORE_VERSION: 3.0.7

jobs:
Expand Down Expand Up @@ -54,116 +50,49 @@ jobs:
echo "DEBUG_LEVEL=error" >> "$GITHUB_ENV"
fi

- name: Setup Arduino CLI
uses: arduino/setup-arduino-cli@v1

- name: Start config file
run: arduino-cli config init --additional-urls "https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json"

- name: Update core index
run: arduino-cli core update-index

- name: Update library index
run: arduino-cli lib update-index

- name: Install platform
run: arduino-cli core install esp32:esp32@${{ env.CORE_VERSION }}

- name: Get IDF version
- name: Run Dockerfile and copy files
# The --quiet suppresses the build output, keeping the secrets safe
run: |
cd /home/runner/.arduino15/packages/esp32/tools/esp32-arduino-libs
IDF_VERSION=$(ls | grep idf-release)
echo "ESP_IDF=${IDF_VERSION}" >> "$GITHUB_ENV"

- name: Get Known Libraries
run: arduino-cli lib install
ArduinoJson@7.0.4
ESP32Time@2.0.0
ESP32_BleSerial@2.0.1
"ESP32-OTA-Pull"@1.0.0
JC_Button@2.1.2
PubSubClient@2.8.0
"SdFat"@2.1.1
"SparkFun LIS2DH12 Arduino Library"@1.0.3
"SparkFun MAX1704x Fuel Gauge Arduino Library"@1.0.4
"SparkFun u-blox GNSS v3"@3.1.8
"SparkFun Qwiic OLED Arduino Library"@1.0.13
SSLClientESP32@2.0.0
"SparkFun Extensible Message Parser"@1.0.2
"SparkFun BQ40Z50 Battery Manager Arduino Library"@1.0.0
"ArduinoMqttClient"@0.1.8
"SparkFun u-blox PointPerfect Library"@1.11.4
"SparkFun IM19 IMU Arduino Library"@1.0.1
"SparkFun UM980 Triband RTK GNSS Arduino Library"@1.0.4
"SparkFun LG290P Quadband RTK GNSS Arduino Library"@1.0.8
"SparkFun I2C Expander Arduino Library"@1.0.1

- name: Patch libmbedtls
run: |
cd Firmware/RTK_Everywhere/Patch/
cp libmbedtls.a /home/runner/.arduino15/packages/esp32/tools/esp32-arduino-libs/${{ env.ESP_IDF }}/esp32/lib/libmbedtls.a
cp libmbedtls_2.a /home/runner/.arduino15/packages/esp32/tools/esp32-arduino-libs/${{ env.ESP_IDF }}/esp32/lib/libmbedtls_2.a
cp libmbedcrypto.a /home/runner/.arduino15/packages/esp32/tools/esp32-arduino-libs/${{ env.ESP_IDF }}/esp32/lib/libmbedcrypto.a
cp libmbedx509.a /home/runner/.arduino15/packages/esp32/tools/esp32-arduino-libs/${{ env.ESP_IDF }}/esp32/lib/libmbedx509.a

- name: Patch NetworkEvents
run: |
cd Firmware/RTK_Everywhere/Patch/
cp NetworkEvents.* /home/runner/.arduino15/packages/esp32/hardware/esp32/${{ env.CORE_VERSION }}/libraries/Network/src/

- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'

# Configure Python - now we have Python installed, we need to provide everything needed by esptool otherwise the compile fails
- name: Configure Python
run: |
pip3 install pyserial

- name: Update index_html
run: |
cd Firmware/Tools
python index_html_zipper.py ../RTK_Everywhere/AP-Config/index.html ../RTK_Everywhere/form.h

- name: Update main_js
run: |
cd Firmware/Tools
python main_js_zipper.py ../RTK_Everywhere/AP-Config/src/main.js ../RTK_Everywhere/form.h
cd ./Firmware
echo "*** The docker build is quiet to protect the GitHub secrets ***"
docker build -t rtk_everywhere_firmware --no-cache --quiet \
--build-arg CORE_VERSION=${{ env.CORE_VERSION }} \
--build-arg FIRMWARE_VERSION_MAJOR=${{ env.FIRMWARE_VERSION_MAJOR }} \
--build-arg FIRMWARE_VERSION_MINOR=${{ env.FIRMWARE_VERSION_MINOR }} \
--build-arg POINTPERFECT_LBAND_TOKEN="${{ secrets.POINTPERFECT_LBAND_TOKEN }}" \
--build-arg POINTPERFECT_IP_TOKEN="${{ secrets.POINTPERFECT_IP_TOKEN }}" \
--build-arg POINTPERFECT_LBAND_IP_TOKEN="${{ secrets.POINTPERFECT_LBAND_IP_TOKEN }}" \
--build-arg POINTPERFECT_RTCM_TOKEN="${{ secrets.POINTPERFECT_RTCM_TOKEN }}" \
--build-arg ENABLE_DEVELOPER=${{ env.ENABLE_DEVELOPER }} \
--build-arg DEBUG_LEVEL=${{ env.DEBUG_LEVEL }} \
.
docker create --name=rtk_everywhere rtk_everywhere_firmware:latest
mkdir ./build
docker cp rtk_everywhere:/RTK_Everywhere.ino.bin ./build
docker cp rtk_everywhere:/RTK_Everywhere.ino.elf ./build
docker cp rtk_everywhere:/RTK_Everywhere/form.h ./RTK_Everywhere
docker container rm rtk_everywhere

- name: Commit and push form.h
uses: actions-js/push@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
directory: ./Firmware/RTK_Everywhere
branch: ${{ env.BRANCH }}
message: 'Update form.h via Python'

- name: Copy custom RTKEverywhere.csv
run:
# Compile the source using the 16MB partition file. Other platforms (ie, the 8MB Postcard) use
# the same binary but use a different partition binary during the upload phase.
# View the different RTK partition files used during upload here:
# https://github.com/sparkfun/SparkFun_RTK_Firmware_Uploader/tree/main/RTK_Firmware_Uploader/resource
cp Firmware/RTKEverywhere.csv /home/runner/.arduino15/packages/esp32/hardware/esp32/${{ env.CORE_VERSION }}/tools/partitions/RTKEverywhere.csv

- name: Compile Sketch
run: arduino-cli compile --fqbn "esp32:esp32:esp32":DebugLevel=${{ env.DEBUG_LEVEL }},PSRAM=enabled ./Firmware/RTK_Everywhere/RTK_Everywhere.ino
--build-property build.partitions=RTKEverywhere
--build-property upload.maximum_size=4055040
--build-property "compiler.cpp.extra_flags=-MMD -c \"-DPOINTPERFECT_LBAND_TOKEN=$POINTPERFECT_LBAND_TOKEN\" \"-DPOINTPERFECT_IP_TOKEN=$POINTPERFECT_IP_TOKEN\" \"-DPOINTPERFECT_LBAND_IP_TOKEN=$POINTPERFECT_LBAND_IP_TOKEN\" \"-DPOINTPERFECT_RTCM_TOKEN=$POINTPERFECT_RTCM_TOKEN\" \"-DFIRMWARE_VERSION_MAJOR=$FIRMWARE_VERSION_MAJOR\" \"-DFIRMWARE_VERSION_MINOR=$FIRMWARE_VERSION_MINOR\" \"-DENABLE_DEVELOPER=${{ env.ENABLE_DEVELOPER }}\""
--export-binaries
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git add ./Firmware/RTK_Everywhere/form.h
git commit -m "Update form.h via Python"
git push origin ${{ env.BRANCH }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Rename binary
run: |
cd Firmware/RTK_Everywhere/build/esp32.esp32.esp32/
cd ./Firmware/build
mv RTK_Everywhere.ino.bin ${{ env.FILENAME_PREFIX }}${{ env.FILE_ENDING_UNDERSCORE }}.bin

- name: Upload binary to action
uses: actions/upload-artifact@v4
with:
name: ${{ env.FILENAME_PREFIX }}${{ env.FILE_ENDING_UNDERSCORE }}
path: ./Firmware/RTK_Everywhere/build/esp32.esp32.esp32/${{ env.FILENAME_PREFIX }}${{ env.FILE_ENDING_UNDERSCORE }}.bin
path: ./Firmware/build/${{ env.FILENAME_PREFIX }}${{ env.FILE_ENDING_UNDERSCORE }}.bin


- name: Push binary to Binaries Repo
Expand All @@ -172,7 +101,7 @@ jobs:
env:
API_TOKEN_GITHUB: ${{ secrets.PUSH_BINARIES_REPO }}
with:
source_file: ./Firmware/RTK_Everywhere/build/esp32.esp32.esp32/${{ env.FILENAME_PREFIX }}${{ env.FILE_ENDING_UNDERSCORE }}.bin
source_file: ./Firmware/build/${{ env.FILENAME_PREFIX }}${{ env.FILE_ENDING_UNDERSCORE }}.bin
destination_repo: 'sparkfun/SparkFun_RTK_Everywhere_Firmware_Binaries'
destination_folder: ''
user_email: 'nathan@sparkfun.com'
Expand Down
134 changes: 34 additions & 100 deletions .github/workflows/non-release-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,6 @@ env:
FILENAME_PREFIX: RTK_Everywhere_Firmware
FIRMWARE_VERSION_MAJOR: 99
FIRMWARE_VERSION_MINOR: 99
POINTPERFECT_LBAND_TOKEN: ${{ secrets.POINTPERFECT_LBAND_TOKEN }}
POINTPERFECT_IP_TOKEN: ${{ secrets.POINTPERFECT_IP_TOKEN }}
POINTPERFECT_LBAND_IP_TOKEN: ${{ secrets.POINTPERFECT_LBAND_IP_TOKEN }}
CORE_VERSION: 3.0.7

jobs:
Expand Down Expand Up @@ -50,119 +47,56 @@ jobs:
echo "JSON_ENDING=-${{ steps.dateNoScores.outputs.dateNoScores }}" >> "$GITHUB_ENV"
echo "JSON_FILE_NAME=RTK-Everywhere-RC-Firmware.json" >> "$GITHUB_ENV"
echo "ENABLE_DEVELOPER=true" >> "$GITHUB_ENV"
echo "DEBUG_LEVEL=debug" >> "$GITHUB_ENV"
echo "DEBUG_LEVEL=error" >> "$GITHUB_ENV"
fi

- name: Setup Arduino CLI
uses: arduino/setup-arduino-cli@v1

- name: Start config file
run: arduino-cli config init --additional-urls "https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json,https://espressif.github.io/arduino-esp32/package_esp32_dev_index.json"

- name: Update core index
run: arduino-cli core update-index

- name: Update library index
run: arduino-cli lib update-index

- name: Install platform
run: arduino-cli core install esp32:esp32@${{ env.CORE_VERSION }}

- name: Get IDF version
run: |
cd /home/runner/.arduino15/packages/esp32/tools/esp32-arduino-libs
IDF_VERSION=$(ls | grep idf-release)
echo "ESP_IDF=${IDF_VERSION}" >> "$GITHUB_ENV"

- name: Get Known Libraries
run: arduino-cli lib install
ArduinoJson@7.0.4
ESP32Time@2.0.0
ESP32_BleSerial@2.0.1
"ESP32-OTA-Pull"@1.0.0
JC_Button@2.1.2
PubSubClient@2.8.0
"SdFat"@2.1.1
"SparkFun LIS2DH12 Arduino Library"@1.0.3
"SparkFun MAX1704x Fuel Gauge Arduino Library"@1.0.4
"SparkFun u-blox GNSS v3"@3.1.8
"SparkFun Qwiic OLED Arduino Library"@1.0.13
SSLClientESP32@2.0.0
"SparkFun Extensible Message Parser"@1.0.2
"SparkFun BQ40Z50 Battery Manager Arduino Library"@1.0.0
"ArduinoMqttClient"@0.1.8
"SparkFun u-blox PointPerfect Library"@1.11.4
"SparkFun IM19 IMU Arduino Library"@1.0.1
"SparkFun UM980 Triband RTK GNSS Arduino Library"@1.0.4
"SparkFun LG290P Quadband RTK GNSS Arduino Library"@1.0.7
"SparkFun I2C Expander Arduino Library"@1.0.1

- name: Patch libmbedtls
run: |
cd Firmware/RTK_Everywhere/Patch/
cp libmbedtls.a /home/runner/.arduino15/packages/esp32/tools/esp32-arduino-libs/${{ env.ESP_IDF }}/esp32/lib/libmbedtls.a
cp libmbedtls_2.a /home/runner/.arduino15/packages/esp32/tools/esp32-arduino-libs/${{ env.ESP_IDF }}/esp32/lib/libmbedtls_2.a
cp libmbedcrypto.a /home/runner/.arduino15/packages/esp32/tools/esp32-arduino-libs/${{ env.ESP_IDF }}/esp32/lib/libmbedcrypto.a
cp libmbedx509.a /home/runner/.arduino15/packages/esp32/tools/esp32-arduino-libs/${{ env.ESP_IDF }}/esp32/lib/libmbedx509.a

- name: Patch NetworkEvents
run: |
cd Firmware/RTK_Everywhere/Patch/
cp NetworkEvents.* /home/runner/.arduino15/packages/esp32/hardware/esp32/${{ env.CORE_VERSION }}/libraries/Network/src/

- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'

# Configure Python - now we have Python installed, we need to provide everything needed by esptool otherwise the compile fails
- name: Configure Python
- name: Run Dockerfile and copy files
# The --quiet suppresses the build output, keeping the secrets safe
run: |
pip3 install pyserial

- name: Update index_html
run: |
cd Firmware/Tools
python index_html_zipper.py ../RTK_Everywhere/AP-Config/index.html ../RTK_Everywhere/form.h

- name: Update main_js
run: |
cd Firmware/Tools
python main_js_zipper.py ../RTK_Everywhere/AP-Config/src/main.js ../RTK_Everywhere/form.h
cd ./Firmware
echo "*** The docker build is quiet to protect the GitHub secrets ***"
docker build -t rtk_everywhere_firmware --no-cache --quiet \
--build-arg CORE_VERSION=${{ env.CORE_VERSION }} \
--build-arg FIRMWARE_VERSION_MAJOR=${{ env.FIRMWARE_VERSION_MAJOR }} \
--build-arg FIRMWARE_VERSION_MINOR=${{ env.FIRMWARE_VERSION_MINOR }} \
--build-arg POINTPERFECT_LBAND_TOKEN="${{ secrets.POINTPERFECT_LBAND_TOKEN }}" \
--build-arg POINTPERFECT_IP_TOKEN="${{ secrets.POINTPERFECT_IP_TOKEN }}" \
--build-arg POINTPERFECT_LBAND_IP_TOKEN="${{ secrets.POINTPERFECT_LBAND_IP_TOKEN }}" \
--build-arg POINTPERFECT_RTCM_TOKEN="${{ secrets.POINTPERFECT_RTCM_TOKEN }}" \
--build-arg ENABLE_DEVELOPER=${{ env.ENABLE_DEVELOPER }} \
--build-arg DEBUG_LEVEL=${{ env.DEBUG_LEVEL }} \
.
docker create --name=rtk_everywhere rtk_everywhere_firmware:latest
mkdir ./build
docker cp rtk_everywhere:/RTK_Everywhere.ino.bin ./build
docker cp rtk_everywhere:/RTK_Everywhere.ino.elf ./build
docker cp rtk_everywhere:/RTK_Everywhere/form.h ./RTK_Everywhere
docker container rm rtk_everywhere

- name: Commit and push form.h
uses: actions-js/push@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
directory: ./Firmware/RTK_Everywhere
branch: ${{ env.BRANCH }}
message: 'Update form.h via Python'

- name: Copy custom RTKEverywhere.csv
run:
# Use the 16MB partitions by default. 8MB (Postcard) partitions must be compiled separately
cp Firmware/RTKEverywhere.csv /home/runner/.arduino15/packages/esp32/hardware/esp32/${{ env.CORE_VERSION }}/tools/partitions/RTKEverywhere.csv

- name: Compile Sketch
run: arduino-cli compile --fqbn "esp32:esp32:esp32":DebugLevel=${{ env.DEBUG_LEVEL }},PSRAM=enabled ./Firmware/RTK_Everywhere/RTK_Everywhere.ino
--build-property build.partitions=RTKEverywhere
--build-property upload.maximum_size=4055040
--build-property "compiler.cpp.extra_flags=-MMD -c \"-DPOINTPERFECT_LBAND_TOKEN=$POINTPERFECT_LBAND_TOKEN\" \"-DPOINTPERFECT_IP_TOKEN=$POINTPERFECT_IP_TOKEN\" \"-DPOINTPERFECT_LBAND_IP_TOKEN=$POINTPERFECT_LBAND_IP_TOKEN\" \"-DFIRMWARE_VERSION_MAJOR=$FIRMWARE_VERSION_MAJOR\" \"-DFIRMWARE_VERSION_MINOR=$FIRMWARE_VERSION_MINOR\" \"-DENABLE_DEVELOPER=${{ env.ENABLE_DEVELOPER }}\""
--export-binaries
run: |
git config --local user.email "github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git add ./Firmware/RTK_Everywhere/form.h
git commit -m "Update form.h via Python"
git push origin ${{ env.BRANCH }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Create artifact name
run: |
echo "ARTIFACT=${{ env.FILENAME_PREFIX }}${{ env.FILE_ENDING_UNDERSCORE }}" >> $GITHUB_ENV

- name: Create artifact directory
run: |
cd Firmware/RTK_Everywhere/build/esp32.esp32.esp32/
cd ./Firmware/build
mkdir ${{ env.ARTIFACT }}
mv RTK_Everywhere.ino.bin ${{ env.ARTIFACT }}
mv RTK_Everywhere.ino.elf ${{ env.ARTIFACT }}

- name: Upload artifact directory to action - avoid double-zip
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ env.ARTIFACT }}
path: Firmware/RTK_Everywhere/build/esp32.esp32.esp32/${{ env.ARTIFACT }}
path: ./Firmware/build/${{ env.ARTIFACT }}
retention-days: 7
Loading