You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
18 lines
444 B
18 lines
444 B
2 years ago
|
#!/bin/bash
|
||
|
|
||
2 years ago
|
response=`i2cget -y 1 0x18 0x05 w`
|
||
|
upper_byte=$(($response & 0x00FF))
|
||
|
lower_byte=$(($response & 0xFF00))
|
||
|
let "sign=0"
|
||
|
# test the sign
|
||
|
if [ $(($upper_byte & 0x10)) = 0x10 ]
|
||
|
then
|
||
|
upper_byte=$(($upper_byte & 0x0F))
|
||
|
let "temperature = 256 - (upper_byte * 16 + lower_byte / 4096)"
|
||
|
else
|
||
|
upper_byte=$((upper_byte & 0x0F))
|
||
|
let "temperature = ($upper_byte*100 * 16 + $lower_byte*100 / 4096)"
|
||
|
fi
|
||
|
printf %.2f "$(($temperature))e-2"
|
||
|
echo
|