+ 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 */
+
+ trajectory_d_a_rel(&mainboard.traj, 1000, COLOR_A(20));
+ err = WAIT_COND_OR_TRAJ_END(trajectory_angle_finished(&mainboard.traj),
+ TRAJ_FLAGS_STD);
+
+ strat_set_acc(ACC_DIST, ACC_ANGLE);
+ strat_set_speed(250, SPEED_ANGLE_SLOW);
+
+#if 1
+ 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);
+ if (!TRAJ_SUCCESS(err)) {
+ strat_hardstop();
+ time_wait_ms(2000);
+ goto l1;
+ }
+
+ 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);
+ if (!TRAJ_SUCCESS(err)) {
+ strat_hardstop();
+ time_wait_ms(2000);
+ goto l2;
+ }
+
+#else
+/* strat_set_speed(600, SPEED_ANGLE_FAST); */
+/* err = line2line(0, LINE_UP, 3, LINE_R_DOWN); */
+/* err = line2line(3, LINE_R_DOWN, 2, LINE_R_UP); */
+/* err = line2line(2, LINE_R_UP, 2, LINE_R_DOWN); */
+/* err = line2line(2, LINE_R_DOWN, 3, LINE_R_UP); */
+/* err = line2line(3, LINE_R_UP, 5, LINE_UP); */
+/* err = line2line(5, LINE_UP, 2, LINE_L_DOWN); */
+/* err = line2line(2, LINE_L_DOWN, 1, LINE_L_UP); */
+/* err = line2line(1, LINE_L_UP, 1, LINE_L_DOWN); */
+/* err = line2line(1, LINE_L_DOWN, 0, LINE_DOWN); */
+
+ strat_set_speed(300, SPEED_ANGLE_FAST);
+ err = line2line(0, LINE_UP, 0, LINE_R_UP);
+ err = line2line(0, LINE_R_UP, 1, LINE_DOWN);
+ err = line2line(1, LINE_DOWN, 1, LINE_L_DOWN);
+ err = line2line(1, LINE_L_DOWN, 0, LINE_DOWN);
+ wait_ms(500);
+ strat_hardstop();
+ return END_TRAJ;
+#endif
+
+ strat_eject();
+
+ strat_set_speed(250, SPEED_ANGLE_FAST);
+
+#if 0
+ l4:
+ 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(5, LINE_DOWN, 2, LINE_L_UP);
+ if (!TRAJ_SUCCESS(err)) {
+ strat_hardstop();
+ time_wait_ms(2000);
+ goto l4;
+ }
+
+ l5:
+ 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_L_UP, 2, LINE_R_UP);
+ if (!TRAJ_SUCCESS(err)) {
+ strat_hardstop();
+ time_wait_ms(2000);
+ goto l5;
+ }
+
+ 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);
+#else
+ strat_harvest_circuit();
+#endif
+
+ WAIT_COND_OR_TRAJ_END(distance_from_robot(2625, COLOR_Y(1847)) < 100,
+ TRAJ_FLAGS_STD);
+ strat_eject();
+