Ariba: Just tried out your driver! Didn't work so well with my old 256 MB card, but did work with newer, 2GB card...
Measured a frame rate of 11 Hz, exactly like mine...
And I tried your driver again [noparse]:)[/noparse]
I have interpreted the picture the wrong way, my card is to fast and not to slow. I just have seen half overwritten buffers, but
that overwrites come from the new buffer which is filled in before the lcd driver picks the data from the buffer.
When I add a delay of 3ms after syncing and before read sd-card, it works perfect. And I see now that flickering is the same.
The 11 Hz comes from the speed of the SD card, and a lcd driver can't make theme faster.
Perhaps you need to set the sync indicator not at begin of drawing the buffer data, but to a later position, so that it works
for all SD cards.
If I had found this yesterday, I not had written the driver new. OK two big advantages stay: My driver is 200 longs shorter, and I know how I can change it [noparse];)[/noparse]
Now I begin with a text driver, I will see much more text on this LCD. Perhaps 60x34 characters with the 8x8 fonts known
from various TV drivers.
The motto this week for me seems to be: On driver per day....
Nick McClick said...
I just got the Propeller Platform version of the breakout board in the mail on Saturday, and it's now available on Gadget Gangster. Here's the requisite photo:
Nick, I'd love to buy some of these breakout boards (I just ordered a Propeller Platform board from you). Any idea when these will be available again?
Kerry
Still none in stock Nick? Sorry to be impatient [noparse]:)[/noparse], I'm trying to make something for the wife for Xmas. I want to make an intelligent clock, one that you can easily set different alarm times·for different days·of the week, add your own .wav wake up sounds etc. Should be a fun project, and I think she'd actually use it.
Thanks.
Kerry
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"Heaven help me Marge, I'm just not that smart." - Homer Simpson
That is a good gift idea and I am sure we can figure out a way to get you one in time.
I know James Long has a broken breakout board in stock you could get cheap(give me a reasonable offer and it is yours - i can fix but it will cost me shipping and time to do so.). 1 trace was cut so you would need to be pretty good with this wire and an iron to fix. Or I could express post you a working breakout and screen. Can find out how much that would cost. You would have to pay Ray for the screen though as I am not selling I just have more then I am using at the moment.
I'm gearing up to make some more too... First I have to order parts for PSM and PSB boards. (I'm really upset right now that Digikey has run out of some critical components, making me scramble for substitutes or other vendors...)
mctrivia said...
That is a good gift idea and I am sure we can figure out a way to get you one in time.
I know James Long has a broken breakout board in stock you could get cheap(give me a reasonable offer and it is yours - i can fix but it will cost me shipping and time to do so.). 1 trace was cut so you would need to be pretty good with this wire and an iron to fix. Or I could express post you a working breakout and screen. Can find out how much that would cost. You would have to pay Ray for the screen though as I am not selling I just have more then I am using at the moment
I can handle the soldering I think. I never saw a price for them so I dont know what to suggest. Just let me know what works for you. I really appreciate it.
Kerry
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"Heaven help me Marge, I'm just not that smart." - Homer Simpson
I like the idea of a 6x8 character option for 80 chars/line (5x7 with a blank pixel). This is what was originally used in the 70's & 80's. The characters will be blocky, but hey, we lived with that for many years, and the LCD is a much better display than the old monitors.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔ Links to other interesting threads:
Cluso99 said...
I like the idea of a 6x8 character option for 80 chars/line (5x7 with a blank pixel). This is what was originally used in the 70's & 80's. The characters will be blocky, but hey, we lived with that for many years, and the LCD is a much better display than the old monitors.
But this old monitors were much bigger then this 4.3" LCD.
I tried 6x8 font with the HiRes Bitmap driver, and found that the characters are so tiny that I can not read it comfortably (perhaps it's time for glasses...). So I tried to double every pixel, but then the characters were unnecessray big, and only 40 fit in a line.
So I was thinking 8x8, 8x12 or 8x16 would be a good compromise.
The actual driver I work on, can switch between 8x8 and 8x16 uses the Atari font and allows separate colors for every character.
It would be quiet easy to change it to 6x8 / 6x16, but I don't have a 6x8 font organized as 8 bytes (1 byte per row) to try it.
How hard would it be to make the driver write along the short side of the display? I'm contemplating a PDA-style readout device which would be held upright rather than across.
Rafael
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
UC Berkeley '12 EECS
CalSol: Berkeley Solar Car team
www.calsol.berkeley.edu
KJ6AWU
On the 4.3" display, if the power supply for LED+ and Vdd were intentionally shut down without stopping the signals from the Prop, would that destroy the LCD by having signal levels to the LCD that were greater than Vdd (0 volts)?·
I ask because my devices are battery powered (LI-Ion rechargeable)·and in an effort to conserve power I like the devices to automatically turn off or cut back on consumed power when not actively in use.· If we can remove LCD power, we can still use touchscreen depressions to "wake-up" the LCD.· This would be just one method of conserving battery charge.
the backlight is just 10 leds in series it is safe to remove power from them and both mine and rays breakout boards use a driver chip with a disable option. The LCD itself should not draw much power if not enabled and you can use the PI pin on the breakout board to allow for an easy wake method.
Having trouble getting Raymans LCD to work on my PE Education board.· Using Ariba's driver to test, I have the following pins hooked up as follows:
··· P0·· B0· (basepin defined as "0")
··· P1··B1
··· P2·· G0 ··· P3·· G1 ··· P4·· R0 ··· P5···R1 ··· P6·· DE··· ··· P7·· PCLK ··· P8·· BL ··· P9·· DON ··· P29 SDA ··· P28 SCL ··· · PLUS· all grounds hooked up ········· Vdd····· to +3.3v ········· VBL····· to +3.3v
I've got a 20 pin header soldered to Ray's breakout board and that is plugged into an empty area on the PE breadboard with jumpers connecting the 20 pin header rows to the Prop and power. ·········
The assignment for the above pins (and basepin = 0)·were made in the DAT section of TSD_Demo.spin.
I get no light or signs of life on the LCD.
I keep seeing referrals to the "Parallax VGA Driver", but can't seem to find any info on it.·
I am used to working with PICs and PBP but I am new to spin and the Propeller so I get lost easily.
Any suggestions from the experienced people who had no trouble getting the LCD to work?
Post Edited (Eagleman) : 12/13/2009 7:30:29 AM GMT
It seems you have Hsync and Vsync not connected!
The basepin ist the first pin of a 8 pin group with the following assignement:
+0 VSync
+1 HSync
+2 B0
+3 B1
+4 G0
+5 G1
+6 R0
+7 R1
The Basepin can only be a multiple of 8 (0,8,16,24) because of the VideoHardware in the cog. In your case it will be 0.
So you need to shift the other Pins up, perhaps:
P8 DE
P9 PCLK
P10 BL
P11 DON
P29 SDA
P28 SCL
For this pins you can choose also other free pins.
What is strange is, that also the Backlight not worked, are you sure, that GND and +3.3V are connected right?
Good luck
FlyingFishFinger said...
How hard would it be to make the driver write along the short side of the display? I'm contemplating a PDA-style readout device which would be held upright rather than across.
Rafael
Should be possible. With a 6x8 font you will only get 40 characters per line, but a lot of lines.
What it needs is a 90° rotated font, which I have already, and a different read sequence of the character buffer.
I think this is especially useful for a virtual keyboard on the second half of the screen.
Nice. Precisely what I was thinking. Stylus & keyboard = awesome debugger [noparse]:)[/noparse] I haven't gotten my breakout from Matt yet so I haven't had a chance to play around with it (not that I've got time between finals, but it's the plan for winter break), which means I don't know anything about this screen besides what I read here and the one I've got sitting in front of me.
Would you be willing to share your font sometime?
Raf
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
UC Berkeley '12 EECS
CalSol: Berkeley Solar Car team
www.calsol.berkeley.edu
KJ6AWU
Thanks for your help! I finally have a screen working. Also, with your help I now have a better understanding how the video and spin work. I've got VBL connected to +3.3v; should that be connected to +5v?
Here's my new connection chart (for anyone else that might need this info):
p0 Vsync (basepin)
p1 Hsync
p2 B0
p3 B1
p4 G0
p5 G1
p6 R0
p7 R1
p8 DEN
p9 DE
p10 PCLK
p11 BL
p27 IRQ
p28 SCL
p29 SDA
VBL +3.3v
Where can I find additional information on the basic "Parallax VGA Driver"? I searched the forum archives, but found nothing.
Thanks again for your help. GREATLY appreciated!!
Eagleman
We're ready to take orders for the "used" 4.3" touchscreens again. Note that price has increased to $18.
I believe I've sent an email to everyone who was waiting...
Ariba said...
OK, here are my Bitmap drivers for the 4.3" LCD.
There are 1 bit per pixel drivers in HiRes- and LowRes versions (480x272 and 240x136 pixels).
The color is definable per 32x32 pixel tile.
HiRes is usefull when you will draw a lot on the screen, but needs 16 kByte memory.
LowRes is mainly for application which has not much RAM free for the screen, LowRes needs only 4.2 kByte.
Then there is also a 2 bit per pixel driver with 240x136 pixels. Every pixel can have 1 of 4 colors. Individual 4 colors
are definable per 48x32 pixel tiles. This gives 5 x 5 tiles, which is a good size for touch buttons. The first line of tiles
is only 10 pixels in height, this can be used for a Titlebar with its own colors.
A demo code is included in the ZIP, which works for all drivers. You just need to change the driver in the OBJ section.
The demo shows the color tiles, and draws pixels and lines. I've tried to make a photo, but my camera is not good
enough, to show details sharp, so perhaps somebody else can make a screenshot.
Andy
Edit: Updated also the comments and description to the right version.
Thanks so much for the drivers Ariba. Did you happen to create a graphics.spin object·that support·these?
Kerry
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"Heaven help me Marge, I'm just not that smart." - Homer Simpson
These LCDs are great. My partner and I was able to incorporate the LCD into a university project without any problems (thanks to the excellent documentation Rayman provided). The main difference is we chose to use a MCP3202 2-channel ADC instead of a touchscreen controller. The touchscreen reading algorithm was simple enough to implement in software (the hardest part was implementing 3-point calibration).
I would say these are easier to use than the B/W 128x64 graphic LCDs most people use. It only took us about 1.5 weeks from idea to finishing a board layout using this LCD. The board also contains a Freescale 9S12, ethernet interface, and an analog audio front end; which is what took up most of the layout and design time.
There are 1 bit per pixel drivers in HiRes- and LowRes versions (480x272 and 240x136 pixels).
The color is definable per 32x32 pixel tile.
HiRes is usefull when you will draw a lot on the screen, but needs 16 kByte memory.
LowRes is mainly for application which has not much RAM free for the screen, LowRes needs only 4.2 kByte.
Then there is also a 2 bit per pixel driver with 240x136 pixels. Every pixel can have 1 of 4 colors. Individual 4 colors
are definable per 48x32 pixel tiles. This gives 5 x 5 tiles, which is a good size for touch buttons. The first line of tiles
is only 10 pixels in height, this can be used for a Titlebar with its own colors.
A demo code is included in the ZIP, which works for all drivers. You just need to change the driver in the OBJ section.
The demo shows the color tiles, and draws pixels and lines. I've tried to make a photo, but my camera is not good
enough, to show details sharp, so perhaps somebody else can make a screenshot.
Andy
Edit: Updated also the comments and description to the right version.
Thanks so much for the drivers Ariba. Did you happen to create a graphics.spin object that support these?
Kerry
Kerry
Here is the graphics object that tdeyle posted a few pages before, adapted to my Bitmap drivers.
This is not as good as Chip's graphics.spin, but you can draw graphic and text (picked from the ROM font).
The included Demo is for the HiRes version, if you change the bitmap object, and all the coordinates, then this should
work also with the LowRes driver.
It seems to have some issues if the Y coordinate is higher then the screen.
I will also adapt my own Graphics object later, but not found the time so far.
This time it works with Chip's Graphics object. In opposite to Raymans graphics demo for this TFT, this driver
uses the whole screen for a 240x136 pixel bitmap. So every bitmap buffer needs only 8.5 kByte, that allows
also double buffering and lets 7 kByte more memory free than the TV version.
Sorry for the bad photo, I really need a better camera for such photos...
This time it works with Chip's Graphics object. In opposite to Raymans graphics demo for this TFT, this driver
uses the whole screen for a 240x136 pixel bitmap. So every bitmap buffer needs only 8.5 kByte, that allows
also double buffering and lets 7 kByte more memory free than the TV version.
Sorry for the bad photo, I really need a better camera for such photos...
Andy
Great work Ariba! Thanks so much.
Kerry
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"Heaven help me Marge, I'm just not that smart." - Homer Simpson
Comments
Measured a frame rate of 11 Hz, exactly like mine...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm
I have interpreted the picture the wrong way, my card is to fast and not to slow. I just have seen half overwritten buffers, but
that overwrites come from the new buffer which is filled in before the lcd driver picks the data from the buffer.
When I add a delay of 3ms after syncing and before read sd-card, it works perfect. And I see now that flickering is the same.
The 11 Hz comes from the speed of the SD card, and a lcd driver can't make theme faster.
Perhaps you need to set the sync indicator not at begin of drawing the buffer data, but to a later position, so that it works
for all SD cards.
If I had found this yesterday, I not had written the driver new. OK two big advantages stay: My driver is 200 longs shorter, and I know how I can change it [noparse];)[/noparse]
Now I begin with a text driver, I will see much more text on this LCD. Perhaps 60x34 characters with the 8x8 fonts known
from various TV drivers.
The motto this week for me seems to be: On driver per day....
Andy
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm
Thanks.
Kerry
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"Heaven help me Marge, I'm just not that smart." - Homer Simpson
Post Edited (kerryw) : 12/10/2009 9:27:11 PM GMT
I know James Long has a broken breakout board in stock you could get cheap(give me a reasonable offer and it is yours - i can fix but it will cost me shipping and time to do so.). 1 trace was cut so you would need to be pretty good with this wire and an iron to fix. Or I could express post you a working breakout and screen. Can find out how much that would cost. You would have to pay Ray for the screen though as I am not selling I just have more then I am using at the moment.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
24 bit LCD Breakout Board now in. $21.99 has backlight driver and touch sensitive decoder.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm
Kerry
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"Heaven help me Marge, I'm just not that smart." - Homer Simpson
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Links to other interesting threads:
· Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
· Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
· Prop Tools under Development or Completed (Index)
· Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)
· Search the Propeller forums·(uses advanced Google search)
My cruising website is: ·www.bluemagic.biz·· MultiBladeProp is: www.bluemagic.biz/cluso.htm
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Propeller Forums RSS Feed!
Gadget Gangster - Share your Electronic Projects
But this old monitors were much bigger then this 4.3" LCD.
I tried 6x8 font with the HiRes Bitmap driver, and found that the characters are so tiny that I can not read it comfortably (perhaps it's time for glasses...). So I tried to double every pixel, but then the characters were unnecessray big, and only 40 fit in a line.
So I was thinking 8x8, 8x12 or 8x16 would be a good compromise.
The actual driver I work on, can switch between 8x8 and 8x16 uses the Atari font and allows separate colors for every character.
It would be quiet easy to change it to 6x8 / 6x16, but I don't have a 6x8 font organized as 8 bytes (1 byte per row) to try it.
Andy
Rafael
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
UC Berkeley '12 EECS
CalSol: Berkeley Solar Car team
www.calsol.berkeley.edu
KJ6AWU
On the 4.3" display, if the power supply for LED+ and Vdd were intentionally shut down without stopping the signals from the Prop, would that destroy the LCD by having signal levels to the LCD that were greater than Vdd (0 volts)?·
I ask because my devices are battery powered (LI-Ion rechargeable)·and in an effort to conserve power I like the devices to automatically turn off or cut back on consumed power when not actively in use.· If we can remove LCD power, we can still use touchscreen depressions to "wake-up" the LCD.· This would be just one method of conserving battery charge.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
24 bit LCD Breakout Board now in. $21.99 has backlight driver and touch sensitive decoder.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm
··· P0·· B0· (basepin defined as "0")
··· P1· ·B1
··· P2·· G0
··· P3·· G1
··· P4·· R0
··· P5···R1
··· P6·· DE···
··· P7·· PCLK
··· P8·· BL
··· P9·· DON
··· P29 SDA
··· P28 SCL
···
· PLUS· all grounds hooked up
········· Vdd····· to +3.3v
········· VBL····· to +3.3v
I've got a 20 pin header soldered to Ray's breakout board and that is plugged into an empty area on the PE breadboard with jumpers connecting the 20 pin header rows to the Prop and power.
·········
The assignment for the above pins (and basepin = 0)·were made in the DAT section of TSD_Demo.spin.
I get no light or signs of life on the LCD.
I keep seeing referrals to the "Parallax VGA Driver", but can't seem to find any info on it.·
I am used to working with PICs and PBP but I am new to spin and the Propeller so I get lost easily.
Any suggestions from the experienced people who had no trouble getting the LCD to work?
Post Edited (Eagleman) : 12/13/2009 7:30:29 AM GMT
It seems you have Hsync and Vsync not connected!
The basepin ist the first pin of a 8 pin group with the following assignement:
+0 VSync
+1 HSync
+2 B0
+3 B1
+4 G0
+5 G1
+6 R0
+7 R1
The Basepin can only be a multiple of 8 (0,8,16,24) because of the VideoHardware in the cog. In your case it will be 0.
So you need to shift the other Pins up, perhaps:
P8 DE
P9 PCLK
P10 BL
P11 DON
P29 SDA
P28 SCL
For this pins you can choose also other free pins.
What is strange is, that also the Backlight not worked, are you sure, that GND and +3.3V are connected right?
Good luck
Andy
Post Edited (Ariba) : 12/13/2009 9:34:19 AM GMT
Should be possible. With a 6x8 font you will only get 40 characters per line, but a lot of lines.
What it needs is a 90° rotated font, which I have already, and a different read sequence of the character buffer.
I think this is especially useful for a virtual keyboard on the second half of the screen.
Andy
Would you be willing to share your font sometime?
Raf
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
UC Berkeley '12 EECS
CalSol: Berkeley Solar Car team
www.calsol.berkeley.edu
KJ6AWU
Thanks for your help! I finally have a screen working. Also, with your help I now have a better understanding how the video and spin work. I've got VBL connected to +3.3v; should that be connected to +5v?
Here's my new connection chart (for anyone else that might need this info):
p0 Vsync (basepin)
p1 Hsync
p2 B0
p3 B1
p4 G0
p5 G1
p6 R0
p7 R1
p8 DEN
p9 DE
p10 PCLK
p11 BL
p27 IRQ
p28 SCL
p29 SDA
VBL +3.3v
Where can I find additional information on the basic "Parallax VGA Driver"? I searched the forum archives, but found nothing.
Thanks again for your help. GREATLY appreciated!!
Eagleman
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm
I believe I've sent an email to everyone who was waiting...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm
Kerry
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"Heaven help me Marge, I'm just not that smart." - Homer Simpson
I would say these are easier to use than the B/W 128x64 graphic LCDs most people use. It only took us about 1.5 weeks from idea to finishing a board layout using this LCD. The board also contains a Freescale 9S12, ethernet interface, and an analog audio front end; which is what took up most of the layout and design time.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm
Kerry
Here is the graphics object that tdeyle posted a few pages before, adapted to my Bitmap drivers.
This is not as good as Chip's graphics.spin, but you can draw graphic and text (picked from the ROM font).
The included Demo is for the HiRes version, if you change the bitmap object, and all the coordinates, then this should
work also with the LowRes driver.
It seems to have some issues if the Y coordinate is higher then the screen.
I will also adapt my own Graphics object later, but not found the time so far.
Andy
This time it works with Chip's Graphics object. In opposite to Raymans graphics demo for this TFT, this driver
uses the whole screen for a 240x136 pixel bitmap. So every bitmap buffer needs only 8.5 kByte, that allows
also double buffering and lets 7 kByte more memory free than the TV version.
Sorry for the bad photo, I really need a better camera for such photos...
Andy
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm
Kerry
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"Heaven help me Marge, I'm just not that smart." - Homer Simpson