Difference between revisions of "Component: FTDI (FT800) (FT800) (Misc)"
| 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 | 
Contents
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 | |