mirror of
https://github.com/ivabus/speakersafetyd
synced 2024-11-25 01:35:06 +03:00
types: Test for negative powers
Disallow nontrivial negative power, but clamp down rounding error to avoid flickering signs in debug logs. Signed-off-by: Hector Martin <marcan@marcan.st>
This commit is contained in:
parent
21023ec426
commit
ac120b7be1
1 changed files with 12 additions and 0 deletions
12
src/types.rs
12
src/types.rs
|
@ -358,6 +358,18 @@ impl Speaker {
|
||||||
}
|
}
|
||||||
|
|
||||||
let pwr_avg: f32 = pwr_sum / ((buf.len() / self.g.channels) as f32);
|
let pwr_avg: f32 = pwr_sum / ((buf.len() / self.g.channels) as f32);
|
||||||
|
/*
|
||||||
|
* This really shouldn't happen other than rounding error,
|
||||||
|
* if it does there's probably something wrong with the ivsense
|
||||||
|
* data.
|
||||||
|
*/
|
||||||
|
if pwr_avg < -0.01 {
|
||||||
|
panic!(
|
||||||
|
"{}: Negative power, bad ivsense data? ({})",
|
||||||
|
self.name, pwr_avg
|
||||||
|
);
|
||||||
|
}
|
||||||
|
let pwr_avg = pwr_avg.max(0.0);
|
||||||
|
|
||||||
s.t_coil_hyst = s
|
s.t_coil_hyst = s
|
||||||
.t_coil_hyst
|
.t_coil_hyst
|
||||||
|
|
Loading…
Reference in a new issue