|
|
3 tháng trước cách đây | |
|---|---|---|
| .. | ||
| include | 3 tháng trước cách đây | |
| src | 3 tháng trước cách đây | |
| CMakeLists.txt | 3 tháng trước cách đây | |
| Kconfig | 3 tháng trước cách đây | |
| README.md | 3 tháng trước cách đây | |
| idf_component.yml | 3 tháng trước cách đây | |
Clean-room Dante protocol support for the ESP32-P4, written independently
from the behavioural notes in docs/dante-protocol-notes.md.
Licensing: this component is Apache-2.0 and must stay clean-room. It is implemented from understanding of Dante's on-the-wire behaviour, never by copying, translating, or closely paraphrasing
reference/inferno(GPL/ AGPL). See the hard rule inCLAUDE.md.
dante_discovery.h)Read-only mDNS/DNS-SD browsing for Dante devices. It queries the four Dante
service types (_netaudio-arc, _netaudio-cmc, _netaudio-chan,
_netaudio-bund) and reports each instance found — hostname, IP, port, and
TXT records — via a callback, or logs them if no callback is given.
dante_discovery_scan() — one-shot synchronous sweep.dante_discovery_start() / dante_discovery_stop() — background scanner
that repeats on an interval.This does not advertise this device and does not touch audio, so it is safe to run on a live Dante network. It's primarily a bring-up aid: it shows what Dante gear is present and how its channels are formatted (sample rate, bit depth, latency, fpp), which is exactly what you need when getting AES67 interop working.
It shares the process-wide ESP-IDF mDNS instance with the AES67 stack (it only ever queries; it never frees mDNS).
Controlled by Kconfig (idf.py menuconfig → Dante):
DANTE_DISCOVERY_ON_BOOT (default y) — main starts the background scanner
once the network is up.DANTE_DISCOVERY_INTERVAL_MS (default 15000) — sweep interval.Everything past discovery, in rough dependency order (see the protocol notes):
_netaudio-arc/-cmc/-chan/-bund so
Dante Controller sees this device. Deliberately not done yet: an advertised
device that can't answer ARC/CMC queries is worse than an invisible one.CLAUDE.md "Known hard problems").Compiles as an ESP-IDF component but is not yet build-verified (no ESP-IDF toolchain in the dev environment where it was written) and untested against real Dante hardware.