On Thursday 20 October 2016 09:44 PM, Paweł Jarosz wrote:
W dniu 20.10.2016 o 17:49, Laxman Dewangan pisze:
On Thursday 20 October 2016 08:26 PM, Paweł Jarosz wrote:
W dniu 20.10.2016 o 14:40, Laxman Dewangan pisze:
On Wednesday 19 October 2016 01:01 AM, Paweł Jarosz wrote:
In current version of the driver there is error in temperature
calculation.
So lets fix it using proper linear function.
Signed-off-by: Paweł Jarosz <paweljarosz3691@xxxxxxxxx>
Per my calculation, existing and your equation is same as both are
doing linear interpolation.
Only think I have seen is that I have used 1000 for two consecutive
temp difference and you used (t2 - t1), so your is better in this
case but still the equation is same.
The equation from you is
t1 + (hi -val) * factor.
and existing one is
t2 - (val -lo) * factor
factor is abs((t2-t1)/(hi-lo))
If my analysis is not correct then can you please provide the
example with calculation for better understansing?
Hi
For example if we try to calculate temp for val = 8, i = 1 and table:
<0 9
2 7>
adc_hi = gti->lookup_table[2 * i - 1];
adc_lo = gti->lookup_table[2 * i + 1];
temp = gti->lookup_table[2 * i];
temp -= ((val - adc_lo) * 1000) / (adc_hi - adc_lo);
Your method gives temp = -498
The temp should be in the milli-centigrade in the table so it should be
<0 9
2000 7>;
and if you relplace 1000 with the t2 -t1 where
t1 = gti->lookup_table[2*i -2]
t2 = gti->lookup_table[2 *i]
then it will work perfectly.
So your change for replacing 1000 is correct as what I said but need
not to change whole equation altogether.
Sorry for that ... when i was writing this i wasn't using your
equation, but writing from scratch.
I can send new patch with corrections or leave it as it is. Your call.
Yes please send patch to replace the 1000 with the temp1 - temp2 as what
you did in your original patch.
This will fix the non-sequenced (un-equally spaced) temperature table.
-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information. Any unauthorized review, use, disclosure or distribution
is prohibited. If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------
--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html