X-Git-Url: http://git.droids-corp.org/?p=aversive.git;a=blobdiff_plain;f=projects%2Fmicrob2010%2Fmainboard%2Fmain.c;h=90e9ff1e6e7782bda0e41cee99c91f8d4a40149a;hp=14a2aad68ef5b18d140a0fb932e27dc6070c952a;hb=96748eb468a27a784f148c89db593372357d9e2d;hpb=4e7801883ed4076cb14b63a0571467747894c0f8 diff --git a/projects/microb2010/mainboard/main.c b/projects/microb2010/mainboard/main.c index 14a2aad..90e9ff1 100755 --- a/projects/microb2010/mainboard/main.c +++ b/projects/microb2010/mainboard/main.c @@ -185,6 +185,8 @@ int main(void) memset(&mainboard, 0, sizeof(mainboard)); mainboard.flags = DO_ENCODERS | DO_CS | DO_RS | DO_POS | DO_POWER | DO_BD | DO_ERRBLOCKING; + ballboard.lcob = I2C_COB_NONE; + ballboard.rcob = I2C_COB_NONE; /* UART */ uart_init(); @@ -196,13 +198,17 @@ int main(void) fdevopen(uart1_dev_send, uart1_dev_recv); #endif - //eeprom_write_byte(EEPROM_MAGIC_ADDRESS, EEPROM_MAGIC_MAINBOARD); /* check eeprom to avoid to run the bad program */ if (eeprom_read_byte(EEPROM_MAGIC_ADDRESS) != EEPROM_MAGIC_MAINBOARD) { + 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_MAINBOARD); + wait_ms(100); + bootloader(); } #endif /* ! HOST_VERSION */