void fire_sonar(void) { for(;;){ trigger_sonar(FRONT); Task_Next(); trigger_sonar(RIGHT); Task_Next(); trigger_sonar(LEFT); Task_Next(); } }
void listen_sonar(void) { for(;;) { s_forward= read_distance(); Task_Next(); s_right = read_distance(); Task_Next(); s_left = read_distance(); Task_Next(); } }
void sonarTask(void) { while (true) { sonarMeasureDistance(); Task_Next(); } }
void task2(void) { for (;;) { digitalWrite(ONBOARD_LED, LOW); Serial.println("off"); servoSet(900); Task_Next(); } }
void task1(void) { for (;;) { digitalWrite(ONBOARD_LED, HIGH); Serial.println("on"); analogWrite(9, 100); Task_Next(); } }
void blinkLEDs(void) { for (;;) { _delay_ms(500); PORTB = ~PORTB; Task_Next(); } }
void sendRadio(void){ for(;;){ sendMovements(r_duty,l_duty,r_dir,r_duty); reportToBase(r_speed,l_speed, s_forward, s_right, s_left); send ++; if(send == 3) Event_Signal(stop); Task_Next(); } }
void generic_task(void) { int arg = 0; arg = Task_GetArg(); for(;;) { add_to_trace(arg); Task_Next(); } }
/** * \param s an Service descriptor * \param v pointer to memory where the received value will be written * * The calling task waits for the next published value associated with service "s". * More than one task may wait for a service. When a new value "v" is published to * "s", all waiting tasks resume and obtain the same value. */ void Service_Subscribe( SERVICE *s, int16_t *v ) { if(cur_task->level != PERIODIC) { enqueue(&s->list_of_tasks_who_are_subscribed, cur_task); cur_task->state = WAITING; Task_Next(); cur_task->state = RUNNING; *v = s->data; } else { error_msg = ERR_RUN_7_PERIODIC_ATTEMPTED_SUBSCRIBE; OS_Abort(); } }
void controlTask(void) { while (true) { if (ctrlDivider == 0) { control(); } ctrlDivider++; if (ctrlDivider >= 4) { ctrlDivider = 0; } Task_Next(); } }
void actuateTask(void) { while (true) { if (actuateDivider == 0) { actuate(); } actuateDivider++; if (actuateDivider >= 4) { actuateDivider = 0; } Task_Next(); } }
void generic_task(void) { int arg = 0; arg = Task_GetArg(); for(;;) { add_to_trace(arg); if(trace_counter >= TRACE_ARRAY_SIZE) { Event_Signal(print_event); } Task_Next(); } }