Touch Panel TFT Library

The mikroBasic PRO for AVR provides a library for working with Touch Panel for TFT.

  Note :

Library Dependency Tree

Touch Panel TFT Library Dependency Tree

External dependencies of Touch Panel TFT Library

The following variables must be defined in all projects using Touch Panel TFT Library: Description : Example :
dim DriveX_Left as sbit sfr external DriveX_Left line. dim DriveX_Left as sbit at PORTF0_bit
dim DriveX_Right as sbit sfr external DriveX_Right line. dim DriveX_Right as sbit at PORTF2_bit
dim DriveY_Up as sbit sfr external DriveY_Up line. dim DriveY_Up as sbit at PORTF1_bit
dim DriveY_Down as sbit sfr external DriveY_Down line. dim DriveY_Down as sbit at PORTF3_bit
dim DriveX_Left_Direction as sbit sfr external Direction of the DriveA pin. dim DriveX_Left_Direction as sbit at DDF0_bit
dim DriveX_Right_Direction as sbit sfr external Direction of the DriveB pin. dim DriveX_Right_Direction as sbit at DDF2_bit
dim DriveY_Up_Direction as sbit sfr external Direction of the DriveA pin. dim DriveY_Up_Direction as sbit at DDF1_bit
dim DriveY_Down_Direction as sbit sfr external Direction of the DriveB pin. dim DriveY_Down_Direction as sbit at DDF3_bit

Library Routines

TP_TFT_Init

Prototype

sub procedure TP_TFT_Inits(dim display_width as word, dim display_height as word, dim readX_ChNo as byte, dim readY_ChNo as byte)

Description

Initialize TFT touch panel display. Default touch panel ADC threshold value is set to 900.

Parameters
  • display_width: set display width.
  • display_height: set display height.
  • readX_ChNo: read X coordinate from desired ADC channel.
  • readY_ChNo: read Y coordinate from desired ADC channel.
Returns

Nothing.

Requires

Before calling this function initialize ADC module.

Example
ADC1_Init()                      ' Initalize ADC module
TP_TFT_Init(320, 240, 13, 12)    ' Initialize touch panel, dimensions 320x240

TP_TFT_Rotate

Prototype

sub procedure TP_TFT_Rotate(dim rotate as byte)

Description

Rotates touch panel by 180 degrees.

Parameters
  • rotate: set display width. Valid values : 0 - don't rotate, 1 - rotate by 180 degrees.
Returns

Nothing.

Requires

Nothing.

Example
TP_TFT_Rotate(1)   ' rotate Touch Panel by 180 degrees
Notes

None.

TP_TFT_Set_ADC_Threshold

Prototype

sub procedure TP_TFT_Set_ADC_Threshold(dim threshold as word)

Description

Set custom ADC threshold value, call this function after TP_TFT_Init.

Parameters
  • threshold: custom ADC threshold value.
Returns

Nothing.

Requires

TP_TFT_Init has to be called before using this routine.

Example
TP_TFT_Set_ADC_Threshold(900)    ' Set touch panel ADC threshold
Notes

None.

TP_TFT_Press_Detect

Prototype

sub function TP_TFT_Press_Detect() as byte

Description

Detects if the touch panel has been pressed.

Parameters

None.

Returns
  • 1 - if touch panel is pressed.
  • 0 - otherwise.
Requires

Global variables :

  • DriveX_Left: DriveX_Left pin.
  • DriveX_Right: DriveX_Right pin.
  • DriveY_Up: DriveY_Up pin.
  • DriveY_Down: DriveY_Down pin.
  • DriveX_Left_Direction: Direction of DriveX_Left pin.
  • DriveX_Right_Direction: Direction of DriveX_Right pin.
  • DriveY_Up_Direction: Direction of DriveY_Up pin.
  • DriveY_Down_Direction: Direction of DriveY_Down pin.
must be defined before using this function.

Example
' Touch Panel module connections
dim DriveX_Left as sbit at PORTF0_bit
    DriveX_Right as sbit at PORTF2_bit
    DriveY_Up as sbit at PORTF1_bit
    DriveY_Down as sbit at PORTF3_bit
    DriveX_Left_Direction as sbit at DDF0_bit
    DriveX_Right_Direction as sbit at DDF2_bit
    DriveY_Up_Direction as sbit at DDF1_bit
    DriveY_Down_Direction as sbit at DDF3_bit
' End Touch Panel module connections

if (TP_TFT_Press_Detect() <> 0) then
  ...
end if
Notes

None.

TP_TFT_Get_Coordinates

Prototype

sub function TP_TFT_Get_Coordinates(dim byref x_coordinate as word, dim byref y_coordinate as word) as byte

Description

Get touch panel coordinates and store them in x_coordinate and y_coordinate parameters.

Parameters
  • x_coordinate: x coordinate of the place of touch.
  • y_coordinate: y coordinate of the place of touch.
Returns
  • 0 - if reading is within display dimension range.
  • 1 - if reading is out of display dimension range.
Requires

Nothing.

Example
if (TP_TFT_Get_Coordinates(@x_coord, @y_coord) = 0) then
  ...
end if
Notes

None.

TP_TFT_Calibrate_Min

Prototype

sub procedure TP_TFT_Calibrate_Min()

Description

Calibrate bottom left corner of the touch Panel.

Parameters

None.

Returns

Nothing.

Requires

Nothing.

Example
TP_TFT_Calibrate_Min()    ' Calibration of bottom left corner
Notes

None.

TP_TFT_Calibrate_Max

Prototype

sub procedure TP_TFT_Calibrate_Max()

Description

Calibrate upper right corner of the touch Panel.

Parameters

None.

Returns

Nothing.

Requires

Nothing.

Example
TP_TFT_Calibrate_Max()    ' Calibration of upper right corner
Notes

None.

TP_TFT_Get_Calibration_Consts

Prototype

sub procedure TP_TFT_Get_Calibration_Consts(dim byref x_min as word, dim byref x_max as word, dim byref y_min as word, dim byref y_max as word)

Description

Gets calibration constants after calibration is done and stores them in x_min, x_max, y_min and y_max parameters.

Parameters
  • x_min: x coordinate of the bottom left corner of the working area.
  • x_max: x coordinate of the upper right corner of the working area.
  • y_min: y coordinate of the bottom left corner of the working area.
  • y_max: y coordinate of the upper right corner of the working area.
Returns

Nothing.

Requires

Nothing.

Example
TP_TFT_Get_Calibration_Consts(@x_min, @y_min, @x_max, @y_max)    ' Get calibration constants
Notes

None.

TP_TFT_Set_Calibration_Consts

Prototype

sub procedure TP_TFT_Set_Calibration_Consts(dim x_min as word, dim x_max as word, dim y_min as word, dim y_max as word)

Description

Sets calibration constants.

Parameters
  • x_min: x coordinate of the bottom left corner of the working area.
  • x_max: x coordinate of the upper right corner of the working area.
  • y_min: y coordinate of the bottom left corner of the working area.
  • y_max: y coordinate of the upper right corner of the working area.
Returns

Nothing.

Requires

Nothing.

Example
TP_TFT_Set_Calibration_Consts(148, 3590, 519, 3370)    ' Set calibration constants
Notes

None.

HW Connection

Touch Panel TFT HW connection

Touch Panel TFT HW connection

Copyright (c) 2002-2012 mikroElektronika. All rights reserved.
What do you think about this topic ? Send us feedback!
Want more examples and libraries? 
Find them on LibStock - A place for the code