|
Post by hillridge on Aug 24, 2014 19:09:02 GMT -8
I actually came across this project because I'm using the FT800 in an unrelated design, but I think I may have to pick one up to play with.
I'm a bit confused by something though. On the schematic/board layouts made available, the FT800 to FPC pinout goes something like this:
1-2 LED 3-6 Power/Ground 7-12 B7-B2 13-14 GND 15-20 G7-G2 21-22 GND 23-28 R7-R2 29 GND 30-34 Control Signals 35 N/A 36 GND 37-40 TouchScreen
However, based on the datasheet for the display (http://www.newhavendisplay.com/specs/NHD-4.3-480272MF-ATXI-T-1.pdf) (and FTDI's FT800 datasheet), The colors are swapped:
1-2 LED 3-6 Power/Ground 7-12 R2-R7 13-14 GND 15-20 G2-G7 21-22 GND 23-28 B2-B7 29 GND 30-34 Control Signals 35 N/A 36 GND 37-40 TouchScreen
What's going on here? Schematic out of date? Code remaps color data? FT800 allows you to define color pinouts? Did I miss something dumb and obvious?
I'm scratching my head a bit on this one.
|
|
|
Post by hillridge on Aug 25, 2014 3:49:21 GMT -8
I think I may have answered my own question. It would appear that all of these resolve to "yes": Schematic out of date? Code remaps color data? FT800 allows you to define color pinouts?
In GD2.cpp (lines 81-88): GDTR.wr(REG_PCLK_POL, 1); GDTR.wr(REG_PCLK, 5); #if PROTO == 1 GDTR.wr(REG_ROTATE, 1); GDTR.wr(REG_SWIZZLE, 3); #endif GDTR.wr(REG_GPIO_DIR, 0x83); GDTR.wr(REG_GPIO, 0x80);
Digging into the programming guide from FTDI, writing 3 to REG_SWIZZLE sets the RGB Pinmap to what is shown on the schematic rather than the default, which is actually a pretty cool feature of the FT800.
Now my question is if the board has changed since the schematic and pcb were posted. The "#if PROTO == 1" block suggests that later versions wouldn't need a rotated screen or RGB remapping. I'm also curious what FPC connector is being used. FTDI recommends a soon-to-be obsolete one that is bottom contact, but the LCD ribbon looks like it's top contact. Are there pins on both sides of the ribbon, or is one side a backer material?
|
|
|
Post by jamesbowman on Aug 25, 2014 7:41:22 GMT -8
OK, looks like you have all the info, some extra comments. (1) The schematic and PCB do exactly match what's manufactured. (2) REG_PROTO is something I used during development. I got the library working on an FTDI eval board (PROTO == 0), then when my hardware was done changed to (PROTO == 1). Hope that's clear. (3) Regarding connector. The ribbon is has one-sided contacts, and I am using a top contact connector, this one from Digikey: www.digikey.com/product-detail/en/4-1734839-0/A100229CT-ND/2180572Note the ribbon run on Gameduino2 is a little different: the PCB and LCD are back-to-back. I think this is why I needed to use a top contact connector. It's a little hard to explain -- and is much clearer with a physical prototype in front of you!
|
|