From 0f3cd5c8d41347ab6cecf518524f3d95cbb5ffb0 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Mon, 14 Apr 2008 00:54:40 +0200 Subject: * digital/asserv/src/asserv: - introduced a dead zone to match motor-power-avr one. --- digital/asserv/src/asserv/pwm_mp.avr.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'digital') diff --git a/digital/asserv/src/asserv/pwm_mp.avr.c b/digital/asserv/src/asserv/pwm_mp.avr.c index 4bc8f3f4..e47b6068 100644 --- a/digital/asserv/src/asserv/pwm_mp.avr.c +++ b/digital/asserv/src/asserv/pwm_mp.avr.c @@ -27,6 +27,7 @@ #include "pwm.h" #include "modules/spi/spi.h" +#include "modules/utils/utils.h" #include "io.h" /** Assign PWM outputs. */ @@ -66,8 +67,12 @@ pwm_mp_update (void) /* Chip enable. */ PORTB &= ~_BV (0); /* Convert to 12 bits. */ - uint16_t pwm1 = PWM1c (PWM1) << 1; - uint16_t pwm2 = PWM2c (PWM2) << 1; + int16_t pwm1 = PWM1c (PWM1) << 1; + int16_t pwm2 = PWM2c (PWM2) << 1; + if (UTILS_ABS (pwm1) < 0x20) + pwm1 = 0; + if (UTILS_ABS (pwm2) < 0x20) + pwm2 = 0; /* Send, computing checksum on the way. */ cks = 0x42; v = ((pwm1 >> 4) & 0xf0) | ((pwm2 >> 8) & 0x0f); -- cgit v1.2.3