Ben Meadors
af18f061cf
Merge remote-tracking branch 'origin/master' into develop
2026-02-09 13:53:19 -06:00
github-actions[bot] and thebentern
139e45dff8
Update protobufs ( #9588 )
...
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
2026-02-09 13:52:01 -06:00
Ben Meadors
b12cac3e00
Merge branch 'master' into develop
2026-02-09 12:52:22 -06:00
53231ae4b1
Added toggable config and default for larger screens to enable / hide bubbles on chat messages ( #9560 )
...
* Added toggable config and default for largeer screens to enable / hide bubbles on chat messages
* Refactor message bubble rendering logic for improved layout and consistency
* Move osk_found initialization for trackball/encoder devices before module setup to fix missing keyboard for L1
* Utilize current checks for consistency
* Reverted last changes
---------
Co-authored-by: Jason P <applewiz@mac.com >
Co-authored-by: HarukiToreda <116696711+HarukiToreda@users.noreply.github.com >
2026-02-07 15:41:31 -06:00
github-actions[bot] and thebentern
5280caf9d8
Update protobufs ( #9559 )
...
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
2026-02-07 06:24:56 -06:00
Colby Dillion and Ben Meadors
ba016fd91a
Fix hop_limit upgrade detection ( #9550 )
...
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-02-07 06:19:25 -06:00
Colby Dillion and Ben Meadors
779e446d14
Fix hop_limit upgrade detection ( #9550 )
...
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-02-06 13:00:08 -06:00
Jonathan Bennett
2361776992
Rename LED_PIN to LED_POWER, move handling out of main to dedicated module ( #9512 )
...
* Rename LED_PIN to LED_POWER, move handling out of main to dedicated module
* Misc
* Remove errant endif
2026-02-05 05:41:00 -06:00
Jonathan Bennett and Copilot
ac611c4b62
Add agc reset attempt ( #8163 )
...
* Add agc reset attempt
* Add radioLibInterface include
* Trunk
* AGC reset don't crash, don't naively call
* Update src/main.cpp
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Use Throttle function
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-04 14:47:44 -06:00
Ben Meadors
be5f0a9ade
Implement UDP multicast handler start/stop to ensure proper lifecycle ( #9524 )
...
* Implement UDP multicast handler start/stop to ensure proper lifecycle
* Add close method to AsyncUDP and improve UDP multicast handler lifecycle management
* Guard portduino
2026-02-04 11:15:38 -06:00
Eric Sesterhenn
c8a9cdc148
Make sure we always return a value in NodeDB::restorePreferences() ( #9516 )
...
In case FScom is not defined there is no return statement. This
moves the return outside of the ifdef to make sure a defined
value is returned.
2026-02-03 06:23:49 -06:00
Eric Sesterhenn
0703e0e6d7
Make sure we always return a value in NodeDB::restorePreferences() ( #9516 )
...
In case FScom is not defined there is no return statement. This
moves the return outside of the ifdef to make sure a defined
value is returned.
2026-02-03 06:22:33 -06:00
Jonathan Bennett
9d06c1bf34
Add StatusMessage module and config overrides ( #9351 )
...
* Add StatusMessage module and config overrides
* Trunk
* Don't reboot node simply for a StatusMessage config update
2026-01-31 14:55:51 -06:00
Jonathan Bennett and Copilot
7b03980e0a
Refuse to send legacy DMs simply because the remote public key is unknown ( #9485 )
...
* Refuse to send legacy DMs simply because the remote public key is unknown
* Update src/mesh/Router.cpp - use more specific error
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update src/mesh/Router.cpp - more detail in warning message
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-30 13:46:24 -06:00
Jonathan Bennett
eeb7373043
Remove errant symbol
2026-01-29 13:23:49 -06:00
Jonathan Bennett
dbded86dcb
More variant.h cleanup. LED_NOTIFICATION, remove dead code, etc ( #9477 )
2026-01-29 12:51:48 -06:00
Jorropo and Ben Meadors
8af9e7fbdc
enable long interleaving mode for LR11x0 and SX128x ( #9399 )
...
Using long interleaving is not a breaking change, the receiver node is able
to use the lora header to know if LI encoding is used or not and will
decode LI packets correctly.
However the problem is SX127x and other first generation LoRa IP which do not
support LI at all, for theses it is a breaking change.
HOWEVER due to the sync word bug the LR11x0 already can't talk with SX127x,
so if we enable LI on theses no one would be able to tell.
Same for SX128x altho this is because it works on 2.4Ghz which is incompatible with SX127x.
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-01-29 06:44:17 -06:00
Eric Severance and Ben Meadors
f710cd6ecb
Support fully direct request/responses ( #9455 )
...
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-01-28 14:14:01 -06:00
Jonathan Bennett
69a42e1fd2
Add portduino_status, assign hardware device IDs... ( #9441 )
...
* Add portduino_status, assign hardware device IDs, and try to recover a CH341 device on a USB error
* Minor fixes suggested by Copilot
2026-01-27 18:00:20 -06:00
Ben Meadors
e1e8d6124d
Merge branch 'master' into develop
2026-01-27 14:01:27 -06:00
github-actions[bot] and thebentern
cfda9bb8ef
Update protobufs ( #9453 )
...
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
2026-01-27 13:12:03 -06:00
Ben Meadors
b6a1020fc5
Add error handling for SPI command failures in LR11x0, RF95, and SX128x interfaces ( #9447 )
2026-01-27 13:06:50 -06:00
Ben Meadors
0770f25e79
Merge remote-tracking branch 'origin/master' into develop
2026-01-26 08:56:38 -06:00
Jonathan Bennett
8a9830282a
Move Lora Init code into LoraInit.cpp/h ( #9435 )
...
* Move Lora Init code into LoraInit.cpp/h
* Add missed extern definition
* More carefully check for nullptr in LoraInit.cpp
* STM32 fixes
* Add extern SPI1 for HW_SPI1_DEVICE
* Move initLora to RadioInterface.h
2026-01-25 20:54:17 -06:00
Ben Meadors and Copilot
8894a0b711
Consolidate LoRa params / preset logic and fix display of preset values ( #9413 )
...
* Consolidate LoRa params / preset logic and fix display of preset values
* Move preset coercion logic to RadioInterface
* Fix some warnings
* Fix warnings
* STM32 fix
* Add unit tests
* Update src/mesh/RadioInterface.h
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-25 18:02:26 -06:00
57a3ff8dfc
NRF52 - power management improvements ( #9211 )
...
* minor NRF52 test cleanup
* detect USB power input on ProMicro boards
* prevent booting on power failure detection
* introduce PowerHAL layer
* powerHAL basic implementation for NRF52
* prevent data saves on low power
* remove comment
* Update src/platform/nrf52/main-nrf52.cpp
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update src/power/PowerHAL.h
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update src/main.cpp
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Merge missing voltage threshold comparison
* add missing variable
* add missing function declaration
* remove debug strings
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-01-24 08:39:03 -06:00
Eric Sesterhenn and Jason P
7221fc4d4b
Delete unused code ( #9350 )
...
* Delete unused code
CryptoEngine::clearKeys() is not used in the code base, therefore this
cleanup removes the code. It might give casual reviewers the impression,
that keys are wiped.
Since the code uses memset() which might be optimized away by the
compiler, using the code might not even cause the memory
to be wiped.
* Update CryptoEngine.cpp
Fix stray newline, this is the only thing that I can come up with that might confuse the linter.
---------
Co-authored-by: Jason P <applewiz@mac.com >
2026-01-24 05:19:19 -06:00
Chloe Bethel and Ben Meadors
d8d02cd6ec
Implement setting TX_GAIN_LORA for portduino ( #8501 )
...
* Implement setting TX_GAIN_LORA for portduino
* use std::size instead of sizeof
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-01-22 07:08:43 -06:00
github-actions[bot] and jp-bennett
eefc08087d
Update protobufs ( #9371 )
...
Co-authored-by: jp-bennett <5630967+jp-bennett@users.noreply.github.com >
2026-01-20 10:29:11 -06:00
github-actions[bot] and thebentern
5c401b8e34
Update protobufs ( #9362 )
...
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
2026-01-19 12:11:13 -06:00
Ben Meadors
ab97c0126f
Merge pull request #9355 from meshtastic/fix-bme
...
Untangle some BME680 ifdef spaghetti
2026-01-19 07:21:37 -06:00
github-actions[bot] and thebentern
d34d694731
Update protobufs ( #9360 )
...
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
2026-01-19 06:21:01 -06:00
Catalin Patulea and Ben Meadors
33ae3777a3
toradio, fromradio OPTIONS handler: fix sending proper HTTP response. ( #9322 )
...
Before this (missing response):
$ curl -v -X OPTIONS http://meshtastic.local/api/v1/fromradio
* Host meshtastic.local:80 was resolved.
* IPv6: (none)
* IPv4: 192.168.0.19
* Trying 192.168.0.19:80...
* Connected to meshtastic.local (192.168.0.19) port 80
* using HTTP/1.x
> OPTIONS /api/v1/fromradio HTTP/1.1
> Host: meshtastic.local
> User-Agent: curl/8.14.1
> Accept: */*
>
* Request completely sent off
* Empty reply from server
* shutting down connection #0
curl: (52) Empty reply from server
After this (proper HTTP 204 response):
$ curl -v -X OPTIONS http://meshtastic.local/api/v1/fromradio
* Host meshtastic.local:80 was resolved.
* IPv6: (none)
* IPv4: 192.168.0.19
* Trying 192.168.0.19:80...
* Connected to meshtastic.local (192.168.0.19) port 80
* using HTTP/1.x
> OPTIONS /api/v1/fromradio HTTP/1.1
> Host: meshtastic.local
> User-Agent: curl/8.14.1
> Accept: */*
>
* Request completely sent off
< HTTP/1.1 204 OK
< Content-Type: application/x-protobuf
< Access-Control-Allow-Origin: *
< Access-Control-Allow-Methods: GET
< X-Protobuf-Schema: https://raw.githubusercontent.com/meshtastic/protobufs/master/meshtastic/mesh.proto
<
* Connection #0 to host meshtastic.local left intact
This is related to https://github.com/meshtastic/firmware/issues/5385 .
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-01-18 07:41:24 -06:00
Ben Meadors
ff8316f895
Merge branch 'master' into develop
2026-01-15 06:18:43 -06:00
Thomas Göttgens and Jonathan Bennett
233e6acc85
Preliminary Thinknode M4 Support ( #8754 )
...
* Preliminary Thinknode M4 Support
* oops
* Fix RF switch TX configuration
* trunk'd
* GPS fix for M4
* Battery handling and LED for M4
* Trunk
* Drop debug warnings
* Make Red LED notification
* Merge cleanup
* Make white LEDs flash during charge
---------
Co-authored-by: Jonathan Bennett <jbennett@incomsystems.biz >
2026-01-14 21:36:53 -06:00
Ben Meadors and Jake-B
c0afe92a7f
Meshtastic unified OTA ( #9231 )
...
* Initial commit of combined BLE and WiFi OTA
* Incorporate ota_hash in AdminMessage protobuf
* OTA protobuf changes
* Trunk fmt
---------
Co-authored-by: Jake-B <jake-b@users.noreply.github.com >
2026-01-14 20:54:31 -06:00
Mike Robbins and Ben Meadors
a6a80b067f
Recover long_name, short_name from our own NodeDB entry if device.proto is unreadable ( #9248 )
...
* Recover long_name, short_name from our own NodeDB entry if device.proto is unreadable
* NodeDB::loadFromDisk: restore long/short name with memcpy and explicit null termination
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-01-15 11:02:09 +11:00
github-actions[bot] and thebentern
cdbc8f48d4
Update protobufs ( #9308 )
...
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
2026-01-14 06:40:10 -06:00
github-actions[bot] and thebentern
dae4061b06
Update protobufs ( #9299 )
...
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
2026-01-13 05:58:12 -06:00
github-actions[bot] and thebentern
daad424806
Update protobufs ( #9291 )
...
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
2026-01-12 18:45:46 -06:00
Ben Meadors
99d9191224
Merge remote-tracking branch 'origin/develop'
2026-01-12 10:47:08 -06:00
Martin Emrich
986d70db6a
Pioarduino preparation ( #9223 )
...
* Resolve naming conflict of Syslog class with namespace
* do not include libpax headers if pax counter is excluded
* clean only top-level sdkconfigs, keep them in the variants directories
* Fix code formatting
2026-01-12 09:52:39 -06:00
5ce821c775
Mute specific nodes ( #9209 )
...
* Regen protobufs
* Ensure mute state is set when node is ignored
* Added mechanism for toggling muted state
* Implement the ability to mute specific nodes
* Switch boolean value for bitmask
* Correctly toggle bitfield position 2 on-change to mute state
* Dont push submodule refs
* Log correct info
* Trunk fmt
* Update protobuf ref to master branch of base
* Update src/modules/ExternalNotificationModule.cpp
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Re-sync generated files
---------
Co-authored-by: Jason P <applewiz@mac.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Jonathan Bennett <jbennett@incomsystems.biz >
2026-01-11 22:59:51 -06:00
Ben Meadors
d4045dff2c
Remove INTERRUPT_ATTR from disableInterrupt methods on interfaces
2026-01-11 19:37:20 -06:00
Ben Meadors
e8ddda6f0d
Merge remote-tracking branch 'origin/master' into develop
2026-01-11 05:35:17 -06:00
github-actions[bot] and thebentern
6f62748916
Update protobufs ( #9254 )
...
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
2026-01-11 05:34:56 -06:00
Ben Meadors
05bb43189e
Merge remote-tracking branch 'origin/master' into develop
2026-01-10 19:42:02 -06:00
github-actions[bot] and thebentern
04e755aa48
Update protobufs ( #9242 )
...
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
2026-01-10 06:15:55 -06:00
Ben Meadors
ff8d6aa9c3
Increase default position broadcast intervals and enforce minimums for default channels
2026-01-09 08:35:37 -06:00
Jonathan Bennett
792e930e45
Trunk
2026-01-08 12:07:14 -06:00