#!/bin/bash
#
# nixpunk 
# 2010
#
# Prints useful Thinkpad smapi information or exits if tp_smapi not loaded
#

# make sure tp_smapi loaded 
if [[ ! -d /sys/devices/platform/smapi ]]; then
	echo "tp_smapi module not loaded (or system not a Thinkpad?)"
	exit
fi

AC_CONNECTED=$(cat /sys/devices/platform/smapi/ac_connected)
BAT0_MANUFACTURER=$(cat /sys/devices/platform/smapi/BAT0/manufacturer)
BAT0_MODEL=$(cat /sys/devices/platform/smapi/BAT0/model)
BAT0_START_THRESH=$(cat /sys/devices/platform/smapi/BAT0/start_charge_thresh)
BAT0_STOP_THRESH=$(cat /sys/devices/platform/smapi/BAT0/stop_charge_thresh)
BAT0_REMAINING_PERCENT=$(cat /sys/devices/platform/smapi/BAT0/remaining_percent)
BAT0_CURRENT_STATE=$(cat /sys/devices/platform/smapi/BAT0/state)
BAT0_TEMP=$(cat /sys/devices/platform/smapi/BAT0/temperature) 

# check and print AC status info
if [[ $AC_CONNECTED == 1 ]]; then
	echo AC status: connected
else
	echo AC status: not connected
fi

echo
echo Hostname: $(hostname)
echo Kernel: $(uname -vmr)
echo

# print BAT0 info
echo BAT0 Information:
echo - Manufacturer: $BAT0_MANUFACTURER
echo - Model: $BAT0_MODEL
echo - Start charge thresh: $BAT0_START_THRESH%
echo - Stop charge thresh: $BAT0_STOP_THRESH%
echo - Remaining battery: $BAT0_REMAINING_PERCENT%
echo - Current charging state: $BAT0_CURRENT_STATE

# calculate and print BAT0 temp info
echo - Bat0 temperature: $(echo "$BAT0_TEMP * 0.001" | bc)$'\xc2\xb0'C


