Lines Matching full:threshold

170     /** @brief The critical threshold interface object */
171 std::unique_ptr<Threshold<CriticalObject>> criticalIface;
172 /** @brief The warning threshold interface object */
173 std::unique_ptr<Threshold<WarningObject>> warningIface;
174 /** @brief The soft shutdown threshold interface object */
175 std::unique_ptr<Threshold<SoftShutdownObject>> softShutdownIface;
176 /** @brief The hard shutdown threshold interface object */
177 std::unique_ptr<Threshold<HardShutdownObject>> hardShutdownIface;
178 /** @brief The performance loss threshold interface object */
179 std::unique_ptr<Threshold<PerformanceLossObject>> perfLossIface;
205 /** @brief create threshold objects from json config */
206 void createThresholds(const Json& threshold, const std::string& objPath,
213 /** @brief Check Sensor threshold and update alarm and log. Returns
214 * true if the threshold range has no alarms set. change will be
218 bool checkThresholds(V value, T& threshold, bool& change) in checkThresholds() argument
220 if (!threshold) in checkThresholds()
225 auto alarmHigh = threshold->alarmHigh(); in checkThresholds()
226 auto highHysteresis = threshold->getHighHysteresis(); in checkThresholds()
227 if ((!alarmHigh && value >= threshold->high()) || in checkThresholds()
228 (alarmHigh && value < (threshold->high() - highHysteresis))) in checkThresholds()
233 error("ASSERT: sensor {SENSOR} is above the upper threshold " in checkThresholds()
234 "{THRESHOLD}.", in checkThresholds()
235 "SENSOR", name, "THRESHOLD", tname); in checkThresholds()
236 threshold->alarmHighSignalAsserted(value); in checkThresholds()
240 info("DEASSERT: sensor {SENSOR} is under the upper threshold " in checkThresholds()
241 "{THRESHOLD}.", in checkThresholds()
242 "SENSOR", name, "THRESHOLD", tname); in checkThresholds()
243 threshold->alarmHighSignalDeasserted(value); in checkThresholds()
246 threshold->alarmHigh(alarmHigh); in checkThresholds()
249 auto alarmLow = threshold->alarmLow(); in checkThresholds()
250 auto lowHysteresis = threshold->getLowHysteresis(); in checkThresholds()
251 if ((!alarmLow && value <= threshold->low()) || in checkThresholds()
252 (alarmLow && value > (threshold->low() + lowHysteresis))) in checkThresholds()
257 error("ASSERT: sensor {SENSOR} is below the lower threshold " in checkThresholds()
258 "{THRESHOLD}.", in checkThresholds()
259 "SENSOR", name, "THRESHOLD", tname); in checkThresholds()
260 threshold->alarmLowSignalAsserted(value); in checkThresholds()
264 info("DEASSERT: sensor {SENSOR} is above the lower threshold " in checkThresholds()
265 "{THRESHOLD}.", in checkThresholds()
266 "SENSOR", name, "THRESHOLD", tname); in checkThresholds()
267 threshold->alarmLowSignalDeasserted(value); in checkThresholds()
270 threshold->alarmLow(alarmLow); in checkThresholds()