feat(script : nicsensor.sh)Update to version 1.3 Intest Rev7

1.补充usage,添加对新特性的描述
2.移除对channel name的校验,简化脚本
This commit is contained in:
leimingsheng 2024-12-26 16:59:03 +08:00
parent 3ca7de0ecf
commit 75658f06e8
2 changed files with 1321 additions and 1337 deletions

@ -134,7 +134,7 @@ ina3221_ch2_volt="0"
ina3221_ch0_current="0"
ina3221_ch1_current="0"
ina3221_ch2_current="0"
SCRIPT_VERSION="1.3 Intest Rev6"
SCRIPT_VERSION="1.3 Intest Rev7"
fru_file_name=$option_data2
fru_write_size=0
@ -147,6 +147,18 @@ res_tmp468=""
# Script Function Defination
# ---------------------------------------------------------
print_ocp_usage(){
echo "----------------------------------------------------------------"
echo " To test OCP Nic on server, support command as:"
echo " 1.detect function"
echo " ./nicsensor.sh detect ocp"
echo " 2.Reading sensors"
echo " ./nicsensor.sh ocp0 emc1413 0x4c"
echo ""
echo " Now only 5280m7 support to test ocp card"
echo ""
}
# script usage
print_usage(){
echo ""
@ -156,10 +168,14 @@ print_usage(){
echo " [slot] : 0 1 2 3 4 5 ..."
echo " [sensor type] : $Support_Sensor_List"
echo " [slave] : chip slave address , please provide 7 bit address"
echo " E.G. : ./nicsensor.sh 0 adc128 0x1f"
echo " E.G. : ./nicsensor.sh 1 adc128 0x1f"
echo " ./nicsensor.sh pcie1 ina3221 0x42"
echo " ./nicsensor.sh ocp0 emc1413 0x4c"
echo ""
echo " To Auto detect i2c slave on server, please use:"
echo " ./nicsensor.sh detect"
echo " ./nicsensor.sh detect pcie"
echo " ./nicsensor.sh detect ocp [some server don't support]"
echo " This function now only support on server:"
echo " $Support_Server_List"
echo ""
@ -169,7 +185,7 @@ print_usage(){
echo ""
echo " If want to use debug mode, please modify the DEBUG_MODE to 1"
echo " now status : DEBUG_MODE = $DEBUG_MODE"
echo ""
print_ocp_usage
}
print_chip_command_format(){
@ -194,14 +210,6 @@ format_log_print(){
echo "[$1] $2" >> $log
}
# Customization name cant contain the space character
# @Param1 : name
check_customization_name(){
if [ "$1" == *" "* ];then
format_log_print $ERROR "'$1' has a space, invalid name"
fi
}
# switch pca9548 channels then do i2cdetect one times
# @Param1 i2c bus number
# @Param2 pca9548 slave address
@ -225,38 +233,6 @@ conf_pre_check(){
format_print $ERROR "Invalid conf value, DEBUG_MODE: $DEBUG_MODE"
exit 1
fi
# In debug mode, check channel name
if [ $DEBUG_MODE -eq 1];then
check_customization_name "$ADC128_Channel0_name"
check_customization_name "$ADC128_Channel1_name"
check_customization_name "$ADC128_Channel2_name"
check_customization_name "$ADC128_Channel3_name"
check_customization_name "$ADC128_Channel4_name"
check_customization_name "$ADC128_Channel5_name"
check_customization_name "$ADC128_Channel6_name"
check_customization_name "$ADC128_Channel7_name"
check_customization_name "$INA3221_Channel0_name"
check_customization_name "$INA3221_Channel1_name"
check_customization_name "$INA3221_Channel2_name"
check_customization_name "$EMC1413_Channel0_name"
check_customization_name "$EMC1413_Channel1_name"
check_customization_name "$EMC1413_Channel2_name"
check_customization_name "$TMP468_Channel0_name"
check_customization_name "$TMP468_Channel1_name"
check_customization_name "$TMP468_Channel2_name"
check_customization_name "$TMP468_Channel3_name"
check_customization_name "$TMP468_Channel4_name"
check_customization_name "$TMP468_Channel5_name"
check_customization_name "$TMP468_Channel6_name"
check_customization_name "$TMP468_Channel7_name"
check_customization_name "$TMP468_Channel8_name"
check_customization_name "$TMP112_Sensor_name"
fi
}
set_configuration_5280m7(){
@ -631,9 +607,9 @@ read_emc1413_channel_value(){
# start parse raw data
echo ">>> The emc1413 value is:"
convert_emc1413_data $res_td1_h $res_td1_l $EMC1413_Channel0_name
convert_emc1413_data $res_td2_h $res_td2_l $EMC1413_Channel1_name
convert_emc1413_data $res_td3_h $res_td3_l $EMC1413_Channel2_name
convert_emc1413_data $res_td1_h $res_td1_l "$EMC1413_Channel0_name"
convert_emc1413_data $res_td2_h $res_td2_l "$EMC1413_Channel1_name"
convert_emc1413_data $res_td3_h $res_td3_l "$EMC1413_Channel2_name"
}
@ -720,14 +696,14 @@ read_adc128_channel_value(){
# start parse raw data
echo ">>> The ADC128 value is :"
convert_adc128_data $res_ch0 $ADC128_Channel0_name $votage_division_factor_0
convert_adc128_data $res_ch1 $ADC128_Channel1_name $votage_division_factor_1
convert_adc128_data $res_ch2 $ADC128_Channel2_name $votage_division_factor_2
convert_adc128_data $res_ch3 $ADC128_Channel3_name $votage_division_factor_3
convert_adc128_data $res_ch4 $ADC128_Channel4_name $votage_division_factor_4
convert_adc128_data $res_ch5 $ADC128_Channel5_name $votage_division_factor_5
convert_adc128_data $res_ch6 $ADC128_Channel6_name $votage_division_factor_6
convert_adc128_data $res_ch7 $ADC128_Channel7_name $votage_division_factor_7
convert_adc128_data $res_ch0 "$ADC128_Channel0_name" $votage_division_factor_0
convert_adc128_data $res_ch1 "$ADC128_Channel1_name" $votage_division_factor_1
convert_adc128_data $res_ch2 "$ADC128_Channel2_name" $votage_division_factor_2
convert_adc128_data $res_ch3 "$ADC128_Channel3_name" $votage_division_factor_3
convert_adc128_data $res_ch4 "$ADC128_Channel4_name" $votage_division_factor_4
convert_adc128_data $res_ch5 "$ADC128_Channel5_name" $votage_division_factor_5
convert_adc128_data $res_ch6 "$ADC128_Channel6_name" $votage_division_factor_6
convert_adc128_data $res_ch7 "$ADC128_Channel7_name" $votage_division_factor_7
}
process_adc128(){
@ -840,14 +816,14 @@ read_ina3221_channel_value(){
# start parse raw data
echo ">>> The INA3221 shunt value is :"
convert_ina3221_data $res_ch0 0 $INA3221_SHUNT_VOLT $shunt_resistor_0 $INA3221_Channel0_name
convert_ina3221_data $res_ch1 1 $INA3221_SHUNT_VOLT $shunt_resistor_1 $INA3221_Channel1_name
convert_ina3221_data $res_ch2 2 $INA3221_SHUNT_VOLT $shunt_resistor_2 $INA3221_Channel2_name
convert_ina3221_data $res_ch0 0 $INA3221_SHUNT_VOLT $shunt_resistor_0 "$INA3221_Channel0_name"
convert_ina3221_data $res_ch1 1 $INA3221_SHUNT_VOLT $shunt_resistor_1 "$INA3221_Channel1_name"
convert_ina3221_data $res_ch2 2 $INA3221_SHUNT_VOLT $shunt_resistor_2 "$INA3221_Channel2_name"
echo ">>> The INA3221 bus value is :"
convert_ina3221_data $res_bus0 0 $INA3221_BUS_VOLT null $INA3221_Channel0_name
convert_ina3221_data $res_bus1 1 $INA3221_BUS_VOLT null $INA3221_Channel1_name
convert_ina3221_data $res_bus2 2 $INA3221_BUS_VOLT null $INA3221_Channel2_name
convert_ina3221_data $res_bus0 0 $INA3221_BUS_VOLT null "$INA3221_Channel0_name"
convert_ina3221_data $res_bus1 1 $INA3221_BUS_VOLT null "$INA3221_Channel1_name"
convert_ina3221_data $res_bus2 2 $INA3221_BUS_VOLT null "$INA3221_Channel2_name"
echo ">>> The INA3221 bus power is :"
convert_ina3221_data 0 0 0 $INA3221_POWER
@ -917,15 +893,15 @@ read_tmp468_value(){
tmp468_res9_l=`echo $res_tmp468 | awk '{print $18}'`
format_print $INFO "Tmp468 read result:"
convert_tmp468_data $tmp468_res1_h $tmp468_res1_l $TMP468_Channel0_name
convert_tmp468_data $tmp468_res2_h $tmp468_res2_l $TMP468_Channel1_name
convert_tmp468_data $tmp468_res3_h $tmp468_res3_l $TMP468_Channel2_name
convert_tmp468_data $tmp468_res4_h $tmp468_res4_l $TMP468_Channel3_name
convert_tmp468_data $tmp468_res5_h $tmp468_res5_l $TMP468_Channel4_name
convert_tmp468_data $tmp468_res6_h $tmp468_res6_l $TMP468_Channel5_name
convert_tmp468_data $tmp468_res7_h $tmp468_res7_l $TMP468_Channel6_name
convert_tmp468_data $tmp468_res8_h $tmp468_res8_l $TMP468_Channel7_name
convert_tmp468_data $tmp468_res9_h $tmp468_res9_l $TMP468_Channel8_name
convert_tmp468_data $tmp468_res1_h $tmp468_res1_l "$TMP468_Channel0_name"
convert_tmp468_data $tmp468_res2_h $tmp468_res2_l "$TMP468_Channel1_name"
convert_tmp468_data $tmp468_res3_h $tmp468_res3_l "$TMP468_Channel2_name"
convert_tmp468_data $tmp468_res4_h $tmp468_res4_l "$TMP468_Channel3_name"
convert_tmp468_data $tmp468_res5_h $tmp468_res5_l "$TMP468_Channel4_name"
convert_tmp468_data $tmp468_res6_h $tmp468_res6_l "$TMP468_Channel5_name"
convert_tmp468_data $tmp468_res7_h $tmp468_res7_l "$TMP468_Channel6_name"
convert_tmp468_data $tmp468_res8_h $tmp468_res8_l "$TMP468_Channel7_name"
convert_tmp468_data $tmp468_res9_h $tmp468_res9_l "$TMP468_Channel8_name"
}
process_tmp468(){
@ -977,7 +953,7 @@ read_tmp112_value(){
format_log_print $INFO "Tmp112 raw data: $res_tmp112"
format_print $INFO "Tmp112 read result:"
convert_tmp112_data $res_tmp112 $TMP112_Sensor_name
convert_tmp112_data $res_tmp112 "$TMP112_Sensor_name"
}
process_tmp112(){

@ -17,7 +17,7 @@
### 正文
一、脚本使用方法 Version1.2
一、脚本使用方法 Version1.3
1.1、修改项目专属配置
针对不同项目,请先修改脚本中的部分变量(ADC128电压传感器的分压系数,INA3221的分流精密电阻阻值)
@ -25,6 +25,8 @@
5280m7
5468m7
donghu
yichun
qiandaohu
1.2、增加脚本可执行权限
@ -42,6 +44,9 @@
举例说明:读取PCIE 1 上网卡的adc128芯片, 芯片slave地址为0x1f
./nicsensor.sh 1 adc128 0x1f
如果需要读取OCP 0上网卡的adc128芯片则命令需要写为
./nicsensor.sh ocp0 adc128 0x1f
1.4、特殊命令
1.4.1 Detect命令
@ -50,6 +55,9 @@
命令: ./nicsensor.sh detect
如果需要扫描OCP上的I2C设备执行
./nicsensor.sh detect ocp
1.4.2 fru命令
命令: ./nicsensor.sh <pcie_slot> fru <chip_slave> read