Stap 2: programma
We hebben de volgende code naar zowel onze autonome en teleop programma's toegevoegd. Het gewoon controleert de laatste domeincontroller (en dan standaard al degenen die vóór het) nieuwe commando's ontvangt van een niet-bevroren NXT baksteen en vermag bewegen van de servo dienovereenkomstig, waaruit blijkt dat de I2C functioneert.Het eerste stukje "taskLookAlive" is gewoon een verklaring van de taak. Worden kan gesteld overal in uw programma's, zo lang als u een taak prototype als het na "taskMain." Ik moet verduidelijken dat "RINGUNLOCKED" en "RINGLOCKED" zijn preprocessor macro's die alleen maar cijfers voor servo posities zijn.
taak taskLookAlive()
{
for(;;)
{
Servo [servoRingLock] = RINGUNLOCKED + 10;
wait1Msec(1000);
Servo [servoRingLock] = RINGUNLOCKED;
wait1Msec(1000);
}
}
Dit stukje programma is wat rond de FTC opdracht "waitForStart()" het laatste wat dat je robot doen zal voordat je het weet is het klaar voor de ronde zullen om te beginnen met deze taak, en het verplaatsen van de servo gaat. Het eerste ding dat zal gebeuren nadat de ronde start is dat uw servo zal stoppen met bewegen en vervolgens kunnen worden gebruikt als het regelmatig zou worden.
StartTask(taskLookAlive);
waitForStart(); / * start van tele-op fase wacht * /
StopTask(taskLookAlive);