Beispiel #1
0
/**
 * 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;
}
Beispiel #2
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;
}