On Fri, Jul 08, 2016 at 07:36:45AM -0700, jeffrey.lin wrote:
> >This is not offset, this is size, or length, of CRC.
> I'll change namming as RM_CONTACT_CRC_SIZE
>
> >> @@ -798,33 +803,54 @@ static void raydium_mt_event(struct raydium_data *ts)
> >> input_mt_slot(ts->input, i);
> >> input_mt_report_slot_state(ts->input, MT_TOOL_FINGER, state);
> >>
> >> - if (!state)
> >> - continue;
> >> -
> >> - input_report_abs(ts->input, ABS_MT_POSITION_X,
> >> + if (state == 0x01) {
>
> >Why we need this change? How is it related to CRC? Do you intent to
> >report contact as active but not emit any position data of state is
> >neither 0 nor 1?
> This is no relationship with CRC, just want to make sure report points as
> state equal to 1.
If active contact only reported when state is 0x01 you need to update
the statements above like this:
input_mt_report_slot_state(ts->input, MT_TOOL_FINGER,
state == 0x01);
if (state != 0x01)
continue;
but I am surprised that your firmware would report anything but 0 for
inactive contact.
Could you document all possible state values?
Thanks.
--
Dmitry