USB_Host_Shield_2.0/_p_s4_b_t_8h_source.html

288 lines
49 KiB
HTML
Raw Normal View History

2014-01-10 18:20:37 +01:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>USB Host Shield 2.0: PS4BT.h Source File</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>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="imageStyle.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 style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">USB Host Shield 2.0
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="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.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_e5fbe6d2783ccd4c93c7856d92d7be6e.html">GitHub</a></li><li class="navelem"><a class="el" href="dir_397a095372f04465e811d0ee219bbf8f.html">USB_Host_Shield_2.0</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">PS4BT.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="_p_s4_b_t_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/* Copyright (C) 2014 Kristian Lauszus, TKJ Electronics. All rights reserved.</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> This software may be distributed and modified under the terms of the GNU</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> General Public License version 2 (GPL2) as published by the Free Software</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> Foundation and appearing in the file GPL2.TXT included in the packaging of</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> this file. Please note that GPL2 Section 2[b] requires that all works based</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> on this software must also be made publicly available under the terms of</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> the GPL2 (&quot;Copyleft&quot;).</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> Contact information</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> -------------------</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"></span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> Kristian Lauszus, TKJ Electronics</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> Web : http://www.tkjelectronics.com</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> e-mail : kristianl@tkjelectronics.com</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#ifndef _ps4bt_h_</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define _ps4bt_h_</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_b_t_h_i_d_8h.html">BTHID.h</a>&quot;</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_p_s3_enums_8h.html">PS3Enums.h</a>&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div>
<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62"> 24</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62">DPADEnum</a> {</div>
<div class="line"><a name="l00025"></a><span class="lineno"><a class="line" href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62aafb58dc961545afb332266b117e4a332"> 25</a></span>&#160; <a class="code" href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62aafb58dc961545afb332266b117e4a332">DPAD_UP</a> = 0x0,</div>
<div class="line"><a name="l00026"></a><span class="lineno"><a class="line" href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62abc09f2a57c77693c05e8d52917d2bac0"> 26</a></span>&#160; <a class="code" href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62abc09f2a57c77693c05e8d52917d2bac0">DPAD_UP_RIGHT</a> = 0x1,</div>
<div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62af0f91a0468a0f49170b119f7de0d5cec"> 27</a></span>&#160; <a class="code" href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62af0f91a0468a0f49170b119f7de0d5cec">DPAD_RIGHT</a> = 0x2,</div>
<div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62a352a732e4f7a41d4a92ab99e661094d0"> 28</a></span>&#160; <a class="code" href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62a352a732e4f7a41d4a92ab99e661094d0">DPAD_RIGHT_DOWN</a> = 0x3,</div>
<div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62ab5e7d62ac3dfe6a925d1d6be3c756faa"> 29</a></span>&#160; <a class="code" href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62ab5e7d62ac3dfe6a925d1d6be3c756faa">DPAD_DOWN</a> = 0x4,</div>
<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62a1b679be7217f73f03393bb379b218d66"> 30</a></span>&#160; <a class="code" href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62a1b679be7217f73f03393bb379b218d66">DPAD_DOWN_LEFT</a> = 0x5,</div>
<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62afe9bfbd6550b91f6640b74a155000cba"> 31</a></span>&#160; <a class="code" href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62afe9bfbd6550b91f6640b74a155000cba">DPAD_LEFT</a> = 0x6,</div>
<div class="line"><a name="l00032"></a><span class="lineno"><a class="line" href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62ac6b9de0c407333a7161ca1efe6e30743"> 32</a></span>&#160; <a class="code" href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62ac6b9de0c407333a7161ca1efe6e30743">DPAD_LEFT_UP</a> = 0x7,</div>
<div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62aeb5da32679ab2abc4001f04d5f8c7044"> 33</a></span>&#160; <a class="code" href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62aeb5da32679ab2abc4001f04d5f8c7044">DPAD_OFF</a> = 0x8,</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;};</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;</div>
<div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="union_p_s4_buttons.html"> 36</a></span>&#160;<span class="keyword">union </span><a class="code" href="union_p_s4_buttons.html">PS4Buttons</a> {</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="union_p_s4_buttons.html#a99e2971b4e511a8d1bb718408f559a92"> 38</a></span>&#160; uint8_t <a class="code" href="union_p_s4_buttons.html#a99e2971b4e511a8d1bb718408f559a92">dpad</a> : 4;</div>
<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="union_p_s4_buttons.html#a84eb7076098ec3135bdc440a279fde50"> 39</a></span>&#160; uint8_t <a class="code" href="union_p_s4_buttons.html#a84eb7076098ec3135bdc440a279fde50">square</a> : 1;</div>
<div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="union_p_s4_buttons.html#a1163dc3517b1c27093b7cdd597eaa9fd"> 40</a></span>&#160; uint8_t <a class="code" href="union_p_s4_buttons.html#a1163dc3517b1c27093b7cdd597eaa9fd">cross</a> : 1;</div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="union_p_s4_buttons.html#a95340b24c0846c778d2d8d0c983f4cdb"> 41</a></span>&#160; uint8_t <a class="code" href="union_p_s4_buttons.html#a95340b24c0846c778d2d8d0c983f4cdb">circle</a> : 1;</div>
<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="union_p_s4_buttons.html#a72d07e9a47b1b75474e152b6aaeae6e5"> 42</a></span>&#160; uint8_t <a class="code" href="union_p_s4_buttons.html#a72d07e9a47b1b75474e152b6aaeae6e5">triangle</a> : 1;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div>
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="union_p_s4_buttons.html#a3488f850c1de8d49a9dc932f1575e5e4"> 44</a></span>&#160; uint8_t <a class="code" href="union_p_s4_buttons.html#a3488f850c1de8d49a9dc932f1575e5e4">l1</a> : 1;</div>
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="union_p_s4_buttons.html#aba0cb76ee82bd0ebe9872aa7bcbffac6"> 45</a></span>&#160; uint8_t <a class="code" href="union_p_s4_buttons.html#aba0cb76ee82bd0ebe9872aa7bcbffac6">r1</a> : 1;</div>
<div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="union_p_s4_buttons.html#a99b88dcb511243ea0c046cac1f5633ec"> 46</a></span>&#160; uint8_t <a class="code" href="union_p_s4_buttons.html#a99b88dcb511243ea0c046cac1f5633ec">l2</a> : 1;</div>
<div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="union_p_s4_buttons.html#a416642ff357b1313825fe94e0491b60e"> 47</a></span>&#160; uint8_t <a class="code" href="union_p_s4_buttons.html#a416642ff357b1313825fe94e0491b60e">r2</a> : 1;</div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="union_p_s4_buttons.html#adf2ff3e6e4050070a68e90a83be81e92"> 48</a></span>&#160; uint8_t <a class="code" href="union_p_s4_buttons.html#adf2ff3e6e4050070a68e90a83be81e92">share</a> : 1;</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="union_p_s4_buttons.html#a27f1b87f473ace3a4465ae999858357b"> 49</a></span>&#160; uint8_t <a class="code" href="union_p_s4_buttons.html#a27f1b87f473ace3a4465ae999858357b">options</a> : 1;</div>
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="union_p_s4_buttons.html#ab8835f04d0c0c5e630d685ec2fd54e80"> 50</a></span>&#160; uint8_t <a class="code" href="union_p_s4_buttons.html#ab8835f04d0c0c5e630d685ec2fd54e80">l3</a> : 1;</div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="union_p_s4_buttons.html#a09805f3bcc362c410d7897792599d61d"> 51</a></span>&#160; uint8_t <a class="code" href="union_p_s4_buttons.html#a09805f3bcc362c410d7897792599d61d">r3</a> : 1;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div>
<div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="union_p_s4_buttons.html#a5fdf37790214db1379457bab99adace9"> 53</a></span>&#160; uint8_t <a class="code" href="union_p_s4_buttons.html#a5fdf37790214db1379457bab99adace9">ps</a> : 1;</div>
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="union_p_s4_buttons.html#a0923bb3148f730c2823853d368576917"> 54</a></span>&#160; uint8_t <a class="code" href="union_p_s4_buttons.html#a0923bb3148f730c2823853d368576917">keypad</a> : 1;</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="union_p_s4_buttons.html#a7cd7d1ebbe71e0612e7f754e06adc5ef"> 55</a></span>&#160; uint8_t <a class="code" href="union_p_s4_buttons.html#a7cd7d1ebbe71e0612e7f754e06adc5ef">dummy</a> : 6;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; };</div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="union_p_s4_buttons.html#a0cb061ca058b493218c01eb1ada1af00"> 57</a></span>&#160; uint8_t <a class="code" href="union_p_s4_buttons.html#a0cb061ca058b493218c01eb1ada1af00">val</a>[3];</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;};</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="struct_p_s4_data.html"> 60</a></span>&#160;<span class="keyword">struct </span><a class="code" href="struct_p_s4_data.html">PS4Data</a> {</div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="struct_p_s4_data.html#aa004cc456c79269dec99a9eed667484d"> 61</a></span>&#160; uint8_t <a class="code" href="struct_p_s4_data.html#aa004cc456c79269dec99a9eed667484d">hatValue</a>[4];</div>
<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="struct_p_s4_data.html#a60c0217c1879e1b16ae5d19a8c8695a3"> 62</a></span>&#160; <a class="code" href="union_p_s4_buttons.html">PS4Buttons</a> <a class="code" href="struct_p_s4_data.html#a60c0217c1879e1b16ae5d19a8c8695a3">btn</a>;</div>
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="struct_p_s4_data.html#aad2133de0113cee402cda4a8c7e8b6a5"> 63</a></span>&#160; uint8_t <a class="code" href="struct_p_s4_data.html#aad2133de0113cee402cda4a8c7e8b6a5">trigger</a>[2];</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;};</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div>
<div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="class_p_s4_b_t.html"> 67</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_p_s4_b_t.html">PS4BT</a> : <span class="keyword">public</span> <a class="code" href="class_h_i_d_report_parser.html">HIDReportParser</a> {</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="class_p_s4_b_t.html#abf535806616e6cacf6707dc96279f1c1"> 73</a></span>&#160; <a class="code" href="class_p_s4_b_t.html#abf535806616e6cacf6707dc96279f1c1">PS4BT</a>(<a class="code" href="class_b_t_h_i_d.html">BTHID</a> *p) :</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; pBthid(p) {</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; pBthid-&gt;<a class="code" href="class_b_t_h_i_d.html#a0e903f0b5040f3561e5de6c4431027b1">SetReportParser</a>(<a class="code" href="_b_t_h_i_d_8h.html#a699c5d6eb13133dce9504391bc610f3e">KEYBOARD_PARSER_ID</a>, <span class="keyword">this</span>);</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <a class="code" href="class_p_s4_b_t.html#a60d9bd17b809303cf2840f2892698bd0">Reset</a>();</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; };</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_p_s4_b_t.html#a2d0d9b579a008f681471d595843af8d1">Parse</a>(<a class="code" href="class_h_i_d.html">HID</a> *hid, <span class="keywordtype">bool</span> is_rpt_id, uint8_t len, uint8_t *buf);</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_p_s4_b_t.html#a1a7935eca7794b2fb0da4a0b175a1974">getButtonPress</a>(<a class="code" href="controller_enums_8h.html#a94f7389d205c78830a5441370d7870fd">ButtonEnum</a> b);</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_p_s4_b_t.html#a7019f43cfd9ef4860dea0ffb5b580254">getButtonClick</a>(<a class="code" href="controller_enums_8h.html#a94f7389d205c78830a5441370d7870fd">ButtonEnum</a> b);</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; uint8_t <a class="code" href="class_p_s4_b_t.html#ad9668449b50b4e28a2f269c04f628af8">getAnalogButton</a>(<a class="code" href="controller_enums_8h.html#a94f7389d205c78830a5441370d7870fd">ButtonEnum</a> a);</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; uint8_t <a class="code" href="class_p_s4_b_t.html#a889b1b544fc439b2bcc7a041272701da">getAnalogHat</a>(<a class="code" href="controller_enums_8h.html#a34dad8f0a0927471137c403216597093">AnalogHatEnum</a> a);</div>
<div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="class_p_s4_b_t.html#a08a857b8533e59f6eb872e4c8f727405"> 115</a></span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_p_s4_b_t.html#a08a857b8533e59f6eb872e4c8f727405">connected</a>() {</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">if</span> (pBthid)</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">return</span> pBthid-&gt;<a class="code" href="class_b_t_h_i_d.html#ab3a81823a1d8805383146a6baad6ccc4">connected</a>;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; };</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div>
<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="class_p_s4_b_t.html#abe83edc43707665dc9c1233d824dcae4"> 122</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_p_s4_b_t.html#abe83edc43707665dc9c1233d824dcae4">disconnect</a>() {</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">if</span> (pBthid)</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; pBthid-&gt;<a class="code" href="class_b_t_h_i_d.html#ae1ee62d7b9951ec7960f122c9fc2d2d0">disconnect</a>();</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; };</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div>
<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="class_p_s4_b_t.html#a61f45e4cc254de9f4437d3e9866a24e9"> 128</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_p_s4_b_t.html#a61f45e4cc254de9f4437d3e9866a24e9">pair</a>(<span class="keywordtype">void</span>) {</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">if</span> (pBthid)</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; pBthid-&gt;<a class="code" href="class_b_t_h_i_d.html#afb19720b65cda69d910416c7a689dd45">pair</a>();</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; };</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div>
<div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="class_p_s4_b_t.html#a60d9bd17b809303cf2840f2892698bd0"> 133</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_p_s4_b_t.html#a60d9bd17b809303cf2840f2892698bd0">Reset</a>() {</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; uint8_t i;</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">for</span> (0; i &lt; <span class="keyword">sizeof</span>(ps4Data.<a class="code" href="struct_p_s4_data.html#aa004cc456c79269dec99a9eed667484d">hatValue</a>); i++)</div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; ps4Data.<a class="code" href="struct_p_s4_data.html#aa004cc456c79269dec99a9eed667484d">hatValue</a>[i] = 127;</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; for (0; i &lt; <span class="keyword">sizeof</span>(<a class="code" href="union_p_s4_buttons.html">PS4Buttons</a>); i++) {</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; ps4Data.<a class="code" href="struct_p_s4_data.html#a60c0217c1879e1b16ae5d19a8c8695a3">btn</a>.<a class="code" href="union_p_s4_buttons.html#a0cb061ca058b493218c01eb1ada1af00">val</a>[i] = 0;</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; oldButtonState.<a class="code" href="union_p_s4_buttons.html#a0cb061ca058b493218c01eb1ada1af00">val</a>[i] = 0;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; }</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">for</span> (0; i &lt; <span class="keyword">sizeof</span>(ps4Data.<a class="code" href="struct_p_s4_data.html#aad2133de0113cee402cda4a8c7e8b6a5">trigger</a>); i++)</div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; ps4Data.<a class="code" href="struct_p_s4_data.html#aad2133de0113cee402cda4a8c7e8b6a5">trigger</a>[i] = 0;</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;</div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; ps4Data.<a class="code" href="struct_p_s4_data.html#a60c0217c1879e1b16ae5d19a8c8695a3">btn</a>.<a class="code" href="union_p_s4_buttons.html#a99e2971b4e511a8d1bb718408f559a92">dpad</a> = <a class="code" href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62aeb5da32679ab2abc4001f04d5f8c7044">DPAD_OFF</a>;</div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; oldButtonState.<a class="code" href="union_p_s4_buttons.html#a99e2971b4e511a8d1bb718408f559a92">dpad</a> = <a class="code" href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62aeb5da32679ab2abc4001f04d5f8c7044">DPAD_OFF</a>;</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; buttonClickState.<a class="code" href="union_p_s4_buttons.html#a99e2971b4e511a8d1bb718408f559a92">dpad</a> = <a class="code" href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62aeb5da32679ab2abc4001f04d5f8c7044">DPAD_OFF</a>;</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; };</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;</div>
<div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="class_p_s4_b_t.html#a63c57ecc5c678da13e7787792e385ec9"> 153</a></span>&#160; <span class="keywordtype">void</span> <a class="code" href="class_p_s4_b_t.html#a63c57ecc5c678da13e7787792e385ec9">attachOnInit</a>(<span class="keywordtype">void</span> (*funcOnInit)(<span class="keywordtype">void</span>)) {</div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; pFuncOnInit = funcOnInit;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; };</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keywordtype">void</span> onInit() {</div>
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <a class="code" href="class_p_s4_b_t.html#a60d9bd17b809303cf2840f2892698bd0">Reset</a>();</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">if</span>(pFuncOnInit)</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; pFuncOnInit(); <span class="comment">// Call the user function</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; };</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; void (*pFuncOnInit)(void); <span class="comment">// Pointer to function called in onInit()</span></div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordtype">bool</span> checkDpad(<a class="code" href="union_p_s4_buttons.html">PS4Buttons</a> ps4Buttons, <a class="code" href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62">DPADEnum</a> b); <span class="comment">// Used to check PS4 DPAD buttons</span></div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="class_b_t_h_i_d.html">BTHID</a> *pBthid; <span class="comment">// Pointer to BTHID instance</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <a class="code" href="struct_p_s4_data.html">PS4Data</a> ps4Data;</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="code" href="union_p_s4_buttons.html">PS4Buttons</a> oldButtonState, buttonClickState;</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160;};</div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="ttc" id="_p_s4_b_t_8h_html_a3eca256e8b59574c290177d7df302a62aeb5da32679ab2abc4001f04d5f8c7044"><div class="ttname"><a href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62aeb5da32679ab2abc4001f04d5f8c7044">DPAD_OFF</a></div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00033">PS4BT.h:33</a></div></div>
<div class="ttc" id="struct_p_s4_data_html_aa004cc456c79269dec99a9eed667484d"><div class="ttname"><a href="struct_p_s4_data.html#aa004cc456c79269dec99a9eed667484d">PS4Data::hatValue</a></div><div class="ttdeci">uint8_t hatValue[4]</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00061">PS4BT.h:61</a></div></div>
<div class="ttc" id="struct_p_s4_data_html"><div class="ttname"><a href="struct_p_s4_data.html">PS4Data</a></div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00060">PS4BT.h:60</a></div></div>
<div class="ttc" id="union_p_s4_buttons_html_aba0cb76ee82bd0ebe9872aa7bcbffac6"><div class="ttname"><a href="union_p_s4_buttons.html#aba0cb76ee82bd0ebe9872aa7bcbffac6">PS4Buttons::r1</a></div><div class="ttdeci">uint8_t r1</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00045">PS4BT.h:45</a></div></div>
<div class="ttc" id="class_p_s4_b_t_html_a2d0d9b579a008f681471d595843af8d1"><div class="ttname"><a href="class_p_s4_b_t.html#a2d0d9b579a008f681471d595843af8d1">PS4BT::Parse</a></div><div class="ttdeci">virtual void Parse(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf)</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8cpp_source.html#l00097">PS4BT.cpp:97</a></div></div>
<div class="ttc" id="class_p_s4_b_t_html_a08a857b8533e59f6eb872e4c8f727405"><div class="ttname"><a href="class_p_s4_b_t.html#a08a857b8533e59f6eb872e4c8f727405">PS4BT::connected</a></div><div class="ttdeci">bool connected()</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00115">PS4BT.h:115</a></div></div>
<div class="ttc" id="controller_enums_8h_html_a34dad8f0a0927471137c403216597093"><div class="ttname"><a href="controller_enums_8h.html#a34dad8f0a0927471137c403216597093">AnalogHatEnum</a></div><div class="ttdeci">AnalogHatEnum</div><div class="ttdef"><b>Definition:</b> <a href="controller_enums_8h_source.html#l00116">controllerEnums.h:116</a></div></div>
<div class="ttc" id="class_b_t_h_i_d_html_ab3a81823a1d8805383146a6baad6ccc4"><div class="ttname"><a href="class_b_t_h_i_d.html#ab3a81823a1d8805383146a6baad6ccc4">BTHID::connected</a></div><div class="ttdeci">bool connected</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_h_i_d_8h_source.html#l00093">BTHID.h:93</a></div></div>
<div class="ttc" id="union_p_s4_buttons_html_adf2ff3e6e4050070a68e90a83be81e92"><div class="ttname"><a href="union_p_s4_buttons.html#adf2ff3e6e4050070a68e90a83be81e92">PS4Buttons::share</a></div><div class="ttdeci">uint8_t share</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00048">PS4BT.h:48</a></div></div>
<div class="ttc" id="class_p_s4_b_t_html_a63c57ecc5c678da13e7787792e385ec9"><div class="ttname"><a href="class_p_s4_b_t.html#a63c57ecc5c678da13e7787792e385ec9">PS4BT::attachOnInit</a></div><div class="ttdeci">void attachOnInit(void(*funcOnInit)(void))</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00153">PS4BT.h:153</a></div></div>
<div class="ttc" id="_p_s4_b_t_8h_html_a3eca256e8b59574c290177d7df302a62ab5e7d62ac3dfe6a925d1d6be3c756faa"><div class="ttname"><a href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62ab5e7d62ac3dfe6a925d1d6be3c756faa">DPAD_DOWN</a></div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00029">PS4BT.h:29</a></div></div>
<div class="ttc" id="_p_s3_enums_8h_html"><div class="ttname"><a href="_p_s3_enums_8h.html">PS3Enums.h</a></div></div>
<div class="ttc" id="union_p_s4_buttons_html_a1163dc3517b1c27093b7cdd597eaa9fd"><div class="ttname"><a href="union_p_s4_buttons.html#a1163dc3517b1c27093b7cdd597eaa9fd">PS4Buttons::cross</a></div><div class="ttdeci">uint8_t cross</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00040">PS4BT.h:40</a></div></div>
<div class="ttc" id="union_p_s4_buttons_html_a99b88dcb511243ea0c046cac1f5633ec"><div class="ttname"><a href="union_p_s4_buttons.html#a99b88dcb511243ea0c046cac1f5633ec">PS4Buttons::l2</a></div><div class="ttdeci">uint8_t l2</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00046">PS4BT.h:46</a></div></div>
<div class="ttc" id="_p_s4_b_t_8h_html_a3eca256e8b59574c290177d7df302a62ac6b9de0c407333a7161ca1efe6e30743"><div class="ttname"><a href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62ac6b9de0c407333a7161ca1efe6e30743">DPAD_LEFT_UP</a></div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00032">PS4BT.h:32</a></div></div>
<div class="ttc" id="union_p_s4_buttons_html_a84eb7076098ec3135bdc440a279fde50"><div class="ttname"><a href="union_p_s4_buttons.html#a84eb7076098ec3135bdc440a279fde50">PS4Buttons::square</a></div><div class="ttdeci">uint8_t square</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00039">PS4BT.h:39</a></div></div>
<div class="ttc" id="class_p_s4_b_t_html_a1a7935eca7794b2fb0da4a0b175a1974"><div class="ttname"><a href="class_p_s4_b_t.html#a1a7935eca7794b2fb0da4a0b175a1974">PS4BT::getButtonPress</a></div><div class="ttdeci">bool getButtonPress(ButtonEnum b)</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8cpp_source.html#l00060">PS4BT.cpp:60</a></div></div>
<div class="ttc" id="union_p_s4_buttons_html_a5fdf37790214db1379457bab99adace9"><div class="ttname"><a href="union_p_s4_buttons.html#a5fdf37790214db1379457bab99adace9">PS4Buttons::ps</a></div><div class="ttdeci">uint8_t ps</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00053">PS4BT.h:53</a></div></div>
<div class="ttc" id="class_p_s4_b_t_html_a889b1b544fc439b2bcc7a041272701da"><div class="ttname"><a href="class_p_s4_b_t.html#a889b1b544fc439b2bcc7a041272701da">PS4BT::getAnalogHat</a></div><div class="ttdeci">uint8_t getAnalogHat(AnalogHatEnum a)</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8cpp_source.html#l00093">PS4BT.cpp:93</a></div></div>
<div class="ttc" id="union_p_s4_buttons_html_a0cb061ca058b493218c01eb1ada1af00"><div class="ttname"><a href="union_p_s4_buttons.html#a0cb061ca058b493218c01eb1ada1af00">PS4Buttons::val</a></div><div class="ttdeci">uint8_t val[3]</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00057">PS4BT.h:57</a></div></div>
<div class="ttc" id="struct_p_s4_data_html_aad2133de0113cee402cda4a8c7e8b6a5"><div class="ttname"><a href="struct_p_s4_data.html#aad2133de0113cee402cda4a8c7e8b6a5">PS4Data::trigger</a></div><div class="ttdeci">uint8_t trigger[2]</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00063">PS4BT.h:63</a></div></div>
<div class="ttc" id="_b_t_h_i_d_8h_html"><div class="ttname"><a href="_b_t_h_i_d_8h.html">BTHID.h</a></div></div>
<div class="ttc" id="_p_s4_b_t_8h_html_a3eca256e8b59574c290177d7df302a62abc09f2a57c77693c05e8d52917d2bac0"><div class="ttname"><a href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62abc09f2a57c77693c05e8d52917d2bac0">DPAD_UP_RIGHT</a></div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00026">PS4BT.h:26</a></div></div>
<div class="ttc" id="class_b_t_h_i_d_html_ae1ee62d7b9951ec7960f122c9fc2d2d0"><div class="ttname"><a href="class_b_t_h_i_d.html#ae1ee62d7b9951ec7960f122c9fc2d2d0">BTHID::disconnect</a></div><div class="ttdeci">virtual void disconnect()</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_h_i_d_8cpp_source.html#l00051">BTHID.cpp:51</a></div></div>
<div class="ttc" id="controller_enums_8h_html_a94f7389d205c78830a5441370d7870fd"><div class="ttname"><a href="controller_enums_8h.html#a94f7389d205c78830a5441370d7870fd">ButtonEnum</a></div><div class="ttdeci">ButtonEnum</div><div class="ttdef"><b>Definition:</b> <a href="controller_enums_8h_source.html#l00045">controllerEnums.h:45</a></div></div>
<div class="ttc" id="class_h_i_d_html"><div class="ttname"><a href="class_h_i_d.html">HID</a></div><div class="ttdef"><b>Definition:</b> <a href="hid_8h_source.html#l00143">hid.h:143</a></div></div>
<div class="ttc" id="class_p_s4_b_t_html_a61f45e4cc254de9f4437d3e9866a24e9"><div class="ttname"><a href="class_p_s4_b_t.html#a61f45e4cc254de9f4437d3e9866a24e9">PS4BT::pair</a></div><div class="ttdeci">void pair(void)</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00128">PS4BT.h:128</a></div></div>
<div class="ttc" id="union_p_s4_buttons_html_a3488f850c1de8d49a9dc932f1575e5e4"><div class="ttname"><a href="union_p_s4_buttons.html#a3488f850c1de8d49a9dc932f1575e5e4">PS4Buttons::l1</a></div><div class="ttdeci">uint8_t l1</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00044">PS4BT.h:44</a></div></div>
<div class="ttc" id="_p_s4_b_t_8h_html_a3eca256e8b59574c290177d7df302a62afe9bfbd6550b91f6640b74a155000cba"><div class="ttname"><a href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62afe9bfbd6550b91f6640b74a155000cba">DPAD_LEFT</a></div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00031">PS4BT.h:31</a></div></div>
<div class="ttc" id="_p_s4_b_t_8h_html_a3eca256e8b59574c290177d7df302a62a1b679be7217f73f03393bb379b218d66"><div class="ttname"><a href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62a1b679be7217f73f03393bb379b218d66">DPAD_DOWN_LEFT</a></div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00030">PS4BT.h:30</a></div></div>
<div class="ttc" id="union_p_s4_buttons_html_a09805f3bcc362c410d7897792599d61d"><div class="ttname"><a href="union_p_s4_buttons.html#a09805f3bcc362c410d7897792599d61d">PS4Buttons::r3</a></div><div class="ttdeci">uint8_t r3</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00051">PS4BT.h:51</a></div></div>
<div class="ttc" id="union_p_s4_buttons_html"><div class="ttname"><a href="union_p_s4_buttons.html">PS4Buttons</a></div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00036">PS4BT.h:36</a></div></div>
<div class="ttc" id="union_p_s4_buttons_html_a99e2971b4e511a8d1bb718408f559a92"><div class="ttname"><a href="union_p_s4_buttons.html#a99e2971b4e511a8d1bb718408f559a92">PS4Buttons::dpad</a></div><div class="ttdeci">uint8_t dpad</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00038">PS4BT.h:38</a></div></div>
<div class="ttc" id="union_p_s4_buttons_html_a0923bb3148f730c2823853d368576917"><div class="ttname"><a href="union_p_s4_buttons.html#a0923bb3148f730c2823853d368576917">PS4Buttons::keypad</a></div><div class="ttdeci">uint8_t keypad</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00054">PS4BT.h:54</a></div></div>
<div class="ttc" id="_p_s4_b_t_8h_html_a3eca256e8b59574c290177d7df302a62af0f91a0468a0f49170b119f7de0d5cec"><div class="ttname"><a href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62af0f91a0468a0f49170b119f7de0d5cec">DPAD_RIGHT</a></div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00027">PS4BT.h:27</a></div></div>
<div class="ttc" id="_p_s4_b_t_8h_html_a3eca256e8b59574c290177d7df302a62aafb58dc961545afb332266b117e4a332"><div class="ttname"><a href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62aafb58dc961545afb332266b117e4a332">DPAD_UP</a></div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00025">PS4BT.h:25</a></div></div>
<div class="ttc" id="union_p_s4_buttons_html_a7cd7d1ebbe71e0612e7f754e06adc5ef"><div class="ttname"><a href="union_p_s4_buttons.html#a7cd7d1ebbe71e0612e7f754e06adc5ef">PS4Buttons::dummy</a></div><div class="ttdeci">uint8_t dummy</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00055">PS4BT.h:55</a></div></div>
<div class="ttc" id="class_p_s4_b_t_html_abe83edc43707665dc9c1233d824dcae4"><div class="ttname"><a href="class_p_s4_b_t.html#abe83edc43707665dc9c1233d824dcae4">PS4BT::disconnect</a></div><div class="ttdeci">void disconnect()</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00122">PS4BT.h:122</a></div></div>
<div class="ttc" id="class_p_s4_b_t_html_ad9668449b50b4e28a2f269c04f628af8"><div class="ttname"><a href="class_p_s4_b_t.html#ad9668449b50b4e28a2f269c04f628af8">PS4BT::getAnalogButton</a></div><div class="ttdeci">uint8_t getAnalogButton(ButtonEnum a)</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8cpp_source.html#l00089">PS4BT.cpp:89</a></div></div>
<div class="ttc" id="union_p_s4_buttons_html_a72d07e9a47b1b75474e152b6aaeae6e5"><div class="ttname"><a href="union_p_s4_buttons.html#a72d07e9a47b1b75474e152b6aaeae6e5">PS4Buttons::triangle</a></div><div class="ttdeci">uint8_t triangle</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00042">PS4BT.h:42</a></div></div>
<div class="ttc" id="union_p_s4_buttons_html_a416642ff357b1313825fe94e0491b60e"><div class="ttname"><a href="union_p_s4_buttons.html#a416642ff357b1313825fe94e0491b60e">PS4Buttons::r2</a></div><div class="ttdeci">uint8_t r2</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00047">PS4BT.h:47</a></div></div>
<div class="ttc" id="union_p_s4_buttons_html_a27f1b87f473ace3a4465ae999858357b"><div class="ttname"><a href="union_p_s4_buttons.html#a27f1b87f473ace3a4465ae999858357b">PS4Buttons::options</a></div><div class="ttdeci">uint8_t options</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00049">PS4BT.h:49</a></div></div>
<div class="ttc" id="class_p_s4_b_t_html_a60d9bd17b809303cf2840f2892698bd0"><div class="ttname"><a href="class_p_s4_b_t.html#a60d9bd17b809303cf2840f2892698bd0">PS4BT::Reset</a></div><div class="ttdeci">void Reset()</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00133">PS4BT.h:133</a></div></div>
<div class="ttc" id="_b_t_h_i_d_8h_html_a699c5d6eb13133dce9504391bc610f3e"><div class="ttname"><a href="_b_t_h_i_d_8h.html#a699c5d6eb13133dce9504391bc610f3e">KEYBOARD_PARSER_ID</a></div><div class="ttdeci">#define KEYBOARD_PARSER_ID</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_h_i_d_8h_source.html#l00024">BTHID.h:24</a></div></div>
<div class="ttc" id="_p_s4_b_t_8h_html_a3eca256e8b59574c290177d7df302a62a352a732e4f7a41d4a92ab99e661094d0"><div class="ttname"><a href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62a352a732e4f7a41d4a92ab99e661094d0">DPAD_RIGHT_DOWN</a></div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00028">PS4BT.h:28</a></div></div>
<div class="ttc" id="class_h_i_d_report_parser_html"><div class="ttname"><a href="class_h_i_d_report_parser.html">HIDReportParser</a></div><div class="ttdef"><b>Definition:</b> <a href="hid_8h_source.html#l00138">hid.h:138</a></div></div>
<div class="ttc" id="class_p_s4_b_t_html_abf535806616e6cacf6707dc96279f1c1"><div class="ttname"><a href="class_p_s4_b_t.html#abf535806616e6cacf6707dc96279f1c1">PS4BT::PS4BT</a></div><div class="ttdeci">PS4BT(BTHID *p)</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00073">PS4BT.h:73</a></div></div>
<div class="ttc" id="union_p_s4_buttons_html_ab8835f04d0c0c5e630d685ec2fd54e80"><div class="ttname"><a href="union_p_s4_buttons.html#ab8835f04d0c0c5e630d685ec2fd54e80">PS4Buttons::l3</a></div><div class="ttdeci">uint8_t l3</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00050">PS4BT.h:50</a></div></div>
<div class="ttc" id="struct_p_s4_data_html_a60c0217c1879e1b16ae5d19a8c8695a3"><div class="ttname"><a href="struct_p_s4_data.html#a60c0217c1879e1b16ae5d19a8c8695a3">PS4Data::btn</a></div><div class="ttdeci">PS4Buttons btn</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00062">PS4BT.h:62</a></div></div>
<div class="ttc" id="class_p_s4_b_t_html_a7019f43cfd9ef4860dea0ffb5b580254"><div class="ttname"><a href="class_p_s4_b_t.html#a7019f43cfd9ef4860dea0ffb5b580254">PS4BT::getButtonClick</a></div><div class="ttdeci">bool getButtonClick(ButtonEnum b)</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8cpp_source.html#l00071">PS4BT.cpp:71</a></div></div>
<div class="ttc" id="class_b_t_h_i_d_html"><div class="ttname"><a href="class_b_t_h_i_d.html">BTHID</a></div><div class="ttdef"><b>Definition:</b> <a href="_b_t_h_i_d_8h_source.html#l00029">BTHID.h:29</a></div></div>
<div class="ttc" id="_p_s4_b_t_8h_html_a3eca256e8b59574c290177d7df302a62"><div class="ttname"><a href="_p_s4_b_t_8h.html#a3eca256e8b59574c290177d7df302a62">DPADEnum</a></div><div class="ttdeci">DPADEnum</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00024">PS4BT.h:24</a></div></div>
<div class="ttc" id="union_p_s4_buttons_html_a95340b24c0846c778d2d8d0c983f4cdb"><div class="ttname"><a href="union_p_s4_buttons.html#a95340b24c0846c778d2d8d0c983f4cdb">PS4Buttons::circle</a></div><div class="ttdeci">uint8_t circle</div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00041">PS4BT.h:41</a></div></div>
<div class="ttc" id="class_b_t_h_i_d_html_afb19720b65cda69d910416c7a689dd45"><div class="ttname"><a href="class_b_t_h_i_d.html#afb19720b65cda69d910416c7a689dd45">BTHID::pair</a></div><div class="ttdeci">void pair(void)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_h_i_d_8h_source.html#l00096">BTHID.h:96</a></div></div>
<div class="ttc" id="class_p_s4_b_t_html"><div class="ttname"><a href="class_p_s4_b_t.html">PS4BT</a></div><div class="ttdef"><b>Definition:</b> <a href="_p_s4_b_t_8h_source.html#l00067">PS4BT.h:67</a></div></div>
<div class="ttc" id="class_b_t_h_i_d_html_a0e903f0b5040f3561e5de6c4431027b1"><div class="ttname"><a href="class_b_t_h_i_d.html#a0e903f0b5040f3561e5de6c4431027b1">BTHID::SetReportParser</a></div><div class="ttdeci">bool SetReportParser(uint8_t id, HIDReportParser *prs)</div><div class="ttdef"><b>Definition:</b> <a href="_b_t_h_i_d_8h_source.html#l00071">BTHID.h:71</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>