128 lines
4.1 KiB
Diff
Executable File
128 lines
4.1 KiB
Diff
Executable File
From 757268065e51263dc760951c535e53f76dac2ffe Mon Sep 17 00:00:00 2001
|
|
From: "Wang.Bin" <Bin-B.Wang@luxshare-ict.com>
|
|
Date: Wed, 23 Oct 2024 13:29:51 +0800
|
|
Subject: [PATCH 2/2] Add power button and PSU status sensor
|
|
|
|
---
|
|
fault-monitor/fru-fault-monitor.cpp | 28 +++++++++++++++++
|
|
fault-monitor/fru-fault-monitor.hpp | 48 +++++++++++++++++++++++++++--
|
|
2 files changed, 74 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/fault-monitor/fru-fault-monitor.cpp b/fault-monitor/fru-fault-monitor.cpp
|
|
index 8ff5294..4946065 100644
|
|
--- a/fault-monitor/fru-fault-monitor.cpp
|
|
+++ b/fault-monitor/fru-fault-monitor.cpp
|
|
@@ -55,6 +55,11 @@ constexpr const char* discreteSensorNs = "No state defined";
|
|
// 10H
|
|
constexpr auto SYSTEM_EVENT_LOG_CLEARED = 2;
|
|
|
|
+// 14H
|
|
+constexpr auto POWER_BUTTON_PRESSED = 0;
|
|
+constexpr auto SLEEP_BUTTON_PRESSED = 1;
|
|
+constexpr auto RESET_BUTTON_PRESSED = 2;
|
|
+
|
|
// 22H
|
|
constexpr auto ACPI_S0_STATE = 0;
|
|
constexpr auto ACPI_S5_STATE = 6;
|
|
@@ -389,6 +394,29 @@ void parseSpecificSensorSelSeverity(sdbusplus::bus::bus& bus,
|
|
}
|
|
break;
|
|
}
|
|
+ case SENSOR_TYPE_BUTTON_SWITCH:
|
|
+ {
|
|
+ switch (ev1Offset)
|
|
+ {
|
|
+ case POWER_BUTTON_PRESSED:
|
|
+ case SLEEP_BUTTON_PRESSED:
|
|
+ case RESET_BUTTON_PRESSED:
|
|
+ {
|
|
+ sensorStatusRec[sensorPath].alarmStatus = alarmStatus;
|
|
+ break;
|
|
+ }
|
|
+ default:
|
|
+ {
|
|
+ return;
|
|
+ }
|
|
+ }
|
|
+ break;
|
|
+ }
|
|
+ case SENSOR_TYPE_POWER_SUPPLY:
|
|
+ {
|
|
+ sensorStatusRec[sensorPath].alarmStatus = alarmStatus;
|
|
+ break;
|
|
+ }
|
|
case SENSOR_TYPE_SYSTEM_ACPI_POWER_STATE:
|
|
{
|
|
switch (ev1Offset)
|
|
diff --git a/fault-monitor/fru-fault-monitor.hpp b/fault-monitor/fru-fault-monitor.hpp
|
|
index e196287..065e8c8 100644
|
|
--- a/fault-monitor/fru-fault-monitor.hpp
|
|
+++ b/fault-monitor/fru-fault-monitor.hpp
|
|
@@ -32,9 +32,54 @@ class Remove;
|
|
*/
|
|
enum SensorType
|
|
{
|
|
+ SENSOR_TYPE_TEMPERATURE = 0x01,
|
|
+ SENSOR_TYPE_VOLTAGE = 0x02,
|
|
+ SENSOR_TYPE_CURRENT = 0x03,
|
|
+ SENSOR_TYPE_FAN = 0x04,
|
|
+ SENSOR_TYPE_PHYSICAL_SECURITY = 0x05,
|
|
+ SENSOR_TYPE_PLATFORM_SECURITY = 0x06,
|
|
+ SENSOR_TYPE_PROCESSOR = 0x07,
|
|
+ SENSOR_TYPE_POWER_SUPPLY = 0x08,
|
|
+ SENSOR_TYPE_POWER_FAULT = 0x09,
|
|
+ SENSOR_TYPE_COOLING_DEVICE = 0x0A,
|
|
+ SENSOR_TYPE_OHTER_UNITE_BASED_SENSOR = 0x0B,
|
|
+ SENSOR_TYPE_MEMORY = 0x0C,
|
|
+ SENSOR_TYPE_DRIVE_SLOT = 0x0D,
|
|
+
|
|
+ SENSOR_TYPE_SYSTEM_FIRMWARE_PROGRESS = 0x0F, // formerly POST error
|
|
SENSOR_TYPE_EVENT_LOGGING_DISABLED = 0x10,
|
|
+ SENSOR_TYPE_WATCHDOG_1 = 0x11,
|
|
+ SENSOR_TYPE_SYSTEM_EVENT = 0x12,
|
|
+ SENSOR_TYPE_CRITICAL_INTERRUPT = 0x13,
|
|
+ SENSOR_TYPE_BUTTON_SWITCH = 0x14,
|
|
+ SENSOR_TYPE_BOARD_MODULE = 0x15,
|
|
+ SENSOR_TYPE_MICROCONTROLLER_COPROCESSOR = 0x16,
|
|
+ SENSOR_TYPE__RESOURCERATE = 0xC1, // jss
|
|
+
|
|
+ SENSOR_TYPE_ADD_IN_CARD = 0x17,
|
|
+ SENSOR_TYPE_CHASSIS = 0x18,
|
|
+ SENSOR_TYPE_CHIP_SET = 0x19,
|
|
+
|
|
+ SENSOR_TYPE_CABLE_INTERCONNECT = 0x1B,
|
|
+
|
|
+ SENSOR_TYPE_SYSTEM_BOOT = 0x1D, // Restart Initiated
|
|
+ SENSOR_TYPE_BOOT_ERROR = 0x1E,
|
|
+ SENSOR_TYPE_OS_BOOT = 0x1F,
|
|
+ SENSOR_TYPE_OS_STOP = 0x20,
|
|
+ SENSOR_TYPE_SLOT_CONNECTOR = 0x21,
|
|
SENSOR_TYPE_SYSTEM_ACPI_POWER_STATE = 0x22,
|
|
- SENSOR_TYPE_MEMORY = 0x0C,
|
|
+ SENSOR_TYPE_WATCHDOG_2 = 0x23,
|
|
+ SENSOR_TYPE_PLATFORM_ALERT = 0x24,
|
|
+ SENSOR_TYPE_ENTITY_PRESENCE = 0x25,
|
|
+
|
|
+ SENSOR_TYPE_LAN = 0x27,
|
|
+ SENSOR_TYPE_MANAGEMENT_SUBSYSTEM_HEALTH = 0x28,
|
|
+ SENSOR_TYPE_BATTERY = 0x29,
|
|
+ SENSOR_TYPE_SESSION_AUDIT = 0x2A,
|
|
+ SENSOR_TYPE_HYPERCARD = 0xC0,
|
|
+
|
|
+ SENSOR_TYPE_VERSION_CHANGE = 0x2B,
|
|
+ SENSOR_TYPE_FRU_STATE = 0x2C,
|
|
SENSOR_TYPE_MAX_NUMBER = 0x100 // Senor Type 为1个byte,最大为0~255,即:256个
|
|
};
|
|
|
|
@@ -80,7 +125,6 @@ class Add
|
|
std::bind(std::mem_fn(&Add::created), this,
|
|
std::placeholders::_1))
|
|
{
|
|
- std::cerr << "wangbin matchCreated \n";
|
|
processExistingCallouts(bus);
|
|
}
|
|
|
|
--
|
|
2.25.1
|
|
|