git.droids-corp.org
/
aversive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
wait that ballboard is ready before eject
[aversive.git]
/
projects
/
microb2010
/
mainboard
/
strat.c
diff --git
a/projects/microb2010/mainboard/strat.c
b/projects/microb2010/mainboard/strat.c
index
a97ae1a
..
3ef6675
100644
(file)
--- a/
projects/microb2010/mainboard/strat.c
+++ b/
projects/microb2010/mainboard/strat.c
@@
-188,8
+188,6
@@
void strat_event(void *dummy)
cobboard.cob_count = 5;
if (time_get_s() == 16)
cobboard.cob_count = 0;
cobboard.cob_count = 5;
if (time_get_s() == 16)
cobboard.cob_count = 0;
- if (time_get_s() == 25)
- cobboard.cob_count = 5;
#endif
/* detect cob on left side */
#endif
/* detect cob on left side */
@@
-280,7
+278,7
@@
static uint8_t strat_eject(void)
TRAJ_FLAGS_NO_NEAR);
if (err == 0) {
want_pack = 1;
TRAJ_FLAGS_NO_NEAR);
if (err == 0) {
want_pack = 1;
- strat_set_speed(
600
, SPEED_ANGLE_SLOW);
+ strat_set_speed(
SPEED_CLITOID_FAST
, SPEED_ANGLE_SLOW);
err = wait_traj_end(TRAJ_FLAGS_NO_NEAR);
}
err = wait_traj_end(TRAJ_FLAGS_NO_NEAR);
}
@@
-296,7
+294,14
@@
static uint8_t strat_eject(void)
DEBUG(E_USER_STRAT, "%s():%d", __FUNCTION__, __LINE__);
strat_hardstop();
DEBUG(E_USER_STRAT, "%s():%d", __FUNCTION__, __LINE__);
strat_hardstop();
+#ifdef HOST_VERSION
time_wait_ms(2000);
time_wait_ms(2000);
+#else
+ WAIT_COND_OR_TIMEOUT(ballboard.status == I2C_BALLBOARD_STATUS_F_BUSY,
+ 2000);
+ WAIT_COND_OR_TIMEOUT(ballboard.status == I2C_BALLBOARD_STATUS_F_READY,
+ 2000);
+#endif
/* half turn */
trajectory_a_rel(&mainboard.traj, COLOR_A(180));
/* half turn */
trajectory_a_rel(&mainboard.traj, COLOR_A(180));
@@
-320,13
+325,6
@@
static uint8_t strat_beginning(void)
uint8_t err;
strat_set_acc(ACC_DIST, ACC_ANGLE);
uint8_t err;
strat_set_acc(ACC_DIST, ACC_ANGLE);
-#ifdef HOST_VERSION
- strat_set_speed(600, SPEED_ANGLE_FAST);
-#else
- /* 250 */
- strat_set_speed(250, SPEED_ANGLE_FAST);
-#endif
-
strat_set_speed(600, 60); /* OK */
//strat_set_speed(250, 28); /* OK */
strat_set_speed(600, 60); /* OK */
//strat_set_speed(250, 28); /* OK */
@@
-335,14
+333,11
@@
static uint8_t strat_beginning(void)
TRAJ_FLAGS_STD);
strat_set_acc(ACC_DIST, ACC_ANGLE);
TRAJ_FLAGS_STD);
strat_set_acc(ACC_DIST, ACC_ANGLE);
- strat_set_speed(
250
, SPEED_ANGLE_SLOW);
+ strat_set_speed(
SPEED_CLITOID_SLOW
, SPEED_ANGLE_SLOW);
l1:
DEBUG(E_USER_STRAT, "%s():%d count=%d", __FUNCTION__, __LINE__, get_cob_count());
l1:
DEBUG(E_USER_STRAT, "%s():%d count=%d", __FUNCTION__, __LINE__, get_cob_count());
- if (get_cob_count() >= 5)
- strat_set_speed(600, SPEED_ANGLE_FAST);
-
- err = line2line(0, LINE_UP, 2, LINE_R_DOWN);
+ err = line2line(0, LINE_UP, 2, LINE_R_DOWN, TRAJ_FLAGS_NO_NEAR);
if (!TRAJ_SUCCESS(err)) {
strat_hardstop();
time_wait_ms(2000);
if (!TRAJ_SUCCESS(err)) {
strat_hardstop();
time_wait_ms(2000);
@@
-351,10
+346,7
@@
static uint8_t strat_beginning(void)
l2:
DEBUG(E_USER_STRAT, "%s():%d count=%d", __FUNCTION__, __LINE__, get_cob_count());
l2:
DEBUG(E_USER_STRAT, "%s():%d count=%d", __FUNCTION__, __LINE__, get_cob_count());
- if (get_cob_count() >= 5)
- strat_set_speed(600, SPEED_ANGLE_FAST);
-
- err = line2line(2, LINE_R_DOWN, 2, LINE_R_UP);
+ err = line2line(2, LINE_R_DOWN, 2, LINE_R_UP, TRAJ_FLAGS_NO_NEAR);
if (!TRAJ_SUCCESS(err)) {
strat_hardstop();
time_wait_ms(2000);
if (!TRAJ_SUCCESS(err)) {
strat_hardstop();
time_wait_ms(2000);
@@
-364,7
+356,7
@@
static uint8_t strat_beginning(void)
strat_eject();
while (1) {
strat_eject();
while (1) {
- strat_set_speed(
250, SPEED_ANGLE_FAST
);
+ strat_set_speed(
SPEED_CLITOID_SLOW, SPEED_ANGLE_SLOW
);
strat_harvest_circuit();
strat_eject();
}
strat_harvest_circuit();
strat_eject();
}