Jorropo and GitHub
b0bd3df226
replace delete in CryptoEngine.{cpp,h} with std::unique_ptr ( #9649 )
...
Is part of the unique_ptr modernization effort.
2026-02-14 22:44:36 +01:00
Jorropo and GitHub
ff485d5ff8
replace delete in RadioInterface.cpp with std::unique_ptr ( #9645 )
...
Is part of the unique_ptr modernization effort.
2026-02-14 21:39:26 +01:00
d770ef27c7
Update src/mesh/NodeDB.cpp
...
Co-authored-by: Wessel <wessel@weebl.me >
2026-02-13 17:36:12 -06:00
github-actions[bot] and GitHub
f10d786d82
Update protobufs ( #9621 )
2026-02-12 19:15:08 +01:00
Wessel and GitHub
1a7f560372
fix: zero entire public key array instead of only first byte ( #9619 )
2026-02-12 15:33:57 +01:00
Mike Robbins and GitHub
bfbce2e314
Log rxBad PacketHeaders with more info (id, relay_node) like printPacket, so we can try to match RX errors to other packets in the logs. ( #9614 )
2026-02-12 05:52:24 -06:00
Ben Meadors
c366e53326
Merge branch 'master' into develop
2026-02-11 07:06:43 -06:00
21d5a34fec
Update protobufs ( #9605 )
...
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
2026-02-11 07:05:35 -06:00
Thomas Göttgens and Ben Meadors
5b03b1fe52
fix some random compiler warnings ( #9596 )
2026-02-11 06:45:26 -06:00
Thomas Göttgens and GitHub
f96a8593f2
fix some random compiler warnings ( #9596 )
2026-02-11 06:43:05 -06:00
Tom and GitHub
a092f6bb22
Refactor logging in ProtobufModule to ensure message details are logged after successful decoding ( #9536 )
2026-02-09 19:56:48 -06:00
Ben Meadors
af18f061cf
Merge remote-tracking branch 'origin/master' into develop
2026-02-09 13:53:19 -06:00
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
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
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 and GitHub
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
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 and GitHub
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 and Ben Meadors
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 and GitHub
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 and GitHub
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
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 and GitHub
dbded86dcb
More variant.h cleanup. LED_NOTIFICATION, remove dead code, etc ( #9477 )
2026-01-29 12:51:48 -06:00
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
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 and GitHub
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
cfda9bb8ef
Update protobufs ( #9453 )
...
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
2026-01-27 13:12:03 -06:00
Ben Meadors and GitHub
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 and GitHub
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
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
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
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
eefc08087d
Update protobufs ( #9371 )
...
Co-authored-by: jp-bennett <5630967+jp-bennett@users.noreply.github.com >
2026-01-20 10:29:11 -06:00
5c401b8e34
Update protobufs ( #9362 )
...
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
2026-01-19 12:11:13 -06:00
Ben Meadors and GitHub
ab97c0126f
Merge pull request #9355 from meshtastic/fix-bme
...
Untangle some BME680 ifdef spaghetti
2026-01-19 07:21:37 -06:00
d34d694731
Update protobufs ( #9360 )
...
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
2026-01-19 06:21:01 -06:00
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
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
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
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
cdbc8f48d4
Update protobufs ( #9308 )
...
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
2026-01-14 06:40:10 -06:00
dae4061b06
Update protobufs ( #9299 )
...
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
2026-01-13 05:58:12 -06:00