[Letux-kernel] generic-adc-battery

Belisko Marek marek at goldelico.com
Mon Feb 8 22:41:55 CET 2016


Resending from goldelico email, sorry.

On Mon, Feb 8, 2016 at 10:39 PM, Belisko Marek <marek.belisko at gmail.com> wrote:
> Hi Nikolaus,
>
> On Sat, Feb 6, 2016 at 6:16 PM, H. Nikolaus Schaller <hns at goldelico.com> wrote:
>> Hi Marek,
>>
>> Am 05.02.2016 um 23:02 schrieb Belisko Marek <marek at goldelico.com>:
>>
>>> Hi,
>>>
>>> I did look about converting generic-adc-battery to DT and reuse it
>>> also for our twl4030_madc driver.
>>
>> Great!
>>
>>> What I understand is that this
>>> driver accept in platform_data -> which must be converted to DT,
>>> battery name, type and other parameters.
>>
>> Yes. That also was my cursory impression.
>>
>>> Some properties which we have
>>> in twl4030_madc are missing in generic like temperature, chargenow but
>>> instead there are other which aren't used in twl4030_madc (min_design,
>>> max_design ..).
>>
>> Hm. Do we have temperature? Maybe because our twl-madc can provide.
>>
>>> I did check usage and found that it's used only 2
>>> times for LIPO batteries. Basically conversion is doable but I'm not
>>> sure how community will respond to our enhancements (conversion to DT
>>> should be OK). So question is if we should invest time to this rework?
>>> Formula was valid only for LioN batteries, not sure if something else
>>> exists for LIPO batteries type. Suggestions? Thanks.
>>
>> I think we should "sell" our enhacements as:
>> a) if iio provides temperature, we report (if not there is no property)
>> b) if iio provides current measurement, we report (if not there is no property)
>> c) since there is no platform-data for the voltage -> % function, we provide a simple
>> default function based on the formula. If this is not good enough for a platform,
>> a different one can be supplied by platform-data.
>>
>> And I think for Pavel's calibration we can simply define a "series-resistance"
>> property which is used if the iio reports the current. It is effectively ignored if not.
>>
>> The formula was:
>>
>>>>  def percent(m, v):
>>>>      u = 0.0387-(1.4523*(3.7835-v))
>>>>       if u < 0:
>>>>           return 0
>>
>> next line sounds a little strange because it will retur 19.66% minimum !?!
>>
>>>>         return (0.1966+math.sqrt(u))*100
>>
>>
>> I think we should find the slide show Pavel did mention during discussion.
>> That was a presentation by some LiIon/LiPo specialist.
>>
>> Ah, and I think that Texas Instruments has some fuel gauges which are *not*
>> coulomb counters like the bq27000 but just apply a formula like the one above.
>> But they also measure the series resistance by injecting some 1kHz signal.
>>
>>
>> Anyways, I would simply add two properties:
>>
>> * series-resistance-mOhm: <300>
>> * charge-current-offset-mA: <400>
>>
>> int percent(int mV, int mA) {
>>         s32 u;
>>         mV = mV - 1000*series-resistance-mOhm * mA);
>>         u = 387 - (14523 * (37835 - 10 * mV));
>>         if (u < 0)
>>                 u = 0;
>>         return = (1966+sqrt(u))/100; // adjust factors for correct fixed point scaling...
>> }
>>
>> And apply the charge-current-offset-mA when reporting (and using) charging current.
>> If there is no charge current iio channel, offset is not applied and 0 passed for the mA
>> parameter.
>>
>> And I think by injecting different frequencies they can even measure temperature.
>> This is patented an impossible to do by twl4030-madc but shows the principle.
>>
>> In total I think we have better chances to get anything upstream if we extend
>> the generic-adc-battery for DT and madc instead of continuing to work on and
>> resubmit our twl4030-madc-battery.
> IMO we should first check if such concept will be accepted (it's
> enough to describe by email) to avoid putting effort to it and it will
> remain in drawer. What is your opinion. I'm bit skeptic about that but
> if we get green line from Pavel & Sebastian then we have chance to
> pull it ;). Thanks.
>>
>> BR,
>> Nikolaus
>>
>> _______________________________________________
>> http://projects.goldelico.com/p/gta04-kernel/
>> Letux-kernel mailing list
>> Letux-kernel at openphoenux.org
>> http://lists.goldelico.com/mailman/listinfo.cgi/letux-kernel
>
> BR,
>
> marek
>
> --
> as simple and primitive as possible
> -------------------------------------------------
> Marek Belisko - OPEN-NANDRA
> Freelance Developer
>
> Ruska Nova Ves 219 | Presov, 08005 Slovak Republic
> Tel: +421 915 052 184
> skype: marekwhite
> twitter: #opennandra
> web: http://open-nandra.com


More information about the Letux-kernel mailing list