fix display and support beacon in robotsim
[aversive.git] / projects / microb2010 / mainboard / main.c
index b6a12c8..d7ac3d4 100755 (executable)
 #include "cs.h"
 #include "strat_base.h"
 #include "strat_db.h"
+#include "strat_avoid.h"
 #include "i2c_protocol.h"
+#include "beacon.h"
+
 
 /* 0 means "programmed"
  * ---- with 16 Mhz quartz
@@ -86,6 +89,7 @@ struct genboard gen;
 struct mainboard mainboard;
 volatile struct cobboard cobboard;
 volatile struct ballboard ballboard;
+volatile struct beaconboard beaconboard;
 
 #ifndef HOST_VERSION
 /***********************/
@@ -188,6 +192,8 @@ int main(void)
        ballboard.lcob = I2C_COB_NONE;
        ballboard.rcob = I2C_COB_NONE;
 
+       beaconboard.oppx = I2C_OPPONENT_NOT_THERE;
+
        /* UART */
        uart_init();
        uart_register_rx_event(CMDLINE_UART, emergency);
@@ -284,10 +290,13 @@ int main(void)
        /* TIME */
        time_init(TIME_PRIO);
 
-#ifndef HOST_VERSION
        /* sensors, will also init hardware adc */
        sensor_init();
 
+       /* beacon */
+       beacon_init();
+
+#ifndef HOST_VERSION
        /* start i2c slave polling */
        scheduler_add_periodical_event_priority(i2c_poll_slaves, NULL,
                                                8000L / SCHEDULER_UNIT, I2C_POLL_PRIO);
@@ -296,7 +305,6 @@ int main(void)
        /* strat */
        gen.logs[0] = E_USER_STRAT;
        gen.log_level = 5;
-       strat_db_init();
 
        /* strat-related event */
        scheduler_add_periodical_event_priority(strat_event, NULL,
@@ -312,6 +320,9 @@ int main(void)
 
        sei();
 
+       strat_db_init();
+       test_strat_avoid();
+
        printf_P(PSTR("\r\n"));
        printf_P(PSTR("Respect et robustesse.\r\n"));
 #ifndef HOST_VERSION