From 2bf07d0fba42095c381c01f6e2575775f39c8968 Mon Sep 17 00:00:00 2001 From: LucasDLTG Date: Fri, 2 Oct 2026 22:50:39 +0200 Subject: [PATCH] fix: bypass calculation --- src/dsp408/client/default.rs | 2 +- src/dsp408/client/dsp408.rs | 18 +++++++++++------- src/dsp408/client/mod.rs | 2 +- src/dsp408/protocol/config.rs | 8 ++------ src/main.rs | 24 +++++++++++------------- 5 files changed, 26 insertions(+), 28 deletions(-) diff --git a/src/dsp408/client/default.rs b/src/dsp408/client/default.rs index 1477f26..bb3f478 100644 --- a/src/dsp408/client/default.rs +++ b/src/dsp408/client/default.rs @@ -1,6 +1,6 @@ +use rand::RngExt; use std::collections::HashMap; use strum::IntoEnumIterator; -use rand::RngExt; use crate::dsp408::types::ConnectionStatus; use crate::dsp408::types::{ diff --git a/src/dsp408/client/dsp408.rs b/src/dsp408/client/dsp408.rs index c675605..f81f5fe 100644 --- a/src/dsp408/client/dsp408.rs +++ b/src/dsp408/client/dsp408.rs @@ -8,12 +8,19 @@ use std::{ }; use crate::{ - common::errors::DSPError, dsp408::{ - client::default::{default_dsp_state, default_input_meters, default_output_meters, random_input_meters, random_output_meters}, mapper::{ + common::errors::DSPError, + dsp408::{ + client::default::{ + default_dsp_state, default_input_meters, default_output_meters, random_input_meters, + random_output_meters, + }, + mapper::{ self, constants::{CONFIG_CHUNK_INDEX_MAX, PRESET_INDEX_MAX, delay_range}, response::map_response, - }, protocol::{commands, config::decode_config, frame::extract_frame}, types::{self, ConnectionStatus::Disconnected, DSPMode}, + }, + protocol::{commands, config::decode_config, frame::extract_frame}, + types::{self, ConnectionStatus::Disconnected, DSPMode}, }, }; @@ -1794,10 +1801,7 @@ impl DSP408 { self.input_meters = random_input_meters(); self.output_meters = random_output_meters(); - return Ok(( - self.input_meters.clone(), - self.output_meters.clone(), - )); + return Ok((self.input_meters.clone(), self.output_meters.clone())); } let request = commands::build_get_meter_levels(); diff --git a/src/dsp408/client/mod.rs b/src/dsp408/client/mod.rs index b3b4c5e..37e950f 100644 --- a/src/dsp408/client/mod.rs +++ b/src/dsp408/client/mod.rs @@ -1,4 +1,4 @@ -mod dsp408; mod default; +mod dsp408; pub use dsp408::DSP408; diff --git a/src/dsp408/protocol/config.rs b/src/dsp408/protocol/config.rs index 44cc529..abf5e4e 100644 --- a/src/dsp408/protocol/config.rs +++ b/src/dsp408/protocol/config.rs @@ -297,9 +297,7 @@ pub fn decode_config(payload: &[u8]) -> Result for (index, inp) in input_channels.iter_mut().enumerate() { let bypass = input_peq_bitmap & (1 << index) != 0; - for peq in inp.peq_chain.bands.values_mut() { - peq.bypass = bypass; - } + inp.peq_chain.bypass = bypass; } let output_peq_bitmap = r.read_u16()?; @@ -307,9 +305,7 @@ pub fn decode_config(payload: &[u8]) -> Result for (index, out) in output_channels.iter_mut().enumerate() { let bypass = output_peq_bitmap & (1 << index) != 0; - for peq in out.peq_chain.bands.values_mut() { - peq.bypass = bypass; - } + out.peq_chain.bypass = bypass; } let bitmap = r.read_u16()?; diff --git a/src/main.rs b/src/main.rs index 8719dab..cd2c661 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,8 +2,6 @@ use std::net::IpAddr; use std::str::FromStr; use dsp_thomann::dsp408::DSP408; -use dsp_thomann::dsp408::types; -use dsp_thomann::dsp408::types::InputChannel::InA; fn main() -> Result<(), Box> { let host = IpAddr::from_str("192.168.49.30")?; @@ -25,18 +23,18 @@ fn main() -> Result<(), Box> { // dsp.set_mute(types::Channel::Input(types::InputChannel::InA), true)?; - let r = dsp.set_peq_band( - types::Channel::Input(InA), - types::PEQBand::B1, - 3.0, - 1400.0, - 2.1, - types::PEQFilter::LowShelf, - false, - )?; - dbg!(r); + // let r = dsp.set_peq_band( + // types::Channel::Input(InA), + // types::PEQBand::B1, + // 3.0, + // 1400.0, + // 2.1, + // types::PEQFilter::LowShelf, + // false, + // )?; + // dbg!(r); - // dbg!(dsp.state()?); + dbg!(&dsp.state()); // let s = &dsp.state()?.current_config.input_states[&InputChannel::InA].peq_chain; // dbg!(s)