vt100: include pgmspace.h as we use PROGMEM macro
[aversive.git] / projects / microb2010 / mainboard / strat.h
index daf607c..ea2a6ec 100644 (file)
 #define TRAJ_FLAGS_SMALL_DIST (END_TRAJ|END_BLOCKING|END_INTR)
 
 /* default acc */
-#define ACC_DIST  15.
-#define ACC_ANGLE 15.
+#define ACC_DIST  12.
+#define ACC_ANGLE 16.
 
 /* default speeds */
-#define SPEED_DIST_FAST 2500.
-#define SPEED_ANGLE_FAST 2000.
-#define SPEED_DIST_SLOW 1000.
-#define SPEED_ANGLE_SLOW 1000.
-#define SPEED_DIST_VERY_SLOW 400.
-#define SPEED_ANGLE_VERY_SLOW 400.
+#define SPEED_DIST_FAST 1200.
+#define SPEED_ANGLE_FAST 800.
+#define SPEED_DIST_SLOW 500.
+#define SPEED_ANGLE_SLOW 500.
+#define SPEED_DIST_VERY_SLOW 200.
+#define SPEED_ANGLE_VERY_SLOW 200.
+
+#define SPEED_CLITOID_SLOW 250.
+#define SPEED_CLITOID_FAST 500.
+
 
 /* strat infos structures */
 struct strat_conf {
        uint8_t dump_enabled;
 
-#define STRAT_CONF_XXX   0x01
+       uint8_t opp_orange;
+       uint8_t orphan_tomato;
+
+       int8_t prev_wait_obstacle;
+
+#define STRAT_CONF_OUR_ORANGE      0x01
+#define STRAT_CONF_WAIT_OBSTACLE   0x02
+#define STRAT_CONF_STRAIGHT_BEGIN  0x04
        uint8_t flags;
 };
 
 extern struct strat_conf strat_conf;
+extern volatile uint8_t strat_lpack60;
+extern volatile uint8_t strat_rpack60;
+extern volatile uint8_t strat_want_pack;
 
 /* in strat.c */
 void strat_conf_dump(const char *caller);
@@ -164,5 +178,8 @@ uint8_t strat_main(void);
 void strat_event(void *dummy);
 void strat_event_enable(void);
 void strat_event_disable(void);
+uint8_t prepare_hill(uint8_t orange_color, int16_t posx);
+uint8_t run_to_the_hills(uint8_t orange_color);
+uint8_t get_orphan_tomatoes(void);
 
 #endif