//! Compile-time configuration ingested from `firmware/cfg.toml` via `toml-cfg`. //! //! Real values live in `cfg.toml` (gitignored); a `cfg.toml.example` shows the //! shape. Defaults are empty strings on purpose — the firmware asserts //! non-empty at boot so we panic loudly instead of silently trying to connect //! to nothing. //! //! `mqtt_url` is a full URL so adding TLS later (`mqtts://host:8883`) is a //! config-only change. #[toml_cfg::toml_config] pub struct Config { #[default("")] pub wifi_ssid: &'static str, #[default("")] pub wifi_password: &'static str, #[default("")] pub mqtt_url: &'static str, /// Base URL the device fetches OTA images from. The full image URL is /// `/sound-machine-.bin`. Trailing slash is /// stripped at use-time so either form works. #[default("")] pub ota_url_base: &'static str, }