blob: db478e7577f0a9c8b5fc71223ae8eed3037bc242 (
plain)
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
|
#!/bin/sh
# DS2482-100 Single Channel 1-Wire Master
CONFIG=0xf0
if [ "${1}" = overdrive ]; then
CONFIG=0x78
fi
vusb-i2cset 0x18 0xf0 || echo "Failed to reset chip"
vusb-i2cset 0x18 0xd2 $CONFIG || echo "Failed to set config"
vusb-i2cset 0x18 0xb4 || echo "Failed to initiate presence detection (OWR)"
ret=$(( $(vusb-i2cget 0x18 0xe1 0xf0) & 0x02 ))
if [ "${ret}" = 0 ]; then
echo "No presence detected"
exit 1
fi
vusb-i2cset 0x18 0xa5 0xf0 || echo "failed to issue SEARCH ROM"
reply=
for i in $(seq 1 8); do
byte=0
for j in $(seq 0 7); do
vusb-i2cset 0x18 0x78 0x00 || echo "failed to send triplet"
bit=$(vusb-i2cget 0x18 0xe1 0xf0)
if [ "${bit}" -ge 80 ]; then
byte=$((byte | (1 << j)))
fi
echo -n .
done
reply="$(printf '%02X' "${byte}")${reply}"
echo -n +
done
echo "\n${reply}"
|