-
Notifications
You must be signed in to change notification settings - Fork 271
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
Change init for KeDei 3.5" 480x320 V6.3 2018/4/9 #76
base: master
Are you sure you want to change the base?
Conversation
Thanks for the PR, much appreciated. I'll keep this around for a bit before landing, until I find a spot to be able to test this against the KeDei display I have. The original code was implemented via reverse engineering to be bit to bit compatible with the protocol that original driver was sending, so needs a bit of testing to verify if the new code works for both my and your displays, or if there will be a need to have two init sequence options. |
… while screen is updating
…sets from touch screen
…be enabled after aquisition by some delay. Need to find suitable delay.
juj: i believe this is now in good state. wanna give it a try on your device? check if i have broken any other touch screen variants? |
Very impressive work! Unfortunately due to logistics reasons I don't currently have access to any of my Pis to test. Saw you comment on the other issue thread, I hope there are some people there who find interest to try it out. |
Hi @kpishere, I'm trying to build your fork on my rpi for a touchscreen based on Waveshare 3.5" 480x320 ILI9486 display (-DWAVESHARE35B_ILI9486=ON). Unfortunately the build is broken:
At the moment I'm going to fork your repo and trying to add touch support to my display variant since it has the same touch controller as your screen. |
I've made some changes in my fork https://github.com/neuromancer85/fbcp-ili9341/tree/ili9486_touch_support. |
@neuromancer85 yeah, touch sensing is only active right now when the display is being updated. this is no good for gui displays that mostly are still. I'm trying to find the the spot where the program sleeps .. you'd think it is not that hard but I'm really having an issue with it. My build parameters are cmake -DSPI_BUS_CLOCK_DIVISOR=12 -DKEDEI_V63_MPI3501=ON -DDISPLAY_ROTATE_180_DEGREES=ON -DSTATISTICS=0 .. for my display. I have a timer that polls the touch display driver and this works OK, but I need to activate/deactivate the timer at the correct points so that it does not interfere when the display is being written to. I'll check in what I have and maybe you can look too? Currently, I've got a bunch of printf() statements in it to just get sense of where it is. |
Actually ... resorting to good'ol 'strace'. .. yielded some clues .. there is a non-blocking read somewhere that it is in ... read(5, "52926\n", 21) = 6 |
@juj I'm throwing in the towel on this one. I can't slow down the binary drivers provided by Kedei, my scope isn't fast enough (200Mhz) to get a clear profile of the signals and my sampling depth is small. Unless somebody else can provide a sampling with a signal analyzer from a driver that actually turns off the backlight, I'm done with this. I'm simply going to leave display on all the time and black-out the display during inactive times -- it will be on all the time. Clearly no good for battery applications but oh well, moving on with my project. It has been fun getting into the nitty gritty of displays ... once you learn one, the others are all very similar in this small-display space. |
Neat work on this one! I hope people find it useful. There is unfortunately trouble to merge this, because the code has an incompatible LGPL license (https://github.com/juj/fbcp-ili9341/pull/76/files#diff-cef9e6445e53afd359ed1bcfe1ad3cddR10). Absolutely great to have this project for people who need touch as well, and do not have any limitations on choosing a license. |
Hmm. Good point @juj I'll ask Markus what he thinks. ref: Links2004/XPT2046#3 |
Hi, looks like a interesting project you are running here. I changed the license and created a PR: |
Update licence to MIT
* missing ignore for tcTest added * library changed to use EGL and GLESv2 from libraspberrypi0 package.
* make - builds the kernel module * make install - installs the kernel module * make uninstall - uninstalls the kernel module * make start - loads the module * make stop - stops fbcp-ili9341 process and unloads the module * make status - shows module info and if loaded in kernel * make debug - generates disassembly output for debugging * make clean - remove all files generates by this Makefile
The clean-rule in the makefile tried to create the object files before removing them. Additionally tcTest was not handled correct in clean-rule.
some cosmetic changes for the util part:
full fletched Makefile for kernel with features:
The complex part is that on one side a linux module should be created with dkms. On the other sider there is a binary which needs to be compiled on package install because it depends on the installed hardware. For compilation the user has to provide some additional information, which is fetched via config-package questions and answers. Besides this some small test and calibration binaries are created during the package build process. Could only test this with my single hardware (KeDei) and hope that it works similar with the other types of displays/touchscreens.
A first try to configure the repo for building a debian package.
@kpishere looks like there are conflicts ? |
Hello, thank you a lot for all your contribution. I'm currently trying to run this pull request but got errors when And it fails..
Can someone help me out. I really would like to add touch feature! |
@tousisat have you had any luck, I am trying to get it to work on the same stuff as you. |
Unfortunaletly not, I ended up using the fbcp without touch :/ |
Hi Y'all, just an FYI, I 'trick' for getting around no activity in display and having responsiveness in the screen is to show a cursor in the application level. Hence, you're doing screen updates as you touch. @juj suggested sending a no-op command to display but that would interfere with optimization that he has worked so hard on. I think I have a demo app in my branch that does this. If you're wondering why demo works and your app does not, this would by why. Need to draw the cursor in the application layer logic. |
Will this be rebased any time soon? |
Messed up the last one and caused it to close. Oops.
This is same as prior one.
#71