Ett hjärtslag som en Health Check (2 / 3 steg)
Steg 2: Program
Vi har lagt till följande kod till båda våra autonoma och teleop program. Det helt enkelt verifierar att den sista controller (och sedan som standard alla de innan det) tar emot kommandon från en icke-frysta NXT tegelsten och kunna flytta servo följaktligen visar att I2C fungerar.Den första biten "taskLookAlive" är bara en uppgift förklaring. Det kan placeras var som helst i dina program, så länge du har en uppgift prototyp om det är efter "taskMain." Jag borde klargöra "RINGUNLOCKED" och "RINGLOCKED" är preprocessor makron som är bara siffror för servo positioner.
uppgift taskLookAlive()
{
for(;;)
{
servo [servoRingLock] = RINGUNLOCKED + 10.
wait1Msec(1000);
servo [servoRingLock] = RINGUNLOCKED;
wait1Msec(1000);
}
}
Denna bit av programmet är vad går runt FTC kommandot "waitForStart()" det sista din robot kommer att göra innan du vet det är redo för rundan kommer att starta denna uppgift, och flytta servo. Det första som kommer att hända efter rundan startar är att din servo stannar flyttar och sedan kunna användas som den regelbundet.
StartTask(taskLookAlive);
waitForStart(); / * vänta på början av tele-op fas * /
StopTask(taskLookAlive);