-
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Beacon: pin broadcast targets and the offer to a resolved channel and frequency slot #11662
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
NomDeTom
wants to merge
48
commits into
meshtastic:develop
Choose a base branch
from
NomDeTom:beacon-slot-and-validator
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
48 commits
Select commit
Hold shift + click to select a range
738740a
fix(beacon): free target radio settings when the router drops a beacon
NomDeTom 47bcb9d
fix(radio): stop LoRa validation reporting errors and rewriting share…
NomDeTom 6fa105a
fix(beacon): validate a target against the channel it will actually r…
NomDeTom 1a36d76
test(beacon): admin validation clamps a bad preset instead of clearin…
NomDeTom eed3f96
fix(beacon): send on the target's channel index instead of hijacking …
NomDeTom 27fb63b
fix(admin): clear beacon targets that reference a retired channel
NomDeTom 8e1fdd1
feat(beacon): advertise the offer channel by table index
NomDeTom 7cfb856
refactor(radio): share one frequency-slot count
NomDeTom 4643d81
feat(beacon): let a target and the offer pin a frequency slot
NomDeTom 0dd971c
feat(beacon): report what a node changed about a broadcast target
NomDeTom f005810
fix(beacon): validate the offer by the same rules as a target
NomDeTom 9f29c37
fix(beacon): drop the offer from a target that already runs it
NomDeTom b456a12
test(beacon): pin that retired proto tags are skipped, not fatal
NomDeTom c274a23
revert(beacon): drop the clamped-field read-back
NomDeTom 12a0a36
refactor(radio): stop exporting the slot count that trusts your bandw…
NomDeTom 28e50c3
test(radio): pin the frequency slot boundaries
NomDeTom 1fbdfd1
docs(beacon): trim comments to two lines and restore an orphaned doc …
NomDeTom 21fe111
fix(beacon): dedup a target by the slot and channel it transmits on
NomDeTom 888284e
fix(beacon): clear the target entry by id, not through a freed packet
NomDeTom 2e8578a
fix(admin): clear the beacon offer that references a retired channel
NomDeTom 12cdb21
refactor(beacon): keep only the resolved channel name in the TX sidecar
NomDeTom 73e5395
fix(radio): keep a speculative clamp out of the running radio's state
NomDeTom 2fe6f60
fix(beacon): resolve a target's channel one way, for admin and for TX
NomDeTom 37794f2
fix(beacon): derive each target's slot from the config it will run on
NomDeTom a490f5b
fix(beacon): advertise the frequency slot the offer resolves to
NomDeTom 87863b3
docs(beacon): trim the comments this branch grew past two lines
NomDeTom b9d17f4
refactor(radio): report the slot verdict instead of publishing it
NomDeTom 9328d99
refactor(radio): fold the candidate clamp into an announce flag
NomDeTom 6bf5d54
revert(radio): restore the inline frequency-slot arithmetic
NomDeTom 4503cd3
refactor(ui): read the slot count from RadioInterface
NomDeTom 8973c24
refactor(beacon): pass the target radio settings as a struct
NomDeTom 0ee7d08
feat(beacon): carry the whole LoRa config in the TX sidecar
NomDeTom 355186d
test(beacon): pin the verdict publication and the sidecar's config
NomDeTom 4ba7845
docs(beacon): correct a stale reference and trim two comments
NomDeTom 12eb342
refactor(beacon): share one sidecar entry across the legacy split pair
NomDeTom f65d7b4
feat(beacon): drop a beacon still queued past its broadcast interval
NomDeTom a686d5e
test(beacon): pin the target shapes and the offer-vs-setting cases
NomDeTom 0b42e0b
test(beacon): pin that a dropped beacon leaves the others alone
NomDeTom e2a1ad2
fix(beacon): resolve an inherited region at key-up, not when queued
NomDeTom 2b60acf
test(radio): pin what an unset region accepts
NomDeTom 0ba31a8
refactor(beacon): let the producer say which packets share a sidecar …
NomDeTom eeb6227
feat(beacon): record what the operator asked for, resolve it at send
NomDeTom c0269ea
docs(beacon): correct two comments the code had moved past
NomDeTom a0bdadd
fix(beacon): a blank channel is a valid channel, not a retired one
NomDeTom 094740e
fix(beacon): record a pinned slot as asked for, resolve it at send
NomDeTom 599b906
fix(beacon): withhold an offer that cannot be placed, don't re-point it
NomDeTom c8f5a2b
test(beacon): make three tests check what they claim
NomDeTom 1724b3b
fix(beacon): let an unset slot mean the target region's own answer
NomDeTom File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,6 +1,7 @@ | ||
| [submodule "protobufs"] | ||
| path = protobufs | ||
| url = https://github.com/meshtastic/protobufs.git | ||
| url = https://github.com/NomDeTom/Meshtasticprotobufs | ||
| branch = beacon-frequency-slot | ||
| [submodule "meshtestic"] | ||
| path = meshtestic | ||
| url = https://github.com/meshtastic/meshTestic | ||
Submodule protobufs
updated
3 files
| +11 −0 | meshtastic/mesh_beacon.proto | |
| +0 −2 | meshtastic/module_config.options | |
| +35 −6 | meshtastic/module_config.proto |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔒 Security & Privacy | 🟡 Minor | ⚡ Quick win
🔎 Supported by static analysis
🏁 Script executed:
Repository: meshtastic/firmware
Length of output: 451
🏁 Script executed:
Repository: meshtastic/firmware
Length of output: 49523
🏁 Script executed:
Repository: meshtastic/firmware
Length of output: 4984
Restore the upstream protobuf submodule URL before merge.
Release workflows use the recorded gitlink and do not update submodules remotely, so
beacon-frequency-slotdoes not affect releases. However,update_protobufs.ymlfetchesmasterordevelopfrom the.gitmodulesremote, which currently points toNomDeTom/Meshtasticprotobufs.🤖 Prompt for AI Agents