#!/bin/sh I2CBUS=0 I2CADDR=0x48 if [ "$1" == "" ] then pin=0 else pin=$1 fi case "$pin" in "0") CFG="0xc583" ;; "1") CFG="0xc593" ;; "2") CFG="0xc5a3" ;; "3") CFG="0xc5b3" ;; *) echo "Bad pin number $pin, must be 0..3" ; exit 1 ;; esac i2cset -y 0 0x48 1 $CFG w RES=`i2cget -y 0 0x48 1 w` until [ "$RES" = "$CFG" ] ; do RES=`i2cget -y 0 0x48 1 w` done X=`i2cget -y 0 0x48 0 w` XX="0x0`echo $X | cut -c 5-6``echo $X | cut -c 3`" VIND=$(( ( $XX + 32768 / 40960 ) * 20480 / 32768 )) VIN=$(( $VIND / 10 )) VINF=$(( $VIND - $VIN * 10 )) printf "VIN$pin (mv) %d.%01d\n" $VIN $VINF