|
@@ -0,0 +1,60 @@
|
|
|
+#!/bin/bash
|
|
|
+
|
|
|
+BAR=`pci -i | grep "BAR 0" | awk '{print $6}' | cut -c -6` # it was -4 for cut, uros
|
|
|
+
|
|
|
+echo "Status ... "
|
|
|
+
|
|
|
+pci -r $BAR"9000" -s 80
|
|
|
+
|
|
|
+value=`pci -r 0x9110 -s 8 | grep 9110 | awk '{print $2}' | cut -c 1-8`
|
|
|
+
|
|
|
+sensor_tmp=${value:4:4}
|
|
|
+fpga_tmp=${value:0:4}
|
|
|
+fpga_mon=${value:0:1}
|
|
|
+
|
|
|
+sleep 0.01
|
|
|
+
|
|
|
+value=`pci -r 9030 | awk '{print $2}' | cut -c 6-6`
|
|
|
+
|
|
|
+if [ "$value" == "0" ]; then
|
|
|
+ echo "40 MHz"
|
|
|
+ clk_mhz=40
|
|
|
+ clk_ratio=$(echo "scale = 2; 40/40" | bc)
|
|
|
+else
|
|
|
+ echo "48 MHz"
|
|
|
+ clk_mhz=48
|
|
|
+ clk_ratio=$(echo "scale = 2; 48/40" | bc)
|
|
|
+fi
|
|
|
+
|
|
|
+# for 48 MHz use 48/40, for 40 MHz use 40/40 for clk_ratio offset can differ per
|
|
|
+# device
|
|
|
+
|
|
|
+offset_zero_celsius=$(echo "scale = 2; 1000*$clk_ratio " | bc)
|
|
|
+tmp_slope_sensor=$(echo "scale = 2; 0.3/$clk_ratio" | bc)
|
|
|
+
|
|
|
+# fpga monitor
|
|
|
+let "fpga_mon=16#$fpga_mon"
|
|
|
+fpga_mon=$(echo "ibase=10;obase=2;$fpga_mon" | bc)
|
|
|
+fpga_mon=$(printf "%04d\n" $fpga_mon)
|
|
|
+monitor_val=${fpga_mon:0:3}
|
|
|
+
|
|
|
+# fpga temperature
|
|
|
+let "fpga_tmp=16#$fpga_tmp"
|
|
|
+fpga_tmp=$(echo "ibase=10;obase=2;$fpga_tmp" | bc)
|
|
|
+fpga_tmp=$(printf "%016d\n" $fpga_tmp)
|
|
|
+let "fpga_adc=2#${fpga_tmp:3:10}"
|
|
|
+fpga_tmp=$(echo "scale = 2; (($fpga_adc*503.975)/1024.)-273.15 " |bc)
|
|
|
+
|
|
|
+# sensor temperature
|
|
|
+let "sensor_tmp=16#$sensor_tmp"
|
|
|
+# use 48/40 for 40MHz, or 40/40 for 40 MHz main clock
|
|
|
+sensor_tmp=$(echo "scale = 2; ($sensor_tmp-$offset_zero_celsius)*$tmp_slope_sensor" | bc)
|
|
|
+
|
|
|
+# echo "Sensor temperature,according to the datasheet: $sensor_tmp C"
|
|
|
+echo "Sensor temperature, clock $clk_mhz MHz: $sensor_tmp C"
|
|
|
+echo "FPGA temperature: $fpga_tmp C"
|
|
|
+if [ "$monitor_val" != "000" ]; then
|
|
|
+ echo "ERROR FPGA MONITOR: $monitor_val"
|
|
|
+else
|
|
|
+ echo "MONITOR OK"
|
|
|
+fi
|