X-Git-Url: http://git.droids-corp.org/?p=aversive.git;a=blobdiff_plain;f=projects%2Fmicrob2010%2Fcobboard%2Fmain.c;h=7a3d2408b7f4f8fe8a06d0dcd8913ab7720968f6;hp=62103c813fa2faefaff7534219b5883a411f07db;hb=4e7801883ed4076cb14b63a0571467747894c0f8;hpb=0c4732c1e255ea56aa766b772dfdb6be49620830 diff --git a/projects/microb2010/cobboard/main.c b/projects/microb2010/cobboard/main.c index 62103c8..7a3d240 100755 --- a/projects/microb2010/cobboard/main.c +++ b/projects/microb2010/cobboard/main.c @@ -115,16 +115,21 @@ void bootloader(void) void do_led_blink(__attribute__((unused)) void *dummy) { -#if 1 /* simple blink */ - static uint8_t a=0; + static uint8_t a = 0; - if(a) - LED1_ON(); - else - LED1_OFF(); - - a = !a; -#endif + if (cobboard.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) @@ -153,7 +158,8 @@ int main(void) memset(&gen, 0, sizeof(gen)); memset(&cobboard, 0, sizeof(cobboard)); /* cs is enabled after arm_calibrate() */ - cobboard.flags = DO_ENCODERS | DO_POWER; // DO_BD + cobboard.flags = DO_ENCODERS | DO_POWER | DO_BD | + DO_ERRBLOCKING; /* UART */ uart_init(); @@ -167,7 +173,7 @@ int main(void) # error not supported #endif - //eeprom_write_byte(EEPROM_MAGIC_ADDRESS, EEPROM_MAGIC_COBBOARD); + eeprom_write_byte(EEPROM_MAGIC_ADDRESS, EEPROM_MAGIC_COBBOARD); /* check eeprom to avoid to run the bad program */ if (eeprom_read_byte(EEPROM_MAGIC_ADDRESS) != EEPROM_MAGIC_COBBOARD) { @@ -183,8 +189,6 @@ int main(void) error_register_notice(mylog); error_register_debug(mylog); - wait_ms(3000); - /* SPI + ENCODERS */ encoders_spi_init(); /* this will also init spi hardware */ @@ -203,10 +207,10 @@ int main(void) PWM_NG_TIMER_16BITS_INIT(4, TIMER_16_MODE_PWM_10, TIMER4_PRESCALER_DIV_1); - PWM_NG_INIT16(&gen.pwm1_4A, 4, A, 10, PWM_NG_MODE_SIGNED | - PWM_NG_MODE_SIGN_INVERTED, &PORTD, 4); - PWM_NG_INIT16(&gen.pwm2_4B, 4, B, 10, PWM_NG_MODE_SIGNED, - &PORTD, 5); + PWM_NG_INIT16(&gen.pwm1_4A, 4, A, 10, PWM_NG_MODE_SIGNED, + &PORTD, 4); + PWM_NG_INIT16(&gen.pwm2_4B, 4, B, 10, PWM_NG_MODE_SIGNED | + PWM_NG_MODE_SIGN_INVERTED, &PORTD, 5); PWM_NG_INIT16(&gen.pwm3_1A, 1, A, 10, PWM_NG_MODE_SIGNED, &PORTD, 6); PWM_NG_INIT16(&gen.pwm4_1B, 1, B, 10, PWM_NG_MODE_SIGNED | @@ -248,13 +252,15 @@ int main(void) sei(); - /* actuators */ - actuator_init(); + printf_P(PSTR("cobboard start\r\n")); /* spickle, shovel */ spickle_init(); shovel_init(); + /* actuators */ + actuator_init(); + state_init(); printf_P(PSTR("\r\n")); @@ -265,6 +271,9 @@ int main(void) gen.log_level = 5; cobboard.flags |= DO_CS; + spickle_pack(I2C_LEFT_SIDE); + spickle_pack(I2C_RIGHT_SIDE); + state_machine(); cmdline_interact();