Skip to content

Implement audio squelch feature#28

Open
xnetinho wants to merge 8 commits into
phasor-labs:mainfrom
xnetinho:feat-squelch
Open

Implement audio squelch feature#28
xnetinho wants to merge 8 commits into
phasor-labs:mainfrom
xnetinho:feat-squelch

Conversation

@xnetinho
Copy link
Copy Markdown

This pull request introduces a new manual squelch feature, improves the Docker build pipeline, and updates the frontend submodule. The most significant changes are the addition of manual squelch control (with hysteresis logic), enhancements to Docker build efficiency and reliability, and the switch to a new frontend repository.

Manual squelch feature:

  • Added a squelch_level field to ClientCommand::Squelch, AudioParams, and related logic, allowing clients to set a manual squelch threshold. When set, the squelch opens/closes based on received signal power in dB, with a 10-frame hysteresis for closing. [1] [2] [3] [4] [5]
  • Refactored SquelchState and its update method to support manual squelch, including new hysteresis logic and additional tests to verify correct behavior for both manual and automatic modes. [1] [2] [3] [4] [5] [6]

Docker build improvements:

  • Reworked Dockerfile to use cargo-chef for dependency caching, unified build dependencies, improved driver compilation steps, and ensured runtime parity (including libopus0). Also improved resilience for frontend build steps.
  • Added .github/workflows/docker-publish.yml for automated Docker publishing on pushes and tags, supporting multi-architecture builds and optimized caching.

Frontend submodule update:

  • Changed the frontend submodule URL in .gitmodules and updated the commit reference to point to the new repository. [1] [2]

Other improvements:

  • Updated initialization and reset logic for squelch parameters throughout the server code to ensure correct defaults and state transitions. [1] [2] [3]

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