/** * Called with new measurements. The quality is a measure for how * good the measurement is. Higher quality measurements are more * important in the end result and stay in the store longer. */ void WindStore::slot_Measurement( const Vector& windVector, int quality ) { m_windlist.addMeasurement( windVector, calculator->getlastAltitude(), quality ); // we may have a new wind value, so make sure it's emitted if needed! recalculateWind(); }
/** * Called with new measurements. The quality is a measure for how * good the measurement is. Higher quality measurements are more * important in the end result and stay in the store longer. */ void WindStore::slot_measurement(const NMEA_INFO *nmeaInfo, DERIVED_INFO *derivedInfo, Vector windvector, int quality) { updated = true; windlist->addMeasurement(nmeaInfo->Time, windvector, nmeaInfo->Altitude, quality); //we may have a new wind value, so make sure it's emitted if needed! recalculateWind(nmeaInfo, derivedInfo); }
void WindStore::SlotAltitude(const MoreData &info, DerivedInfo &derived) { if ((fabs(info.nav_altitude - _lastAltitude) > fixed(100)) || updated) { //only recalculate if there is a significant change recalculateWind(info, derived); updated = false; _lastAltitude = info.nav_altitude; } }
void WindStore::slot_Altitude(const NMEA_INFO *nmeaInfo, DERIVED_INFO *derivedInfo) { if ((fabs(nmeaInfo->Altitude-_lastAltitude)>100.0)||(updated)) { //only recalculate if there is a significant change recalculateWind(nmeaInfo, derivedInfo); updated = false; _lastAltitude=nmeaInfo->Altitude; } }
/** * Called if the altitude changes. Can recalculate the wind and may result * in a newWind signal. */ void WindStore::slot_Altitude( const Altitude& altitude ) { if( calculator->currentFlightMode() != Calculator::circlingL && calculator->currentFlightMode() != Calculator::circlingR && fabs( (altitude - m_lastAltitude).getMeters() ) >= 200.0 ) { // Only recalculate wind, if we are not circling and there is a // significant altitude change. During circling newer wind is always // calculated and distributed. recalculateWind(); m_lastAltitude = altitude; } }