Ben Meadors
f0cdb777b2
Merge branch 'develop' into fix-radio-init
2026-01-27 06:11:40 -06:00
Ben Meadors
ef8f90f8b1
Add error handling for SPI command failures in LR11x0, RF95, and SX128x interfaces
2026-01-27 06:04:30 -06:00
Andrew Yong
90778a4e78
feat(GPS): Support Softsleep with WAKE-UP pin on PA1010D ( #9078 )
...
Support softsleep by defining PIN_GPS_STANDBY on CDTop CD-PA1010D.
This differs from existing MTK GPS e.g. L76K, where pulling PIN_GPS_STANDBY (WAKE-UP pin) low is not sufficient to put the GPS module in standby.
An additional `$PMTK225,4*2F` must be sent to enter "Backup Mode", which is exited by bringing PIN_GPS_STANDBY (WAKE-UP pin) high.
Refer to datasheet[0] §1.9.3 "Backup Mode".
0: https://cdn-learn.adafruit.com/assets/assets/000/084/295/original/CD_PA1010D_Datasheet_v.03.pdf
Signed-off-by: Andrew Yong <me@ndoo.sg >
2026-01-27 06:03:31 -06:00
Colby Dillion
63a97a54e1
Fix retry_delay calculation for error responses ( #9443 )
...
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-01-26 18:45:24 -06:00
Jonathan Bennett
a2e8e232f1
Remove the unused OCV_ARRAYs and move one to a variant.h ( #9442 )
2026-01-26 16:58:16 -06:00
Keane
7efc3e3770
Replace strcpy with strncpy and null termination ( #9436 )
...
Co-authored-by: Jonathan Bennett <jbennett@incomsystems.biz >
2026-01-26 14:32:03 -06:00
Jonathan Bennett
3d58c6e916
Trackball revamp ( #9440 )
...
* Trackball revamp
* Use Throttle
* Volatile!
2026-01-26 14:28:05 -06:00
Jonathan Bennett
c038cfe69a
Move device code from main.cpp to earlyInitVariant ( #9438 )
2026-01-26 11:54:14 -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
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
phaseloop
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
Uğur ALTINSOY
6cff13623f
Added Minimesh variant ( #9289 )
...
* Minimesh Lite Added
* Add Minimesh Lite NRF
* Added board_level = extra
* Fix formatting and optimize image for Minimesh Lite
* Change image
* The image has been deleted.
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-01-24 08:38:07 -06:00
phaseloop
b312f226b4
Cut NRF52 bluetooth power usage ( #8992 )
...
* Improve NRF52 bluetooth power efficiency
* test T114 bad LFXO
* T1000 test
* force BLE param negotiation
* stash
* NRF52 bluetooth small cleanup
* fix potential connectivity issues
* lower BLE min interval to make iOS happy
* remove slave latency negotation
* add BLE issue comment
* code format
* Revert "code format"
This reverts commit 1f92b09d08 .
* remove LFCLK debug info
* Fix
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-01-24 06:22:01 -06:00
renovate[bot]
b627fa720b
Update SensorLib to v0.3.4 ( #9396 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-24 05:46:46 -06:00
renovate[bot]
9faf178bdc
Update XPowersLib to v0.3.3 ( #9354 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-24 05:45:26 -06:00
renovate[bot]
c98f134b40
Update meshtastic-esp32_https_server digest to b0f3960 ( #9393 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-24 05:39:22 -06:00
renovate[bot]
5838b26d90
Update lewisxhe-SensorLib to v0.3.4 ( #9395 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-24 05:39:05 -06:00
Eric Sesterhenn
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
renovate[bot]
a417760887
Update meshtastic/device-ui digest to 37ad715 ( #9403 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-24 05:18:48 -06:00
renovate[bot]
04d2dd3b1c
Update GxEPD2 to v1.6.6 ( #9412 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-24 05:16:47 -06:00
Justin E. Mann
6b88d37b73
To fix the gps power rail issue on RAK 19007 when RAK12023+RAK12035 is installed ( #9409 )
...
* asked claude to fix the gps power rail issue when the io slot is in use.. this fixes the gps when both the RAK12500 GPS module and the RAK12035 soil sensor modules are being used.
* remove do { ... } while(0) from RESTORE_3V3_POWER() Macro
* remove some comments
* cleaner macro
* removed more excessive comments
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-01-24 05:16:36 -06:00
Ben Meadors
d407ec1975
Merge remote-tracking branch 'origin/master' into develop
2026-01-24 04:47:24 -06:00
Jonathan Bennett
6d6a0734b0
Add pin sense to wake M6 on Solar Charge ( #9416 )
2026-01-23 15:37:16 -06:00
Mattijs
0157a769c3
Make BLE TX power configurable for nRF52 variants ( #9232 )
...
* Make BLE TX power configurable for nRF52 variants
* Include BLE TX power setting in T114 variant.h as tested
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-01-23 11:26:01 -06:00
Till Maas
73932dd1c3
device-install: Consistently use write-flash ( #8868 )
...
* flash scripts: Unify indentation
* flash scripts: Support esptool v4 and v5
esptool v5 supports commands with dashes and deprecates commands with
underscores. Prior versions only support commands with underscores.
2026-01-23 06:05:29 -06:00
HarukiToreda
bc2abf3db4
BaseUI: Bubbles for messages ( #9365 )
...
* Message Bubbles
* Angled edges
* Proper indent for messages inside the bubble
* Fix message header line width
* Correctly calculate text width for the header and shrink Channel Name is on OLED
---------
Co-authored-by: Jason P <applewiz@mac.com >
2026-01-22 17:00:21 -06:00
github-actions[bot]
073eb2c672
Automated version bumps ( #9402 )
...
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
2026-01-22 16:19:35 -06:00
Jorropo
4744010295
run trunk fmt -a ( #9400 )
...
* run trunk fmt -a
* fix bracket bug
This was introduced by @tedwardd and @thebentern in 021106dfe5 .
See this diff:
else
+ checkConfigPort = false;
printf("Using config file %d\n", TCPPort);
v2.7.18.fb3bf78
2026-01-22 15:46:37 -06:00
Chloe Bethel
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
renovate[bot]
3e3299f549
Update meshtastic/device-ui digest to 613c095 ( #9383 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-22 09:07:23 +11:00
github-actions[bot]
eefc08087d
Update protobufs ( #9371 )
...
Co-authored-by: jp-bennett <5630967+jp-bennett@users.noreply.github.com >
2026-01-20 10:29:11 -06:00
Andrew Yong
fb6d199d36
feat: Add Russell, a board designed to go Up! on a balloon ( #9079 )
...
Hardware repository: https://github.com/Meshtastic-Malaysia/russell
- Designed to mount on an ER34615/IFR32700 cell
- RAK3172 STM32WLE5CCU6 MCU + integrated SX1262 LoRa
- CDtop CD-PA1010D GPS
- Bosch Sensortec BME280 sensor
- Consonance CN3158 LiFePO4 solar charger
Signed-off-by: Andrew Yong <me@ndoo.sg >
2026-01-20 06:38:04 -06:00
Ben Meadors
fb3bf783dd
Implement graduated scaling for NodeInfo send timeout based on active mesh size ( #9364 )
...
* Implement graduated scaling for NodeInfo send timeout based on active mesh size
* Shorter timeout still needed for pubkey unkown and ad-hoc send
* Update src/modules/NodeInfoModule.cpp
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-19 20:00:41 -06:00
Ben Meadors
fc268d43d0
Add Meshtastic exclusion flags for webserver and paxcounter in platformio.ini
2026-01-19 16:57:21 -06:00
Jonathan Bennett
c38aff7e52
Add interrupt for external charge detection ( #9332 )
...
Tested on Thinknode m4, m6, and T1000-e
2026-01-19 15:39:24 -06:00
Ben Meadors
7d4600f8c2
Merge branch 'master' into develop
2026-01-19 12:13:52 -06:00
Ben Meadors
ff50ba4002
Remove bsec from OG ESP32 to fix DRAM overflow
2026-01-19 12:12:14 -06:00
github-actions[bot]
5c401b8e34
Update protobufs ( #9362 )
...
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
2026-01-19 12:11:13 -06:00
Ben Meadors
c96ebf15fd
Merge remote-tracking branch 'origin/master' into develop
2026-01-19 07:57:36 -06:00
github-actions[bot]
3e4239daf8
Upgrade trunk ( #9330 )
...
Co-authored-by: vidplace7 <1779290+vidplace7@users.noreply.github.com >
2026-01-19 07:22:27 -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]
d34d694731
Update protobufs ( #9360 )
...
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com >
2026-01-19 06:21:01 -06:00
Jonathan Bennett
e545897d4e
Untangle some BME680 ifdef spaghetti
2026-01-18 21:28:20 -06:00
renovate[bot]
caa6ec0e8a
Update meshtastic/device-ui digest to 3480b73 ( #9353 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-19 14:28:05 +11:00
Jason P
49accefd8b
Don't Mute DMs just because we mute a channel ( #9348 )
...
* Don't Mute DMs just because we mute a channel
* Updated code to consolidate muting
2026-01-18 16:39:23 -05:00
Jason P
02f24b9015
Improve BaseUI Preset Change Flow ( #9343 )
...
* Reset Channel Number to 0 on Preset Change
* Add Channel Picker to LoRa Options
* Change Channel to Frequency Slot
* Catch comparison issue
* Reset override_frequency to ensure we correctly move to new Radio Preset
* CoPilot Suggestions
2026-01-18 16:38:46 -05:00
Catalin Patulea
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
Ted W.
021106dfe5
Add support for setting API port from the config file ( #8435 )
...
* Add support for setting API port from the config file
* Update PortduinoGlue.cpp
Fix typo in var identifier
---------
Co-authored-by: Ben Meadors <benmmeadors@gmail.com >
2026-01-17 15:23:16 -06:00
Jonathan Bennett
afbd9e2180
Filter BLE updates that don't change pairing status ( #9333 )
2026-01-16 13:52:04 -06:00