更新 nicsensor_v2/readme.md

This commit is contained in:
Marcin 2025-03-13 23:34:48 +08:00
parent ec9473b347
commit 0d3111a190

@ -1,118 +1,128 @@
# nicsensor tool V2 使用说明 # nicsensor tool V2 使用说明
## 1 简介 ## 目录
- [1 简介](#1_简介)
相比于`v1.x`版本的主要差异点: - [2 使用方法](#2_使用方法)
- 脚本模块化, 易于阅读和扩展 - [2.1 标准执行](#2_1_标准执行)
- 支持单独测试传感器数据 - [2.2 i2c扫描](#2_2_I2cScan)
- 可扩展在多个平台的服务器使用 - [2.3 传感器单独调试](#2_3_传感器单独调试)
- [3 代码结构](#3_代码结构)
## 2 使用方法 - [3.1 脚本结构](#3_1_脚本结构)
- [3.2 执行顺序](#3_2_执行顺序)
### 2.1 标准执行
## 1_简介
> **标准执行前**需要修改`nicsensor.sh` , 以及部分对应的 `plugin_xxx.sh`
> 相比于`v1.x`版本的主要差异点:
>>对于 `nicsensor.sh`, 使用前需要先修改脚本中的如下变量: - 脚本模块化, 易于阅读和扩展
>> `server_type`: 要应用的服务器类型 - 支持单独测试传感器数据
>> `server_platform`: 要应用服务器平台名称 - 可扩展在多个平台的服务器使用
>
>> 对于 `plugin_xxx.sh`, 使用前需要针对具体的sensor指定对应的特殊变量 ## 2_使用方法
标准执行命令格式 ### 2_1_标准执行
``` shell
./nicsensor.sh [nic_slot] [sensor_type] [sensor_slave] > **标准执行前**需要修改`nicsensor.sh` , 以及部分对应的 `plugin_xxx.sh`
``` >
参数说明 >>对于 `nicsensor.sh`, 使用前需要先修改脚本中的如下变量:
- `nic_slot`: 网卡所在的服务器槽位, 例如 `pcie2``ocp0` >> - `server_type`: 要应用的服务器类型
- `sensor_type`: 需要测试的传感器类型, 例如 `adc128`, `ina3221`, `tmp468` >> - `server_platform`: 要应用服务器平台名称
- `sensor_slave`: 传感器的I2C地址(7bit), 例如 `0x48` >
>> 对于 `plugin_xxx.sh`, 使用前需要针对具体的sensor指定对应的特殊变量
命令示例
``` shell 标准执行命令格式
# 读取服务器 PCIE2 号槽位上的 adc128 传感器, slave地址0x1f ``` shell
./nicsensor.sh pcie2 adc128 0x1f ./nicsensor.sh [nic_slot] [sensor_type] [sensor_slave]
``` ```
参数说明
### 2.2 I2C Scan - `nic_slot`: 网卡所在的服务器槽位, 例如 `pcie2``ocp0`
- `sensor_type`: 需要测试的传感器类型, 例如 `adc128`, `ina3221`, `tmp468`
类似于标准执行, 使用前需要现先在 `nicsensor.sh` 脚本中指定使用的服务器类型 - `sensor_slave`: 传感器的I2C地址(7bit), 例如 `0x48`
命令格式 命令示例
``` shell ``` shell
./nicsensor.sh detect [nic_type] # 读取服务器 PCIE2 号槽位上的 adc128 传感器, slave地址0x1f
``` ./nicsensor.sh pcie2 adc128 0x1f
参数说明 ```
- `nic_type`: 要扫描的网卡类型, 默认值是`pcie`, 可选值:
- `pcie` ### 2_2_I2cScan
- `ocp`
类似于标准执行, 使用前需要现先在 `nicsensor.sh` 脚本中指定使用的服务器类型
命令示例
```shell 命令格式
./nicsensor.sh detect pcie ``` shell
``` ./nicsensor.sh detect [nic_type]
```
### 2.3 传感器单独调试 参数说明
- `nic_type`: 要扫描的网卡类型, 默认值是`pcie`, 可选值:
nicsensor v2 提供了针对每类传感器将十六进制读值直接可视化的功能用于单独调试 - `pcie`
- `ocp`
每一类可使用的sensor都有对应的 plugin_xxx.sh, 例如:
- `plugin_adc128.sh` 命令示例
- `plugin_emc1413.sh` ```shell
- `plugin_ina3221.sh` ./nicsensor.sh detect pcie
- `plugin_tmp112.sh` ```
- `plugin_tmp468.sh`
### 2_3_传感器单独调试
这些脚本都实现了一个 `test` 方法用于单独解析传感器的16进制的读值为可视化十进制数值
nicsensor v2 提供了针对每类传感器将十六进制读值直接可视化的功能用于单独调试
常见命令, 以 `plugin_tmp112.sh` 举例
``` shell 每一类可使用的sensor都有对应的 plugin_xxx.sh, 例如:
# 使用方法 - `plugin_adc128.sh`
./plugin_tmp112.sh help - `plugin_emc1413.sh`
- `plugin_ina3221.sh`
# 单次调试数据 - `plugin_tmp112.sh`
./plugin_tmp112.sh test 0x24 0x00 - `plugin_tmp468.sh`
```
这些脚本都实现了一个 `test` 方法用于单独解析传感器的16进制的读值为可视化十进制数值
## 3 代码结构
常见命令, 以 `plugin_tmp112.sh` 举例
### 3.1 脚本结构 ``` shell
# 使用方法
- 主控脚本 ./plugin_tmp112.sh help
- [nicsensor](./nicsensor.sh): 标准执行的入口脚本
- I2C接口脚本 # 单次调试数据
- [i2c_m6](./i2c_m6.sh): M6平台I2C命令执行脚本 ./plugin_tmp112.sh test 0x24 0x00
- [i2c_m7](./i2c_m7.sh): M7平台I2C命令执行脚本 ```
- 服务器平台脚本
- [platform_5280m7](./platform_5280m7.sh): 5280M7的对应逻辑 ## 3_代码结构
- [platform_5688m7](./platform_5688m7.sh): 5688M7的对应逻辑
- 传感器脚本 ### 3_1_脚本结构
- [plugin_adc128](./plugin_adc128.sh)
- [plugin_emc1413](./plugin_emc1413.sh) - 主控脚本
- [plugin_ina3221](./plugin_ina3221.sh) - [nicsensor](./nicsensor.sh): 标准执行的入口脚本
- [plugin_tmp112](./plugin_tmp112.sh) - I2C接口脚本
- [plugin_tmp468](./plugin_tmp468.sh) - [i2c_m6](./i2c_m6.sh): M6平台I2C命令执行脚本
- 功能类脚本 - [i2c_m7](./i2c_m7.sh): M7平台I2C命令执行脚本
- [format_print](./format_print.sh): 用于生成格式化console打印或者记录日志 - 服务器平台脚本
- [auto_auth](./autoauth.sh): 用于一键执行为每个脚本文件赋予可执行权限 - [platform_5280m7](./platform_5280m7.sh): 5280M7的对应逻辑
- [platform_5688m7](./platform_5688m7.sh): 5688M7的对应逻辑
### 3.2 执行顺序 - 传感器脚本
``` txt - [plugin_adc128](./plugin_adc128.sh)
nicsensor.sh - [plugin_emc1413](./plugin_emc1413.sh)
| - [plugin_ina3221](./plugin_ina3221.sh)
+--> init debug log 初始化日志文件 - [plugin_tmp112](./plugin_tmp112.sh)
| - [plugin_tmp468](./plugin_tmp468.sh)
+--> is detect? - 功能类脚本
| - [format_print](./format_print.sh): 用于生成格式化console打印或者记录日志
+-yes-> perform_detect : 调用 platform_xx.sh 的 detect 方法开始执行 - [auto_auth](./autoauth.sh): 用于一键执行为每个脚本文件赋予可执行权限
|
+<--no--+ ### 3_2_执行顺序
| ``` txt
+--> conf_pre_check: 检查文件系统中脚本文件是否满足执行需求 nicsensor.sh
| |
+--> parse_slot_name: 根据 slot_name 解析槽位信息 +--> init debug log 初始化日志文件
| |
+--> connect_i2c: 调用 platform_xx.sh 的 connect 方法选通对应槽位 I2C 通路 +--> is detect?
| |
+--> start_sensor_reading: 调用 plugin_xx.sh 的 read 方法读取传感器的读值并解析 +-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 方法读取传感器的读值并解析
``` ```