#!/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