USB_Host_Shield_2.0/class_p_s4_parser.html
2021-03-23 11:43:48 +00:00

1068 lines
52 KiB
HTML

<!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">
<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.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>USB Host Shield 2.0: PS4Parser Class 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>
<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>
<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 id="projectalign" 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.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- 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">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="class_p_s4_parser-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">PS4Parser Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div> </div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="_p_s4_parser_8h_source.html">PS4Parser.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for PS4Parser:</div>
<div class="dyncontent">
<div class="center"><img src="class_p_s4_parser__inherit__graph.png" border="0" usemap="#_p_s4_parser_inherit__map" alt="Inheritance graph"/></div>
<map name="_p_s4_parser_inherit__map" id="_p_s4_parser_inherit__map">
<area shape="rect" title=" " alt="" coords="39,5,125,32"/>
<area shape="rect" href="class_p_s4_b_t.html" title=" " alt="" coords="5,80,68,107"/>
<area shape="rect" href="class_p_s4_u_s_b.html" title=" " alt="" coords="92,80,165,107"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a3ef06f8737f1088dbdbbc351b576c1cf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_s4_parser.html#a3ef06f8737f1088dbdbbc351b576c1cf">PS4Parser</a> ()</td></tr>
<tr class="separator:a3ef06f8737f1088dbdbbc351b576c1cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">PS4 Controller functions</div></td></tr>
<tr class="memitem:ad352f30e4ab772246574bbf654248906"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_s4_parser.html#ad352f30e4ab772246574bbf654248906">getButtonPress</a> (<a class="el" href="controller_enums_8h.html#a94f7389d205c78830a5441370d7870fd">ButtonEnum</a> b)</td></tr>
<tr class="separator:ad352f30e4ab772246574bbf654248906"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92a4ea3d328426b9f86be05cabaad91c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_s4_parser.html#a92a4ea3d328426b9f86be05cabaad91c">getButtonClick</a> (<a class="el" href="controller_enums_8h.html#a94f7389d205c78830a5441370d7870fd">ButtonEnum</a> b)</td></tr>
<tr class="separator:a92a4ea3d328426b9f86be05cabaad91c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66151c4e4601f80492cd5b2451a2f87a"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_s4_parser.html#a66151c4e4601f80492cd5b2451a2f87a">getAnalogButton</a> (<a class="el" href="controller_enums_8h.html#a94f7389d205c78830a5441370d7870fd">ButtonEnum</a> b)</td></tr>
<tr class="separator:a66151c4e4601f80492cd5b2451a2f87a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b11c5b27f9c9501fdb4f616cb3b194c"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_s4_parser.html#a9b11c5b27f9c9501fdb4f616cb3b194c">getAnalogHat</a> (<a class="el" href="controller_enums_8h.html#a34dad8f0a0927471137c403216597093">AnalogHatEnum</a> a)</td></tr>
<tr class="separator:a9b11c5b27f9c9501fdb4f616cb3b194c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa149326d97c6231087f81d954a994493"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_s4_parser.html#aa149326d97c6231087f81d954a994493">getX</a> (uint8_t finger=0, uint8_t xyId=0)</td></tr>
<tr class="separator:aa149326d97c6231087f81d954a994493"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9972eeb87f2ed4a96dcdccf2dabbbc5a"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_s4_parser.html#a9972eeb87f2ed4a96dcdccf2dabbbc5a">getY</a> (uint8_t finger=0, uint8_t xyId=0)</td></tr>
<tr class="separator:a9972eeb87f2ed4a96dcdccf2dabbbc5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6770a72c17062c2e00fb3602435fcade"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_s4_parser.html#a6770a72c17062c2e00fb3602435fcade">isTouching</a> (uint8_t finger=0, uint8_t xyId=0)</td></tr>
<tr class="separator:a6770a72c17062c2e00fb3602435fcade"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b3de008ae8aaa057c571081b1b64e88"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_s4_parser.html#a0b3de008ae8aaa057c571081b1b64e88">getTouchCounter</a> (uint8_t finger=0, uint8_t xyId=0)</td></tr>
<tr class="separator:a0b3de008ae8aaa057c571081b1b64e88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2f1a54f9127ff4bd4864de46fe83cf2"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_s4_parser.html#af2f1a54f9127ff4bd4864de46fe83cf2">getAngle</a> (<a class="el" href="controller_enums_8h.html#a7c7824a10a9ffa8fea85602fcf4d84e6">AngleEnum</a> a)</td></tr>
<tr class="separator:af2f1a54f9127ff4bd4864de46fe83cf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b06200adee0c8ed616c4d18c23a584a"><td class="memItemLeft" align="right" valign="top">int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_s4_parser.html#a2b06200adee0c8ed616c4d18c23a584a">getSensor</a> (<a class="el" href="controller_enums_8h.html#a00d5030559c481763282483889597d51">SensorEnum</a> s)</td></tr>
<tr class="separator:a2b06200adee0c8ed616c4d18c23a584a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9923c62cace760f3091ec1491ea966e0"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_s4_parser.html#a9923c62cace760f3091ec1491ea966e0">getBatteryLevel</a> ()</td></tr>
<tr class="separator:a9923c62cace760f3091ec1491ea966e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5eb7f8b6059fdf3b406244d8ebe4000"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_s4_parser.html#ac5eb7f8b6059fdf3b406244d8ebe4000">getUsbStatus</a> ()</td></tr>
<tr class="separator:ac5eb7f8b6059fdf3b406244d8ebe4000"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af168e2800954b75dd167560e47d13bbe"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_s4_parser.html#af168e2800954b75dd167560e47d13bbe">getAudioStatus</a> ()</td></tr>
<tr class="separator:af168e2800954b75dd167560e47d13bbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad032eb66359df0d6fb15e9a3cabdaece"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_s4_parser.html#ad032eb66359df0d6fb15e9a3cabdaece">getMicStatus</a> ()</td></tr>
<tr class="separator:ad032eb66359df0d6fb15e9a3cabdaece"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf2b7f2888fb7ebc9c58595a85568d65"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_s4_parser.html#adf2b7f2888fb7ebc9c58595a85568d65">setAllOff</a> ()</td></tr>
<tr class="separator:adf2b7f2888fb7ebc9c58595a85568d65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc9b3be8fb673e8e1f637c56d72f1180"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_s4_parser.html#acc9b3be8fb673e8e1f637c56d72f1180">setRumbleOff</a> ()</td></tr>
<tr class="separator:acc9b3be8fb673e8e1f637c56d72f1180"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44628a8521ef9c19d773347156962cab"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_s4_parser.html#a44628a8521ef9c19d773347156962cab">setRumbleOn</a> (<a class="el" href="controller_enums_8h.html#ab195293384292950ebc2166bfe360fd1">RumbleEnum</a> mode)</td></tr>
<tr class="separator:a44628a8521ef9c19d773347156962cab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8299bdbb9d790e6b2e98e942e9bd154e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_s4_parser.html#a8299bdbb9d790e6b2e98e942e9bd154e">setRumbleOn</a> (uint8_t bigRumble, uint8_t smallRumble)</td></tr>
<tr class="separator:a8299bdbb9d790e6b2e98e942e9bd154e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a820f1caf266224d1c1bb83b550ef4c97"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_s4_parser.html#a820f1caf266224d1c1bb83b550ef4c97">setLedOff</a> ()</td></tr>
<tr class="separator:a820f1caf266224d1c1bb83b550ef4c97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f709524b0303086591d81bd238e62e8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_s4_parser.html#a3f709524b0303086591d81bd238e62e8">setLed</a> (uint8_t r, uint8_t g, uint8_t b)</td></tr>
<tr class="separator:a3f709524b0303086591d81bd238e62e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58e7a4746ee4e1fc5ceea44f64ffc3f2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_s4_parser.html#a58e7a4746ee4e1fc5ceea44f64ffc3f2">setLed</a> (<a class="el" href="controller_enums_8h.html#aac6fa7b0395b95cc528deaad0ce884a2">ColorsEnum</a> color)</td></tr>
<tr class="separator:a58e7a4746ee4e1fc5ceea44f64ffc3f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26342dea530bf09e2ac8df847c1874fc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_s4_parser.html#a26342dea530bf09e2ac8df847c1874fc">setLedFlash</a> (uint8_t flashOn, uint8_t flashOff)</td></tr>
<tr class="separator:a26342dea530bf09e2ac8df847c1874fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a6498fdeb767364e84ce09ef208980622"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_s4_parser.html#a6498fdeb767364e84ce09ef208980622">Parse</a> (uint8_t len, uint8_t *buf)</td></tr>
<tr class="separator:a6498fdeb767364e84ce09ef208980622"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24640b2362b0f6f51785fbd3dd4f13f9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_s4_parser.html#a24640b2362b0f6f51785fbd3dd4f13f9">Reset</a> ()</td></tr>
<tr class="separator:a24640b2362b0f6f51785fbd3dd4f13f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8788530b0c213dedfcf56b78e8ca4879"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_p_s4_parser.html#a8788530b0c213dedfcf56b78e8ca4879">sendOutputReport</a> (<a class="el" href="struct_p_s4_output.html">PS4Output</a> *output)=0</td></tr>
<tr class="separator:a8788530b0c213dedfcf56b78e8ca4879"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This class parses all the data sent by the PS4 controller </p>
<p class="definition">Definition at line <a class="el" href="_p_s4_parser_8h_source.html#l00124">124</a> of file <a class="el" href="_p_s4_parser_8h_source.html">PS4Parser.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a3ef06f8737f1088dbdbbc351b576c1cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ef06f8737f1088dbdbbc351b576c1cf">&#9670;&nbsp;</a></span>PS4Parser()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">PS4Parser::PS4Parser </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor for the <a class="el" href="class_p_s4_parser.html">PS4Parser</a> class. </p>
<p class="definition">Definition at line <a class="el" href="_p_s4_parser_8h_source.html#l00127">127</a> of file <a class="el" href="_p_s4_parser_8h_source.html">PS4Parser.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ad352f30e4ab772246574bbf654248906"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad352f30e4ab772246574bbf654248906">&#9670;&nbsp;</a></span>getButtonPress()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool PS4Parser::getButtonPress </td>
<td>(</td>
<td class="paramtype"><a class="el" href="controller_enums_8h.html#a94f7389d205c78830a5441370d7870fd">ButtonEnum</a>&#160;</td>
<td class="paramname"><em>b</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="class_p_s4_parser.html#ad352f30e4ab772246574bbf654248906">getButtonPress(ButtonEnum b)</a> will return true as long as the button is held down.</p>
<p>While <a class="el" href="class_p_s4_parser.html#a92a4ea3d328426b9f86be05cabaad91c">getButtonClick(ButtonEnum b)</a> will only return it once.</p>
<p>So you instance if you need to increase a variable once you would use <a class="el" href="class_p_s4_parser.html#a92a4ea3d328426b9f86be05cabaad91c">getButtonClick(ButtonEnum b)</a>, but if you need to drive a robot forward you would use <a class="el" href="class_p_s4_parser.html#ad352f30e4ab772246574bbf654248906">getButtonPress(ButtonEnum b)</a>. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">b</td><td><a class="el" href="controller_enums_8h.html#a94f7389d205c78830a5441370d7870fd">ButtonEnum</a> to read. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="class_p_s4_parser.html#ad352f30e4ab772246574bbf654248906">getButtonPress(ButtonEnum b)</a> will return a true as long as a button is held down, while <a class="el" href="class_p_s4_parser.html#a92a4ea3d328426b9f86be05cabaad91c">getButtonClick(ButtonEnum b)</a> will return true once for each button press. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_p_s4_parser_8cpp_source.html#l00050">50</a> of file <a class="el" href="_p_s4_parser_8cpp_source.html">PS4Parser.cpp</a>.</p>
</div>
</div>
<a id="a92a4ea3d328426b9f86be05cabaad91c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92a4ea3d328426b9f86be05cabaad91c">&#9670;&nbsp;</a></span>getButtonClick()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool PS4Parser::getButtonClick </td>
<td>(</td>
<td class="paramtype"><a class="el" href="controller_enums_8h.html#a94f7389d205c78830a5441370d7870fd">ButtonEnum</a>&#160;</td>
<td class="paramname"><em>b</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p><a class="el" href="class_p_s4_parser.html#ad352f30e4ab772246574bbf654248906">getButtonPress(ButtonEnum b)</a> will return true as long as the button is held down.</p>
<p>While <a class="el" href="class_p_s4_parser.html#a92a4ea3d328426b9f86be05cabaad91c">getButtonClick(ButtonEnum b)</a> will only return it once.</p>
<p>So you instance if you need to increase a variable once you would use <a class="el" href="class_p_s4_parser.html#a92a4ea3d328426b9f86be05cabaad91c">getButtonClick(ButtonEnum b)</a>, but if you need to drive a robot forward you would use <a class="el" href="class_p_s4_parser.html#ad352f30e4ab772246574bbf654248906">getButtonPress(ButtonEnum b)</a>. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">b</td><td><a class="el" href="controller_enums_8h.html#a94f7389d205c78830a5441370d7870fd">ButtonEnum</a> to read. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="class_p_s4_parser.html#ad352f30e4ab772246574bbf654248906">getButtonPress(ButtonEnum b)</a> will return a true as long as a button is held down, while <a class="el" href="class_p_s4_parser.html#a92a4ea3d328426b9f86be05cabaad91c">getButtonClick(ButtonEnum b)</a> will return true once for each button press. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_p_s4_parser_8cpp_source.html#l00057">57</a> of file <a class="el" href="_p_s4_parser_8cpp_source.html">PS4Parser.cpp</a>.</p>
</div>
</div>
<a id="a66151c4e4601f80492cd5b2451a2f87a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66151c4e4601f80492cd5b2451a2f87a">&#9670;&nbsp;</a></span>getAnalogButton()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t PS4Parser::getAnalogButton </td>
<td>(</td>
<td class="paramtype"><a class="el" href="controller_enums_8h.html#a94f7389d205c78830a5441370d7870fd">ButtonEnum</a>&#160;</td>
<td class="paramname"><em>b</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Used to get the analog value from button presses. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">b</td><td>The <a class="el" href="controller_enums_8h.html#a94f7389d205c78830a5441370d7870fd">ButtonEnum</a> to read. The supported buttons are: <a class="el" href="controller_enums_8h.html#a94f7389d205c78830a5441370d7870fda0adffb24dae0c41be5b803f4d444f066">L2</a> and <a class="el" href="controller_enums_8h.html#a94f7389d205c78830a5441370d7870fda629d7b403cea5f826352f3aefb9a6d6a">R2</a>. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Analog value in the range of 0-255. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_p_s4_parser_8cpp_source.html#l00064">64</a> of file <a class="el" href="_p_s4_parser_8cpp_source.html">PS4Parser.cpp</a>.</p>
</div>
</div>
<a id="a9b11c5b27f9c9501fdb4f616cb3b194c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b11c5b27f9c9501fdb4f616cb3b194c">&#9670;&nbsp;</a></span>getAnalogHat()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t PS4Parser::getAnalogHat </td>
<td>(</td>
<td class="paramtype"><a class="el" href="controller_enums_8h.html#a34dad8f0a0927471137c403216597093">AnalogHatEnum</a>&#160;</td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Used to read the analog joystick. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">a</td><td><a class="el" href="controller_enums_8h.html#a34dad8f0a0927471137c403216597093a383cb8895dd296b7f69ce845ed16b0ca">LeftHatX</a>, <a class="el" href="controller_enums_8h.html#a34dad8f0a0927471137c403216597093af3f3925efa9762c4e9e71ac7da7a94a3">LeftHatY</a>, <a class="el" href="controller_enums_8h.html#a34dad8f0a0927471137c403216597093aaeb027a0ae5bbc6ba25e1c78a6486c7b">RightHatX</a>, and <a class="el" href="controller_enums_8h.html#a34dad8f0a0927471137c403216597093a7f1fb2db5381286691f4dec179ed5d5a">RightHatY</a>. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Return the analog value in the range of 0-255. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_p_s4_parser_8cpp_source.html#l00072">72</a> of file <a class="el" href="_p_s4_parser_8cpp_source.html">PS4Parser.cpp</a>.</p>
</div>
</div>
<a id="aa149326d97c6231087f81d954a994493"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa149326d97c6231087f81d954a994493">&#9670;&nbsp;</a></span>getX()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint16_t PS4Parser::getX </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>finger</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>xyId</em> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the x-coordinate of the touchpad. Position 0 is in the top left. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">finger</td><td>0 = first finger, 1 = second finger. If omitted, then 0 will be used. </td></tr>
<tr><td class="paramname">xyId</td><td>The controller sends out three packets with the same structure. The third one will contain the last measure, but if you read from the controller then there is only be data in the first one. For that reason it will be set to 0 if the argument is omitted. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns the x-coordinate of the finger. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_p_s4_parser_8h_source.html#l00170">170</a> of file <a class="el" href="_p_s4_parser_8h_source.html">PS4Parser.h</a>.</p>
</div>
</div>
<a id="a9972eeb87f2ed4a96dcdccf2dabbbc5a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9972eeb87f2ed4a96dcdccf2dabbbc5a">&#9670;&nbsp;</a></span>getY()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint16_t PS4Parser::getY </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>finger</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>xyId</em> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the y-coordinate of the touchpad. Position 0 is in the top left. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">finger</td><td>0 = first finger, 1 = second finger. If omitted, then 0 will be used. </td></tr>
<tr><td class="paramname">xyId</td><td>The controller sends out three packets with the same structure. The third one will contain the last measure, but if you read from the controller then there is only be data in the first one. For that reason it will be set to 0 if the argument is omitted. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns the y-coordinate of the finger. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_p_s4_parser_8h_source.html#l00182">182</a> of file <a class="el" href="_p_s4_parser_8h_source.html">PS4Parser.h</a>.</p>
</div>
</div>
<a id="a6770a72c17062c2e00fb3602435fcade"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6770a72c17062c2e00fb3602435fcade">&#9670;&nbsp;</a></span>isTouching()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool PS4Parser::isTouching </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>finger</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>xyId</em> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns whenever the user is toucing the touchpad. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">finger</td><td>0 = first finger, 1 = second finger. If omitted, then 0 will be used. </td></tr>
<tr><td class="paramname">xyId</td><td>The controller sends out three packets with the same structure. The third one will contain the last measure, but if you read from the controller then there is only be data in the first one. For that reason it will be set to 0 if the argument is omitted. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns true if the specific finger is touching the touchpad. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_p_s4_parser_8h_source.html#l00194">194</a> of file <a class="el" href="_p_s4_parser_8h_source.html">PS4Parser.h</a>.</p>
</div>
</div>
<a id="a0b3de008ae8aaa057c571081b1b64e88"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b3de008ae8aaa057c571081b1b64e88">&#9670;&nbsp;</a></span>getTouchCounter()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint8_t PS4Parser::getTouchCounter </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>finger</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>xyId</em> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This counter increments every time a finger touches the touchpad. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">finger</td><td>0 = first finger, 1 = second finger. If omitted, then 0 will be used. </td></tr>
<tr><td class="paramname">xyId</td><td>The controller sends out three packets with the same structure. The third one will contain the last measure, but if you read from the controller then there is only be data in the first one. For that reason it will be set to 0 if the argument is omitted. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Return the value of the counter, note that it is only a 7-bit value. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_p_s4_parser_8h_source.html#l00206">206</a> of file <a class="el" href="_p_s4_parser_8h_source.html">PS4Parser.h</a>.</p>
</div>
</div>
<a id="af2f1a54f9127ff4bd4864de46fe83cf2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af2f1a54f9127ff4bd4864de46fe83cf2">&#9670;&nbsp;</a></span>getAngle()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">float PS4Parser::getAngle </td>
<td>(</td>
<td class="paramtype"><a class="el" href="controller_enums_8h.html#a7c7824a10a9ffa8fea85602fcf4d84e6">AngleEnum</a>&#160;</td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the angle of the controller calculated using the accelerometer. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">a</td><td>Either <a class="el" href="controller_enums_8h.html#a7c7824a10a9ffa8fea85602fcf4d84e6ae3a34b760fa4a6854f28852e91d8bb47">Pitch</a> or <a class="el" href="controller_enums_8h.html#a7c7824a10a9ffa8fea85602fcf4d84e6a9d80e5f030503ccac779c6491826a173">Roll</a>. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Return the angle in the range of 0-360. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_p_s4_parser_8h_source.html#l00215">215</a> of file <a class="el" href="_p_s4_parser_8h_source.html">PS4Parser.h</a>.</p>
</div>
</div>
<a id="a2b06200adee0c8ed616c4d18c23a584a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b06200adee0c8ed616c4d18c23a584a">&#9670;&nbsp;</a></span>getSensor()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int16_t PS4Parser::getSensor </td>
<td>(</td>
<td class="paramtype"><a class="el" href="controller_enums_8h.html#a00d5030559c481763282483889597d51">SensorEnum</a>&#160;</td>
<td class="paramname"><em>s</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Used to get the raw values from the 3-axis gyroscope and 3-axis accelerometer inside the PS4 controller. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">s</td><td>The sensor to read. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns the raw sensor reading. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_p_s4_parser_8h_source.html#l00227">227</a> of file <a class="el" href="_p_s4_parser_8h_source.html">PS4Parser.h</a>.</p>
</div>
</div>
<a id="a9923c62cace760f3091ec1491ea966e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9923c62cace760f3091ec1491ea966e0">&#9670;&nbsp;</a></span>getBatteryLevel()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">uint8_t PS4Parser::getBatteryLevel </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the battery level of the PS4 controller. </p><dl class="section return"><dt>Returns</dt><dd>The battery level in the range 0-15. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_p_s4_parser_8h_source.html#l00250">250</a> of file <a class="el" href="_p_s4_parser_8h_source.html">PS4Parser.h</a>.</p>
</div>
</div>
<a id="ac5eb7f8b6059fdf3b406244d8ebe4000"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5eb7f8b6059fdf3b406244d8ebe4000">&#9670;&nbsp;</a></span>getUsbStatus()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool PS4Parser::getUsbStatus </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Use this to check if an <a class="el" href="class_u_s_b.html">USB</a> cable is connected to the PS4 controller. </p><dl class="section return"><dt>Returns</dt><dd>Returns true if an <a class="el" href="class_u_s_b.html">USB</a> cable is connected. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_p_s4_parser_8h_source.html#l00258">258</a> of file <a class="el" href="_p_s4_parser_8h_source.html">PS4Parser.h</a>.</p>
</div>
</div>
<a id="af168e2800954b75dd167560e47d13bbe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af168e2800954b75dd167560e47d13bbe">&#9670;&nbsp;</a></span>getAudioStatus()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool PS4Parser::getAudioStatus </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Use this to check if an audio jack cable is connected to the PS4 controller. </p><dl class="section return"><dt>Returns</dt><dd>Returns true if an audio jack cable is connected. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_p_s4_parser_8h_source.html#l00266">266</a> of file <a class="el" href="_p_s4_parser_8h_source.html">PS4Parser.h</a>.</p>
</div>
</div>
<a id="ad032eb66359df0d6fb15e9a3cabdaece"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad032eb66359df0d6fb15e9a3cabdaece">&#9670;&nbsp;</a></span>getMicStatus()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool PS4Parser::getMicStatus </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Use this to check if a microphone is connected to the PS4 controller. </p><dl class="section return"><dt>Returns</dt><dd>Returns true if a microphone is connected. </dd></dl>
<p class="definition">Definition at line <a class="el" href="_p_s4_parser_8h_source.html#l00274">274</a> of file <a class="el" href="_p_s4_parser_8h_source.html">PS4Parser.h</a>.</p>
</div>
</div>
<a id="adf2b7f2888fb7ebc9c58595a85568d65"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adf2b7f2888fb7ebc9c58595a85568d65">&#9670;&nbsp;</a></span>setAllOff()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PS4Parser::setAllOff </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Turn both rumble and the LEDs off. </p>
<p class="definition">Definition at line <a class="el" href="_p_s4_parser_8h_source.html#l00279">279</a> of file <a class="el" href="_p_s4_parser_8h_source.html">PS4Parser.h</a>.</p>
</div>
</div>
<a id="acc9b3be8fb673e8e1f637c56d72f1180"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc9b3be8fb673e8e1f637c56d72f1180">&#9670;&nbsp;</a></span>setRumbleOff()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PS4Parser::setRumbleOff </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set rumble off. </p>
<p class="definition">Definition at line <a class="el" href="_p_s4_parser_8h_source.html#l00285">285</a> of file <a class="el" href="_p_s4_parser_8h_source.html">PS4Parser.h</a>.</p>
</div>
</div>
<a id="a44628a8521ef9c19d773347156962cab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44628a8521ef9c19d773347156962cab">&#9670;&nbsp;</a></span>setRumbleOn() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PS4Parser::setRumbleOn </td>
<td>(</td>
<td class="paramtype"><a class="el" href="controller_enums_8h.html#ab195293384292950ebc2166bfe360fd1">RumbleEnum</a>&#160;</td>
<td class="paramname"><em>mode</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Turn on rumble. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mode</td><td>Either <a class="el" href="controller_enums_8h.html#ab195293384292950ebc2166bfe360fd1a5819f165165589a8e65b07bf46c7382b">RumbleHigh</a> or <a class="el" href="controller_enums_8h.html#ab195293384292950ebc2166bfe360fd1a080b52389e532b79b9e48f43ae6086ac">RumbleLow</a>. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_p_s4_parser_8h_source.html#l00293">293</a> of file <a class="el" href="_p_s4_parser_8h_source.html">PS4Parser.h</a>.</p>
</div>
</div>
<a id="a8299bdbb9d790e6b2e98e942e9bd154e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8299bdbb9d790e6b2e98e942e9bd154e">&#9670;&nbsp;</a></span>setRumbleOn() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PS4Parser::setRumbleOn </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>bigRumble</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>smallRumble</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Turn on rumble. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">bigRumble</td><td>Value for big motor. </td></tr>
<tr><td class="paramname">smallRumble</td><td>Value for small motor. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_p_s4_parser_8h_source.html#l00305">305</a> of file <a class="el" href="_p_s4_parser_8h_source.html">PS4Parser.h</a>.</p>
</div>
</div>
<a id="a820f1caf266224d1c1bb83b550ef4c97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a820f1caf266224d1c1bb83b550ef4c97">&#9670;&nbsp;</a></span>setLedOff()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PS4Parser::setLedOff </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Turn all LEDs off. </p>
<p class="definition">Definition at line <a class="el" href="_p_s4_parser_8h_source.html#l00312">312</a> of file <a class="el" href="_p_s4_parser_8h_source.html">PS4Parser.h</a>.</p>
</div>
</div>
<a id="a3f709524b0303086591d81bd238e62e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f709524b0303086591d81bd238e62e8">&#9670;&nbsp;</a></span>setLed() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PS4Parser::setLed </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>g</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Use this to set the color using RGB values. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">r,g,b</td><td>RGB value. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_p_s4_parser_8h_source.html#l00320">320</a> of file <a class="el" href="_p_s4_parser_8h_source.html">PS4Parser.h</a>.</p>
</div>
</div>
<a id="a58e7a4746ee4e1fc5ceea44f64ffc3f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a58e7a4746ee4e1fc5ceea44f64ffc3f2">&#9670;&nbsp;</a></span>setLed() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PS4Parser::setLed </td>
<td>(</td>
<td class="paramtype"><a class="el" href="controller_enums_8h.html#aac6fa7b0395b95cc528deaad0ce884a2">ColorsEnum</a>&#160;</td>
<td class="paramname"><em>color</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Use this to set the color using the predefined colors in <a class="el" href="controller_enums_8h.html#aac6fa7b0395b95cc528deaad0ce884a2">ColorsEnum</a>. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">color</td><td>The desired color. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_p_s4_parser_8h_source.html#l00331">331</a> of file <a class="el" href="_p_s4_parser_8h_source.html">PS4Parser.h</a>.</p>
</div>
</div>
<a id="a26342dea530bf09e2ac8df847c1874fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26342dea530bf09e2ac8df847c1874fc">&#9670;&nbsp;</a></span>setLedFlash()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PS4Parser::setLedFlash </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>flashOn</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>flashOff</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the LEDs flash time. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">flashOn</td><td>Time to flash bright (255 = 2.5 seconds). </td></tr>
<tr><td class="paramname">flashOff</td><td>Time to flash dark (255 = 2.5 seconds). </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_p_s4_parser_8h_source.html#l00340">340</a> of file <a class="el" href="_p_s4_parser_8h_source.html">PS4Parser.h</a>.</p>
</div>
</div>
<a id="a6498fdeb767364e84ce09ef208980622"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6498fdeb767364e84ce09ef208980622">&#9670;&nbsp;</a></span>Parse()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PS4Parser::Parse </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>len</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>buf</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Used to parse data sent from the PS4 controller. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">len</td><td>Length of the data. </td></tr>
<tr><td class="paramname">buf</td><td>Pointer to the data buffer. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_p_s4_parser_8cpp_source.html#l00076">76</a> of file <a class="el" href="_p_s4_parser_8cpp_source.html">PS4Parser.cpp</a>.</p>
</div>
</div>
<a id="a24640b2362b0f6f51785fbd3dd4f13f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24640b2362b0f6f51785fbd3dd4f13f9">&#9670;&nbsp;</a></span>Reset()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void PS4Parser::Reset </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Used to reset the different buffers to their default values </p>
<p class="definition">Definition at line <a class="el" href="_p_s4_parser_8cpp_source.html#l00130">130</a> of file <a class="el" href="_p_s4_parser_8cpp_source.html">PS4Parser.cpp</a>.</p>
</div>
</div>
<a id="a8788530b0c213dedfcf56b78e8ca4879"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8788530b0c213dedfcf56b78e8ca4879">&#9670;&nbsp;</a></span>sendOutputReport()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void PS4Parser::sendOutputReport </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_p_s4_output.html">PS4Output</a> *&#160;</td>
<td class="paramname"><em>output</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Send the output to the PS4 controller. This is implemented in <a class="el" href="_p_s4_b_t_8h.html">PS4BT.h</a> and <a class="el" href="_p_s4_u_s_b_8h.html">PS4USB.h</a>. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">output</td><td>Pointer to <a class="el" href="struct_p_s4_output.html">PS4Output</a> buffer; </td></tr>
</table>
</dd>
</dl>
<p>Implemented in <a class="el" href="class_p_s4_u_s_b.html#a75dc09d15f149e1a1b96b8d2ccbbff89">PS4USB</a>, and <a class="el" href="class_p_s4_b_t.html#ad3bb50902905677726bd62d5f394b062">PS4BT</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="_p_s4_parser_8h_source.html">PS4Parser.h</a></li>
<li><a class="el" href="_p_s4_parser_8cpp_source.html">PS4Parser.cpp</a></li>
</ul>
</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.17
</small></address>
</body>
</html>