/** * MAIN */ int main(void) { timer sensor_time = timer_msec; sei(); /* global interrupt enable */ /* start timing function */ timer0_init_1khz(); lcd_init(LCD_DISP_ON); CANMSG("CAN senzor"); init_fsm(&fsm_sensor,&fsm_sensor_init); while(1) { if (timer_msec >= (sensor_time + 100)) { sensor_time = timer_msec; debug(1,timer_msec); /* run fsm every x ms*/ run_fsm(&fsm_sensor); } /* if new msg recived, configure sensor according to new parameters */ if (rx_msg.status == NEW) { rx_msg.status = NONE; sensor_config(&rx_msg,&fsm_sensor); } } return 0; }
int main(void) { FSM* fsm = init_fsm(); int value0[] = {0}; int value1[] = {1}; printf("(%d,%d),",fsm->currentState,fsm_transition(fsm,value0)); printf("(%d,%d),",fsm->currentState,fsm_transition(fsm,value1)); printf("(%d,%d),",fsm->currentState,fsm_transition(fsm,value1)); printf("(%d,%d),",fsm->currentState,fsm_transition(fsm,value0)); printf("(%d,%d),",fsm->currentState,fsm_transition(fsm,value0)); printf("(%d,%d),",fsm->currentState,fsm_transition(fsm,value0)); printf("(%d,%d),",fsm->currentState,fsm_transition(fsm,value1)); printf("(%d,%d),",fsm->currentState,fsm_transition(fsm,value1)); printf("(%d,%d),",fsm->currentState,fsm_transition(fsm,value0)); free_fsm(fsm); return 0; }