Stap 8: Software: SBC kant
Al de code op de SBC doet is neem de informatie van de computer en de snelheid van de motoren op het passende niveau ingesteld. Communicatie tussen de SBC en de PC wordt gedaan met behulp van het Woordenboek van de Phidget. Grootste deel van de code op de tank is alleen het verzorgen van openen en de registratie van handlers voor alle verschillende apparaten worden gebruikt. De belangrijke bits zijn de hoofdlus:
while(1) { usleep(100000); //100 ms gotSet++; //We haven't had a set in > 500ms!! Stop motors if(gotSet >= 5) { CPhidgetMotorControl_setVelocity(motoControl[0], 0, 0); CPhidgetMotorControl_setVelocity(motoControl[1], 0, 0); CPhidgetMotorControl_setVelocity(motoControl[2], 0, 0); CPhidgetMotorControl_setVelocity(motoControl[3], 0, 0); } }
Hier willen we ervoor zorgen dat we hebben enkele manier van stoppen van de motoren als we blijkbaar verbinding met de controller wordt verbroken. En het woordenboek-handler, die luistert naar de nieuwe posten en grijpt de nieuwe waarden als ze komen.
Downloaden
U kunt de volledige code hier downloaden: robot.c