Hello gals and guys,I've just received a few Terasic LT24 touchscreen daughter boards that I intend to use on DE0-Nano and DE1-SoC boards. Problem is, Terasic's design and software support CD is worse than worthless. Documentation is sparse, code is undocumented, and the so-called "LT24 controller IP" provided by Terasic is incomplete (it requires a PIO to control the LCD's reset separately, for example, and of course that's not explained anywhere). The demo won't even compile on recent versions of Quartus, throwing over 100 synthesis errors. I don't get the feeling Terasic will give the LT24 a lot of love and I like reverse-engineering other people's half-arsed projects as much as the next consultant but it looks like I have no choice, as Google hasn't been any help. Before I get started cleaning up Terasic's act I wanted to know if anyone here is using the LT24, so we can avoid duplicating efforts. Also give a shout-out if you're interested in the LT24. Good day from France, y'all !!! Nefastor, banging bits with hammers and stuff since 1990. cncexpert.wordpress.com
Well everyone, I didn't wait for your answer and went ahead. It's possible to recover from the Terasic demo code what is needed to initialize the LCD, display pixels anywhere in any color, as well as the bitmaps for a number of character fonts.Terasic's functions for drawing geometry and printing strings are hugely inefficient, obviously lifted from a more generic library intended for more powerful processors. If you're proficient in C and bit manipulation, however, it's not very difficult to do your own "printf". If you need help, reply to this post.
--- Quote Start --- Well everyone, I didn't wait for your answer and went ahead. It's possible to recover from the Terasic demo code what is needed to initialize the LCD, display pixels anywhere in any color, as well as the bitmaps for a number of character fonts. Terasic's functions for drawing geometry and printing strings are hugely inefficient, obviously lifted from a more generic library intended for more powerful processors. If you're proficient in C and bit manipulation, however, it's not very difficult to do your own "printf". If you need help, reply to this post. --- Quote End --- I, too, have found the documentation to be lacking. I am trying to drive my LT24 with a DE2-70 board or my DE0-NANO without using the NIOS processor. I have been playing with the signals and timing and have got something to happen using a state machine. But so far only greyscale will show on the screen. Trying to figure out if I have to establish a color LUT using the COLOR SET command (0x2D). I have an E-mail in to Ilitek (the control chip people) and will let you know if I hear anything back. Anything you can share re: commands and timing would be helpful. Regards, Geof
--- Quote Start --- Well everyone, I didn't wait for your answer and went ahead. It's possible to recover from the Terasic demo code what is needed to initialize the LCD, display pixels anywhere in any color, as well as the bitmaps for a number of character fonts. Terasic's functions for drawing geometry and printing strings are hugely inefficient, obviously lifted from a more generic library intended for more powerful processors. If you're proficient in C and bit manipulation, however, it's not very difficult to do your own "printf". If you need help, reply to this post. --- Quote End --- Hi Nefastor, I recently received some LT24 cards to use along with DE0 Nano boards. Indeed, the proposed demonstration doesn't work. Several questioning warning are raised at the compilation and the LCD screen stays white after programming. If you dispose of a baseline quartus project working the painter or whatever demo and willing to share it, I would gladly have a look at it. Thanks in advance for that or any indications
Hi, what up?last words in lt24_user_manual.pdf (http://www.terasic.com.tw/cgi-bin/page/archive.pl?language=english&categoryno=65&no=892&partno=4): We will continue to provide examples and lab exercises on our LT24 webpage... I don't get the connection from the painter demo to my own ideas. I would like to see more examples! Nefastor - if you have any example i would appreciate if you shared it :) At least I got the painter demo from the system cd (http://www.terasic.com.tw/cgi-bin/page/archive.pl?language=english&categoryno=65&no=892&partno=4) to work! I had some issues, too. But I could use the Flash Programmer to programm the demo to the board after I used a shorter USB-cable. I think the board did not receive enough current, before. But I had a lot of error messages, too. Don't know why they disappeared! There is a thread about using Quartus with administrator rights on Win 7. I can't say if this really matters... Now it seems to work :) I hate it when software tells me what to do! (Or says no or error!) I was told that it is a tool to make life easier! How is 'printf' used on the display? In the ...SOPC.html the adresses can be found. But how can I write something to the display? I would love to get more information about how to use the display with Nios!!!
Hello DubFX and Gygill. Sorry I didn't come back to this thread but for some reason the forum never notified me there had been replies to my post. Way to go Altera... forums that are just as bugged as Quartus and Eclipse, that's what I call pushing internal consistency a bit too far :-)Gygill : I don't think it's a good idea to try and control the LT24 without an MCU : the initialization sequence and its timing are relatively complex, and so is the addressing scheme for the pixels unless you want to implement some sort of frame buffer. Meanwhile, a simple NIOS-II/e core that'll take less than 10% of your DE0-Nano's FPGA and about 8 KB of internal SRAM are all that's really necessary to control the LT24. And once you have a NIOS in your FPGA, you can always find something else for it to do. If you really need to drive a graphic display using "regular" logic, then you should really spend time finding the a display with a controller chip that's easy to program. I don't examples, I really just plop in an MCU any time I need to drive a display, it just makes sense. DubFX : the "painter" demonstration really works. Be careful however to connect the LT24 on the correct GPIO connector, as it only supports one (GPIO1, IIRC). To run the demo make sure you follow the instructions from Terasic to the letter : trying to synthesize and compile the code on your own will not work, I think that's what you must have tried to do. To anyone interested : the Terasic demo project includes an LT24 controller IP block for Qsys that you can install and use in your projects. This controller is, however, a bit half-assed : it doesn't generate a reset signal so you'll also need to instantiate a PIO to drive the LT24's reset. In terms of performance, I've tested it at up to 130 MHz on the DE0-Nano (NIOS-II/f core + internal SRAM). The character fonts can be lifted from the demo code, but I suggest you write your own routines to display them : while the Terasic functions have a good API, their implementation is crappy beyond words. I'm considering starting a blog that will include FPGA resources targetting Terasic boards. When I do that, I'll give you a link.
Hi,We are trying to use this *******g LT24 screen with the Nios2 (on the DE0) and nothing works. We used the Painter Demo and added a custom SPI in QSys. Our project compile well in Quartus and in Eclipse but the SOPC keeps crashing in the painter demo. I used the debugger included in Eclipse to find out what's buggy but the system crash at various random locations... In most case the CPU crash in the touch_enable_penirq() function when it sends data on the Bus. Sometimes it passes through and goes to the gui function. The gui doesn't work (the screen is always white) but we get the console outputs related to the position of the touch. So I think the screen is very buggy even in theire implementation in the demo painter... Also, our program worked once (after a lot of tries) but the image was flipped (mirror effect). Since then, it has always been white... Did you find a solution to your problems ? I'm really interrested in some tips to try to debug this screen... Thanks a lot ! Gp2mv3
I too am trying to get the LT24 working on a DE0-nano.I am able to build & run their 'painter' application from their system CD. However, if I try to re-build the SOPC using the sources they provide, it does not work. Something is different between what was used to create the provided SOF and the sources provided to create the SOF. So... Has anyone ever been able to make the LT24 work outside of the canned demo? If yes, will you share?
Dear All,It seems there's been some questions about the LT24, especially the painter demo which comes with it. While I'm trying to look at these problems, starting from the most recent one, if anyone who has filed a request to our support team (email@example.com) before, please share the subject with me and I'll work with our team to speed up the process. @d_s_klein Could you let me know how you re-build the painter demo from our system CD ? Did you simply open it up in which version of Quartus II and just press the compilation button ? Please also explain more about how it does not work. I'd like to duplicate what you've been doing here and see if we can fix this. I'd also like to thank all of you for all the comments and criticism. I'll bring them up internally for improvement and serve you better ! David from Terasic
Hi d_s_klein,I was able to modify the system and created a basic YouTube tutorial. The system was built on DE0-Nano. Here is a link to the 3 videos: https://www.youtube.com/watch?v=vgnx8w2a17g&list=pl_l4_2uvzqo0x887vetfizyyoy4ejccnf I start with the painter system and modify that. Hope this helps. ranyab
Hello. I am in possession of an LT24 LCD screen and I was wondering if there were any good tutorials for coding using the screen in VHDL. I want to use it for a project in my class and the codes given in the CD are not in the right language. I have yet to find a decent tutorial online and you all seem to know how this thing works. I hope someone gets this message soon, as I see that this thread is a little old.Thank you kotymiles