Re: [PATCH] Input: Add I2C attached EETI EXC3000 multi touch driver
From: DISTEC Inan, Ahmet <hidden>
Date: 2017-09-22 12:48:54
Dear Dmitry,
quoted
It is important not to rely on the i2c_master_recv return value: Ignoring failed transfers sometimes causes hanging touch events, as the controller thinks that the transfer succeeded and won't resend the event.This statement worries me, because you are basically end up reporting garbage. Does the controller sends all active contacts in each frame, or only changed ones? You can use INPUT_MT_DROP_UNUSED to let input core automatically drop contacts that were not reported within the last frame. And fire up a timer to release everything if last transfer errors out.
Thank you for the suggestions. I indeed felt uncomfortable about ignoring the return value of i2c_master_recv() but INPUT_MT_DROP_UNUSED helped and now it works awesome!
quoted
+ input_set_abs_params(input, ABS_X, 0, 4096, 0, 0); + input_set_abs_params(input, ABS_Y, 0, 4096, 0, 0); + input_set_abs_params(input, ABS_MT_POSITION_X, 0, 4096, 0, 0); + input_set_abs_params(input, ABS_MT_POSITION_Y, 0, 4096, 0, 0);touchscreen_parse_properties() ?
Need do wrap my head around this. I've send you a new patch with all (but this one) suggested improvements. I will send send you a follow-up patch with touchscreen_parse_properties() if you're OK with the current patch and want to merge it. Best Regards, Ahmet