|
Forum Index : Microcontroller and PC projects : Picomite with ssd1963 and touch
| Page 1 of 3 |
|||||
| Author | Message | ||||
| TrevorH Senior Member Joined: 06/04/2018 Location: United KingdomPosts: 145 |
|
||||
| JohnS Guru Joined: 18/11/2011 Location: United KingdomPosts: 4147 |
You may have to touch a keyboard LOL John |
||||
| TrevorH Senior Member Joined: 06/04/2018 Location: United KingdomPosts: 145 |
It's been awhile. @panky you have got the pico working with ssd1963 and touch, are you using the setup as described in picomite manual Page45? If so what options are you setting? I think I am getting mixed up with SPI settings and the touch settings. |
||||
| TrevorH Senior Member Joined: 06/04/2018 Location: United KingdomPosts: 145 |
Hi everyone I have a picomite loaded with non-vga version b18 connected to a 5" ssd1963 display and so far have got it working fine with SD card on the back of the display. I am using options:- option lcdpanel ssd1963_5, rl option system spi gp10,gp11,gp12 option sdcard gp22 option gui controls 20 If I try using touch nothing works, option touch gp18,gp19 just screws everything up. I am using wiring setup as in the manual with the sd card in parallel with the touch, separate CS of course. What am I doing wrong??? |
||||
| Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 8304 |
I trust you have T_IRQ connected as well as T_CS? Also, you'll need toset up OPTION TOUCH. Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
| TrevorH Senior Member Joined: 06/04/2018 Location: United KingdomPosts: 145 |
Hi Mick, all connected up as per the manual, but setting option touch seems to stop everything working and I do need touch. All this works perfectly on a MM100+, but I would like to get into the Pico. PS. did you get your pcb designs for the ssd1963 to work in practice? |
||||
| Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 8304 |
It might be worth trying a 10k pullup on T_IRQ just in case it's floating and causing a problem. It shouldn't be, but you never know. I never made one of the more recent pcbs at all. I part-built one of the first ones, the one with everything including the kitchen sink on it, but when it didn't work first time I just shoved it in a drawer for later investigation. I've not touched it since! Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
| stanleyella Guru Joined: 25/06/2022 Location: United KingdomPosts: 2681 |
Do you need to use gui calibrate for lcd touch to work? or is that not working? |
||||
| TrevorH Senior Member Joined: 06/04/2018 Location: United KingdomPosts: 145 |
Setting the option of touch causes the program to lock up and then can no longer get it to run again until I disable touch. The answer to your question yes, gui calibrate is required, but the touch has to work in the first place to calibrate. I don't think it is a hardware problem but some interaction between option touch and another option (I don't know how to prove this). |
||||
| stanleyella Guru Joined: 25/06/2022 Location: United KingdomPosts: 2681 |
I have not used your display so no advice but for ili9341 there are options to enable and disable. The necessary options for lcd are command line and there is an option to clear and start again. If the device is documented in the manual it must work, ili9341, ssd1306 does. Sure it is wired correctly? "I don't think it is a hardware problem but some interaction between option touch and another option" What options? |
||||
| Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 8304 |
Touch on the display has one independent input, T_CS. The other signals are shared with the other SPIs. It should run without crashing if the Pico pin for T_IRQ is pulled up, without being connected to the display. Touch won't work, of course, but it shouldn't crash. T_IRQ is an interrupt that indicates that the screen is touched. The Pico doesn't know unless this is triggered (active low I assume!). Once T_IRQ is triggered I assume that the Pico will acknowledge it by pulling T_CS low to read the co-ordinates over SPI. If T_IRQ is floating it could be causing random triggering. I don't *think* T_CS will cause a problem, but you could try pulling that up with 10k too. I assume the SD card is working? That would prove the SPI connection. Edited 2022-09-09 06:13 by Mixtel90 Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
| TrevorH Senior Member Joined: 06/04/2018 Location: United KingdomPosts: 145 |
@stanleyella I don't think you have read my previous post about options & wiring. Anyway the display is parallel and a different thing to what you describe which are SPI serial displays. @Mixtel90 I think when touch is enabled MMbasic no longer runs properly, every thing is fine until I set option touch, ie, display works and program reads sdcard and writes to display. I somehow have to identify the interaction, I will try adding pullups as you suggest. |
||||
Grogster![]() Admin Group Joined: 31/12/2012 Location: New ZealandPosts: 9757 |
I note that you point out everything works on an MM100+, so that would SUGGEST that the LCD module you have should be fine - including the touch controller. The fact that things fall over when you try to initiate the touch, suggests that something is not talking with respect to the touch controller, there is a wiring error somewhere on the touch side of things, or there is an undiscovered bug in MMBASIC for touch when used with parallel LCD modules. I am about to build a board based on the ssd1963 5" LCD and a couple of PM modules, and it will use this exact same setup as per the manual, so it will be interesting to see if I have the same issues. I will post here if I do, naturally. Watching this thread with interest. Smoke makes things work. When the smoke gets out, it stops! |
||||
| Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 8304 |
There is an alternative 5" SSD1963 driver - I assume that's been tried? This sounds like the SPI is getting messed up when touch is initialised. The usual problem is two or more CS lines going low at the same time and messing up the data routing. You could try disconnecting T_CS and letting T_IRQ do its own thing. I suspect that if you've prevented T_IRQ from going low (by using a pullup on the Pico input and disconnecting the T_IRQ pin) and it still crashes then it's a bug in the MMBasic parallel driver(s). T_CS should stay high as the Pico shouldn't pull it low because there's no need to. A scope or logic probe would help here. Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 10628 |
Disconnect the display/touch/sd completely and then enable touch. Assuming that MMbasic runs properly then you know it is a wiring issue. Almost certainly continuous touch interrupts. |
||||
| TrevorH Senior Member Joined: 06/04/2018 Location: United KingdomPosts: 145 |
Thankyou all for showing interest, I will do more testing today. Late last night I tried Mixtel90's pullup suggestion and things seem to be "better" but now sdcard not recognised and touch although working will not calibrate without error. I think this is why the display manufacturers wire out the sdcard and touch separately, will try using sdcard on different pins with the "anypin" option. |
||||
| matherp Guru Joined: 11/12/2012 Location: United KingdomPosts: 10628 |
This really isn't necessary The SSD1963 is well proven with shared SPI. I would suspect you have T_IRQ and T_CS the wrong way round. |
||||
Grogster![]() Admin Group Joined: 31/12/2012 Location: New ZealandPosts: 9757 |
Agreed. I have lost count of how many LCD modules I have used with the SD card and touch wired in parallel, and have never had any issues that weren't somehow my fault - such as a wiring or connection error, or the wrong pin settings etc. Besides, SPI by its very concept, is DESIGNED to be a bus system with several different devices all connected in parallel to the same bus, and you select the one you want to talk to with the CS line, so connecting two or more devices is not an issue PROVIDED that all connections are good, and your CS lines are intact and working as they should be. Smoke makes things work. When the smoke gets out, it stops! |
||||
| phil99 Guru Joined: 11/02/2018 Location: AustraliaPosts: 2832 |
If all else fails try a transistor between T_DO and MISO with base going to T_CS via a 33k. That will isolate it from MISO except when requested. See here https://www.thebackshed.com/forum/ViewTopic.php?FID=16&TID=11419&LastEntry=Y#191429#191429 It allowed all SD cards to work with a misbehaving LCD. I also tried pullups on the various pins you tried with the same poor results. |
||||
| TrevorH Senior Member Joined: 06/04/2018 Location: United KingdomPosts: 145 |
Hi everyone, fixed it. @matherp definitely NO wiring errors. @Grogster I agree with you it SHOULD work but I have it now working 100% with OPTION SDCARD gp22,gp20,gp17,gp21 with appropiate wiring changes. That is sd card now not on the SPI bus. Can anyone remind me how to retrieve the Touch calibration figures? I am using MMedit5 with MMC on an IMAC under Parallels/Windows 10. (I love my Mac) Also how do I implement those command files for multiple OPTION setup, your described way doesn't work for me. (could it be Mac/windows problem?) |
||||
| Page 1 of 3 |
|||||
| The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |