summaryrefslogtreecommitdiffhomepage
path: root/digital/asserv/src/asserv/pwm.h
diff options
context:
space:
mode:
authorNicolas Schodet2009-04-04 16:22:53 +0200
committerNicolas Schodet2009-04-04 16:22:53 +0200
commit1431438a2b0f3fafbafb61a4a15296164dadf5e1 (patch)
tree5d62fd3881d20756988bcf1d7af69dc53b984319 /digital/asserv/src/asserv/pwm.h
parentbcfaa95e57d29918e4beb19f4f726d0336889ebd (diff)
* digital/asserv:
- added second auxiliary motor support.
Diffstat (limited to 'digital/asserv/src/asserv/pwm.h')
-rw-r--r--digital/asserv/src/asserv/pwm.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/digital/asserv/src/asserv/pwm.h b/digital/asserv/src/asserv/pwm.h
index 7877d4eb..7b834c05 100644
--- a/digital/asserv/src/asserv/pwm.h
+++ b/digital/asserv/src/asserv/pwm.h
@@ -41,16 +41,25 @@ struct pwm_t
int16_t min;
};
-extern struct pwm_t pwm_left, pwm_right, pwm_aux0;
+extern struct pwm_t pwm_left, pwm_right, pwm_aux[AC_ASSERV_AUX_NB];
extern uint8_t pwm_reverse;
+/** Define current PWM value for each output. */
+#define PWM_VALUE(x) PWM_VALUE_ (x)
+#define PWM_VALUE_(x) PWM_MAX_FOR_ ## x
+#define PWM_VALUE_pwm_left pwm_left.cur
+#define PWM_VALUE_pwm_right pwm_right.cur
+#define PWM_VALUE_pwm_aux0 pwm_aux[0].cur
+#define PWM_VALUE_pwm_aux1 pwm_aux[1].cur
+
/** Define maximum PWM value for each output. */
#define PWM_MAX_FOR(x) PWM_MAX_FOR_ (x)
#define PWM_MAX_FOR_(x) PWM_MAX_FOR_ ## x
#define PWM_MAX_FOR_pwm_left PWM_MAX
#define PWM_MAX_FOR_pwm_right PWM_MAX
#define PWM_MAX_FOR_pwm_aux0 (PWM_MAX / 2)
+#define PWM_MAX_FOR_pwm_aux1 (PWM_MAX / 2)
/** Define minimum PWM value for each output, if the value is less than the
* minimum, use 0. */
@@ -59,6 +68,7 @@ extern uint8_t pwm_reverse;
#define PWM_MIN_FOR_pwm_left 0x10
#define PWM_MIN_FOR_pwm_right 0x10
#define PWM_MIN_FOR_pwm_aux0 0x10
+#define PWM_MIN_FOR_pwm_aux1 0x10
/** Define which bit controls the PWM inversion. */
#define PWM_REVERSE_BIT(x) PWM_REVERSE_BIT_ (x)
@@ -66,6 +76,7 @@ extern uint8_t pwm_reverse;
#define PWM_REVERSE_BIT_pwm_left _BV (0)
#define PWM_REVERSE_BIT_pwm_right _BV (1)
#define PWM_REVERSE_BIT_pwm_aux0 _BV (2)
+#define PWM_REVERSE_BIT_pwm_aux1 _BV (3)
/** State init macro. */
#define PWM_INIT_FOR(x) \