New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question on "Finger" events #1

Closed
IoTGirl opened this Issue Oct 28, 2016 · 5 comments

Comments

Projects
None yet
3 participants
@IoTGirl

IoTGirl commented Oct 28, 2016

From and IoT Core Team member: Do I have correct understanding that your firmware does not send HID report for finger up event, only for finger down case ?

As I understand HID touch specification, each change of state must send a report.
I.e. the logic is as below

// byte[1] = state

If finger was up and now is down then
bState=FINGER_DOWN; // 1
Else if finger was down and is down then
bState=FINGER_DOWN_MOVED; // 3
Else
bState=FINGER_UP; // 0

Do you agree ?

@pysco68

This comment has been minimized.

Owner

pysco68 commented Oct 30, 2016

Hello and thank you for the quick reaction to my post on the forum!

Your understanding of the above is correct, however the touch digitizer on the Waveshare display doesn't support "hovering", so I implemented according to the spec for "devices that do not support hovering" as per: https://msdn.microsoft.com/en-us/library/windows/hardware/dn672261(v=vs.85).aspx

But I just saw that I didn't read the full spec, so indeed (seems I missed the tiny (*) paragraph beneath the table ^^"), I must fix the firmware to send a report with the last sent coordinates and TIP = 0.

Do you know if there's some sort of maximal time-frame I have to send that report in?

@pysco68 pysco68 closed this in 197799b Oct 31, 2016

@IoTGirl

This comment has been minimized.

IoTGirl commented Oct 31, 2016

Hi pysco68,

Were you able to fix your firmware? As this issue is now closed I am assuming you no longer need an answer to the question you posed above regarding time frame?

The waveshare screen seems to be very popular so I think your investigation will be very helpful.

Sincerely,
IoTGirl

@pysco68

This comment has been minimized.

Owner

pysco68 commented Oct 31, 2016

Hello IoTGirl,

The firmware is fixed, I'm still waiting for 24h to pass to see if I didn't introduce some bug (device will be powered continuously during that time and I will check on random basis if it is still responding as expected), but for now it's working okay.

In fact the touch response got better than with the original firmware, so I'm pretty pleased with the result.

Regarding my question, I re-read the spec. and it states that the touch up is expected on the report frame following the last "touch down" state, so I assumed that sending the information in the same time-frame than any other report would fit (that's about a 20ms time frame in my firmware)

Thanks for keeping in touch!

@IoTGirl

This comment has been minimized.

IoTGirl commented Oct 31, 2016

Hi pysco68,

Excellent! Better response time is even better news! I have let a few folks know about your alternate firmware and already have one reply:

The waveshare display is pretty much the same as the Eleduino version…also you can burn this to the STM with VisualGDB on a PC, anxious to give it a try…

Hopefully you will get some more feedback soon!

Sincerely,
IoTGirl

@mastertychy

This comment has been minimized.

mastertychy commented Oct 31, 2016

Hello,
I'm glad that someone makes its working with Windows10!
Unfortunatelly i'm not as smart to get rid with compiling whole firmware... i'm just beginner with stm32.
I'm using eclipse on windows and have StLink for programming/debugging.
Can you make and publish /send me already compiled file please (.elf file)?
In the time i'll try to make it compiles in linux cause it's too messy for beginner to edit compiler scripts ;)

@pysco68 pysco68 self-assigned this Nov 1, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment