Commit Graph

6182 Commits

Author SHA1 Message Date
ford-jones
e0890b2a13 Don't mute alerts 2025-09-12 23:01:42 +12:00
ford-jones
5579d87845 Disable on-screen 'new message' popup for muted nodes and channels 2025-09-12 19:52:34 +12:00
Mike Robbins
35340fc6e2 NextHopRouter::roleAllowsCancelingFromTxQueue (same logic as FloodingRouter::roleAllowsCancelingDupe) 2025-09-11 21:31:42 -07:00
Mike Robbins
4ab125bbf7 src/graphics/Screen.cpp: move #include "meshUtils.h" outside of "#ifdef HAS_SCREEN" so IS_ONE_OF works on all devices 2025-09-11 21:31:42 -07:00
Mike Robbins
87eff2c4a9 Fix logic in Screen::shouldWakeOnReceivedMessage and add CLIENT_HIDDEN and CLIENT_BASE to be treated the same as CLIENT and CLIENT_MUTE 2025-09-11 21:31:42 -07:00
Mike Robbins
527e88ca46 Add CLIENT_BASE to DisplayFormatters::getDeviceRole 2025-09-11 21:31:42 -07:00
Mike Robbins
4140ecfb49 Bring src/mesh/generated/meshtastic/config.pb.h from develop after rebase 2025-09-11 21:31:42 -07:00
Mike Robbins
27cdd464d1 getTxDelayMsecWeighted and startTransmitTimerRebroadcast: extract p->rxSnr 2025-09-11 21:31:42 -07:00
Mike Robbins
5a463373f2 Remove changes to src/mesh/generated/meshtastic/config.pb.h from this PR 2025-09-11 21:31:42 -07:00
Mike Robbins
b768860866 NodeDB::isFromOrToFavoritedNode: skip search for NODENUM_BROADCAST; one-pass search and early exit 2025-09-11 21:31:42 -07:00
Mike Robbins
c63102a312 Swap expression order to allow short-circuit evaluation 2025-09-11 21:31:42 -07:00
Mike Robbins
b1f55ef6e8 Fix linter 2025-09-11 21:31:42 -07:00
Mike Robbins
b305acf7e5 Add FloodingRouter::roleAllowsCancelingDupe and condition for CLIENT_BASE 2025-09-11 21:31:42 -07:00
Mike Robbins
ab5332950c Add RadioInterface::shouldRebroadcastEarlyLikeRouter and add CLIENT_BASE condition 2025-09-11 21:31:42 -07:00
Mike Robbins
484b4cd848 Add NodeDB::isFavorite, NodeDB::isFromOrToFavoritedNode 2025-09-11 21:31:42 -07:00
Mike Robbins
3cc2b70e4f Pass meshtastic_MeshPacket down into startTransmitTimerRebroadcast and getTxDelayMsecWeighted 2025-09-11 21:31:42 -07:00
Mike Robbins
7e00054fd7 Rename startTransmitTimerSNR to startTransmitTimerRebroadcast 2025-09-11 21:31:42 -07:00
ford-jones
693181b2be Disable message-invoked ext notifs for muted channels and nodes 2025-09-12 15:45:10 +12:00
ford-jones
39c663f203 Merge branch 'develop' of https://github.com/meshtastic/firmware into 7943-mute-target 2025-09-12 14:23:01 +12:00
ford-jones
71f659cba6 Trunk fmt 2025-09-12 14:15:06 +12:00
ford-jones
4e879a7b26 Disable bell-invoked ext notifs for muted channels 2025-09-12 14:12:55 +12:00
ford-jones
8c9c00172c Clearly dilineate module mute from sender or channel mute 2025-09-12 14:12:22 +12:00
ford-jones
d5300a1141 Disable bell-invoked ext notifs for muted nodes 2025-09-12 13:54:52 +12:00
Ben Meadors
ac4bcd2f56 Cleanup 2025-09-11 18:57:30 -05:00
Ben Meadors
83ae72cbb2 Merge pull request #7961 from meshtastic/master
Backmerge
2025-09-11 08:14:46 -05:00
Ben Meadors
e17c50bb86 Put guards in place around debug heap operations (#7955)
* Put guards in place around debug heap operations

* Add macros to clean up code

* Add pointer as well
2025-09-11 07:57:42 -05:00
ford-jones
02cb306bb1 Merge branch 'develop' into 7943-mute-target 2025-09-11 19:59:38 +12:00
ford-jones
6b7ad9c4e1 Added mute state to nodedb entries 2025-09-11 17:32:12 +12:00
ford-jones
fa1ccf4779 Create node-mute toggle functions 2025-09-11 17:30:59 +12:00
ford-jones
67ecb60bcd Added mute state to channel settings 2025-09-11 14:18:00 +12:00
ford-jones
9da92626e5 Create channel-mute toggle function 2025-09-11 14:16:48 +12:00
Ben Meadors
108bdf7b0d Close should set heartbeatReceived = false 2025-09-09 19:11:39 -05:00
Ben Meadors
f267b5f5f7 Exclude trackball if we aren't a trackball device 2025-09-09 11:15:55 -05:00
Ben Meadors
0cd860e300 RangeTest must be enabled 2025-09-09 10:53:18 -05:00
Ben Meadors
31fdb36987 Detection sensor add module only when enabled 2025-09-09 10:46:33 -05:00
Jonathan Bennett
e7741c20e4 Add LOG_HEAP log type, and more heap debug messages (#7937) 2025-09-09 10:29:07 -05:00
Ben Meadors
ca4b98f2b1 Merge branch 'master' into develop 2025-09-09 08:42:29 -05:00
Ben Meadors
d1d16fc25f Make phone queues use a static pointer queue (#7919)
* Make phone queues use a static pointer queue

* Static init

* Compile time constants now

* Instead, lets just use the normal pointerqueue for linux native builds and static for IoT platforms

* Add missing method

* Missing methods

* Update variant.h
2025-09-09 08:21:46 -05:00
Ben Meadors
c8afbe68b5 Use char buffer for probeResponse (#7870)
* Use char buffer for probeResponse

* \Update src/gps/GPS.cpp

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Revert "\Update src/gps/GPS.cpp"

This reverts commit 54d64e19f7.

* Remove string

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-09 06:34:38 -05:00
ford-jones
b75e8913e0 Fix: Compile latest protobufs 2025-09-09 13:14:20 +12:00
Ford Jones
87a1449f76 Merge branch 'develop' into clear-rangetest-results 2025-09-09 12:05:00 +12:00
Ben Meadors
803e96800e ATAK module should be disabled for non-TAK roles (#7928) 2025-09-08 17:21:55 -05:00
Tom Fifield
d5bb566276 Only log good times. (It's not always a good time then) (#7904)
Further to https://github.com/meshtastic/firmware/pull/7897 ,
there was another log line that was triggering indiscriminantly on
GPS_INTERVAL_THRESHOLD .

Rather than logging a bad time 4000 times, let's just log one good time
when it is set.
2025-09-08 05:59:37 -05:00
Ben Meadors
569a911455 Merge pull request #7915 from meshtastic/master
Master backmerge
2025-09-08 05:58:00 -05:00
Tom Fifield
2354c52b16 Only log good times. (It's not always a good time then) (#7904)
Further to https://github.com/meshtastic/firmware/pull/7897 ,
there was another log line that was triggering indiscriminantly on
GPS_INTERVAL_THRESHOLD .

Rather than logging a bad time 4000 times, let's just log one good time
when it is set.
2025-09-08 05:53:49 -05:00
Manuel
fb59d68edd fix uninitialized kbchar (#7889) 2025-09-08 05:45:11 -05:00
Tom Fifield
227d0fa7dc Merge pull request #7862 from meshtastic/master
Backmerge from Master into develop
2025-09-08 11:23:22 +10:00
github-actions[bot]
7b854fb5ca Update protobufs (#7903)
Co-authored-by: fifieldt <1287116+fifieldt@users.noreply.github.com>
2025-09-08 11:12:52 +10:00
Tom Fifield
81cb1e427f Guard bad time warning logs using GPS_DEBUG (#7897)
In 2.7.7 / 2.7.8 we introduced some new checks for time accuracy.

In combination, these result in a spamming of the logs when a bad time is found

When the GPS is active, we're calling the GPS thread every 0.2secs.

So this log could be printed 4,500 times in a no-lock scenario :)

Reserve this experience for developers using GPS_DEBUG.

Fixes https://github.com/meshtastic/firmware/issues/7896
2025-09-07 19:29:26 -05:00
Dmitry Dubinin
9c6544ebfa Fix excluded modules configuration handling (#7838)
* Fix excluded modules configuration handling

- Add excluded_modules flags in getDeviceMetadata() for MQTT, PAXCOUNTER, STOREFORWARD, RANGETEST, NEIGHBORINFO
- Add conditional compilation guards in AdminModule for RANGETEST, AUDIO, PAXCOUNTER, STOREFORWARD, EXTNOTIF, DETECTIONSENSOR, AMBIENTLIGHTING
- Add skip logic in PhoneAPI for excluded modules during config enumeration
- Add conditional has_* flags in NodeDB only for included modules

Fixes issue where excluded modules still appeared in client applications and sometimes caused PAYLOADVARIANT_NOT_SET errors.

* Fix excluded modules issues and refactor code

- Restore original PAXCOUNTER logic: only exclude on non-ESP32 platforms due to memory constraints
- Fix has_store_forward flag to be conditionally compiled based on MESHTASTIC_EXCLUDE_STOREFORWARD
- Refactor PhoneAPI module config skipping logic to use helper function skipExcludedModuleConfig()
- Reduce code duplication in PhoneAPI by extracting common skip logic

This addresses the three issues identified in the code review:
1. PAXCOUNTER memory impact on non-ESP32 devices
2. Unconditional has_store_forward flag setting
3. Duplicated state management logic across multiple #else blocks

* Fix ambient lighting module exclusion in PhoneAPI and AdminModule

- Add conditional compilation guards for ambient lighting in PhoneAPI.cpp
- Replace old HAS_RGB_LED logic with MESHTASTIC_EXCLUDE_AMBIENTLIGHTING check in AdminModule.cpp
- Ensure ambient lighting module is properly excluded when MESHTASTIC_EXCLUDE_AMBIENTLIGHTING=1
2025-09-08 07:15:27 +10:00