#include "actuator.h"
#include "cs.h"
#include "strat_base.h"
+#include "strat_db.h"
#include "i2c_protocol.h"
/* 0 means "programmed"
struct genboard gen;
struct mainboard mainboard;
-struct cobboard cobboard;
-struct ballboard ballboard;
+volatile struct cobboard cobboard;
+volatile struct ballboard ballboard;
#ifndef HOST_VERSION
/***********************/
void do_led_blink(void *dummy)
{
-#if 1 /* simple blink */
- LED1_TOGGLE();
-#endif
+ static uint8_t a = 0;
+
+ if (mainboard.flags & DO_ERRBLOCKING) {
+ if (a & 1)
+ LED1_ON();
+ else
+ LED1_OFF();
+ }
+ else {
+ if (a & 4)
+ LED1_ON();
+ else
+ LED1_OFF();
+ }
+ a++;
}
static void main_timer_interrupt(void)
memset(&gen, 0, sizeof(gen));
memset(&mainboard, 0, sizeof(mainboard));
mainboard.flags = DO_ENCODERS | DO_CS | DO_RS |
- DO_POS | DO_POWER | DO_BD;
+ DO_POS | DO_POWER | DO_BD | DO_ERRBLOCKING;
/* UART */
uart_init();
/* all cs management */
microb_cs_init();
+ /* TIME */
+ time_init(TIME_PRIO);
+
#ifndef HOST_VERSION
/* sensors, will also init hardware adc */
sensor_init();
- /* TIME */
- time_init(TIME_PRIO);
-
/* start i2c slave polling */
scheduler_add_periodical_event_priority(i2c_poll_slaves, NULL,
8000L / SCHEDULER_UNIT, I2C_POLL_PRIO);
/* strat */
gen.logs[0] = E_USER_STRAT;
gen.log_level = 5;
- strat_reset_infos();
+ strat_db_init();
/* strat-related event */
scheduler_add_periodical_event_priority(strat_event, NULL,
- 25000L / SCHEDULER_UNIT,
+ 10000L / SCHEDULER_UNIT,
STRAT_PRIO);
#ifndef HOST_VERSION