X-Git-Url: http://git.droids-corp.org/?p=aversive.git;a=blobdiff_plain;f=projects%2Fmicrob2010%2Fballboard%2Fmain.c;h=925109ff072a4bec687030616327958f5e6b8e03;hp=ed8716bac27493480471eb8cacad4a07674d85b9;hb=aa68be2d5d596693bda1109e4ccd6489f613b4f7;hpb=6914527de2ecfef9d790740c71739e7418246b96 diff --git a/projects/microb2010/ballboard/main.c b/projects/microb2010/ballboard/main.c index ed8716b..925109f 100755 --- a/projects/microb2010/ballboard/main.c +++ b/projects/microb2010/ballboard/main.c @@ -58,6 +58,7 @@ #include "actuator.h" #include "cs.h" #include "i2c_protocol.h" +#include "state.h" /* 0 means "programmed" * ---- with 16 Mhz quartz @@ -169,13 +170,17 @@ int main(void) # error not supported #endif - //eeprom_write_byte(EEPROM_MAGIC_ADDRESS, EEPROM_MAGIC_BALLBOARD); /* check eeprom to avoid to run the bad program */ if (eeprom_read_byte(EEPROM_MAGIC_ADDRESS) != EEPROM_MAGIC_BALLBOARD) { + int c; sei(); - printf_P(PSTR("Bad eeprom value\r\n")); - while(1); + printf_P(PSTR("Bad eeprom value ('f' to force)\r\n")); + c = uart_recv(CMDLINE_UART); + if (c == 'f') + eeprom_write_byte(EEPROM_MAGIC_ADDRESS, EEPROM_MAGIC_BALLBOARD); + wait_ms(100); + bootloader(); } /* LOGS */ @@ -252,6 +257,8 @@ int main(void) printf_P(PSTR("\r\n")); printf_P(PSTR("Dass das Gluck deinen Haus setzt.\r\n")); + + state_machine(); cmdline_interact(); return 0;