void Notifier::loop() { STACKLOG; if (!advertised && Config::getServerMode() == SERVER_AUTO) { Logger::log(LOG_WARN, "using LAN mode, probably no internet users will " "be able to join your server!"); } else if (!advertised && Config::getServerMode() == SERVER_INET) { Logger::log(LOG_ERROR, "registration failed, exiting!"); return; } //heartbeat while (!exit) { // update some statistics (handy to use in here, as we have a minute-timer basically) Messaging::updateMinuteStats(); Sequencer::updateMinuteStats(); //Sequencer::printStats(); //every minute #ifndef _WIN32 sleep(60); #else Sleep(60*1000); #endif if(advertised && !exit) { bool result = sendHearbeat(); if (result) error_count=0; if(!result && Config::getServerMode() == SERVER_INET) { error_count++; if (error_count==5) { Logger::log(LOG_ERROR,"heartbeat failed, exiting!"); break; } else { Logger::log(LOG_WARN,"heartbeat failed, will try again"); } }else if(!result && Config::getServerMode() != SERVER_INET) Logger::log(LOG_ERROR,"heartbeat failed!"); } } unregisterServer(); }
void Test::test() { // sendHearbeat(false, MAV_STATE_STANDBY); // battery updateUI(); sendSystemStatus(100, 12.4); updateUI(); sendHomePosition( getRadians(59, 57, 11.44), // 59�'11.44"N getRadians(30, 18, 51.69), // 30�'51.69"E 0); updateUI(); sendCurrentPosition( getRadians(59, 57, 11.44), // 59�'11.44"N getRadians(30, 18, 51.69), // 30�'51.69"E 200); updateUI(); sendVfrHud( 10, // ground speed 10 m/s 180, // heading south (180 deg) 70, // 70% throttle 2); // climb rate 2 m/s down updateUI(); sendEkfStatusReport(0.9); updateUI(); // Base parameters sendParameter("WPNAV_SPEED", 500); sendParameter("WPNAV_SPEED_UP", 250); sendParameter("WPNAV_SPEED_DN", 150); sendParameter("RTL_ALT", 1500); sendParameter("RTL_ALT_FINAL", 0); sendParameter("LAND_SPEED", 50); sendParameter("BATT_CAPACITY", 5000); sendParameter("FS_BATT_MAH", 1000); sendParameter("FS_BATT_VOLTAGE", 13); updateUI(); //sendHearbeat(true); /* sendCurrentPosition( getRadians(59, 57, 37.56), // 59�'37.56"N getRadians(30, 18, 47.24), // 30�'47.24"E 10); */ // sendHearbeat(true, MAV_STATE_CRITICAL); sendStatusText(MAV_SEVERITY_CRITICAL, "Some very very very long status text."); updateUI(); sendStatusText(MAV_SEVERITY_CRITICAL, "TEST"); updateUI(); sendChannels(1100, 1500); updateUI(); sendHearbeat(true, MAV_STATE_ACTIVE); }