Using the configuration we established yesterday, the BOX 0,0,127,63 command worked correctly. I tried drawing a line and it worked correctly, too.
When I tried the LAT described in your previous post I had limited success. The GLCD displayed the words, box, and line but it looked like many pixels were left out. This caused the words, box and line to look faded. Also spurious pixels and faded lines showed up on the display.
The LAT version is better than where we were 5 days ago when the GLCD remained blank but the fade issue needs to be adressed
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Using the LAT with all the Wait KS0108WriteDelay us and Wait KS0108ReadDelay us lines made active the
#define KS0108WriteDelay 6
#define KS0108ClockDelay 2
#define KS0108ReadDelay 2
made it worse. I also tried several combinations of these numbers which offered little or no improvement. These combinations were 6,2,4 or 3,2,4 or 2,2,4 or 2,2,2 o r1,1,4.
Now for the good news. This combination worked:
#define KS0108WriteDelay 2
#define KS0108ClockDelay 2
#define KS0108ReadDelay 6
These combinations also worked: 2,1,6 or 1,1,6 or 1,1,5
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The glcd_KS0108.h file has the below changes in it (all the WAIT statements are used). The READ section uses the Wait KS0108ReadDelay us before/after the GLCD_DBx = LCDByte.x statements.
Set output data
Wait KS0108WriteDelay us
GLCD_DB7 = LCDByte.7
Wait KS0108WriteDelay us
GLCD_DB6 = LCDByte.6
Wait KS0108WriteDelay us
GLCD_DB5 = LCDByte.5
Wait KS0108WriteDelay us
GLCD_DB4 = LCDByte.4
Wait KS0108WriteDelay us
GLCD_DB3 = LCDByte.3
Wait KS0108WriteDelay us
GLCD_DB2 = LCDByte.2
Wait KS0108WriteDelay us
GLCD_DB1 = LCDByte.1
Wait KS0108WriteDelay us
GLCD_DB0 = LCDByte.0
Wait KS0108WriteDelay us
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Using the configuration we established yesterday, the BOX 0,0,127,63 command worked correctly. I tried drawing a line and it worked correctly, too.
When I tried the LAT described in your previous post I had limited success. The GLCD displayed the words, box, and line but it looked like many pixels were left out. This caused the words, box and line to look faded. Also spurious pixels and faded lines showed up on the display.
The LAT version is better than where we were 5 days ago when the GLCD remained blank but the fade issue needs to be adressed
This is progress. :-)
Typical setting for the delays now need to adjusted.
Try the following. Let me know the results.
Thanks for testing, however, if you want to proceed with your project I can leave this until next year when I get a replacement PIC40 PCB.
Last edit: Anobium 2014-12-22
Using the LAT with all the Wait KS0108WriteDelay us and Wait KS0108ReadDelay us lines made active the
#define KS0108WriteDelay 6
#define KS0108ClockDelay 2
#define KS0108ReadDelay 2
made it worse. I also tried several combinations of these numbers which offered little or no improvement. These combinations were 6,2,4 or 3,2,4 or 2,2,4 or 2,2,2 o r1,1,4.
Now for the good news. This combination worked:
#define KS0108WriteDelay 2
#define KS0108ClockDelay 2
#define KS0108ReadDelay 6
These combinations also worked: 2,1,6 or 1,1,6 or 1,1,5
Good news. Thank you.
Can I confirm that you are using an unmodified .H file and these This combination worked:
#define KS0108WriteDelay 2
#define KS0108ClockDelay 2
#define KS0108ReadDelay 6
These combinations also worked: 2,1,6 or 1,1,6 or 1,1,5 respectively.
I will publish once you confirm.
Anobium
Those combinations worked.
The glcd_KS0108.h file has the below changes in it (all the WAIT statements are used). The READ section uses the Wait KS0108ReadDelay us before/after the GLCD_DBx = LCDByte.x statements.
Set output data
Wait KS0108WriteDelay us
GLCD_DB7 = LCDByte.7
Wait KS0108WriteDelay us
GLCD_DB6 = LCDByte.6
Wait KS0108WriteDelay us
GLCD_DB5 = LCDByte.5
Wait KS0108WriteDelay us
GLCD_DB4 = LCDByte.4
Wait KS0108WriteDelay us
GLCD_DB3 = LCDByte.3
Wait KS0108WriteDelay us
GLCD_DB2 = LCDByte.2
Wait KS0108WriteDelay us
GLCD_DB1 = LCDByte.1
Wait KS0108WriteDelay us
GLCD_DB0 = LCDByte.0
Wait KS0108WriteDelay us