Loading files
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.11.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Metal Detector: C:/Users/Viktor/Desktop/labaratorni/Projects/Metal_Detector/software/Program/Display/Inc/xpt2046.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">Metal Detector
</div>
</td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()"> </span>
<input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.11.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$(function(){initNavTree('xpt2046_8h.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> |
<a href="#define-members">Macros</a> |
<a href="#enum-members">Enumerations</a> |
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">xpt2046.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Header file for XPT2046 touch screen controller driver.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include "main.h"</code><br />
</div>
<p><a href="xpt2046_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_p_t2046_calibration_values__t.html">XPT2046CalibrationValues_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Calibration values for XPT2046. <a href="struct_x_p_t2046_calibration_values__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_p_t2046_coordinates__t.html">XPT2046Coordinates_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Coordinates structure for XPT2046. <a href="struct_x_p_t2046_coordinates__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_p_t2046_handle__t.html">XPT2046Handle_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Handle structure for XPT2046. <a href="struct_x_p_t2046_handle__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:aea98118d1e469f0fbfdfba294cff3605" id="r_aea98118d1e469f0fbfdfba294cff3605"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#aea98118d1e469f0fbfdfba294cff3605">XPT2046_HOR_RES</a>   240</td></tr>
<tr class="separator:aea98118d1e469f0fbfdfba294cff3605"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2fc3b5377626483de59425cd8a02b994" id="r_a2fc3b5377626483de59425cd8a02b994"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2fc3b5377626483de59425cd8a02b994">XPT2046_VER_RES</a>   320</td></tr>
<tr class="separator:a2fc3b5377626483de59425cd8a02b994"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3a10925bb63aa324d421f02f6a5bc4eb" id="r_a3a10925bb63aa324d421f02f6a5bc4eb"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3a10925bb63aa324d421f02f6a5bc4eb">XPT2046_MAX_SAMPLES</a>   100</td></tr>
<tr class="separator:a3a10925bb63aa324d421f02f6a5bc4eb"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a68e91fd53f710f15fd01bd7bc9bcba93" id="r_a68e91fd53f710f15fd01bd7bc9bcba93"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="#a68e91fd53f710f15fd01bd7bc9bcba93">XPT2046States_t</a> { <a class="el" href="#a68e91fd53f710f15fd01bd7bc9bcba93ac9d2a0010859d47a82a76a1a1bbea78f">XPT2046_PRESSED</a>
, <a class="el" href="#a68e91fd53f710f15fd01bd7bc9bcba93acf5c8446658098fdea27f4d2daafde90">XPT2046_NOT_PRESSED</a>
}</td></tr>
<tr class="memdesc:a68e91fd53f710f15fd01bd7bc9bcba93"><td class="mdescLeft"> </td><td class="mdescRight">Touch states for XPT2046. <a href="#a68e91fd53f710f15fd01bd7bc9bcba93">More...</a><br /></td></tr>
<tr class="separator:a68e91fd53f710f15fd01bd7bc9bcba93"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a5f374117557ebc91972f731193b0c53b" id="r_a5f374117557ebc91972f731193b0c53b"><td class="memItemLeft" align="right" valign="top">uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="#a5f374117557ebc91972f731193b0c53b">XPT2046_ReadIRQPin</a> (void)</td></tr>
<tr class="memdesc:a5f374117557ebc91972f731193b0c53b"><td class="mdescLeft"> </td><td class="mdescRight">Reads the IRQ pin state of the XPT2046. <br /></td></tr>
<tr class="separator:a5f374117557ebc91972f731193b0c53b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5c86cd53f45aca61018d10e6fdec8077" id="r_a5c86cd53f45aca61018d10e6fdec8077"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a5c86cd53f45aca61018d10e6fdec8077">XPT2046_ReadRawData</a> (uint16_t *x, uint16_t *y)</td></tr>
<tr class="memdesc:a5c86cd53f45aca61018d10e6fdec8077"><td class="mdescLeft"> </td><td class="mdescRight">Reads raw touch data from the XPT2046. <br /></td></tr>
<tr class="separator:a5c86cd53f45aca61018d10e6fdec8077"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac3f82a653bbc5e8ad1af2c8cba0e9f43" id="r_ac3f82a653bbc5e8ad1af2c8cba0e9f43"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac3f82a653bbc5e8ad1af2c8cba0e9f43">XPT2046_ReadData</a> (<a class="el" href="struct_x_p_t2046_handle__t.html">XPT2046Handle_t</a> *handle)</td></tr>
<tr class="memdesc:ac3f82a653bbc5e8ad1af2c8cba0e9f43"><td class="mdescLeft"> </td><td class="mdescRight">Reads calibrated touch coordinates from the XPT2046. <br /></td></tr>
<tr class="separator:ac3f82a653bbc5e8ad1af2c8cba0e9f43"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac982f8f04f1232de350116b105acdf89" id="r_ac982f8f04f1232de350116b105acdf89"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac982f8f04f1232de350116b105acdf89">XPT2046_IRQHandler</a> (<a class="el" href="struct_x_p_t2046_handle__t.html">XPT2046Handle_t</a> *handle)</td></tr>
<tr class="memdesc:ac982f8f04f1232de350116b105acdf89"><td class="mdescLeft"> </td><td class="mdescRight">Handles touch interrupt for the XPT2046. <br /></td></tr>
<tr class="separator:ac982f8f04f1232de350116b105acdf89"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a949b15322aee19f0fccd6d532f2f4ce8" id="r_a949b15322aee19f0fccd6d532f2f4ce8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a949b15322aee19f0fccd6d532f2f4ce8">XPT2046_CallBack</a> (<a class="el" href="struct_x_p_t2046_handle__t.html">XPT2046Handle_t</a> *handle) <a class="el" href="ili9341_8c.html#af9aace1b44b73111e15aa39f06f43456">__attribute__</a>((weak))</td></tr>
<tr class="memdesc:a949b15322aee19f0fccd6d532f2f4ce8"><td class="mdescLeft"> </td><td class="mdescRight">Callback function for the XPT2046 touch controller. <br /></td></tr>
<tr class="separator:a949b15322aee19f0fccd6d532f2f4ce8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6ae5fadfb1212ddadaed359d1d4e2148" id="r_a6ae5fadfb1212ddadaed359d1d4e2148"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a6ae5fadfb1212ddadaed359d1d4e2148">XPT2046_Calibrate</a> (<a class="el" href="struct_x_p_t2046_handle__t.html">XPT2046Handle_t</a> *handle)</td></tr>
<tr class="memdesc:a6ae5fadfb1212ddadaed359d1d4e2148"><td class="mdescLeft"> </td><td class="mdescRight">Calibrates the XPT2046 touch controller. <br /></td></tr>
<tr class="separator:a6ae5fadfb1212ddadaed359d1d4e2148"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3ab96b82f46cba442ee66f22e49df612" id="r_a3ab96b82f46cba442ee66f22e49df612"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3ab96b82f46cba442ee66f22e49df612">XPT2046_SetCalibrationValues</a> (<a class="el" href="struct_x_p_t2046_handle__t.html">XPT2046Handle_t</a> *handle, <a class="el" href="struct_x_p_t2046_calibration_values__t.html">XPT2046CalibrationValues_t</a> *x_calib, <a class="el" href="struct_x_p_t2046_calibration_values__t.html">XPT2046CalibrationValues_t</a> *y_calib)</td></tr>
<tr class="memdesc:a3ab96b82f46cba442ee66f22e49df612"><td class="mdescLeft"> </td><td class="mdescRight">Sets the calibration values for the XPT2046 touch controller. <br /></td></tr>
<tr class="separator:a3ab96b82f46cba442ee66f22e49df612"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7c2a75a4ad227a15aff7bb9942890f20" id="r_a7c2a75a4ad227a15aff7bb9942890f20"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#a7c2a75a4ad227a15aff7bb9942890f20">XPT2046_GetCalibrationValues</a> (<a class="el" href="struct_x_p_t2046_handle__t.html">XPT2046Handle_t</a> *handle, <a class="el" href="struct_x_p_t2046_calibration_values__t.html">XPT2046CalibrationValues_t</a> *x_calib, <a class="el" href="struct_x_p_t2046_calibration_values__t.html">XPT2046CalibrationValues_t</a> *y_calib)</td></tr>
<tr class="memdesc:a7c2a75a4ad227a15aff7bb9942890f20"><td class="mdescLeft"> </td><td class="mdescRight">Gets the calibration values from the XPT2046 touch controller. <br /></td></tr>
<tr class="separator:a7c2a75a4ad227a15aff7bb9942890f20"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:adbbbd9b1e4356685c4a58cb0b9919690" id="r_adbbbd9b1e4356685c4a58cb0b9919690"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="#adbbbd9b1e4356685c4a58cb0b9919690">XPT2046_Test</a> (<a class="el" href="struct_x_p_t2046_handle__t.html">XPT2046Handle_t</a> *handle)</td></tr>
<tr class="memdesc:adbbbd9b1e4356685c4a58cb0b9919690"><td class="mdescLeft"> </td><td class="mdescRight">Tests the XPT2046 touch controller. <br /></td></tr>
<tr class="separator:adbbbd9b1e4356685c4a58cb0b9919690"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Header file for XPT2046 touch screen controller driver. </p>
<p>This file contains the declarations for the XPT2046 touch screen controller driver. It includes function prototypes for reading touch coordinates, handling interrupts, calibrating the touch screen, and performing basic tests. The calibration procedure is implemented based on Texas Instruments' application note SLYT277 "Calibration in touch-screen systems".</p>
<dl class="section see"><dt>See also</dt><dd><a href="https://www.ti.com/lit/an/slyt277/slyt277.pdf">https://www.ti.com/lit/an/slyt277/slyt277.pdf</a> for calibration details. </dd></dl>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="aea98118d1e469f0fbfdfba294cff3605" name="aea98118d1e469f0fbfdfba294cff3605"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea98118d1e469f0fbfdfba294cff3605">◆ </a></span>XPT2046_HOR_RES</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XPT2046_HOR_RES   240</td>
</tr>
</table>
</div><div class="memdoc">
<p>Horizontal resolution of the touch screen </p>
</div>
</div>
<a id="a3a10925bb63aa324d421f02f6a5bc4eb" name="a3a10925bb63aa324d421f02f6a5bc4eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a10925bb63aa324d421f02f6a5bc4eb">◆ </a></span>XPT2046_MAX_SAMPLES</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XPT2046_MAX_SAMPLES   100</td>
</tr>
</table>
</div><div class="memdoc">
<p>Maximum number of samples for touch averaging </p>
</div>
</div>
<a id="a2fc3b5377626483de59425cd8a02b994" name="a2fc3b5377626483de59425cd8a02b994"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2fc3b5377626483de59425cd8a02b994">◆ </a></span>XPT2046_VER_RES</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define XPT2046_VER_RES   320</td>
</tr>
</table>
</div><div class="memdoc">
<p>Vertical resolution of the touch screen </p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a68e91fd53f710f15fd01bd7bc9bcba93" name="a68e91fd53f710f15fd01bd7bc9bcba93"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68e91fd53f710f15fd01bd7bc9bcba93">◆ </a></span>XPT2046States_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="#a68e91fd53f710f15fd01bd7bc9bcba93">XPT2046States_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Touch states for XPT2046. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a68e91fd53f710f15fd01bd7bc9bcba93ac9d2a0010859d47a82a76a1a1bbea78f" name="a68e91fd53f710f15fd01bd7bc9bcba93ac9d2a0010859d47a82a76a1a1bbea78f"></a>XPT2046_PRESSED </td><td class="fielddoc"><p>Touch screen is pressed </p>
</td></tr>
<tr><td class="fieldname"><a id="a68e91fd53f710f15fd01bd7bc9bcba93acf5c8446658098fdea27f4d2daafde90" name="a68e91fd53f710f15fd01bd7bc9bcba93acf5c8446658098fdea27f4d2daafde90"></a>XPT2046_NOT_PRESSED </td><td class="fielddoc"><p>Touch screen is not pressed </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a6ae5fadfb1212ddadaed359d1d4e2148" name="a6ae5fadfb1212ddadaed359d1d4e2148"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ae5fadfb1212ddadaed359d1d4e2148">◆ </a></span>XPT2046_Calibrate()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XPT2046_Calibrate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_p_t2046_handle__t.html">XPT2046Handle_t</a> *</td> <td class="paramname"><span class="paramname"><em>handle</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Calibrates the XPT2046 touch controller. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Pointer to the XPT2046 handle structure.</td></tr>
</table>
</dd>
</dl>
<p>This function performs calibration of the XPT2046 touch controller using three reference points on the screen. The calibration process is based on the method described in the TI application note SLYT277.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Pointer to the XPT2046 handle structure. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a949b15322aee19f0fccd6d532f2f4ce8" name="a949b15322aee19f0fccd6d532f2f4ce8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a949b15322aee19f0fccd6d532f2f4ce8">◆ </a></span>XPT2046_CallBack()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XPT2046_CallBack </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_p_t2046_handle__t.html">XPT2046Handle_t</a> *</td> <td class="paramname"><span class="paramname"><em>handle</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Callback function for the XPT2046 touch controller. </p>
<p>This is a weak function that can be overridden by the user. It is called when a touch event is processed.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Pointer to the XPT2046 handle structure. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a7c2a75a4ad227a15aff7bb9942890f20" name="a7c2a75a4ad227a15aff7bb9942890f20"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c2a75a4ad227a15aff7bb9942890f20">◆ </a></span>XPT2046_GetCalibrationValues()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XPT2046_GetCalibrationValues </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_p_t2046_handle__t.html">XPT2046Handle_t</a> *</td> <td class="paramname"><span class="paramname"><em>handle</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_x_p_t2046_calibration_values__t.html">XPT2046CalibrationValues_t</a> *</td> <td class="paramname"><span class="paramname"><em>x_calib</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_x_p_t2046_calibration_values__t.html">XPT2046CalibrationValues_t</a> *</td> <td class="paramname"><span class="paramname"><em>y_calib</em></span> )</td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the calibration values from the XPT2046 touch controller. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Pointer to the XPT2046 handle structure. </td></tr>
<tr><td class="paramname">x_calib</td><td>Pointer to store the calibration values for the X axis. </td></tr>
<tr><td class="paramname">y_calib</td><td>Pointer to store the calibration values for the Y axis.</td></tr>
</table>
</dd>
</dl>
<p>This function retrieves the current calibration values from the XPT2046 touch controller.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Pointer to the XPT2046 handle structure. </td></tr>
<tr><td class="paramname">x_calib</td><td>Pointer to store the calibration values for the X axis. </td></tr>
<tr><td class="paramname">y_calib</td><td>Pointer to store the calibration values for the Y axis. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac982f8f04f1232de350116b105acdf89" name="ac982f8f04f1232de350116b105acdf89"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac982f8f04f1232de350116b105acdf89">◆ </a></span>XPT2046_IRQHandler()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XPT2046_IRQHandler </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_p_t2046_handle__t.html">XPT2046Handle_t</a> *</td> <td class="paramname"><span class="paramname"><em>handle</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Handles touch interrupt for the XPT2046. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Pointer to the XPT2046 handle structure.</td></tr>
</table>
</dd>
</dl>
<p>This function is the interrupt handler for the XPT2046 touch controller. It reads the touch data and updates the touch state.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Pointer to the XPT2046 handle structure. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ac3f82a653bbc5e8ad1af2c8cba0e9f43" name="ac3f82a653bbc5e8ad1af2c8cba0e9f43"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac3f82a653bbc5e8ad1af2c8cba0e9f43">◆ </a></span>XPT2046_ReadData()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XPT2046_ReadData </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_p_t2046_handle__t.html">XPT2046Handle_t</a> *</td> <td class="paramname"><span class="paramname"><em>handle</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Reads calibrated touch coordinates from the XPT2046. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Pointer to the XPT2046 handle structure.</td></tr>
</table>
</dd>
</dl>
<p>This function reads raw touch data from the XPT2046 and applies calibration coefficients to convert them to screen coordinates.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Pointer to the XPT2046 handle structure. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a5f374117557ebc91972f731193b0c53b" name="a5f374117557ebc91972f731193b0c53b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f374117557ebc91972f731193b0c53b">◆ </a></span>XPT2046_ReadIRQPin()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t XPT2046_ReadIRQPin </td>
<td>(</td>
<td class="paramtype">void</td> <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Reads the IRQ pin state of the XPT2046. </p>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">uint8_t</td><td>1 if the pin is high, 0 if the pin is low.</td></tr>
</table>
</dd>
</dl>
<p>This function reads the state of the IRQ pin of the XPT2046 touch controller.</p>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">uint8_t</td><td>1 if the pin is high, 0 if the pin is low. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a5c86cd53f45aca61018d10e6fdec8077" name="a5c86cd53f45aca61018d10e6fdec8077"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c86cd53f45aca61018d10e6fdec8077">◆ </a></span>XPT2046_ReadRawData()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XPT2046_ReadRawData </td>
<td>(</td>
<td class="paramtype">uint16_t *</td> <td class="paramname"><span class="paramname"><em>x</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t *</td> <td class="paramname"><span class="paramname"><em>y</em></span> )</td>
</tr>
</table>
</div><div class="memdoc">
<p>Reads raw touch data from the XPT2046. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>Pointer to store the raw x-coordinate. </td></tr>
<tr><td class="paramname">y</td><td>Pointer to store the raw y-coordinate.</td></tr>
</table>
</dd>
</dl>
<p>This function reads the raw touch data from the XPT2046 touch controller by sending appropriate commands via SPI and processing the received data. It implements a simple averaging filter to improve the touch data quality.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>Pointer to store the raw x-coordinate. </td></tr>
<tr><td class="paramname">y</td><td>Pointer to store the raw y-coordinate. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a3ab96b82f46cba442ee66f22e49df612" name="a3ab96b82f46cba442ee66f22e49df612"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ab96b82f46cba442ee66f22e49df612">◆ </a></span>XPT2046_SetCalibrationValues()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XPT2046_SetCalibrationValues </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_p_t2046_handle__t.html">XPT2046Handle_t</a> *</td> <td class="paramname"><span class="paramname"><em>handle</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_x_p_t2046_calibration_values__t.html">XPT2046CalibrationValues_t</a> *</td> <td class="paramname"><span class="paramname"><em>x_calib</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_x_p_t2046_calibration_values__t.html">XPT2046CalibrationValues_t</a> *</td> <td class="paramname"><span class="paramname"><em>y_calib</em></span> )</td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the calibration values for the XPT2046 touch controller. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Pointer to the XPT2046 handle structure. </td></tr>
<tr><td class="paramname">x_calib</td><td>Pointer to the calibration values for the X axis. </td></tr>
<tr><td class="paramname">y_calib</td><td>Pointer to the calibration values for the Y axis.</td></tr>
</table>
</dd>
</dl>
<p>This function updates the calibration values for the XPT2046 touch controller.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Pointer to the XPT2046 handle structure. </td></tr>
<tr><td class="paramname">x_calib</td><td>Pointer to the calibration values for the X axis. </td></tr>
<tr><td class="paramname">y_calib</td><td>Pointer to the calibration values for the Y axis. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="adbbbd9b1e4356685c4a58cb0b9919690" name="adbbbd9b1e4356685c4a58cb0b9919690"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adbbbd9b1e4356685c4a58cb0b9919690">◆ </a></span>XPT2046_Test()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void XPT2046_Test </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_x_p_t2046_handle__t.html">XPT2046Handle_t</a> *</td> <td class="paramname"><span class="paramname"><em>handle</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Tests the XPT2046 touch controller. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Pointer to the XPT2046 handle structure.</td></tr>
</table>
</dd>
</dl>
<p>This function tests the XPT2046 touch controller by reading the touch coordinates and drawing a target on the screen at the touch location.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Pointer to the XPT2046 handle structure. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_24817a301ba3256d5cc3ff5fb28dbe0b.html">Display</a></li><li class="navelem"><a class="el" href="dir_57dcd621aec18e7df89f0d7d04c543e2.html">Inc</a></li><li class="navelem"><a class="el" href="xpt2046_8h.html">xpt2046.h</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.11.0 </li>
</ul>
</div>
</body>
</html>
c02386ffcThis file is pinned to the selected release. Download the original to open it in your design tool.