Exemplo n.º 1
0
static int adc_get_ocv(struct i2c_client *client)
{
	struct sec_fuelgauge_info *fuelgauge =
				i2c_get_clientdata(client);
	int voltage_ocv;

	voltage_ocv = (int)adc_calculate_average(fuelgauge,
		ADC_CHANNEL_VOLTAGE_OCV, fuelgauge->info.voltage_avg);

	return voltage_ocv;
}
Exemplo n.º 2
0
static int adc_get_avg_vcell(struct i2c_client *client)
{
	struct sec_fuelgauge_info *fuelgauge =
				i2c_get_clientdata(client);
	int voltage_avg;

	voltage_avg = (int)adc_calculate_average(fuelgauge,
		ADC_CHANNEL_VOLTAGE_AVG, fuelgauge->info.voltage_now);

	return voltage_avg;
}
Exemplo n.º 3
0
static int adc_get_ocv(struct i2c_client *client)
{
	struct sec_fuelgauge_info *fuelgauge =
				i2c_get_clientdata(client);
	int voltage_ocv;

	voltage_ocv = (int)adc_calculate_average(fuelgauge,
		ADC_CHANNEL_VOLTAGE_OCV, fuelgauge->info.voltage_avg);

#if defined(DEBUG)
	{
		int i;
		printk("%s : ", __func__);
		for(i=0;i<ADC_HISTORY_SIZE;i++)
			printk("%d, ", fuelgauge->info.
				adc_sample[ADC_CHANNEL_VOLTAGE_OCV].adc_arr[i]);
		printk("\n");
	}
#endif

	return voltage_ocv;
}
Exemplo n.º 4
0
static void adc_reset_voltage_ocv(struct i2c_client *client, int voltage_avg)
{
	struct sec_fuelgauge_info *fuelgauge =
				i2c_get_clientdata(client);
	int i;

	for (i = 0; i < ADC_HISTORY_SIZE; i++)
		adc_calculate_average(fuelgauge,
			ADC_CHANNEL_VOLTAGE_OCV, voltage_avg);
#if defined(DEBUG)
	{
		int k;
		printk("%s : ", __func__);
		for(k=0;k<ADC_HISTORY_SIZE;k++)
			printk("%d, ", fuelgauge->info.
				adc_sample[ADC_CHANNEL_VOLTAGE_OCV].adc_arr[k]);
		printk("\n");
	}
#endif

	dev_dbg(&client->dev, "%s: reset open circuit voltage as %dmV\n",
		__func__, voltage_avg);
}
Exemplo n.º 5
0
static void adc_reset_voltage_avg(
	struct i2c_client *client, int voltage_now, int percentage)
{
	struct sec_fuelgauge_info *fuelgauge =
				i2c_get_clientdata(client);
	int i;

	for (i = 0; i < (ADC_HISTORY_SIZE * percentage / 100); i++)
		adc_calculate_average(fuelgauge,
			ADC_CHANNEL_VOLTAGE_AVG, voltage_now);
#if defined(DEBUG)
	{
		int k;
		printk("%s : ", __func__);
		for(k=0;k<ADC_HISTORY_SIZE;k++)
			printk("%d, ", fuelgauge->info.
				adc_sample[ADC_CHANNEL_VOLTAGE_AVG].adc_arr[k]);
		printk("\n");
	}
#endif

	dev_dbg(&client->dev, "%s: reset average voltage as %dmV (%d%%)\n",
		__func__, voltage_now, percentage);
}