Giter Site home page Giter Site logo

pysco68 / waveshare-hid Goto Github PK

View Code? Open in Web Editor NEW
41.0 41.0 17.0 2.4 MB

An open source firmware for the Waveshare 7 inch capacitive touch display

License: GNU General Public License v3.0

Makefile 1.34% TeX 0.93% HTML 0.05% C 91.50% C++ 2.42% Objective-C 0.58% Assembly 0.09% Perl 2.42% Python 0.59% Awk 0.04% Shell 0.03%

waveshare-hid's People

Contributors

pysco68 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

waveshare-hid's Issues

Question on "Finger" events

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 ?

waveshare-5inch HDMI LCD (B)-Resistive touchscreen for win10

Hi thank for your program, I have buy a 5 inch Resistive touchscreen at waveshare

But the 5 inch also have the same problem as the 7inch captive LCD
http://www.waveshare.com/product/modules/oleds-lcds/raspberry-pi-lcd/5inch-hdmi-lcd-b.htm

I think the 5 inch HDMI LCD (B) have the Similar principles with 7 inch captive LCD

But the 5 inch use stm32 connecting with xtp2046 Not like captive LCD using I2C

Can you give a program about 5 inch HDMI LCD (B) for win10??

STM32-Compatibility: Hanging at I2C

Hey,

I tried to get this running on my display, but I'm seeing a little problem...

My display seems to be identical to yours but has an original STM32 controller instead of the GD32 controller, I replaced everything that seemed to be controller-specific and I got the code to run, but it seems to hang at the following piece of code:

    /* Waiting for address is transferred. */
    while (!(I2C_SR1(I2C2) & I2C_SR1_ADDR));    

If I disable the gt811 code completely I'm seeing a usb device, so it seems to be running fine except for I2C communication.

After attaching a logic analyzer I can see that it transfers the first I2C packet but stops afterwards, SDA and SCL never seem to change state again, clearing flags and removing the while loop doesn't seem to work either, at the next transmit it just hangs.

I don't have much hope, but do you by any chance have an idea of what may be going wrong? I tried searching for this problem online but I didn't really find much useful information...

Waveshare LCD(C) support

Waveshare LCD(C)- which has a 1024x600 LCD- works fine with current firmware. All touch events were registered in proper places.
Tested:
-RPi 2: Raspbian, OpenElec
-PC: Windows 10 x64, WIndows 7 x86, Debian Stretch

Touchscreen hardware seems not suited for using higher resolution. After modifying resolution from 800x480 to 1024x600 (for both touch IC initialization and USB descriptor):
-hardware starts and is properly enumerated on the host side
-Y-axis: physical touch on the bottom of the touchscreen is registered by all systems as a touch on the top of the screen, most visible when sliding the touch down
-X-axis- seems to work fine but I didn't test it as much as Y-axis

Once more thank you for your work

Add binary release

NOTE: Issue submitted by @mastertychy on issue no. 1 / moved here as separate topic

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 ;)

A false event, when long pressing the button.

Windows10IoT ver.14393.576; Rasberry Pi3; 7inch HDMI LCD (C) 1024x600.

On the screen placed 6 buttons. If you press and hold the center button for example, it leads to a chaotic flickering of all the buttons.
Sometimes the triggering events are “Tapped” buttons which are located nearby.

The effect is amplified if you increase the area of contact, such as tapping with two fingers.

Setting touch sensitivity possible?

Hi,

Great work in reverse-engineering the driver!

To allow retrofitting the screen behind a 2mm-thick plastic protection, would it be possible to modify the threshold or gain of the capacitive sensing so that touch sensing works?

In gt811.c there may be hints in the GT811 configuration setup:

// [53] The screen key threshold
0x50,
    
// [54] Screen loose threshold
0x30,

Has anybody ever tried changing these values?

Best regards,
Christian

Touch to screen without USB connection cause firmware failure.

If im touch to screen on power on time, i get descriptor failure in OS and i need to reconnect display to USB (or reset controller )onesmore.
Im simulate this trouble on gdb session, connect display to standalone power source and start gdb

GNU gdb (7.10-1ubuntu3+9) 7.10
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=x86_64-linux-gnu --target=arm-none-eabi".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/.
Find the GDB manual and other documentation resources online at:
http://www.gnu.org/software/gdb/documentation/.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from main.elf...done.
(gdb) target extended-remote /dev/ttyACM0
Remote debugging using /dev/ttyACM0
(gdb) monitor swdp_scan
Target voltage: unknown
Available Targets:
No. Att Driver
1 STM32F1 medium density
(gdb) att 1
Attaching to program: /home/madmax/stm32/waveshare-hid/src/main.elf, Remote target
0x08001bbe in st_usbfs_poll (dev=0x20000180 <st_usbfs_dev>) at ../common/st_usbfs_core.c:258
258 if (istr & USB_ISTR_WKUP) {
(gdb) load
Loading section .text, size 0x1dc8 lma 0x8000000
Loading section .data, size 0x80 lma 0x8001dc8
Start address 0x80015a4, load size 7752
Transfer rate: 7 KB/sec, 861 bytes/write.
(gdb) run
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /home/madmax/stm32/waveshare-hid/src/main.elf

Program received signal SIGSEGV, Segmentation fault.
0x08001562 in st_usbfs_copy_to_pm (vPM=, buf=, len=5, len@entry=11) at ../st_usbfs_v1.c:61
61 for (len = (len + 1) >> 1; len; len--) {
(gdb) run
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /home/madmax/stm32/waveshare-hid/src/main.elf


In this time im touch to screen one time and wuola.... Segmentation fault.


Program received signal SIGSEGV, Segmentation fault.
0x08001562 in st_usbfs_copy_to_pm (vPM=, buf=, len=5, len@entry=11) at ../st_usbfs_v1.c:61
61 for (len = (len + 1) >> 1; len; len--) {
(gdb)


In active USB coonection case touch screen work nice.

cant program stm32f1xx

hi
in this step
target extended-remote /dev/ttyACM1
error is: the device disconnected
can you help me to solve that ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.