void Task_P2() { Event_Signal(evt); for(;;){ } }
void Task_P1() { Event_Signal(evt); Task_Sleep(100); for(;;){ } }
void Pong() { for(;;){ PORTA|=(1<<PA1); PORTA&=~(1<<PA1); Task_Sleep(100); Event_Signal(e); Task_Yield(); } }
/** * Add a number to the trace array and increment the trace counter * * @param number unisigned integer to add */ void add_to_trace(uint16_t number) { if (trace_counter < TRACE_ARRAY_SIZE) { trace_array[trace_counter] = number; trace_counter++; } else { Event_Signal(print_event); } }
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 Task_P2(){ PORTB = 0x20; _delay_ms(10); PORTB = 0x00; Task_Sleep(20); // sleep 2000ms PORTB = 0x20; _delay_ms(10); PORTB = 0x00; Event_Signal(evt); for(;;); }
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(); } }
void Task_1() { //4. Signal to Task_2 waiting on blink_increment Event_Signal(blink_increment); //8. Run and increment the blinks int i; for(i = 0; i<blinks; i++) { PORTB = 0x20; _delay_ms(500); PORTB = 0x00; _delay_ms(500); } blinks++; //9. Create Task_2 Task_Create(Task_2, 0, 0); //10. Terminate the task, restarting the loop at Task_2 Task_Terminate(); }
void Task_P2(int parameter) { Task_Sleep(20); // sleep 200ms Event_Signal(evt); for(;;); }