#!/bin/sh
#############################################################
path="${0%/*}"
. "$path/inc/gwhw.inc"
. "$path/inc/dali.inc"

needRoot
daliI2COK

usage() {
	die 'gwhw dali status [dali-(tx/rx)/i2c-(tx/rx)/temp]'
}

OPT="${1}"
shift

OPT="$(echo "$OPT" | tr '[:upper:]' '[:lower:]')"
#############################################################

i2c_RX="$(i2cReadInt 0x20)"
i2c_TX="$(i2cReadInt 0x24)"
dali_RX="$(i2cReadInt 0x28)"
dali_TX="$(i2cReadInt 0x2c)"
temp="$(awk "BEGIN {v=$(i2cReadWord 0x30); if(and(v,0x8000)){v=v-0x10000}; print v/100}")"

case "${OPT}" in
	dali-rx) echo "$((dali_RX))"
	;;
	dali-tx) echo "$((dali_TX))"
	;;
	dali*)
		printf "%-8s: %12s bytes\n" "DALI RX" "$((dali_RX))"
		printf "%-8s: %12s bytes\n" "DALI TX" "$((dali_TX))"
	;;
	i2c-rx) echo "$((i2c_RX))"
	;;
	i2c-tx) echo "$((i2c_TX))"
	;;
	i2c*)
		printf "%-8s: %12s bytes\n" "I2C RX"  "$((i2c_RX))"
		printf "%-8s: %12s bytes\n" "I2C TX"  "$((i2c_TX))"
	;;
	temp)  echo "${temp}"
	;;
	*)
		printf "%-8s: %12s bytes\n" "I2C RX"  "$((i2c_RX))"
		printf "%-8s: %12s bytes\n" "I2C TX"  "$((i2c_TX))"
		printf "%-8s: %12s bytes\n" "DALI RX" "$((dali_RX))"
		printf "%-8s: %12s bytes\n" "DALI TX" "$((dali_TX))"
		printf "%-8s: %12s C\n" "temp" "${temp}"
	;;
esac
