|
|
@ -2,5 +2,16 @@ |
|
|
|
|
|
|
|
response=`i2cget -y 1 0x18 0x05 w` |
|
|
|
upper_byte=$(($response & 0x00FF)) |
|
|
|
echo $response |
|
|
|
echo $upper_byte |
|
|
|
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 |
|
|
|