Component: FTDI (FT800) (FT800) (Misc): Difference between revisions
No edit summary |
No edit summary |
||
| Line 16: | Line 16: | ||
==Component Source Code== | ==Component Source Code== | ||
Please click here to download the component source project: [https://www.flowcode.co.uk/wikicopy/componentsource/FC_Comp_Source_FTDI-FT800.fcfx FC_Comp_Source_FTDI-FT800.fcfx] | |||
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_FTDI-FT800.fcfx FC_Comp_Source_FTDI-FT800.fcfx] | Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_FTDI-FT800.fcfx FC_Comp_Source_FTDI-FT800.fcfx] | ||
==Detailed description== | ==Detailed description== | ||
| Line 40: | Line 44: | ||
==Examples== | ==Examples== | ||
| Line 60: | Line 66: | ||
==Macro reference== | ==Macro reference== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''IncrementCommandOffset''' | |||
|- | |||
| colspan="2" | Adds commandSize to the currentOffset. Checks for 4K ring-buffer offset roll-over | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | |||
| width="90%" | currentOffset | |||
|- | |||
| colspan="2" | graphics processor command list pointer | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" | commandSize | |||
|- | |||
| colspan="2" | number of bytes to increment the offset | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MemRead16''' | |||
|- | |||
| colspan="2" | Reads a single unsigned int from the FT800 internal address space | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG | |||
| width="90%" | Address | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MemRead8''' | |||
|- | |||
| colspan="2" | Reads a single data byte from the FT800 internal address space | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG | |||
| width="90%" | Address | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MemRead32''' | |||
|- | |||
| colspan="2" | Reads a single unsigned long from the FT800 internal address space | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG | |||
| width="90%" | Address | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u32-icon.png]] - ULONG | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MemWrite16''' | |||
|- | |||
| colspan="2" | Writes a unsigned int value to the FT800 internal address space | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG | |||
| width="90%" | Address | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | |||
| width="90%" | Data | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MemWrite8''' | |||
|- | |||
| colspan="2" | Writes a byte value to the FT800 internal address space | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG | |||
| width="90%" | Address | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" | Data | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CommandWrite''' | |||
|- | |||
| colspan="2" | Sends FT800 command | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" | Command | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MemWrite32''' | |||
|- | |||
| colspan="2" | Writes a unsigned long value to the FT800 internal address space | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG | |||
| width="90%" | Address | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG | |||
| width="90%" | Data | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise''' | |||
|- | |||
| colspan="2" | System initialization routines. Executed once on reset. Returns 0 if device not detected or 1 if device is correctly initialised. | |||
|- | |||
|- | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
==Property reference== | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | |||
|- | |||
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]] | |||
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties''' | |||
|- | |||
|- | |||
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] | |||
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | SPI Properties | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |||
| width="90%" | Channel | |||
|- | |||
| colspan="2" | SPI Channel selector | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |||
| width="90%" | Prescale | |||
|- | |||
| colspan="2" | Prescale option selector | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |||
| width="90%" | MOSI | |||
|- | |||
| colspan="2" | SPI Data Out Pin SDO - Also Known as Master Out Slave In (MOSI) when used in Master mode. | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |||
| width="90%" | MISO | |||
|- | |||
| colspan="2" | SPI Data In Pin SDI - Also Known as Master In Slave Out (MISO) when used in Master mode. | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |||
| width="90%" | CLK | |||
|- | |||
| colspan="2" | SPI Clock Pin CLK - The Clock signal is driven by the SPI master. | |||
|- | |||
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] | |||
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Pin Connections | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |||
| width="90%" | Power Pin | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]] | |||
| width="90%" | CS Pin | |||
|- | |||
| colspan="2" | | |||
|- | |||
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] | |||
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Display Properties | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | |||
| width="90%" | Width | |||
|- | |||
| colspan="2" | Active width of LCD display | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | |||
| width="90%" | Height | |||
|- | |||
| colspan="2" | Active height of LCD display | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | |||
| width="90%" | HCycle | |||
|- | |||
| colspan="2" | Total number of clocks per line | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | |||
| width="90%" | HOffset | |||
|- | |||
| colspan="2" | Start of active line | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | |||
| width="90%" | HSync0 | |||
|- | |||
| colspan="2" | Start of horizontal sync pulse | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | |||
| width="90%" | HSync1 | |||
|- | |||
| colspan="2" | End of horizontal sync pulse | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | |||
| width="90%" | VCycle | |||
|- | |||
| colspan="2" | Total number of lines per screen | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | |||
| width="90%" | VOffset | |||
|- | |||
| colspan="2" | Start of active screen | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | |||
| width="90%" | VSync0 | |||
|- | |||
| colspan="2" | Start of vertical sync pulse | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | |||
| width="90%" | VSync1 | |||
|- | |||
| colspan="2" | End of vertical sync pulse | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | |||
| width="90%" | PixelClock | |||
|- | |||
| colspan="2" | Pixel Clock | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | |||
| width="90%" | Swizzle | |||
|- | |||
| colspan="2" | Define RGB output pins | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | |||
| width="90%" | Clock Polarity | |||
|- | |||
| colspan="2" | Define active edge of PCLK | |||
|- | |||
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] | |||
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation | |||
|- | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | |||
| width="90%" | Scope Traces | |||
|- | |||
| colspan="2" | Selects if the scope traces are automatically generated or not | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]] | |||
| width="90%" | Console Data | |||
|- | |||
| colspan="2" | Selects if the console data is automatically generated or not | |||
|- | |||
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | |||
| width="90%" | API | |||
|- | |||
| colspan="2" | | |||
|}==Macro reference== | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
Revision as of 15:21, 20 January 2023
| Author | MatrixTSL |
| Version | 2.0 |
| Category | Misc |
FTDI (FT800) component
The FT800 provides a powerful feature set in a small package to create dynamic HMI interfaces. The device supports line by line graphics rendering to 1/16 of a pixel on displays with resolution up to 512 x 512 with 262K colours. The chip includes a touch controller for sensing touch feedback from a TFT display with a resistive touch panel as well as a sound synthesizer and audio playback with a PWM output to drive a speaker.
Component Source Code
Please click here to download the component source project: FC_Comp_Source_FTDI-FT800.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_FTDI-FT800.fcfx
Detailed description
No detailed description exists yet for this component
Examples
No additional examples
Macro reference
| MemRead16 | |
| Reads a single unsigned int from the FT800 internal address space | |
| Address | |
| Return | |
| MemRead8 | |
| Reads a single data byte from the FT800 internal address space | |
| Address | |
| Return | |
| MemRead32 | |
| Reads a single unsigned long from the FT800 internal address space | |
| Address | |
| Return | |
| MemWrite16 | |
| Writes a unsigned int value to the FT800 internal address space | |
| Address | |
| Data | |
| Return | |
| MemWrite8 | |
| Writes a byte value to the FT800 internal address space | |
| Address | |
| Data | |
| Return | |
| CommandWrite | |
| Sends FT800 command | |
| Command | |
| Return | |
| MemWrite32 | |
| Writes a unsigned long value to the FT800 internal address space | |
| Address | |
| Data | |
| Return | |
| Initialise | |
| System initialization routines. Executed once on reset. Returns 0 if device not detected or 1 if device is correctly initialised. | |
| Return | |
Property reference
==Macro reference==
| MemRead16 | |
| Reads a single unsigned int from the FT800 internal address space | |
| Address | |
| Return | |
| MemRead8 | |
| Reads a single data byte from the FT800 internal address space | |
| Address | |
| Return | |
| MemRead32 | |
| Reads a single unsigned long from the FT800 internal address space | |
| Address | |
| Return | |
| MemWrite16 | |
| Writes a unsigned int value to the FT800 internal address space | |
| Address | |
| Data | |
| Return | |
| MemWrite8 | |
| Writes a byte value to the FT800 internal address space | |
| Address | |
| Data | |
| Return | |
| CommandWrite | |
| Sends FT800 command | |
| Command | |
| Return | |
| MemWrite32 | |
| Writes a unsigned long value to the FT800 internal address space | |
| Address | |
| Data | |
| Return | |
| Initialise | |
| System initialization routines. Executed once on reset. Returns 0 if device not detected or 1 if device is correctly initialised. | |
| Return | |
Property reference
==Macro reference==
| MemRead16 | |
| Reads a single unsigned int from the FT800 internal address space | |
| Address | |
| Return | |
| MemRead8 | |
| Reads a single data byte from the FT800 internal address space | |
| Address | |
| Return | |
| MemRead32 | |
| Reads a single unsigned long from the FT800 internal address space | |
| Address | |
| Return | |
| MemWrite16 | |
| Writes a unsigned int value to the FT800 internal address space | |
| Address | |
| Data | |
| Return | |
| MemWrite8 | |
| Writes a byte value to the FT800 internal address space | |
| Address | |
| Data | |
| Return | |
| CommandWrite | |
| Sends FT800 command | |
| Command | |
| Return | |
| MemWrite32 | |
| Writes a unsigned long value to the FT800 internal address space | |
| Address | |
| Data | |
| Return | |
| Initialise | |
| System initialization routines. Executed once on reset. Returns 0 if device not detected or 1 if device is correctly initialised. | |
| Return | |