fix: propagate USRP/BladeRF/HydraSDR through remaining SDR-type lists

Several modules independently reimplemented the sdr_type string-to-enum
mapping and bandwidth caps instead of using the canonical mapping in
utils/sdr/detection.py, so they were never updated when USRP, BladeRF,
and HydraSDR support was added:

- routes/listening_post/audio.py: the receiver audio-start endpoint
  hard-rejected these types with a 400, even though the underlying
  SDRFactory command builder already supports them.
- routes/meteor_websocket.py and routes/waterfall_websocket.py: unknown
  sdr_type strings silently fell back to RTL_SDR, which could build a
  command against the wrong hardware. Added the missing mapping entries
  and matching MAX_BANDWIDTH caps for the three new types.
- utils/ground_station/iq_bus.py: same silent-fallback mapping gap in
  IQ capture command building.
This commit is contained in:
James Smith
2026-07-08 19:28:14 +01:00
parent e4d8d961ba
commit cc75388fd4
4 changed files with 16 additions and 1 deletions
+3
View File
@@ -281,6 +281,9 @@ class IQBus:
"limesdr": SDRType.LIME_SDR,
"airspy": SDRType.AIRSPY,
"sdrplay": SDRType.SDRPLAY,
"usrp": SDRType.USRP,
"bladerf": SDRType.BLADE_RF,
"hydrasdr": SDRType.HYDRA_SDR,
}
sdr_type = type_map.get(self._sdr_type.lower(), SDRType.RTL_SDR)
builder = SDRFactory.get_builder(sdr_type)