From 4042e67d5aed51502538b96c959d88fd3cc1779a Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Sun, 29 May 2011 09:48:09 +0200 Subject: digital/io-hub: new clamp parameter, with offset on all positions --- digital/io-hub/src/robospierre/bot.h | 15 +++++++++------ digital/io-hub/src/robospierre/clamp.c | 3 +-- 2 files changed, 10 insertions(+), 8 deletions(-) (limited to 'digital') diff --git a/digital/io-hub/src/robospierre/bot.h b/digital/io-hub/src/robospierre/bot.h index 7a8065dd..1ba432a8 100644 --- a/digital/io-hub/src/robospierre/bot.h +++ b/digital/io-hub/src/robospierre/bot.h @@ -82,6 +82,7 @@ #define BOT_CLAMP_CLOSED_FRONT_ROTATION_OFFSET 0 #define BOT_CLAMP_CLOSED_BACK_ROTATION_OFFSET 0 +#define BOT_CLAMP_CLOSED_SIDE_ROTATION_OFFSET 0 #else /* !HOST */ @@ -91,7 +92,7 @@ # define BOT_CLAMP_SLOT_BACK_BOTTOM_ELEVATION_STEP 0x0169 # define BOT_CLAMP_SLOT_BACK_MIDDLE_ELEVATION_STEP (0x1f03 - 250) # define BOT_CLAMP_SLOT_BACK_TOP_ELEVATION_STEP 0x3610 -# define BOT_CLAMP_SLOT_SIDE_ELEVATION_STEP 0x3535 +# define BOT_CLAMP_SLOT_SIDE_ELEVATION_STEP 0x3596 # define BOT_CLAMP_BAY_FRONT_LEAVE_ELEVATION_STEP 0x1da7 # define BOT_CLAMP_BAY_BACK_LEAVE_ELEVATION_STEP 0x1f03 # define BOT_CLAMP_BAY_SIDE_ENTER_LEAVE_ELEVATION_STEP ((0x1da7 + 0x1f03) / 2) @@ -102,18 +103,19 @@ # define BOT_CLAMP_SLOT_FRONT_BOTTOM_ROTATION_STEP 0 # define BOT_CLAMP_SLOT_FRONT_MIDDLE_ROTATION_STEP 0 # define BOT_CLAMP_SLOT_FRONT_TOP_ROTATION_STEP 0 -# define BOT_CLAMP_SLOT_BACK_BOTTOM_ROTATION_STEP 0x233e -# define BOT_CLAMP_SLOT_BACK_MIDDLE_ROTATION_STEP 0x233e -# define BOT_CLAMP_SLOT_BACK_TOP_ROTATION_STEP 0x233e +# define BOT_CLAMP_SLOT_BACK_BOTTOM_ROTATION_STEP 0x23d7 +# define BOT_CLAMP_SLOT_BACK_MIDDLE_ROTATION_STEP 0x23d7 +# define BOT_CLAMP_SLOT_BACK_TOP_ROTATION_STEP 0x23d7 # define BOT_CLAMP_BAY_FRONT_ROTATION_STEP \ BOT_CLAMP_SLOT_FRONT_MIDDLE_ROTATION_STEP # define BOT_CLAMP_BAY_BACK_ROTATION_STEP \ BOT_CLAMP_SLOT_BACK_MIDDLE_ROTATION_STEP -# define BOT_CLAMP_BAY_SIDE_ROTATION_STEP 0x10de +# define BOT_CLAMP_BAY_SIDE_ROTATION_STEP (0x1127 + 120) #define BOT_CLAMP_CLOSED_FRONT_ROTATION_OFFSET -129 #define BOT_CLAMP_CLOSED_BACK_ROTATION_OFFSET -60 +#define BOT_CLAMP_CLOSED_SIDE_ROTATION_OFFSET -120 #endif /* !HOST */ @@ -124,7 +126,8 @@ (CLAMP_IS_SLOT_IN_FRONT_BAY (pos) \ ? BOT_CLAMP_CLOSED_FRONT_ROTATION_OFFSET \ : (CLAMP_IS_SLOT_IN_BACK_BAY (pos) \ - ? BOT_CLAMP_CLOSED_BACK_ROTATION_OFFSET : 0)) + ? BOT_CLAMP_CLOSED_BACK_ROTATION_OFFSET \ + : BOT_CLAMP_CLOSED_SIDE_ROTATION_OFFSET)) #define BOT_CLAMP_INIT_ELEVATION_SPEED 0x08 #define BOT_CLAMP_INIT_ROTATION_SPEED -0x04 diff --git a/digital/io-hub/src/robospierre/clamp.c b/digital/io-hub/src/robospierre/clamp.c index 65a90a7a..f799e7d7 100644 --- a/digital/io-hub/src/robospierre/clamp.c +++ b/digital/io-hub/src/robospierre/clamp.c @@ -331,8 +331,7 @@ clamp_openclose (uint8_t open) pwm_set_timed (BOT_PWM_CLAMP, BOT_PWM_CLAMP_OPEN); else pwm_set_timed (BOT_PWM_CLAMP, BOT_PWM_CLAMP_CLOSE); - if (ctx.controled && (CLAMP_IS_SLOT_IN_FRONT_BAY (ctx.pos_current) - || CLAMP_IS_SLOT_IN_BACK_BAY (ctx.pos_current))) + if (ctx.controled) { int16_t offset = open ? 0 : BOT_CLAMP_CLOSED_ROTATION_OFFSET (ctx.pos_current); -- cgit v1.2.3