Hi everybody,
I received two displays from a chinese supplier.
They look like twins, but one is a SSD1289 and the other one is a ili9341 that does not support SPI.
Both displays have similar pins.
The SSD1289 works perfect.
I messed around with some glcd header files, but the ili9341 is not working.
I am stuck, please help
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The spi ili9341's I have use 3.3V logic. They power on 5V supply though, you can see the regulator.
A 1.5KR in series to clk,mosi etc with 2k7 to ground works for me.
The original ili9341 include recommended a ca4050 buffer run from 3.3V but it's gone now.
the logic voltage is not an issue, I´m using a LM2575 step down regulator.
Here comes a copy of my working ssd1289 config.
I think we have to modify the ili9341.h
Advice. Dont update from trunk. The builds are the consistent and we issue patches - I cannot promise that code from trunk works with the release as we are constantly revising.
So, back to question.
Voltages are critical on ILI9341. Meter the voltages - I have one ILI9341 that will only operate at 3.4v.
Also, which chip ? hardware or software ? I2c?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
There's isn't one unless you can change the ili9341 include to use parallel using the include for ili9481 as a guide.which is a parallel display. Beyond me,sorry.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
You have purchased some odd beasts. These displays are typically sold with I2C or/and SPI.
So you were able to use the SSD1289 as this is already a 16bit bus? Correct?
The ili9341 does not support a 16bit bus. Without a device here for testing this is a huge ask, for anyone. But, conversion of the communication methods should be possible to complete with some ease as the libraries all use common methods.... but the amount of regression testing would take most of the time.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have this ili9341 (8 bit interface) on order for two weeks now from ebay https://www.ebay.com/itm/122631646524 probably another week or two before it arrives.
Considering my complete lack of progress with the hx8347 glcd library, I can only surmise a definite maybe for a 8bit ili9341 library update.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Kent..buy from ebay uk and for twice the price it arrives in a week, sent from Leeds or somewhere uk.
The arduino shield version looks plug n play. I got a shield for the one I posted. Too many wires otherwise.
Am I right in thinking the ili9481 would look visually faster than the same code on an ili9341 ? ie is it worth the wiring and no ports left?
Nice if ili9341 touch screen and sd card and reading screen ram ie pixel or row or box area was available. It can be done in c. I have the code but can't get it working in gcb.
The ili9341/9841 includes are complicated in the hardware settings and what write actually does.
Last edit: stan cartwright 2017-10-31
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
@Anobium
I'll wait on the ili9341 8bit and give it a go when it comes in. I'm too cheap to sponser... :) ... will someone sponser me? (just kidding!). I do like learning something new though, from scratch when possible.
@Stan
If the 8 bit library comes together, then the 16 bit is only a minor change to few procedures and initiation. I have no clue at this time on speed difference between the ili9341 and the ili9481, I would expect not a lot, if any? Speed differences on the glcd would mostly come down to I2C, SPI, and parallel interfaces, and clk speed of the micro I would think.
The ili9481 16 bit interface glcd (arduino mega board model) that I mentioned in a previous post does not have a touch screen nor can it perform gram reads as that pin or capability is not brought out to the header.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
No, not that simple, there is more to it than that... More substitutions happen in a few other places in the library, init, and of course various housekeeping requirements when encountered. One would try and incorporate all interfaces into one sub (like sendcommand, senddata etc.), and use defines for both the 8bit and 16bit interfaces.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
re regression testing..had to look it up
When I look at c glcd includes they look device dependent...not really clever at c though.
Again, is it worth the effort over a spi glcd and is that faster than i2c ?
Why do glcb includes test the device ie if def glcdxxx then.. when it's the include for glcdxxx anyway?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
You are joking of course? Editing an existing piece of code requires regression testing. It is very simple to make an error and testing should pick up the errors - a simple #if may look like it is working for a specific configuration but this is no warranty that something else is not impacted.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
No. Serious. If someone asked what I been up to lately and I said regession testing..
I have wondered why the glcd includes are not just for one device.
No point in modifying includes except for personal use as I don't think modded libs as in arduino by joe bloggs would be popular
I just thought for example the pset which is essential to gcld but it's a sub with the call-ret overhead which is significant in lines and fills. If each device had it's own lib would that be better?
I might time some alterations. What would be best way to time repeated lines,etc on a uno...print result to display :)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi everybody,
I received two displays from a chinese supplier.
They look like twins, but one is a SSD1289 and the other one is a ili9341 that does not support SPI.
Both displays have similar pins.
The SSD1289 works perfect.
I messed around with some glcd header files, but the ili9341 is not working.
I am stuck, please help
The spi ili9341's I have use 3.3V logic. They power on 5V supply though, you can see the regulator.
A 1.5KR in series to clk,mosi etc with 2k7 to ground works for me.
The original ili9341 include recommended a ca4050 buffer run from 3.3V but it's gone now.
Last edit: stan cartwright 2017-10-31
Hi Stan,
the logic voltage is not an issue, I´m using a LM2575 step down regulator.
Here comes a copy of my working ssd1289 config.
I think we have to modify the ili9341.h
What version of Great Cow BASIC? This is important as we have upadted the library.
0.98.00 2017-09-23
and latest includes from trunk
Advice. Dont update from trunk. The builds are the consistent and we issue patches - I cannot promise that code from trunk works with the release as we are constantly revising.
So, back to question.
Voltages are critical on ILI9341. Meter the voltages - I have one ILI9341 that will only operate at 3.4v.
Also, which chip ? hardware or software ? I2c?
Hello Anobium,
please have a look at my ssd1289.gcb
It is working !
I need something similar for the ili9341 with no SPI or I2c support
Do you mean the deivces has no SPI or I2C interface? what is the interface?
I think you have a 8 or 16bit parallel ili9341.
does it look like this?
Last edit: stan cartwright 2017-10-31
Yes that´s right 8 or 16bit parallel and no spi.
any solution ?
There's isn't one unless you can change the ili9341 include to use parallel using the include for ili9481 as a guide.which is a parallel display. Beyond me,sorry.
Yeah,
the ili9481.h is a good template i have tried earlier but without any success
aren't there any code warriors around with the same problem ?
You have purchased some odd beasts. These displays are typically sold with I2C or/and SPI.
So you were able to use the SSD1289 as this is already a 16bit bus? Correct?
The ili9341 does not support a 16bit bus. Without a device here for testing this is a huge ask, for anyone. But, conversion of the communication methods should be possible to complete with some ease as the libraries all use common methods.... but the amount of regression testing would take most of the time.
the hx8374 also looks very suitable
What is a hx8374?
Can you post the URL to the two you have purchased?
Have you reviewed the GLCDs we support?
I have this ili9341 (8 bit interface) on order for two weeks now from ebay https://www.ebay.com/itm/122631646524 probably another week or two before it arrives.
Considering my complete lack of progress with the hx8347 glcd library, I can only surmise a definite maybe for a 8bit ili9341 library update.
I can do these libraries - I sort of enjoy it!
I need the hardware/display delivered here. Cus, I am not going to buy them. :-)
Kent..buy from ebay uk and for twice the price it arrives in a week, sent from Leeds or somewhere uk.
The arduino shield version looks plug n play. I got a shield for the one I posted. Too many wires otherwise.
Am I right in thinking the ili9481 would look visually faster than the same code on an ili9341 ? ie is it worth the wiring and no ports left?
Nice if ili9341 touch screen and sd card and reading screen ram ie pixel or row or box area was available. It can be done in c. I have the code but can't get it working in gcb.
The ili9341/9841 includes are complicated in the hardware settings and what write actually does.
Last edit: stan cartwright 2017-10-31
@Anobium
I'll wait on the ili9341 8bit and give it a go when it comes in. I'm too cheap to sponser... :) ... will someone sponser me? (just kidding!). I do like learning something new though, from scratch when possible.
@Stan
If the 8 bit library comes together, then the 16 bit is only a minor change to few procedures and initiation. I have no clue at this time on speed difference between the ili9341 and the ili9481, I would expect not a lot, if any? Speed differences on the glcd would mostly come down to I2C, SPI, and parallel interfaces, and clk speed of the micro I would think.
The ili9481 16 bit interface glcd (arduino mega board model) that I mentioned in a previous post does not have a touch screen nor can it perform gram reads as that pin or capability is not brought out to the header.
Is it just change this
to this?
@Stan,
No, not that simple, there is more to it than that... More substitutions happen in a few other places in the library, init, and of course various housekeeping requirements when encountered. One would try and incorporate all interfaces into one sub (like sendcommand, senddata etc.), and use defines for both the 8bit and 16bit interfaces.
And, the regression testing. Kent - you are spot on - simply things down please.
re regression testing..had to look it up
When I look at c glcd includes they look device dependent...not really clever at c though.
Again, is it worth the effort over a spi glcd and is that faster than i2c ?
Why do glcb includes test the device ie if def glcdxxx then.. when it's the include for glcdxxx anyway?
You are joking of course? Editing an existing piece of code requires regression testing. It is very simple to make an error and testing should pick up the errors - a simple #if may look like it is working for a specific configuration but this is no warranty that something else is not impacted.
No. Serious. If someone asked what I been up to lately and I said regession testing..
I have wondered why the glcd includes are not just for one device.
No point in modifying includes except for personal use as I don't think modded libs as in arduino by joe bloggs would be popular
I just thought for example the pset which is essential to gcld but it's a sub with the call-ret overhead which is significant in lines and fills. If each device had it's own lib would that be better?
I might time some alterations. What would be best way to time repeated lines,etc on a uno...print result to display :)