github-actions[bot]
71c8143f72
Update protobufs ( #10074 )
...
Co-authored-by: fifieldt <1287116+fifieldt@users.noreply.github.com >
2026-04-04 13:58:23 +11:00
Ben Meadors
222d3e6b62
Fix zero CR and add unit tests for applyModemConfig coding rate behavior ( #10070 )
...
* Fix zero CR and add unit tests for applyModemConfig coding rate behavior
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: initialize region configuration in setUp for RadioInterface tests
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-04-04 08:27:39 +11:00
Chloe Bethel
2e6519bb98
Add a hardfault handler so it's more obvious when STM32 crashes. ( #10071 )
...
* Add hardfault handler so it's more obvious when STM32 crashes.
* thanks copilot
2026-04-03 14:50:39 +01:00
Patrickschell609
726d539174
fix: prevent division by zero in wind sensor averaging ( #10059 )
...
SerialModule's weather station parser divides by velCount and dirCount
to compute wind speed/direction averages. Both counters are only
incremented when their respective sensor readings arrive, but the
division runs whenever gotwind is true (set by EITHER reading) and
the averaging interval has elapsed.
If only WindDir arrives without WindSpeed (or vice versa), or if the
timer fires before any readings accumulate, the division produces
undefined behavior (floating-point divide by zero on embedded = NaN
or hardware fault depending on platform).
Fix: add velCount > 0 && dirCount > 0 guard to the averaging block.
Co-authored-by: Patrickschell609 <patrickschell609@users.noreply.github.com >
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-04-03 06:07:59 -05:00
notmasteryet
e7ee4bea18
Fix TFTDisplay::display to align pixels at 32-bit boundary ( #9956 )
...
* Fix TFTDisplay partial update: align spans to 32-bit boundary for GDMA
The device, such as esp32c6, require 32-bit alignment for the data.
The patch aligns start and end of the update pixels buffer.
* Update src/graphics/TFTDisplay.cpp
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-04-02 20:57:19 -05:00
Tom
efd2613bd7
feat: add new configuration files for LR11xx variants ( #9761 )
...
* feat: add new configuration files for LR11xx variants
* style: reformat RF switch mode table for improved readability
2026-04-01 10:46:27 +11:00
Tom
f88bc732cc
Improved manual build flow to make it easier ( #8839 )
...
* Improved flow to make easier
The emojis are intentional! I had minimal LLM input!!!
* try and fix input variable sanitisation
* and again
* again
* Copilot fixed it for me
* copilot didn't fix it for me
* copilot might have fixed it and I broke it by copypasting
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-03-31 07:53:59 -05:00
Ben Meadors
0746f8cfff
Merge remote-tracking branch 'origin/master' into develop
2026-03-30 14:37:29 -05:00
Austin
4e05f20c58
Renovate: Don't update branches outside the schedule (daily) ( #10039 )
...
Renovate is still running after each merge... maybe this will fix it
2026-03-30 14:36:59 -05:00
Ben Meadors
0ac95e370b
Merge remote-tracking branch 'origin/master' into develop
2026-03-30 14:10:25 -05:00
Austin
33d526f6f9
Set t5s3_epaper_inkhud to extra ( #10037 )
...
t5s3_epaper_inkhud is incomplete (missing macros). Disable it for now.
Also fixes the board_check evaluation so that `false` actually works.
2026-03-30 13:30:54 -05:00
Austin
0abd3cdde8
ESP32: Take away "tbeam" boards PSRAM to reclaim iram ( #10036 )
...
You read that right! Disable PSRAM on the ttgo-tbeam board to reclaim *iram*.
ttgo-tbeam.json is a copy of https://github.com/platformio/platform-espressif32/blob/v6.13.0/boards/ttgo-t-beam.json with HAS_PSRAM removed.
PSRAM support on OG-ESP32 involves a lot of iram usage thanks to iram-heavy workarounds that have been added to address hardware bugs.
See https://docs.espressif.com/projects/esp-idf/en/v4.4/esp32/api-guides/performance/ram-usage.html#optimizing-iram-usage
2026-03-30 13:20:19 -05:00
Austin
870ba80092
wio-sdk-wm1110: inherit build_unflags ( #10034 )
2026-03-30 10:14:43 -05:00
Tom
2955c12d2a
Configure NFC pins as GPIO for older bootloaders ( #10016 )
...
* Configure NFC pins as GPIO for older bootloaders
Should hopefully solve the issue in https://github.com/meshtastic/firmware/issues/9986
* Fix formatting of CONFIG_NFCT_PINS_AS_GPIOS flag in platformio.ini
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-03-30 09:06:09 -05:00
Tom
283ccb83d1
Configure NFC pins as GPIO for older bootloaders ( #10016 )
...
* Configure NFC pins as GPIO for older bootloaders
Should hopefully solve the issue in https://github.com/meshtastic/firmware/issues/9986
* Fix formatting of CONFIG_NFCT_PINS_AS_GPIOS flag in platformio.ini
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-03-30 09:03:10 -05:00
Philip Lykov
5319bc7c2c
Fix W5100S socket exhaustion blocking MQTT and additional TCP clients ( #9770 )
...
The W5100S Ethernet chip has only 4 hardware sockets. On RAK4631
Ethernet gateways with syslog and NTP enabled, all 4 sockets were
permanently consumed (NTP UDP + Syslog UDP + TCP API listener + TCP
API client), leaving none for MQTT, DHCP lease renewal, or additional
TCP connections.
- NTP: Remove permanent timeClient.begin() at startup; NTPClient::update()
auto-initializes when needed. Add timeClient.end() after each query to
release the UDP socket immediately.
- Syslog: Remove socket allocation from Syslog::enable(). Open and close
the UDP socket on-demand in _sendLog() around each message send.
- MQTT: Fix socket leak in isValidConfig() where a successful test
connection was never closed (PubSubClient destructor does not call
disconnect). Add explicit pubSub->disconnect() before returning.
Made-with: Cursor
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-03-30 07:12:23 -05:00
github-actions[bot]
198339873a
Upgrade trunk ( #10033 )
...
Co-authored-by: vidplace7 <1779290+vidplace7@users.noreply.github.com >
2026-03-30 06:29:40 -05:00
Ben Meadors
db694f2f24
Merge pull request #10031 from meshtastic/master
...
Backmerge master -> develop
2026-03-29 15:01:39 -05:00
Austin Lane
29d70853e6
Renovate: Run once daily (not upon EVERY change)
...
Cut down on the spammin! Give the PIO Registry a break!
2026-03-29 14:45:52 -04:00
Austin Lane
976d201fc1
Hack: Use re-uploaded framework-arduinoespressif32 on ESP32c6
...
Dirty hack to keep ESP32c6 building.
Remove when updating to pioarduino
2026-03-29 13:47:59 -04:00
Austin Lane
80763ca235
Move core lib_deps to github zips
...
PlatformIO registry is (probably) rate limiting us. Mitigate by switching to GitHub source zips (based upon tags).
This change does not include any updates, simply swapping to a new download location.
2026-03-29 12:35:04 -04:00
renovate[bot]
844f5b46d0
Update meshtastic/device-ui digest to 7b1485b ( #10023 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-29 10:55:47 -04:00
Ben Meadors
814f1289f6
Merge remote-tracking branch 'origin/master' into develop
2026-03-28 07:26:46 -05:00
Manuel
aec98b61b9
MUI: WiFi map tile download: heltec V4 adaptations ( #10011 )
...
* rotated MUI
* mui-maps heltec-v4 adaptations
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-03-27 15:40:07 -05:00
Manuel
0b7556b590
MUI: WiFi map tile download: heltec V4 adaptations ( #10011 )
...
* rotated MUI
* mui-maps heltec-v4 adaptations
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-03-27 15:39:26 -05:00
Ben Meadors
99abfebc4a
Fix TransmitHistory to improve epoch handling ( #10017 )
...
* Fix TransmitHistory to improve epoch handling
* Enable epoch handling in unit tests
* Improve comments and test handling for epoch persistence in TransmitHistory
* Add boot-relative timestamp handling and unit tests for TransmitHistory
* loadFromDisk should handle legacy entries and clean up old v1 files after migration
* Revert "loadFromDisk should handle legacy entries and clean up old v1 files after migration"
This reverts commit eb7e5c7acf .
* Add NodeInfoModule integration for RTC quality changes and trigger immediate checks
* Update test conditions for RTC quality checks
2026-03-27 15:38:41 -05:00
Austin
068f5af4d8
Add meshtasticd config metadata ( #10001 )
...
To be consumed by config-picker utils, and hopefully meshtasticd itself in the future.
2026-03-27 11:38:49 -05:00
Ben Meadors
f7e4ac3e43
Merge remote-tracking branch 'origin/master' into develop
2026-03-27 08:43:19 -05:00
Ethac.chen
c36ae159ed
Fix rak_wismeshtag low‑voltage reboot hang after App configuration ( #9897 )
...
* Fix TAG low‑voltage reboot hang after App configuration
* nRF52: Move low-VDD System OFF logic to variant hook
* Addressed review
* serialize SAADC access with shared mutex for VDD and battery reads
* raise LPCOMP wake threshold to ensure rising-edge wake
* Trunk fmt
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-03-27 06:56:19 -05:00
Chloe Bethel
993c242202
Supporting STM32WL is like squeezing blood from a stone ( #10015 )
2026-03-27 06:53:49 -05:00
Chloe Bethel
33e7f16c05
Supporting STM32WL is like squeezing blood from a stone ( #10015 )
2026-03-27 06:52:00 -05:00
github-actions[bot]
3d4f0b895b
Upgrade trunk ( #9978 )
...
Co-authored-by: vidplace7 <1779290+vidplace7@users.noreply.github.com >
2026-03-27 06:35:56 -05:00
renovate[bot]
3b29eea577
Update Adafruit_BME680 to v2.0.6 ( #10009 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-26 06:45:48 -05:00
Austin
e7e34e86d5
Dependencies: Remove all fuzzy-matches, spot-add renovate ( #10008 )
2026-03-26 06:16:08 -05:00
Austin
5a009889cc
Deps: Cleanup LewisHe library references ( #10007 )
...
We cache and dedupe our dependencies, referring to them with multiple methods/urls is just noise.
```
lewisxhe/XPowersLib@0.3.3
lewisxhe/SensorLib@0.3.4
```
This does *not* include any updates, just a cleanup.
2026-03-25 19:27:48 -04:00
Ben Meadors
c4bac04be3
Exclude web server, paxcounter and few others from original ESP32 generation to fix IRAM overflow ( #10005 )
...
* Exclude web server, paxcounter and few others from original ESP32 generation to fix IRAM overflow
* Update variants/esp32/esp32.ini
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update variants/esp32/esp32.ini
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update build source filter in esp32.ini
Removed WiFiAPClient.cpp from build source filter.
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-25 17:52:02 -05:00
Jason P
b9bdc87367
Update External Notifications with a full redo of logic gates ( #10006 )
...
* Update External Notifications with a full redo of pathways
* Correct comments.
* Fix TWatch S3 and use HAS_DRV2605
2026-03-25 14:47:34 -05:00
Jason P
d3a86841b9
Update External Notifications with a full redo of logic gates ( #10006 )
...
* Update External Notifications with a full redo of pathways
* Correct comments.
* Fix TWatch S3 and use HAS_DRV2605
2026-03-25 14:46:24 -05:00
Manuel
3b079c91bf
T5-4.7-S3 Epaper Pro support ( #6625 )
...
* preliminary io pin definitions
* Update product link
* Move to new variant structure and refactor inkHUD - Display does not work and SX1262 init fails on HT752-02
* update variant definitions
* add EPD driver
* fix lora, add v1/v2 variant targets
* adapt pins for v1/v2
* alt button
* add compile guards
* use lilygo epd47 lib
* workaround for INT ERR_NOT_FOUND
* USE_EPD (e-ink parallel display)
* use FastEPD driver
* create screen
* EInkParallelDisplay definition
* setup screen
* dispaly() implementation
* enable touchscreen
* rotate touch screen
* refactor display buffer processing
* provide local copy of TwoWire instance as the touch driver calls end()
* use larger fonts
* replace touch driver; enable debugging
* replace touch driver; enable debugging
* consider bitsremain == 0
* tryfix crash
* fix button
* update touch driver
* set lora_cs pin
* update touch driver and lib reference
* add locks
* limit Ghosting similar to EInkDynamicDisplay
* workaround for FastEPD partial update bug (artifacts)
* display() code cleanup
* fix a few platformio definitions
* more EPD display cleanup
* set rotation
* use FastEPD arduino I2C by default
* touch rotation
* update screen for EPD
* increase swipe distance for larger screen
* EPD UIRenderer
* trunk fmt
* further #ifdef USE_EPD
* disable rotation which messes up w/h; more cleanup
* switch off ghosting algo
* releease build; V1 buttons
* swap V1 buttons
* rearrange USE_EINK/EPD macros, use large font
* cleanup (revert modified files)
* more cleanup
* revert
* revert file
* revert file
Removed redundant line continuation in preprocessor directives.
* Temporary gate off PSRam calculations until we can fix them
* move variant.cpp and update commit references
* revert wrong merge
* add earlyInitVariant()
* initialize all port 0 pins (0-7) as outputs / HIGH
---------
Co-authored-by: Thomas Göttgens <tgoettgens@gmail.com >
Co-authored-by: Jason P <applewiz@mac.com >
Co-authored-by: Jonathan Bennett <jbennett@incomsystems.biz >
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-03-25 10:52:18 -05:00
Ben Meadors
d693fd4232
Exclude accelerometer on new MESHTASTIC_EXCLUDE_ACCELEROMETER flag ( #10004 )
2026-03-25 08:57:29 -05:00
Manuel
163c54877c
fix: Cardputer-Adv I2S sound ( #9963 )
...
* fix cardputer sound
* Add I2S BLEEBLEs
* MenuHandler ifdefs
* add generic tone -> I2S RTTTL conversion
* not needed
---------
Co-authored-by: Jonathan Bennett <jbennett@incomsystems.biz >
2026-03-24 12:39:21 -05:00
Ben Meadors
2e2993f180
Add gnu++17 standard to nRF52840 build flags
2026-03-24 08:39:20 -05:00
Austin Lane
450f2adab0
Remove unneeded GH perms
...
Reduce perms to least-necessary
Remove merge_queue.yml since it's never been used and is now stale
Remove comment-artifact, it hasn't worked in ages.
2026-03-24 08:14:05 -04:00
Austin Lane
e14b8d385a
Remove unneeded GH perms
...
Reduce perms to least-necessary
Remove merge_queue.yml since it's never been used and is now stale
Remove comment-artifact, it hasn't worked in ages.
2026-03-24 08:13:59 -04:00
Austin
8ce1a872eb
Add timeout to PPA uploads ( #9989 )
...
Don't allow dput to run for more than 15 minutes (successful runs take about ~8 minutes)
2026-03-23 20:15:56 -05:00
renovate[bot]
0ad1b66387
Update dorny/test-reporter action to v3 ( #9981 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-23 15:10:58 -04:00
Austin Lane
5716aeba3b
Cleanup GH Actions
2026-03-23 11:27:09 -04:00
Austin Lane
abfa346630
Cleanup GH Actions
2026-03-23 11:17:30 -04:00
stmka_playgound
723209b198
Fixes #9850 : Double space issue with Cyrillic OLED font ( #9971 )
...
* Fixes double space OLEDDisplayFontsRU.cpp
* Fixes double space OLEDDisplayFontsUA.cpp
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-03-23 07:07:20 -05:00
stmka_playgound
2ffe2d829c
Fixes #9850 : Double space issue with Cyrillic OLED font ( #9971 )
...
* Fixes double space OLEDDisplayFontsRU.cpp
* Fixes double space OLEDDisplayFontsUA.cpp
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-03-23 07:06:53 -05:00