void DeviceBlackboard::SetQNH(fixed qnh) { ScopeLock protect(mutexBlackboard); AllDevicesPutQNH(AtmosphericPressure(qnh), Calculated()); }
static bool QNHProcessTimer() { bool modified = false; ComputerSettings &settings_computer = CommonInterface::SetComputerSettings(); const NMEAInfo &basic = CommonInterface::Basic(); const DerivedInfo &calculated = CommonInterface::Calculated(); if (basic.settings.qnh_available.Modified(settings_computer.pressure_available)) { settings_computer.pressure = basic.settings.qnh; settings_computer.pressure_available = basic.settings.qnh_available; modified = true; } if (calculated.pressure_available.Modified(settings_computer.pressure_available)) { settings_computer.pressure = calculated.pressure; settings_computer.pressure_available = calculated.pressure_available; MessageOperationEnvironment env; AllDevicesPutQNH(settings_computer.pressure, env); modified = true; } return modified; }
/** * Collect QNH updates from external devices and AutoQNH. */ static void QNHProcessTimer() { ComputerSettings &settings_computer = CommonInterface::SetComputerSettings(); const NMEAInfo &basic = CommonInterface::Basic(); const DerivedInfo &calculated = CommonInterface::Calculated(); if (basic.settings.qnh_available.Modified(settings_computer.pressure_available)) { settings_computer.pressure = basic.settings.qnh; settings_computer.pressure_available = basic.settings.qnh_available; } if (calculated.pressure_available.Modified(settings_computer.pressure_available)) { settings_computer.pressure = calculated.pressure; settings_computer.pressure_available = calculated.pressure_available; AllDevicesPutQNH(settings_computer.pressure); } }
void DeviceBlackboard::SetQNH(AtmosphericPressure qnh, OperationEnvironment &env) { AllDevicesPutQNH(qnh, env); }
void DeviceBlackboard::SetQNH(fixed qnh) { AllDevicesPutQNH(AtmosphericPressure(qnh)); }