Skip to content

Repeater port priority#750

Draft
MarkRose wants to merge 4 commits into
sm0svx:masterfrom
MarkRose:repeater-port-priority
Draft

Repeater port priority#750
MarkRose wants to merge 4 commits into
sm0svx:masterfrom
MarkRose:repeater-port-priority

Conversation

@MarkRose
Copy link
Copy Markdown

@MarkRose MarkRose commented Feb 7, 2026

This attempts to implement #732 by adding the following features:

  • Local mixing, which rebroadcasts all inputs
  • Ducking, which configures a link to be added to the local mixing with a lower, configurable audio level
  • Priority, which preempts all other transmissions
  • Priority hang time, which prevents another transmission from breaking through during brief breaks of a priority transmission

This has been implemented without testing at this point, so I've marked this as a draft PR. It compiles.

MarkRose and others added 4 commits May 30, 2026 19:03
Add configurable audio handling modes for links when multiple sources
are active simultaneously (pile-up scenarios):

- FIRST (default): First source to transmit wins, others ignored
  until late rejoin. This is the existing behavior.

- MIX: Mix all active sources together so users hear all traffic
  from all linked logics simultaneously.

Configuration: Add AUDIO_MODE=FIRST|MIX to link sections.

Example:
  [LinkToR4]
  CONNECT_LOGICS=RepeaterLogic:94:SK3AB,SimplexLogic
  AUDIO_MODE=MIX

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add DUCK mode to AUDIO_MODE which reduces incoming link audio when the
local squelch is open. This allows local traffic to be heard at full
volume while remote traffic is ducked (reduced) but still audible.

- Add squelchStateChanged signal to LogicBase for squelch state tracking
- Add AudioAmp between valve and mixer for dynamic gain control
- Add DUCK_LEVEL_DB config option (default -12 dB)
- DUCK mode takes precedence over MIX when multiple links are active

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add PRIORITY mode to AUDIO_MODE which preempts (mutes) non-PRIORITY
link traffic when a PRIORITY source is transmitting. This is useful
for emergency broadcast systems where critical traffic must take
precedence over normal traffic.

- AUDIO_MODE=PRIORITY marks a link as priority traffic
- Non-priority sources muted to PRIORITY_MUTE_DB (default -60dB)
- Tracks squelch state in LogicInfo for priority detection
- Handles DUCK interaction: restores to ducked level, not full volume

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add configurable hangtime for PRIORITY mode links. After a PRIORITY source
stops transmitting, non-priority sources remain muted for the configured
duration before being restored. This prevents brief interruptions from
non-priority traffic between priority transmissions.

Configuration: PRIORITY_HANGTIME=<milliseconds> (default: 0 = disabled)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@MarkRose MarkRose force-pushed the repeater-port-priority branch from f943e47 to 1e70a46 Compare May 31, 2026 01:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant