nicsensor/nicsensor_v2
2025-03-27 09:43:19 +08:00
..
autoauth.sh feat(plugin : release) release nicsensor v2 2025-03-13 16:40:53 +08:00
format_print.sh feat(plugin : release) release nicsensor v2 2025-03-13 16:40:53 +08:00
i2c_m6.sh feat(plugin : release) release nicsensor v2 2025-03-13 16:40:53 +08:00
i2c_m7.sh feat(plugin : release) release nicsensor v2 2025-03-13 16:40:53 +08:00
nicsensor.sh refactor(plugin : arch) 重构platform脚本的异常退出功能 2025-03-27 09:43:19 +08:00
platform_5280m7.sh refactor(plugin : arch) 重构platform脚本的异常退出功能 2025-03-27 09:43:19 +08:00
platform_5688m7.sh refactor(plugin : arch) 重构platform脚本的异常退出功能 2025-03-27 09:43:19 +08:00
plugin_adc128.sh feat(plugin : release) release nicsensor v2 2025-03-13 16:40:53 +08:00
plugin_emc1413.sh feat(plugin : release) release nicsensor v2 2025-03-13 16:40:53 +08:00
plugin_ina3221.sh feat(plugin : release) release nicsensor v2 2025-03-13 16:40:53 +08:00
plugin_tmp112.sh feat(plugin : release) release nicsensor v2 2025-03-13 16:40:53 +08:00
plugin_tmp468.sh feat(plugin : release) release nicsensor v2 2025-03-13 16:40:53 +08:00
readme.md 更新 nicsensor_v2/readme.md 2025-03-13 23:34:48 +08:00

nicsensor tool V2 使用说明

目录

1_简介

相比于v1.x版本的主要差异点:

  • 脚本模块化, 易于阅读和扩展
  • 支持单独测试传感器数据
  • 可扩展在多个平台的服务器使用

2_使用方法

2_1_标准执行

标准执行前需要修改nicsensor.sh , 以及部分对应的 plugin_xxx.sh

对于 nicsensor.sh, 使用前需要先修改脚本中的如下变量:

  • server_type: 要应用的服务器类型
  • server_platform: 要应用服务器平台名称

对于 plugin_xxx.sh, 使用前需要针对具体的sensor指定对应的特殊变量

标准执行命令格式

    ./nicsensor.sh [nic_slot] [sensor_type] [sensor_slave]

参数说明

  • nic_slot: 网卡所在的服务器槽位, 例如 pcie2ocp0
  • sensor_type: 需要测试的传感器类型, 例如 adc128, ina3221, tmp468
  • sensor_slave: 传感器的I2C地址(7bit), 例如 0x48

命令示例

    # 读取服务器 PCIE2 号槽位上的 adc128 传感器, slave地址0x1f
    ./nicsensor.sh pcie2 adc128 0x1f

2_2_I2cScan

类似于标准执行, 使用前需要现先在 nicsensor.sh 脚本中指定使用的服务器类型

命令格式

    ./nicsensor.sh detect [nic_type]

参数说明

  • nic_type: 要扫描的网卡类型, 默认值是pcie, 可选值:
    • pcie
    • ocp

命令示例

    ./nicsensor.sh detect pcie

2_3_传感器单独调试

nicsensor v2 提供了针对每类传感器将十六进制读值直接可视化的功能用于单独调试

每一类可使用的sensor都有对应的 plugin_xxx.sh, 例如:

  • plugin_adc128.sh
  • plugin_emc1413.sh
  • plugin_ina3221.sh
  • plugin_tmp112.sh
  • plugin_tmp468.sh

这些脚本都实现了一个 test 方法用于单独解析传感器的16进制的读值为可视化十进制数值

常见命令, 以 plugin_tmp112.sh 举例

    # 使用方法
    ./plugin_tmp112.sh help

    # 单次调试数据
    ./plugin_tmp112.sh test 0x24 0x00

3_代码结构

3_1_脚本结构

3_2_执行顺序

nicsensor.sh
    |
    +--> init debug log 初始化日志文件
    |
    +--> is detect? 
            |
            +-yes-> perform_detect : 调用 platform_xx.sh 的 detect 方法开始执行
            |
    +<--no--+
    |
    +--> conf_pre_check: 检查文件系统中脚本文件是否满足执行需求
    |
    +--> parse_slot_name: 根据 slot_name 解析槽位信息
    |
    +--> connect_i2c: 调用 platform_xx.sh 的 connect 方法选通对应槽位 I2C 通路
    |
    +--> start_sensor_reading: 调用 plugin_xx.sh 的 read 方法读取传感器的读值并解析