CSR配置字典之Led类
更新时间:2025/7/22
在Gitcode上查看源码📋 文档信息
项目 | 内容 |
---|---|
文档标题 | Led类配置字典 |
版本 | v1.0 |
创建日期 | 2025-01-27 |
最后更新 | 2025-01-27 |
维护状态 | ✅ 活跃维护 |
📋 变更历史记录
文档变更记录
版本 | 发布日期 | 变更类型 | 变更内容 | 影响范围 | 维护人员 |
---|---|---|---|---|---|
v1.0 | 2025-01-27 | 初始版本 | 创建Led类配置字典 | 全新文档 | 系统管理员 |
🎯 类概览
Led 类
属性 | 值 |
---|---|
类名称 | Led |
功能描述 | LED灯管理,提供健康灯和UID灯的控制功能,支持多种颜色和状态控制,兼容IPMI接口 |
所属SIG组 | hardware |
所属组件 | led |
责任人 | 硬件管理组 |
最后更新 | 2025-01-27 |
状态 | 🟢 正常运行 |
📊 属性定义详表
必选属性
属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
---|---|---|---|---|---|---|---|---|---|
Id | U8 | 0 | 2,4 | - | HEALTH = 2(健康灯), UID = 4(UID灯) | BMC判断健康灯,UID灯对象 | 4 | CSR配置 | 软件 |
Name | String | - | String | - | LED灯名称 | BMC接口展示 | "UIDLed" | CSR配置 | 软件 |
CtrlValue | String | - | U8 | Accessor_UIDLedAccessor | 设置UID灯光状态关联SMC UID_BLINK = 85 UID_ON = 144 UID_OFF = 0 | 设置LED灯状态 | "#/Accessor_UIDLedAccessor.Value" | 硬件提供 | 硬件 |
Capability | String | - | U8 | Accessor_LedColorAccessor | LED灯颜色关联SMC [0] = "reserved" [1] = "BLUE" [2] = "RED" [3] = "GREEN" [4] = "AMBER" [5] = "ORANGE" [6] = "WHITE" | 设置LED灯颜色 | "#/Accessor_LedColorAccessor.Value" | CSR配置 | 硬件 |
ColorCapabilities | U8 | - | U8 | - | LED灯支持的颜色能力 | BMC接口设置使用 | 2 | CSR配置 | 软件 |
DefaultOSColor | U8 | - | U8 | - | 默认超驰控制颜色,输出实例按实际支持颜色配置 | LED IPMI命令 | 1 | CSR配置 | 软件 |
DefaultLCSColor | U8 | - | U8 | - | 默认本地控制颜色,输出实例按实际支持颜色配置 | LED IPMI命令 | 1 | CSR配置 | 软件 |
LCSColor | U8 | - | U8 | - | 获取当前颜色为本地控制颜色,输出实例按实际支持颜色配置 | LED IPMI命令 | 1 | CSR配置 | 软件 |
LCSState | U8 | - | U8 | - | 获取当前状态为本地控制状态,输出实例按实际支持颜色配置 | LED IPMI命令 | 0 | CSR配置 | 软件 |
OSColor | U8 | - | U8 | - | 获取当前颜色为超驰控制颜色,输出实例按实际支持颜色配置 | LED IPMI命令 | 1 | CSR配置 | 软件 |
OSState | U8 | - | U8 | - | 获取当前状态为超驰控制状态,输出实例按实际支持颜色配置 | LED IPMI命令 | 0 | CSR配置 | 软件 |
LampTestColor | U8 | - | U8 | - | lamptest颜色,输出实例按实际支持颜色配置 | LED IPMI命令 | 1 | CSR配置 | 软件 |
LampTestDuration | U8 | - | U8 | - | lamptest颜色持续时长,输出实例按实际支持颜色配置 | LED IPMI命令 | 0 | CSR配置 | 软件 |
可选属性
属性名 | 类型 | 默认值 | 取值范围 | 动态关联 | 描述 | 使用场景 | 举例 | 来源 | 分类 |
---|---|---|---|---|---|---|---|---|---|
SystemId | U8 | 0 | U8 | - | 预留属性,系统ID | BMC判断健康灯,UID灯对象 | 1 | CSR配置 | 软件 |
Mode | U8 | 0 | U8 | - | LED模式,默认使用0,根据实际初始模式配置 [0] = 'Local Control' [1] = 'Override' [2] = 'Lamp Test' | BMC接口展示 | 0 | CSR配置 | 软件 |
FruId | U8 | 0 | U8 | - | 关联的FRU ID | 用于IPMI接口匹配LED对象 | 0 | CSR配置 | 软件 |
🔗 动态关联机制
语法规范
使用 #/xxx
格式实现动态关联:
yaml
# LED状态控制寄存器关联
CtrlValue: "#/Accessor_UIDLedAccessor.Value"
# LED颜色控制寄存器关联
Capability: "#/Accessor_LedColorAccessor.Value"
关联说明
- CtrlValue: 关联Accessor对象用于LED状态控制
- Capability: 关联Accessor对象用于LED颜色控制
📂 分类标准
硬件属性
- 定义:与硬件LED设备直接相关的参数
- 特点:通过硬件寄存器控制LED状态和颜色
- 示例:
CtrlValue
,Capability
软件属性
- 定义:用于软件逻辑控制和接口管理的参数
- 特点:由CSR配置管理,用于IPMI接口和BMC控制
- 示例:
Id
,Name
,ColorCapabilities
,DefaultOSColor
,DefaultLCSColor
,LCSColor
,LCSState
,OSColor
,OSState
,LampTestColor
,LampTestDuration
,SystemId
,Mode
,FruId
📝 配置示例
标准UID灯配置
json
{
"Led": {
"Id": 4,
"SystemId": 1,
"Name": "UIDLed",
"CtrlValue": "#/Accessor_UIDLedAccessor.Value",
"Capability": "#/Accessor_LedColorAccessor.Value",
"Mode": 0,
"ColorCapabilities": 2,
"DefaultOSColor": 1,
"DefaultLCSColor": 1,
"LCSColor": 1,
"LCSState": 0,
"OSColor": 1,
"OSState": 0,
"LampTestColor": 1,
"FruId": 0,
"LampTestDuration": 0
}
}
健康灯配置
json
{
"Led": {
"Id": 2,
"SystemId": 1,
"Name": "HealthLed",
"CtrlValue": "#/Accessor_HealthLedAccessor.Value",
"Capability": "#/Accessor_LedColorAccessor.Value",
"Mode": 0,
"ColorCapabilities": 7,
"DefaultOSColor": 3,
"DefaultLCSColor": 3,
"LCSColor": 3,
"LCSState": 1,
"OSColor": 3,
"OSState": 1,
"LampTestColor": 3,
"FruId": 0,
"LampTestDuration": 5
}
}
多颜色LED配置
json
{
"Led": {
"Id": 4,
"Name": "MultiColorLed",
"CtrlValue": "#/Accessor_MultiLedAccessor.Value",
"Capability": "#/Accessor_LedColorAccessor.Value",
"Mode": 1,
"ColorCapabilities": 15,
"DefaultOSColor": 4,
"DefaultLCSColor": 1,
"LCSColor": 1,
"LCSState": 0,
"OSColor": 4,
"OSState": 1,
"LampTestColor": 6,
"LampTestDuration": 10
}
}
🔧 使用指南
配置步骤
- 设置LED标识:配置Id和Name标识LED类型和名称
- 关联控制寄存器:通过CtrlValue关联LED状态控制寄存器
- 关联颜色寄存器:通过Capability关联LED颜色控制寄存器
- 配置颜色能力:设置ColorCapabilities标识支持的颜色
- 配置控制模式:设置各种控制模式的颜色和状态
- 可选配置:根据需要配置SystemId、Mode、FruId
- 验证关联:确保所有Accessor对象已正确定义
注意事项
- LED类型:Id必须设置为2(健康灯)或4(UID灯)
- 寄存器关联:CtrlValue和Capability必须关联有效的Accessor对象
- 颜色配置:各种颜色配置必须在ColorCapabilities支持范围内
- 状态控制:LED状态通过CtrlValue寄存器控制
- IPMI兼容:配置必须兼容IPMI LED管理规范
性能建议
- 合理配置颜色:根据实际硬件支持配置颜色能力
- 优化控制模式:合理设置本地控制和超驰控制模式
- 测试功能:合理配置Lamp Test功能和持续时间
故障排查
- LED不亮:检查CtrlValue关联的Accessor对象配置
- 颜色异常:检查Capability关联的Accessor对象配置
- IPMI命令失败:检查各种颜色和状态配置
- 模式切换异常:检查Mode配置和控制逻辑
LED控制模式
本地控制模式 (Local Control)
- LCSColor: 本地控制颜色
- LCSState: 本地控制状态
- DefaultLCSColor: 默认本地控制颜色
超驰控制模式 (Override)
- OSColor: 超驰控制颜色
- OSState: 超驰控制状态
- DefaultOSColor: 默认超驰控制颜色
灯测试模式 (Lamp Test)
- LampTestColor: 测试颜色
- LampTestDuration: 测试持续时间
LED状态控制
UID灯状态值
- UID_OFF = 0: 关闭
- UID_BLINK = 85: 闪烁
- UID_ON = 144: 常亮
颜色编码
- [0] = "reserved": 保留
- [1] = "BLUE": 蓝色
- [2] = "RED": 红色
- [3] = "GREEN": 绿色
- [4] = "AMBER": 琥珀色
- [5] = "ORANGE": 橙色
- [6] = "WHITE": 白色
IPMI接口支持
- LED识别:通过FruId匹配LED对象
- 状态查询:支持IPMI LED状态查询命令
- 颜色控制:支持IPMI LED颜色控制命令
- 模式切换:支持IPMI LED模式切换命令
- 测试功能:支持IPMI LED测试功能