summaryrefslogtreecommitdiff
path: root/digital
diff options
context:
space:
mode:
authorNicolas Schodet2011-05-29 09:48:09 +0200
committerNicolas Schodet2011-05-29 09:57:32 +0200
commit4042e67d5aed51502538b96c959d88fd3cc1779a (patch)
treebbba8ef8ac91dc936363e1d7b80a4f658321700f /digital
parent498d62b1e3f505379b102949dc13fc45b919570d (diff)
digital/io-hub: new clamp parameter, with offset on all positions
Diffstat (limited to 'digital')
-rw-r--r--digital/io-hub/src/robospierre/bot.h15
-rw-r--r--digital/io-hub/src/robospierre/clamp.c3
2 files changed, 10 insertions, 8 deletions
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);