Commit Graph
2285 Commits
Author SHA1 Message Date
ford-jones e0f88be2d7 Merge branch 'develop' of https://github.com/meshtastic/firmware into 7943-mute-target 2025-09-16 19:16:44 +12:00
ford-jones 1c256ccfd7 Update comments and remove unused function 2025-09-16 15:43:13 +12:00
MichaelandGUVWAF b9d53d667e Feature: Seamless Cross-Preset Communication via UDP Multicast Bridging (#7753)
* Added compatibility between nodes on different Presets through `Mesh via UDP`

* Optimize multicast handling and channel mapping

- FloodingRouter: remove redundant UDP-encrypted rebroadcast suppression.
- Router: guard multicast fallback with HAS_UDP_MULTICAST and map fallback-decoded packets
  to the local default channel via isDefaultChannel()
- UdpMulticastHandler: set transport_mechanism only after successful decode

* trunk fmt

* Move setting transport mechanism.

---------

Co-authored-by: GUVWAF <thijs@havinga.eu>
2025-09-15 19:29:47 -05:00
ford-jones f0b7aab030 Refactor ref syntax 2025-09-15 15:21:40 +12:00
ford-jones a76f591231 Fix - reference actual channel when changing settings 2025-09-15 15:08:02 +12:00
Ben Meadors 09de0e3edb Merge branch 'master' into develop 2025-09-14 08:15:25 -05:00
Ben Meadors 9977035499 Fix DRAM overflow on old esp32 targets 2025-09-13 20:14:10 -05:00
Ben Meadors 096afa07f8 Tweak maximums 2025-09-13 18:57:00 -05:00
Ben Meadors 760471d620 Fix json report crashes on esp32 (#7978) 2025-09-13 18:52:46 -05:00
Ben Meadors ae814b5463 Drop the limit 2025-09-13 12:07:14 -05:00
Ben Meadors 78dfb05eeb Portduino dynamic alloc 2025-09-13 11:59:50 -05:00
Ben MeadorsandWillyJL 9211b1bb4b Static memory pool allocation (#7966)
* Static memory pool

* Initializer

* T-Lora Pager: Support LR1121 and SX1280 models (#7956)

* T-Lora Pager: Support LR1121 and SX1280 models

* Remove ifdefs

---------

Co-authored-by: WillyJL <me@willyjl.dev>
2025-09-13 07:01:07 -05:00
github-actions[bot]andthebentern b6dd99917d Update protobufs (#7973)
Co-authored-by: thebentern <9000580+thebentern@users.noreply.github.com>
2025-09-13 06:37:58 -05:00
ford-jones bfadd9c866 Regen protos 2025-09-13 17:51:52 +12:00
ford-jones f8d44f8f6c Revert previous commit - this needs it's own proto 2025-09-13 17:45:07 +12:00
ford-jones ccff2769fe Make use of pre-existing channel_settings.module_settings.is_client_muted setting 2025-09-13 13:39:32 +12:00
Ben Meadors e6bfc4a97a Merge pull request #7969 from meshtastic/master
Backmerge
2025-09-12 18:23:40 -05:00
Ben Meadors 8989de118c Only queue 2 client notification 2025-09-12 16:07:27 -05:00
Ben Meadors 1914fa0321 Formatting 2025-09-12 15:49:56 -05:00
Mike Robbins 962e5d513c Fix memory leak in NextHopRouter: always free packet copy when removing from pending 2025-09-12 13:16:48 -05:00
Mike Robbins 0fc33c352a Fix memory leak in NextHopRouter: always free packet copy when removing from pending 2025-09-12 10:40:13 -07:00
Mike Robbins 35340fc6e2 NextHopRouter::roleAllowsCancelingFromTxQueue (same logic as FloodingRouter::roleAllowsCancelingDupe) 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 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
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 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
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
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]andfifieldt 7b854fb5ca Update protobufs (#7903)
Co-authored-by: fifieldt <1287116+fifieldt@users.noreply.github.com>
2025-09-08 11:12:52 +10: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
GUVWAF 4594ae474e Upon receiving ACK/reply directly, only update next-hop if we’re the *sole* relayer (#7859) 2025-09-06 06:23:43 -05:00