View previous topic :: View next topic |
Author |
Message |
hoss
Joined: 12 Oct 2006 Posts: 9
|
strange GLCD problems |
Posted: Wed May 16, 2007 12:01 pm |
|
|
I have a strange problem.
I have previously used the GLCD drivers with 16F877 & a PLED display, all ok.
Now i have switched to a 18F6585 (same display)
I had to adjust some timings to avoid erratic screen behavior (as prevously posted on other threads).
If i use it in FAST_LCD mode, it will display correctly the 'glcd_text57' and 'glcd_bar' functions, but if i use 'glcd_rect, _circle or _line' nothing is displayed.....
if i switch to non- FAST_LCD mode i get a garbage screen with flashing pixels, but the rect , lines & circles are in there but distorted & moving around.
any ideas?? |
|
|
PCM programmer
Joined: 06 Sep 2003 Posts: 21708
|
|
Posted: Wed May 16, 2007 12:21 pm |
|
|
What compiler version ? If 4.xxx, try vs. 3.249. See if it works. |
|
|
hoss
Joined: 12 Oct 2006 Posts: 9
|
|
Posted: Wed May 16, 2007 12:29 pm |
|
|
4.016
I'm not sure i have a backup of 3.xxx.
Why do you suggest that? Is there a known problem? |
|
|
PCM programmer
Joined: 06 Sep 2003 Posts: 21708
|
|
Posted: Wed May 16, 2007 12:40 pm |
|
|
If you still have download rights, then download the latest version of
4.xxx, which is currently 4.037. If your download rights have expired,
but you don't have vs. 3.249, then contact CCS and ask for it. See
this thread and do the same thing that Ringo did:
http://www.ccsinfo.com/forum/viewtopic.php?t=30275&start=11
Make sure that you give CCS your Customer Reference number. |
|
|
hoss
Joined: 12 Oct 2006 Posts: 9
|
|
Posted: Wed May 16, 2007 1:06 pm |
|
|
no my download rights expired a few weeks ago.
It didn't occur to me to download 3.429
Checking the amount of fixes from 4.016 to 4.037, it could well fix my problem.
It's one thing that really p....s me off about CCS. minor version upgrades should be free, after all its bug fixes on their flaws!
Theres no way i'm going to pay $250 only 1.5 months after spending $425 with them! just to get something that works.
/rant |
|
|
PCM programmer
Joined: 06 Sep 2003 Posts: 21708
|
|
Posted: Wed May 16, 2007 1:12 pm |
|
|
If you can find the bug in your current version of 4.xxx, and document it,
and email it to them, I believe they'll upgrade you to a working version
-- it may be the latest version. Or, try to make the case to them for
giving you an upgrade without finding the actual bug. Maybe, if it works
with vs. 3.249, you could argue that 4.037 is sufficiently debugged so
that it works as well as 3.249 did, and therefore they should upgrade
you to vs. 4.037 of the 4.x compiler. I'm trying to come up with some
idea that will work. |
|
|
hoss
Joined: 12 Oct 2006 Posts: 9
|
|
Posted: Wed May 16, 2007 1:20 pm |
|
|
Thanks.
I've emailed them. Lets see how nice they are.... |
|
|
hoss
Joined: 12 Oct 2006 Posts: 9
|
|
Posted: Wed May 16, 2007 1:53 pm |
|
|
the other bizzare thing that i've just noticed:
if i do a glcd_fillscreen(on) - then the display is not uniform. ghosted underneath is some text that i have used before, but is not in the current compile!
i dont know if this has been saved into the display in some way or if it is lodged in the PIC ram, or if the complier is putting it in. |
|
|
PCM programmer
Joined: 06 Sep 2003 Posts: 21708
|
|
Posted: Wed May 16, 2007 2:19 pm |
|
|
The only reason for suspecting the compiler is that you have a fairly
early version of 4.xxx. That's the reason I suggested trying vs. 3.249.
The problem still could be caused by some difference between the
18F6585 and the 16F877 that isn't handled properly by your code.
It could be fuse settings for the oscillator or the choice of pins used
for the LCD. Some pins may have additional options in the 18F
chip and these options may not be disabled. You may have hardcoded
some register addresses which are correct for the 16F but not for
the 18F. It could be anything.
When you port code to a new chip and it doesn't work, you need to
establish a baseline development environment which you can trust.
This is in terms of both hardware and software. That's why I suggested
going back to vs. 3.249. However, I don't know exactly when the
18F6585 was added to the PCH compiler. It's possible that there are
bugs in the CCS functions for it in vs. 3.249. My advice would be
to get vs. 3.249 and start from the beginning. Blink an LED. Perhaps
try a character LCD. Start low and work your way up to the graphic
LCD. |
|
|
hoss
Joined: 12 Oct 2006 Posts: 9
|
|
Posted: Thu May 17, 2007 1:50 pm |
|
|
Right - CCS kindly gave me 4 days download rights.
The 4.038 version did not make any difference, however when reverting to the 3.429, my code now works.
i guess i'm going to have to try support |
|
|
PCM programmer
Joined: 06 Sep 2003 Posts: 21708
|
|
Posted: Thu May 17, 2007 2:21 pm |
|
|
Make a very simple program (3 lines in main) to talk to the graphic LCD.
Compile it with both 3.249 and 4.038. Verify that it works on 3.249
but fails on 4.038. Then print out the .LST files for each version.
Compare them line by line, looking for any important differences.
That's one way to find the problem. |
|
|
|