void doTest(void) { rtems_status_code sc; int pass, i; sc = rtems_semaphore_create( rtems_build_name('S', 'E', 'M', 'F'), 0, TEST_SEMAPHORE_ATTRIBUTES, 0, &semaphore); directive_failed( sc, "semaphore create" ); for (i = 0 ; i < NTASK ; i++) flags[i] = 0; for (i = 0 ; i < NTASK ; i++) starttask(i); for (pass = 1 ; pass < 10 ; pass++) { rtems_task_wake_after(1); for (i = 0 ; i < NTASK ; i++) { if (flags[i] != pass) printf("flags[%d] = %d -- expected %d\n", i, flags[i], pass); } sc = rtems_semaphore_flush(semaphore); directive_failed( sc, "semaphore flush" ); } printf("Flushed all waiting tasks\n" ); }
void Scoremiddlegoal() { waitForButton(); starttask(CollectD); { drive_Enc(63,7,4); } stopdrivemotors(); StopTask(CollectD); StartTask(medgoal); { stopTime(1.75);//wait for arm drive_Enc(63,8,5);//drive foward } StopTask(medgoal); spit(0.75); drive_Enc(-63,4,2); spit(0.75); StartTask(armDown); { drive_Enc(-63,15,5); } StopTask(armDown); waitForButton(); StartTask(CollectD); { drive_Enc(70,15,5); } StopTask(CollectD); }
static pid_t setup_dev (vfsmsg_t *msg) { pid_t pid; pid = createtask(TASK_PRIO_HIGH, PAGE_INVALID); allocatestack(pid, DEFAULT_STACK_SIZE); setuptask(pid, msg->mkdev.ask.driver, msg->mkdev.ask.args, NULL); starttask(pid); return pid; }
rtems_task Init (rtems_task_argument ignored) { puts("*** START OF TEST 28 ***" ); test_errors(); test_multiple_taskvars(); test_delete_as_side_effect(); test_delete_from_other_task(); starttask (1); starttask (2); starttask (3); test_out_of_memory(); rtems_task_suspend (RTEMS_SELF); }
task main() { initializeRobot(); initialize_gyro(); starttask(process_gyro); while(true) { nxtDisplayCenteredTextLine(3, "A gyro=%d", gyro.total/1000.0); } //move(1, 22.5); //wait10Msec(500); //move(-1,22.5); //move forward, turn 45 degrees, move forward //move(1, 24); //wait10Msec(50); //move(1, 0); //turngyro_left(45.0, 50); //move(1, 33.941); }