CSR配置字典之Led类
更新时间:2025/7/22
在Gitcode上查看源码

📋 文档信息

项目内容
文档标题Led类配置字典
版本v1.0
创建日期2025-01-27
最后更新2025-01-27
维护状态✅ 活跃维护

📋 变更历史记录

文档变更记录

版本发布日期变更类型变更内容影响范围维护人员
v1.02025-01-27初始版本创建Led类配置字典全新文档系统管理员

🎯 类概览

Led 类

属性
类名称Led
功能描述LED灯管理,提供健康灯和UID灯的控制功能,支持多种颜色和状态控制,兼容IPMI接口
所属SIG组hardware
所属组件led
责任人硬件管理组
最后更新2025-01-27
状态🟢 正常运行

📊 属性定义详表

必选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
IdU802,4-HEALTH = 2(健康灯), UID = 4(UID灯)BMC判断健康灯,UID灯对象4CSR配置软件
NameString-String-LED灯名称BMC接口展示"UIDLed"CSR配置软件
CtrlValueString-U8Accessor_UIDLedAccessor设置UID灯光状态关联SMC
UID_BLINK = 85
UID_ON = 144
UID_OFF = 0
设置LED灯状态"#/Accessor_UIDLedAccessor.Value"硬件提供硬件
CapabilityString-U8Accessor_LedColorAccessorLED灯颜色关联SMC
[0] = "reserved"
[1] = "BLUE"
[2] = "RED"
[3] = "GREEN"
[4] = "AMBER"
[5] = "ORANGE"
[6] = "WHITE"
设置LED灯颜色"#/Accessor_LedColorAccessor.Value"CSR配置硬件
ColorCapabilitiesU8-U8-LED灯支持的颜色能力BMC接口设置使用2CSR配置软件
DefaultOSColorU8-U8-默认超驰控制颜色,输出实例按实际支持颜色配置LED IPMI命令1CSR配置软件
DefaultLCSColorU8-U8-默认本地控制颜色,输出实例按实际支持颜色配置LED IPMI命令1CSR配置软件
LCSColorU8-U8-获取当前颜色为本地控制颜色,输出实例按实际支持颜色配置LED IPMI命令1CSR配置软件
LCSStateU8-U8-获取当前状态为本地控制状态,输出实例按实际支持颜色配置LED IPMI命令0CSR配置软件
OSColorU8-U8-获取当前颜色为超驰控制颜色,输出实例按实际支持颜色配置LED IPMI命令1CSR配置软件
OSStateU8-U8-获取当前状态为超驰控制状态,输出实例按实际支持颜色配置LED IPMI命令0CSR配置软件
LampTestColorU8-U8-lamptest颜色,输出实例按实际支持颜色配置LED IPMI命令1CSR配置软件
LampTestDurationU8-U8-lamptest颜色持续时长,输出实例按实际支持颜色配置LED IPMI命令0CSR配置软件

可选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
SystemIdU80U8-预留属性,系统IDBMC判断健康灯,UID灯对象1CSR配置软件
ModeU80U8-LED模式,默认使用0,根据实际初始模式配置
[0] = 'Local Control'
[1] = 'Override'
[2] = 'Lamp Test'
BMC接口展示0CSR配置软件
FruIdU80U8-关联的FRU ID用于IPMI接口匹配LED对象0CSR配置软件

🔗 动态关联机制

语法规范

使用 #/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
  }
}

🔧 使用指南

配置步骤

  1. 设置LED标识:配置Id和Name标识LED类型和名称
  2. 关联控制寄存器:通过CtrlValue关联LED状态控制寄存器
  3. 关联颜色寄存器:通过Capability关联LED颜色控制寄存器
  4. 配置颜色能力:设置ColorCapabilities标识支持的颜色
  5. 配置控制模式:设置各种控制模式的颜色和状态
  6. 可选配置:根据需要配置SystemId、Mode、FruId
  7. 验证关联:确保所有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测试功能