Example #1
0
kal_bool is_low_battery(kal_uint32 val)
{
    #ifdef MTK_BQ24196_SUPPORT
    kal_uint32 bq24196_chrg_status;
    
    if(0 == val)
        val = get_i_sense_volt(5);
    #endif
    
    if (val < BATTERY_LOWVOL_THRESOLD)
    {
        dprintf(INFO, "%s, TRUE\n", __FUNCTION__);
        return KAL_TRUE;
    }
    else
    {
        #ifdef MTK_BQ24196_SUPPORT
        bq24196_chrg_status = bq24196_get_chrg_stat();
        dprintf(INFO, "bq24196_chrg_status = %d\n", bq24196_chrg_status);
    
        if(bq24196_chrg_status == 0x1) //Pre-charge
        {
            dprintf(INFO, "%s, battery protect TRUE\n", __FUNCTION__);
            return KAL_TRUE;
        }  
        #endif
    }
    
    dprintf(INFO, "%s, FALSE\n", __FUNCTION__);
    return KAL_FALSE;
}
static kal_uint32 charging_get_charging_status(void *data)
{
	kal_uint32 status = STATUS_OK;
	kal_uint32 ret_val;

	ret_val = bq24196_get_chrg_stat();

	if(ret_val == 0x3)
		*(kal_uint32 *)data = KAL_TRUE;
	else
		*(kal_uint32 *)data = KAL_FALSE;

	return status;
}