Exemplo n.º 1
0
static NvBool tegra_battery_data(NvOdmBatteryInstance NvBatteryInst)
{
	NvOdmBatteryData data = {0};
	NvBool RetValue = NV_FALSE;

	if (NvOdmBatteryGetBatteryData(batt_dev->hOdmBattDev,
		NvBatteryInst, &data))
		RetValue = NV_TRUE;

	tegra_battery_convert(&data);

	if (NvBatteryInst == NvOdmBatteryInst_Main) {
		batt_dev->voltage = data.BatteryVoltage;
		batt_dev->current_ma = data.BatteryCurrent;
		batt_dev->current_avg  = data.BatteryAverageCurrent;
		batt_dev->temp = data.BatteryTemperature;
		batt_dev->percent_remain = data.BatteryLifePercent;
		batt_dev->lifetime = data.BatteryLifeTime;
		batt_dev->consumed = data.BatteryMahConsumed;
		batt_dev->capacity = data.BatteryLastChargeFullCapacity;
		batt_dev->capacity_crit = data.BatteryCriticalCapacity;
		batt_dev->capacity_remain = data.BatteryRemainingCapacity;
	}

	return RetValue;
}
Exemplo n.º 2
0
static int tegra_battery_data(NvRmPmuBatteryInstance NvBatteryInst)
{
	NvRmPmuBatteryData pPmuData = {0};

	if (!NvRmPmuGetBatteryData(s_hRmGlobal, NvBatteryInst, &pPmuData))
		return -1;

	if (NvBatteryInst == NvRmPmuBatteryInst_Main) {
		tegra_battery_convert(&pPmuData);
		batt_dev->batt_vol = pPmuData.batteryVoltage;
		batt_dev->batt_vol *= 1000; // Convert volt to mV
		batt_dev->batt_current = pPmuData.batteryCurrent;
		batt_dev->batt_temp = pPmuData.batteryTemperature;
		batt_dev->batt_temp *= 10;  // FIXME : Why is this here?
		batt_dev->BatteryLifePercent = pPmuData.batteryLifePercent;
		batt_dev->BatteryLifeTime = pPmuData.batteryLifeTime;
		batt_dev->BatteryMahConsumed = pPmuData.batteryMahConsumed;
	}

	return 0;
}