Touch Panel Library
The mikroPascal PRO for ARM provides a library for working with Touch Panel.
Library Dependency Tree

External dependencies of Touch Panel Library
Stellaris
The following variables must be defined in all projects using Touch Panel Library: | Description : | Example : |
---|---|---|
var DriveA : sbit; sfr; external; |
DriveA line. | var DriveA : sbit at GPIO_PORTB_DATA4_bit; |
var DriveB : sbit; sfr; external; |
DriveB line. | var DriveB : sbit at GPIO_PORTE_DATA0_bit; |
var DriveA_Direction : sbit; sfr; external; |
Direction of the DriveA pin. | var DriveA_Direction : sbit at GPIO_PORTB_DIR4_bit; |
var DriveB_Direction : sbit; sfr; external; |
Direction of the DriveB pin. | var DriveB_Direction : sbit at GPIO_PORTE_DIR0_bit; |
STM32
The following variables must be defined in all projects using Touch Panel Library: | Description : | Example : |
---|---|---|
var DriveA : sbit; sfr; external; |
DriveA line. | var DriveA : sbit at GPIOB_ODR.B1; |
var DriveB : sbit; sfr; external; |
DriveB line. | var DriveB : sbit at GPIOB_ODR.B0; |
Library Routines
- TP_Init
- TP_Set_ADC_Threshold
- TP_Press_Detect
- TP_Get_Coordinates
- TP_Calibrate_Bottom_Left
- TP_Calibrate_Upper_Right
- TP_Get_Calibration_Consts
- TP_Set_Calibration_Consts
TP_Init
Prototype |
procedure TP_Init(display_width : word; display_height : word; readX_ChNo : byte; readY_ChNo : byte); |
---|---|
Description |
Initialize touch panel display. Default touch panel ADC threshold value is set to 3900. |
Parameters |
|
Returns |
Nothing. |
Requires |
Before calling this function initialize ADC module. |
Example |
ADC1_Init(); // Initalize ADC module TP_Init(128, 64, 6, 7); // Initialize touch panel, dimensions 128x64 |
Notes |
None. |
TP_Set_ADC_Threshold
Prototype |
procedure TP_Set_ADC_Threshold(threshold : word); |
---|---|
Description |
Set custom ADC threshold value, call this function after |
Parameters |
|
Returns |
Nothing. |
Requires |
|
Example |
TP_Set_ADC_Threshold(3900); // Set touch panel ADC threshold |
Notes |
None. |
TP_Press_Detect
Prototype |
function TP_Press_Detect() : byte; |
---|---|
Description |
Detects if the touch panel has been pressed. |
Parameters |
None. |
Returns |
|
Requires |
External dependencies of the library from the top of the page must be defined before using this function. |
Example |
Stellaris// Touch Panel module connections var DriveA : sbit at GPIO_PORTB_DATA4_bit; DriveB : sbit at GPIO_PORTE_DATA0_bit; DriveA_Direction : sbit at GPIO_PORTB_DIR4_bit; DriveB_Direction : sbit at GPIO_PORTE_DIR0_bit; // End Touch Panel module connections if (TP_Press_Detect() <> 0) then begin ... end; STM32// Touch Panel module connections var DriveA : sbit at GPIOB_ODR.B1; DriveB : sbit at GPIOB_ODR.B0; // End Touch Panel module connections if (TP_Press_Detect() <> 0) then begin ... end; |
Notes |
None. |
TP_Get_Coordinates
Prototype |
function TP_Get_Coordinates(x_coordinate : ^word; y_coordinate : ^word) : byte; |
---|---|
Description |
Get touch panel coordinates and store them in |
Parameters |
|
Returns |
|
Requires |
Nothing. |
Example |
if (TP_Get_Coordinates(@x_coord, @y_coord) = 0) then begin ... end; |
Notes |
None. |
TP_Calibrate_Bottom_Left
Prototype |
procedure TP_Calibrate_Bottom_Left(); |
---|---|
Description |
Calibrate bottom left corner of the touch Panel. |
Parameters |
None. |
Returns |
Nothing. |
Requires |
Nothing. |
Example |
TP_Calibrate_Bottom_Left(); // Calibration of bottom left corner |
Notes |
None. |
TP_Calibrate_Upper_Right
Prototype |
procedure TP_Calibrate_Upper_Right(); |
---|---|
Description |
Calibrate upper right corner of the touch Panel. |
Parameters |
None. |
Returns |
Nothing. |
Requires |
Nothing. |
Example |
TP_Calibrate_Upper_Right(); // Calibration of upper right corner |
Notes |
None. |
TP_Get_Calibration_Consts
Prototype |
procedure TP_Get_Calibration_Consts(x_min : ^word; x_max : ^word; y_min : ^word; y_max : ^word); |
---|---|
Description |
Gets calibration constants after calibration is done and stores them in |
Parameters |
|
Returns |
Nothing. |
Requires |
Nothing. |
Example |
TP_Get_Calibration_Consts(@x_min, @y_min, @x_max, @y_max); // Get calibration constants |
Notes |
None. |
TP_Set_Calibration_Consts
Prototype |
procedure TP_Set_Calibration_Consts(x_min : word; x_max : word; y_min : word; y_max : word); |
---|---|
Description |
Sets calibration constants. |
Parameters |
|
Returns |
Nothing. |
Requires |
Nothing. |
Example |
TP_Set_Calibration_Consts(148, 3590, 519, 3370); // Set calibration constants |
Notes |
None. |
What do you think about this topic ? Send us feedback!