blob: b936f8a187ebe240104ba297ffd9635afc89e4f1 [file] [log] [blame]
Tony Lee6c595012019-06-19 10:54:59 +08001#include "nvmes.hpp"
2
Brandon Kimd5838d12021-05-19 12:51:55 -07003#include <xyz/openbmc_project/Sensor/Threshold/Critical/server.hpp>
4#include <xyz/openbmc_project/Sensor/Threshold/Warning/server.hpp>
5#include <xyz/openbmc_project/Sensor/Value/server.hpp>
6
Tony Lee6c595012019-06-19 10:54:59 +08007namespace phosphor
8{
9namespace nvme
10{
11
12void NvmeSSD::checkSensorThreshold()
13{
14 int8_t value = ValueIface::value();
15 int8_t criticalHigh = CriticalInterface::criticalHigh();
16 int8_t criticalLow = CriticalInterface::criticalLow();
17 int8_t warningHigh = WarningInterface::warningHigh();
18 int8_t warningLow = WarningInterface::warningLow();
19
20 CriticalInterface::criticalAlarmHigh(value > criticalHigh);
21
22 CriticalInterface::criticalAlarmLow(value < criticalLow);
23
24 WarningInterface::warningAlarmHigh(value > warningHigh);
25
26 WarningInterface::warningAlarmLow(value < warningLow);
27}
28
29void NvmeSSD::setSensorThreshold(int8_t criticalHigh, int8_t criticalLow,
Tony Lee6c595012019-06-19 10:54:59 +080030 int8_t warningHigh, int8_t warningLow)
31{
Tony Lee6c595012019-06-19 10:54:59 +080032 CriticalInterface::criticalHigh(criticalHigh);
33 CriticalInterface::criticalLow(criticalLow);
34
35 WarningInterface::warningHigh(warningHigh);
36 WarningInterface::warningLow(warningLow);
George Hung831f2042021-05-19 17:02:29 +080037}
Tony Lee6c595012019-06-19 10:54:59 +080038
George Hung831f2042021-05-19 17:02:29 +080039void NvmeSSD::setSensorMaxMin(int8_t maxValue, int8_t minValue)
40{
Tony Lee6c595012019-06-19 10:54:59 +080041 ValueIface::maxValue(maxValue);
42 ValueIface::minValue(minValue);
43}
44
45void NvmeSSD::setSensorValueToDbus(const int8_t value)
46{
47 ValueIface::value(value);
48}
49
50} // namespace nvme
George Hung831f2042021-05-19 17:02:29 +080051} // namespace phosphor