summaryrefslogtreecommitdiffhomepage
path: root/digital/asserv/src/asserv/pwm.avr.c
diff options
context:
space:
mode:
authorNicolas Schodet2009-03-30 00:20:05 +0200
committerNicolas Schodet2009-03-30 00:20:05 +0200
commit2e0727532fdc1e9eb5b72188182c7a8a7c4ab3fc (patch)
treedd1b004f7cf5f06e18c70785439a4533e59a0fa1 /digital/asserv/src/asserv/pwm.avr.c
parentca537782ccf301aa5dafe91bbba2722d039226db (diff)
* digital/asserv/src/asserv:
- use a structure for PWM state.
Diffstat (limited to 'digital/asserv/src/asserv/pwm.avr.c')
-rw-r--r--digital/asserv/src/asserv/pwm.avr.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/digital/asserv/src/asserv/pwm.avr.c b/digital/asserv/src/asserv/pwm.avr.c
index 932e5a7f..6a5b0ff4 100644
--- a/digital/asserv/src/asserv/pwm.avr.c
+++ b/digital/asserv/src/asserv/pwm.avr.c
@@ -27,9 +27,10 @@
#include "pwm_mp.avr.h"
#include "pwm_ocr.avr.h"
-/** PWM values, this is an error if absolute value is greater than the
- * maximum. */
-int16_t pwm_left, pwm_right, pwm_aux0;
+/** PWM control states. */
+struct pwm_t pwm_left = PWM_INIT_FOR (pwm_left);
+struct pwm_t pwm_right = PWM_INIT_FOR (pwm_right);
+struct pwm_t pwm_aux0 = PWM_INIT_FOR (pwm_aux0);
/** PWM reverse directions. */
uint8_t pwm_reverse;
@@ -45,17 +46,11 @@ pwm_init (void)
void
pwm_update (void)
{
- /* Some assumption checks. */
- assert (pwm_left >= -PWM_MAX_FOR (pwm_left)
- && pwm_left <= PWM_MAX_FOR (pwm_left));
- assert (pwm_right >= -PWM_MAX_FOR (pwm_right)
- && pwm_right <= PWM_MAX_FOR (pwm_right));
- assert (pwm_aux0 >= -PWM_MAX_FOR (pwm_aux0)
- && pwm_aux0 <= PWM_MAX_FOR (pwm_aux0));
pwm_mp_update ();
pwm_ocr_update ();
}
+/** Set which PWM is reversed. */
void
pwm_set_reverse (uint8_t reverse)
{