Paso 2: programa
agregamos el siguiente código a nuestros autónomos y programas de teleop. Simplemente comprueba que el último controlador (y luego por default todos los antes de él) está recibiendo nuevos comandos de un ladrillo NXT no congeladas y es capaz de mover el servo, por consiguiente, mostrando que funciona I2C.El primer bit "taskLookAlive" es sólo una tarea. Se puede poner en cualquier lugar en sus programas, como tienes un prototipo de tarea si es después de "taskMain". Debo aclarar "RINGUNLOCKED" y "RINGLOCKED" es las macros de preprocesador que son sólo números para posiciones de servo.
tarea taskLookAlive()
{
for(;;)
{
servo [servoRingLock] = RINGUNLOCKED + 10;
wait1Msec(1000);
servo [servoRingLock] = RINGUNLOCKED;
wait1Msec(1000);
}
}
Este poco de programa es lo que sucede alrededor de la FTC comando "waitForStart()" lo último que tu robot va a hacer antes de saber que está listo para la ronda será para comenzar esta tarea y mover el servo. Lo primero que va a ocurrir después de la ronda se inicia es que el servo se detiene y entonces ser capaz de utilizar como lo haría regularmente.
StartTask(taskLookAlive);
waitForStart(); / * esperar inicio de fase de tele-op * /
StopTask(taskLookAlive);