aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2025-04-25 12:51:45 +0000
committerGitHub <[email protected]>2025-04-25 12:51:45 +0000
commit572e788b2e878436bde527ad66cf561775cebc66 (patch)
treed3e53ec65b43d764fdeb135263fc9a0fe74a0843
parent8f66154353a9489dd6645315aba545950bcb5821 (diff)
parentedc585a8ef0242604890df3f89d0abe766782c8d (diff)
Merge pull request #4132 from GreatKet/main
Dead-time computation in complementary PWM fixed
-rw-r--r--embassy-stm32/src/timer/complementary_pwm.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/embassy-stm32/src/timer/complementary_pwm.rs b/embassy-stm32/src/timer/complementary_pwm.rs
index f543bafab..8eec6c0c7 100644
--- a/embassy-stm32/src/timer/complementary_pwm.rs
+++ b/embassy-stm32/src/timer/complementary_pwm.rs
@@ -240,11 +240,11 @@ fn compute_dead_time_value(value: u16) -> (Ckd, u8) {
240 let (these_bits, result) = if target < 128 { 240 let (these_bits, result) = if target < 128 {
241 (target as u8, target) 241 (target as u8, target)
242 } else if target < 255 { 242 } else if target < 255 {
243 (64 + (target / 2) as u8, (target - target % 2)) 243 ((64 + (target / 2) as u8) | 128, (target - target % 2))
244 } else if target < 508 { 244 } else if target < 508 {
245 (32 + (target / 8) as u8, (target - target % 8)) 245 ((32 + (target / 8) as u8) | 192, (target - target % 8))
246 } else if target < 1008 { 246 } else if target < 1008 {
247 (32 + (target / 16) as u8, (target - target % 16)) 247 ((32 + (target / 16) as u8) | 224, (target - target % 16))
248 } else { 248 } else {
249 (u8::MAX, 1008) 249 (u8::MAX, 1008)
250 }; 250 };
@@ -300,7 +300,7 @@ mod tests {
300 TestRun { 300 TestRun {
301 value: 400, 301 value: 400,
302 ckd: Ckd::DIV1, 302 ckd: Ckd::DIV1,
303 bits: 32 + (400u16 / 8) as u8, 303 bits: 210,
304 }, 304 },
305 TestRun { 305 TestRun {
306 value: 600, 306 value: 600,