-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathtmp108.sh
executable file
·73 lines (53 loc) · 1.34 KB
/
tmp108.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#!/bin/bash
i2c_addr=0x4c
dir=$(dirname $0)
. ${dir}/common.sh
regs_tmp108=(
701c 1026 0010 0050
)
attrs_tmp108=(name temp1_input temp1_max temp1_max_alarm temp1_max_hyst temp1_min
temp1_min_alarm temp1_min_hyst update_interval)
vals_tmp108=(tmp108 28437 80000 0 79000 16000 0 17000 1000)
permissions_tmp108=(
"-r--r--r--"
"-r--r--r--"
"-rw-r--r--"
"-r--r--r--"
"-r--r--r--"
"-rw-r--r--"
"-r--r--r--"
"-rw-r--r--"
"-rw-r--r--"
)
runtest()
{
local chip=$1
local regs=("${!2}")
local attrs=("${!3}")
local vals=("${!4}")
local rv
local i
load_i2c_stub ${i2c_addr}
install_regs ${i2c_adapter} ${i2c_addr} regs[@] w
# may be auto-detected
do_instantiate ${chip} ${i2c_addr} 2>/dev/null
getbasedir ${i2c_addr}
cd ${basedir}
sleep 0.1
dotest attrs[@] vals[@]
rv=$?
check_range -b ${basedir} -s 100 -d 75 -r -q temp1_min
rv=$(($? + ${rv}))
check_range -b ${basedir} -s 100 -d 75 -r -q temp1_max
rv=$(($? + ${rv}))
check_range -b ${basedir} -s 500 -d 2000 -r -q temp1_min_hyst
rv=$(($? + ${rv}))
check_range -b ${basedir} -s 500 -d 6000 -r -q update_interval
rv=$(($? + ${rv}))
modprobe -r i2c-stub 2>/dev/null
return ${rv}
}
runtest tmp108 regs_tmp108[@] attrs_tmp108[@] vals_tmp108[@] permissions_tmp108[@]
rv=$?
modprobe -r tmp108
exit ${rv}