Difference between revisions of "Unit RPIFT5406"

From Ultibo.org
Jump to: navigation, search
Line 160: Line 160:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| Called only during system startup
 
| Called only during system startup
 
|-
 
|-
Line 175: Line 175:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
| Not intended to be called directly by applications, use TouchDeviceStart instead
+
| Not intended to be called directly by applications, use TouchDeviceStart instead.
 
|-
 
|-
 
|}
 
|}
Line 187: Line 187:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
| Not intended to be called directly by applications, use TouchDeviceStop instead
+
| Not intended to be called directly by applications, use TouchDeviceStop instead.
 
|-
 
|-
 
|}
 
|}
Line 199: Line 199:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| Not intended to be called directly by applications
 
| Not intended to be called directly by applications
 
|-
 
|-

Revision as of 05:09, 24 April 2018

Return to Unit Reference


Description


Raspberry Pi FT5406 Touch Driver unit

This is the touchscreen driver for the Official Raspberry Pi 7" Touchscreen. While this device uses a FocalTech FT5406 10 point capacitive touchscreen controller it is actually connected to the GPU and not directly accessible to the ARM processor.

In order to make the touchscreen data available the GPU provides a memory based interface that can be read by polling an address returned from a mailbox call.

The Linux driver uses a thread to poll the data approximately 60 times per second so this driver does something similar.

Constants



[Expand]
RPiFT5406 specific constants RPIFT5406_*


Type definitions



RPiFT5406 touch point

[Expand]

PRPiFT5406TouchPoint = ^TRPiFT5406TouchPoint;

TRPiFT5406TouchPoint = record

RPiFT5406 registers

[Expand]

PRPiFT5406Registers = ^TRPiFT5406Registers;

TRPiFT5406Registers = record

RPiFT5406 touch

[Expand]

PRPiFT5406Touch = ^TRPiFT5406Touch;

TRPiFT5406Touch = record


Public variables


None defined

Function declarations



Initialization functions

[Expand]
procedure RPiFT5406Init;
Description: Initialize the RPiFT5406 unit and create, register and start the device


RPiFT5406 touch functions

[Expand]
function RPiFT5406TouchStart(Touch:PTouchDevice):LongWord;
Description: Implementation of TouchDeviceStart API for RPiFT5406


[Expand]
function RPiFT5406TouchStop(Touch:PTouchDevice):LongWord;
Description: Implementation of TouchDeviceStop API for RPiFT5406


[Expand]
function RPiFT5406TouchExecute(Touch:PRPiFT5406Touch):PtrInt;
Description: Thread function for the RPiFT5406 Touch controller driver. The thread polls the memory touch buffer approximately 60 times per second for new touch data and inserts received touch points into the buffer of the passed device


Return to Unit Reference