i2c_cobboard_set_mode(I2C_COBBOARD_MODE_HARVEST);
i2c_cobboard_pack(side);
}
+ else if (!strcmp_P(res->arg1, PSTR("pack_weak"))) {
+ i2c_cobboard_set_mode(I2C_COBBOARD_MODE_HARVEST);
+ i2c_cobboard_pack_weak(side);
+ }
else if (!strcmp_P(res->arg1, PSTR("deploy_nomove"))) {
i2c_cobboard_set_mode(I2C_COBBOARD_MODE_HARVEST);
i2c_cobboard_deploy_nomove(side);
prog_char str_cobboard_setmode2_arg0[] = "cobboard";
parse_pgm_token_string_t cmd_cobboard_setmode2_arg0 = TOKEN_STRING_INITIALIZER(struct cmd_cobboard_setmode2_result, arg0, str_cobboard_setmode2_arg0);
-prog_char str_cobboard_setmode2_arg1[] = "harvest#deploy#pack#harvest_nomove#deploy_nomove";
+prog_char str_cobboard_setmode2_arg1[] = "harvest#deploy#pack#pack_weak#harvest_nomove#deploy_nomove";
parse_pgm_token_string_t cmd_cobboard_setmode2_arg1 = TOKEN_STRING_INITIALIZER(struct cmd_cobboard_setmode2_result, arg1, str_cobboard_setmode2_arg1);
prog_char str_cobboard_setmode2_arg2[] = "left#right";
parse_pgm_token_string_t cmd_cobboard_setmode2_arg2 = TOKEN_STRING_INITIALIZER(struct cmd_cobboard_setmode2_result, arg2, str_cobboard_setmode2_arg2);
#define COL_SCAN_PRE_MARGIN 250
static volatile uint8_t strat_running = 0;
-static volatile uint8_t want_pack = 0;
+volatile uint8_t strat_want_pack = 0;
volatile uint8_t strat_lpack60 = 0;
volatile uint8_t strat_rpack60 = 0;
struct strat_conf strat_conf;
/* control the cobboard mode for left spickle */
if (lcob_near && strat_db.corn_table[lidx]->present) {
- if (get_cob_count() >= 5 || want_pack || strat_lpack60) {
+ if (get_cob_count() >= 5 || strat_want_pack || strat_lpack60) {
/* nothing */
}
else {
}
else {
/* no cob near us, we can pack or deploy freely */
- if (get_cob_count() >= 5 || want_pack || strat_lpack60)
- i2c_cobboard_pack(I2C_LEFT_SIDE);
+ if (get_cob_count() >= 5 || strat_want_pack || strat_lpack60)
+ i2c_cobboard_pack_weak(I2C_LEFT_SIDE);
else
i2c_cobboard_deploy(I2C_LEFT_SIDE);
}
/* control the cobboard mode for right spickle */
if (rcob_near && strat_db.corn_table[ridx]->present) {
- if (get_cob_count() >= 5 || want_pack || strat_rpack60) {
+ if (get_cob_count() >= 5 || strat_want_pack || strat_rpack60) {
/* nothing */
}
else {
}
else {
/* no cob near us, we can pack or deploy freely */
- if (get_cob_count() >= 5 || want_pack || strat_rpack60)
- i2c_cobboard_pack(I2C_RIGHT_SIDE);
+ if (get_cob_count() >= 5 || strat_want_pack || strat_rpack60)
+ i2c_cobboard_pack_weak(I2C_RIGHT_SIDE);
else
i2c_cobboard_deploy(I2C_RIGHT_SIDE);
}
err = WAIT_COND_OR_TRAJ_END(get_cob_count() >= 5,
TRAJ_FLAGS_NO_NEAR);
if (err == 0) {
- want_pack = 1;
+ strat_want_pack = 1;
strat_set_speed(SPEED_CLITOID_FAST, SPEED_ANGLE_SLOW);
err = wait_traj_end(TRAJ_FLAGS_NO_NEAR);
}
time_wait_ms(2000);
strat_event_enable();
- want_pack = 0;
+ strat_want_pack = 0;
return 0;
}