#!/system/bin/sh
#!/system/bin/busybox sh

BQ27541_PATH="sys/bq27541_debug"
BQ25890_PATH="sys/bq2589x_debug"

timestamp=`date +'%Y-%m-%d-%H-%M-%S'`
storagePath="$EXTERNAL_STORAGE/FiiOLog/battery"
LOG_PATH=$storagePath/battery-$timestamp.log

function set_battery_title()
{
    echo  "DateTime,UnfilteredSOC,Temperature,Voltage,Flags,RemainingCapacity,FullChargeCapacity,AverageCurrent,SafetyStatus,FullChargeCapacityUnfiltered,RemainingCapacityUnflitered,CycleCount,StateofCharge,PassedCharge,DOD0,DODatEOC,Qstart,Input  Current Limit,Enable Charge,Fast Charge Current Limit,Charge Voltage Limit,VBUS,Charge State,Status,Input Voltage Limit,Battery Voltage,SYS Voltage,TS Percentage,VBUS Voltage,Charge Current" >> $LOG_PATH
}

function get_battery_log()
{
    if [ ! -e $storagePath ]; then
        rm -rf $EXTERNAL_STORAGE/BatteryLog
        mkdir -p $storagePath
        set_battery_title
    fi

    local n=100
    DATE=$(date "+%G-%m-%d %H:%M:%S")
    local unfiltered_soc=`cat $BQ27541_PATH/unfiltered_soc`
    local temp=`cat $BQ27541_PATH/temp`
    local voltage=`cat $BQ27541_PATH/voltage`
    local flags=`cat $BQ27541_PATH/flags`
    local remaining_cap=`cat $BQ27541_PATH/remaining_cap`
    local fullcharge_cap=`cat $BQ27541_PATH/fullcharge_cap`
    local average_cur=`cat $BQ27541_PATH/average_cur`
    local fullcharge_cap_filtered=`cat $BQ27541_PATH/fullcharge_cap_filtered`
    local safety_status=`cat $BQ27541_PATH/safety_status`
    local fullcharge_cap_unfiltered=`cat $BQ27541_PATH/fullcharge_cap_unfiltered`
    local remaining_cap_unfiltered=`cat $BQ27541_PATH/remaining_cap_unfiltered`
    local remaining_cap_filtered=`cat $BQ27541_PATH/remaining_cap_filtered`
    local cycle_count=`cat $BQ27541_PATH/cycle_count`
    local state_of_charge=`cat $BQ27541_PATH/state_of_charge`
    local state_of_health=`cat $BQ27541_PATH/state_of_health`
    local passed_charge=`cat $BQ27541_PATH/passed_charge`
    local dod0=`cat $BQ27541_PATH/dod0`
    local pack_config=`cat $BQ27541_PATH/pack_config`
    local dodat_eoc=`cat $BQ27541_PATH/dodat_eoc`
    local q_start=`cat $BQ27541_PATH/q_start`

    local input_cur_limit=`cat $BQ25890_PATH/input_cur_limit`
    local en_charge=`cat $BQ25890_PATH/en_charge`
    local fast_charge_cur_limit=`cat $BQ25890_PATH/fast_charge_cur_limit`
    local charge_vol_limit=`cat $BQ25890_PATH/charge_vol_limit`
    local vbus=`cat $BQ25890_PATH/vbus`
    local charge_state=`cat $BQ25890_PATH/charge_state`
    local reg_0c=`cat $BQ25890_PATH/reg_0c`
    local input_vol_limit=`cat $BQ25890_PATH/input_vol_limit`
    local battery_vol=`cat $BQ25890_PATH/battery_vol`
    local sys_voltage=`cat $BQ25890_PATH/sys_voltage`
    local ts_percentage=`cat $BQ25890_PATH/ts_percentage`
    local vbus_vol=`cat $BQ25890_PATH/vbus_vol`
    local charge_limit=`cat $BQ25890_PATH/charge_limit`

    echo "$DATE,$unfiltered_soc,$temp,$voltage,$flags,$remaining_cap,$fullcharge_cap,$average_cur,$safety_status,$fullcharge_cap_unfiltered,$remaining_cap_unfiltered,$cycle_count,$state_of_charge,$passed_charge,$dod0,$dodat_eoc,$q_start,$input_cur_limit,$en_charge,$fast_charge_cur_limit,$charge_vol_limit,$vbus,$charge_state,$reg_0c,$input_vol_limit,$battery_vol,$sys_voltage,$ts_percentage,$vbus_vol,$charge_limit"  >> $LOG_PATH
}

#for ( ; ; )
#do

while [ "1" = "1" ]
do
    get_battery_log
    #echo "\n" >> $DATA_PATH
    sleep 10
done
#done
