void loop() { dataProvider->resetParse(); while (!WalkeraSerial->available()); // Wait until Data comes in while (WalkeraSerial->available() > 0) { byte c = WalkeraSerial->read(); dataProvider->parseMessage(c); } dataProvider->finishParse(); processData(); updateHeartbeat(); }
void LightsController::loop(uint32_t now) { if (setuped) { if (lightsTimer.isDue_ms(LED_UPDATE_RATE, now)) { if (startup) { for (int i = 0;i<16;i++) { sn3218.set(i,0); } startup = false; } updateHeartbeat(); updateBrokenLight(); updateActuator(); sn3218.update(); } } }
void loop() { #ifdef MAVLINKTELEMETRY if( dataProvider->enable_mav_request || (millis() - dataProvider->lastMAVBeat > 5000) ) { if(millis() - rateRequestTimer > 2000) { for(int n = 0; n < 3; n++) { #ifdef DEBUG debugSerial->println("Making rate request."); #endif dataProvider->makeRateRequest(); delay(50); } dataProvider->enable_mav_request = 0; dataProvider->waitingMAVBeats = 0; rateRequestTimer = millis(); } } #endif while (mavlinkSerial->available() > 0) { if (queue.count() < 128) { char c = mavlinkSerial->read(); queue.enqueue(c); } else { #ifdef DEBUG debugSerial->println("QUEUE IS FULL!"); #endif } } processData(); updateHeartbeat(); sendWalkeraData(); }
void Device::update() { updateHeartbeat(); updateFault(); updateState(); }