acid-drop

- Hacking the planet from a LilyGo T-Deck using custom firmware
git clone git://git.acid.vegas/acid-drop.git
Log | Files | Refs | Archive | README | LICENSE

classace__button_1_1AceButton.html (46611B)

      1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      2 <html xmlns="http://www.w3.org/1999/xhtml">
      3 <head>
      4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
      5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
      6 <meta name="generator" content="Doxygen 1.8.13"/>
      7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
      8 <title>AceButton: ace_button::AceButton Class Reference</title>
      9 <link href="tabs.css" rel="stylesheet" type="text/css"/>
     10 <script type="text/javascript" src="jquery.js"></script>
     11 <script type="text/javascript" src="dynsections.js"></script>
     12 <link href="search/search.css" rel="stylesheet" type="text/css"/>
     13 <script type="text/javascript" src="search/searchdata.js"></script>
     14 <script type="text/javascript" src="search/search.js"></script>
     15 <link href="doxygen.css" rel="stylesheet" type="text/css" />
     16 </head>
     17 <body>
     18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
     19 <div id="titlearea">
     20 <table cellspacing="0" cellpadding="0">
     21  <tbody>
     22  <tr style="height: 56px;">
     23   <td id="projectalign" style="padding-left: 0.5em;">
     24    <div id="projectname">AceButton
     25    &#160;<span id="projectnumber">1.3.3</span>
     26    </div>
     27    <div id="projectbrief">An adjustable, compact, event-driven button library for Arduino.</div>
     28   </td>
     29  </tr>
     30  </tbody>
     31 </table>
     32 </div>
     33 <!-- end header part -->
     34 <!-- Generated by Doxygen 1.8.13 -->
     35 <script type="text/javascript">
     36 var searchBox = new SearchBox("searchBox", "search",false,'Search');
     37 </script>
     38 <script type="text/javascript" src="menudata.js"></script>
     39 <script type="text/javascript" src="menu.js"></script>
     40 <script type="text/javascript">
     41 $(function() {
     42   initMenu('',true,false,'search.php','Search');
     43   $(document).ready(function() { init_search(); });
     44 });
     45 </script>
     46 <div id="main-nav"></div>
     47 <!-- window showing the filter options -->
     48 <div id="MSearchSelectWindow"
     49      onmouseover="return searchBox.OnSearchSelectShow()"
     50      onmouseout="return searchBox.OnSearchSelectHide()"
     51      onkeydown="return searchBox.OnSearchSelectKey(event)">
     52 </div>
     53 
     54 <!-- iframe showing the search results (closed by default) -->
     55 <div id="MSearchResultsWindow">
     56 <iframe src="javascript:void(0)" frameborder="0" 
     57         name="MSearchResults" id="MSearchResults">
     58 </iframe>
     59 </div>
     60 
     61 <div id="nav-path" class="navpath">
     62   <ul>
     63 <li class="navelem"><b>ace_button</b></li><li class="navelem"><a class="el" href="classace__button_1_1AceButton.html">AceButton</a></li>  </ul>
     64 </div>
     65 </div><!-- top -->
     66 <div class="header">
     67   <div class="summary">
     68 <a href="#pub-methods">Public Member Functions</a> &#124;
     69 <a href="#pub-static-attribs">Static Public Attributes</a> &#124;
     70 <a href="classace__button_1_1AceButton-members.html">List of all members</a>  </div>
     71   <div class="headertitle">
     72 <div class="title">ace_button::AceButton Class Reference</div>  </div>
     73 </div><!--header-->
     74 <div class="contents">
     75 
     76 <p>An Adjustable Compact Event-driven (ACE) Button library that debounces and dispatches button events to a user-defined event handler.  
     77  <a href="classace__button_1_1AceButton.html#details">More...</a></p>
     78 
     79 <p><code>#include &lt;<a class="el" href="ace__button_2AceButton_8h_source.html">AceButton.h</a>&gt;</code></p>
     80 <table class="memberdecls">
     81 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
     82 Public Member Functions</h2></td></tr>
     83 <tr class="memitem:a3c480636223edc899a79c821c32c6982"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classace__button_1_1AceButton.html#a3c480636223edc899a79c821c32c6982">AceButton</a> (uint8_t pin=0, uint8_t defaultReleasedState=HIGH, uint8_t id=0)</td></tr>
     84 <tr class="memdesc:a3c480636223edc899a79c821c32c6982"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor defines parameters of the button that changes from button to button.  <a href="#a3c480636223edc899a79c821c32c6982">More...</a><br /></td></tr>
     85 <tr class="separator:a3c480636223edc899a79c821c32c6982"><td class="memSeparator" colspan="2">&#160;</td></tr>
     86 <tr class="memitem:ab2ec2d3b98e2e2228f85271385e07521"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classace__button_1_1AceButton.html#ab2ec2d3b98e2e2228f85271385e07521">AceButton</a> (<a class="el" href="classace__button_1_1ButtonConfig.html">ButtonConfig</a> *buttonConfig)</td></tr>
     87 <tr class="memdesc:ab2ec2d3b98e2e2228f85271385e07521"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor that accepts a <a class="el" href="classace__button_1_1ButtonConfig.html" title="Class that defines the timing parameters and event handler of an AceButton or a group of AceButton in...">ButtonConfig</a> as a dependency.  <a href="#ab2ec2d3b98e2e2228f85271385e07521">More...</a><br /></td></tr>
     88 <tr class="separator:ab2ec2d3b98e2e2228f85271385e07521"><td class="memSeparator" colspan="2">&#160;</td></tr>
     89 <tr class="memitem:a18c47304c694c6f084a343a7c83bef34"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classace__button_1_1AceButton.html#a18c47304c694c6f084a343a7c83bef34">init</a> (uint8_t pin=0, uint8_t defaultReleasedState=HIGH, uint8_t id=0)</td></tr>
     90 <tr class="memdesc:a18c47304c694c6f084a343a7c83bef34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the button to the initial constructed state.  <a href="#a18c47304c694c6f084a343a7c83bef34">More...</a><br /></td></tr>
     91 <tr class="separator:a18c47304c694c6f084a343a7c83bef34"><td class="memSeparator" colspan="2">&#160;</td></tr>
     92 <tr class="memitem:a5e4ea4aca852a5e0b1d426bccb131cfb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classace__button_1_1ButtonConfig.html">ButtonConfig</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classace__button_1_1AceButton.html#a5e4ea4aca852a5e0b1d426bccb131cfb">getButtonConfig</a> () ACE_BUTTON_INLINE</td></tr>
     93 <tr class="memdesc:a5e4ea4aca852a5e0b1d426bccb131cfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the <a class="el" href="classace__button_1_1ButtonConfig.html" title="Class that defines the timing parameters and event handler of an AceButton or a group of AceButton in...">ButtonConfig</a> associated with this Button.  <a href="#a5e4ea4aca852a5e0b1d426bccb131cfb">More...</a><br /></td></tr>
     94 <tr class="separator:a5e4ea4aca852a5e0b1d426bccb131cfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
     95 <tr class="memitem:abc9d705d1ca4341cf6f9434962b5b5e7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classace__button_1_1AceButton.html#abc9d705d1ca4341cf6f9434962b5b5e7">setButtonConfig</a> (<a class="el" href="classace__button_1_1ButtonConfig.html">ButtonConfig</a> *buttonConfig) ACE_BUTTON_INLINE</td></tr>
     96 <tr class="memdesc:abc9d705d1ca4341cf6f9434962b5b5e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the <a class="el" href="classace__button_1_1ButtonConfig.html" title="Class that defines the timing parameters and event handler of an AceButton or a group of AceButton in...">ButtonConfig</a> associated with this Button.  <a href="#abc9d705d1ca4341cf6f9434962b5b5e7">More...</a><br /></td></tr>
     97 <tr class="separator:abc9d705d1ca4341cf6f9434962b5b5e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
     98 <tr class="memitem:a42edbfeb4091c867d976a4d24622f19c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classace__button_1_1AceButton.html#a42edbfeb4091c867d976a4d24622f19c">setEventHandler</a> (<a class="el" href="classace__button_1_1ButtonConfig.html#a6d9db3c7b221b474c3cfd8fca5f4ba1e">ButtonConfig::EventHandler</a> eventHandler) ACE_BUTTON_INLINE</td></tr>
     99 <tr class="memdesc:a42edbfeb4091c867d976a4d24622f19c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convenience method to set the event handler.  <a href="#a42edbfeb4091c867d976a4d24622f19c">More...</a><br /></td></tr>
    100 <tr class="separator:a42edbfeb4091c867d976a4d24622f19c"><td class="memSeparator" colspan="2">&#160;</td></tr>
    101 <tr class="memitem:ac6b12ca62c7c055325bfebd036579ed6"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classace__button_1_1AceButton.html#ac6b12ca62c7c055325bfebd036579ed6">getPin</a> () ACE_BUTTON_INLINE</td></tr>
    102 <tr class="memdesc:ac6b12ca62c7c055325bfebd036579ed6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the button's pin number.  <a href="#ac6b12ca62c7c055325bfebd036579ed6">More...</a><br /></td></tr>
    103 <tr class="separator:ac6b12ca62c7c055325bfebd036579ed6"><td class="memSeparator" colspan="2">&#160;</td></tr>
    104 <tr class="memitem:a4a693b836e3fed29d4e7203a5a97910b"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classace__button_1_1AceButton.html#a4a693b836e3fed29d4e7203a5a97910b">getId</a> () ACE_BUTTON_INLINE</td></tr>
    105 <tr class="memdesc:a4a693b836e3fed29d4e7203a5a97910b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the custom identifier of the button.  <a href="#a4a693b836e3fed29d4e7203a5a97910b">More...</a><br /></td></tr>
    106 <tr class="separator:a4a693b836e3fed29d4e7203a5a97910b"><td class="memSeparator" colspan="2">&#160;</td></tr>
    107 <tr class="memitem:afa8013bb98f5fbd79654aebca613ba71"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classace__button_1_1AceButton.html#afa8013bb98f5fbd79654aebca613ba71">getDefaultReleasedState</a> ()</td></tr>
    108 <tr class="memdesc:afa8013bb98f5fbd79654aebca613ba71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the initial released state of the button, HIGH or LOW.  <a href="#afa8013bb98f5fbd79654aebca613ba71">More...</a><br /></td></tr>
    109 <tr class="separator:afa8013bb98f5fbd79654aebca613ba71"><td class="memSeparator" colspan="2">&#160;</td></tr>
    110 <tr class="memitem:a3c49e9edf8cbb5e3800c5f4506d0beca"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classace__button_1_1AceButton.html#a3c49e9edf8cbb5e3800c5f4506d0beca">getLastButtonState</a> () ACE_BUTTON_INLINE</td></tr>
    111 <tr class="memdesc:a3c49e9edf8cbb5e3800c5f4506d0beca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the button state that was last valid.  <a href="#a3c49e9edf8cbb5e3800c5f4506d0beca">More...</a><br /></td></tr>
    112 <tr class="separator:a3c49e9edf8cbb5e3800c5f4506d0beca"><td class="memSeparator" colspan="2">&#160;</td></tr>
    113 <tr class="memitem:af710048a654fa5d5e45405661282a7b1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classace__button_1_1AceButton.html#af710048a654fa5d5e45405661282a7b1">check</a> ()</td></tr>
    114 <tr class="memdesc:af710048a654fa5d5e45405661282a7b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check state of button and trigger event processing.  <a href="#af710048a654fa5d5e45405661282a7b1">More...</a><br /></td></tr>
    115 <tr class="separator:af710048a654fa5d5e45405661282a7b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
    116 <tr class="memitem:aa3cbb3fb16076cfe9255e0f70cc6aa72"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classace__button_1_1AceButton.html#aa3cbb3fb16076cfe9255e0f70cc6aa72">isReleased</a> (uint8_t buttonState) ACE_BUTTON_INLINE</td></tr>
    117 <tr class="memdesc:aa3cbb3fb16076cfe9255e0f70cc6aa72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the given buttonState represents a 'Released' state for the button.  <a href="#aa3cbb3fb16076cfe9255e0f70cc6aa72">More...</a><br /></td></tr>
    118 <tr class="separator:aa3cbb3fb16076cfe9255e0f70cc6aa72"><td class="memSeparator" colspan="2">&#160;</td></tr>
    119 <tr class="memitem:af80a2bd19d929bff5dcce54a3db6fb0a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classace__button_1_1AceButton.html#af80a2bd19d929bff5dcce54a3db6fb0a">isPressedRaw</a> () ACE_BUTTON_INLINE</td></tr>
    120 <tr class="memdesc:af80a2bd19d929bff5dcce54a3db6fb0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read the button state directly using <a class="el" href="classace__button_1_1ButtonConfig.html" title="Class that defines the timing parameters and event handler of an AceButton or a group of AceButton in...">ButtonConfig</a> and return true if the button is in the Pressed state.  <a href="#af80a2bd19d929bff5dcce54a3db6fb0a">More...</a><br /></td></tr>
    121 <tr class="separator:af80a2bd19d929bff5dcce54a3db6fb0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
    122 </table><table class="memberdecls">
    123 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
    124 Static Public Attributes</h2></td></tr>
    125 <tr class="memitem:ae723d826fe219a8415764b9fed5d8976"><td class="memItemLeft" align="right" valign="top">static const uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classace__button_1_1AceButton.html#ae723d826fe219a8415764b9fed5d8976">kEventPressed</a> = 0</td></tr>
    126 <tr class="memdesc:ae723d826fe219a8415764b9fed5d8976"><td class="mdescLeft">&#160;</td><td class="mdescRight">Button was pressed.  <a href="#ae723d826fe219a8415764b9fed5d8976">More...</a><br /></td></tr>
    127 <tr class="separator:ae723d826fe219a8415764b9fed5d8976"><td class="memSeparator" colspan="2">&#160;</td></tr>
    128 <tr class="memitem:ada5bd7c31950e2acdb8a9464e795c13c"><td class="memItemLeft" align="right" valign="top">static const uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classace__button_1_1AceButton.html#ada5bd7c31950e2acdb8a9464e795c13c">kEventReleased</a> = 1</td></tr>
    129 <tr class="memdesc:ada5bd7c31950e2acdb8a9464e795c13c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Button was released.  <a href="#ada5bd7c31950e2acdb8a9464e795c13c">More...</a><br /></td></tr>
    130 <tr class="separator:ada5bd7c31950e2acdb8a9464e795c13c"><td class="memSeparator" colspan="2">&#160;</td></tr>
    131 <tr class="memitem:a21797e5e069da3f7bba42b40ab3a7305"><td class="memItemLeft" align="right" valign="top"><a id="a21797e5e069da3f7bba42b40ab3a7305"></a>
    132 static const uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classace__button_1_1AceButton.html#a21797e5e069da3f7bba42b40ab3a7305">kEventClicked</a> = 2</td></tr>
    133 <tr class="memdesc:a21797e5e069da3f7bba42b40ab3a7305"><td class="mdescLeft">&#160;</td><td class="mdescRight">Button was clicked (Pressed and Released within <a class="el" href="classace__button_1_1ButtonConfig.html#a19db203ce87dc2cafb2cab6ba124387a" title="Milliseconds to wait for a possible click. ">ButtonConfig::getClickDelay()</a>). <br /></td></tr>
    134 <tr class="separator:a21797e5e069da3f7bba42b40ab3a7305"><td class="memSeparator" colspan="2">&#160;</td></tr>
    135 <tr class="memitem:a0c63f30106e4688425ba37d8f7a9546b"><td class="memItemLeft" align="right" valign="top">static const uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classace__button_1_1AceButton.html#a0c63f30106e4688425ba37d8f7a9546b">kEventDoubleClicked</a> = 3</td></tr>
    136 <tr class="memdesc:a0c63f30106e4688425ba37d8f7a9546b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Button was double-clicked.  <a href="#a0c63f30106e4688425ba37d8f7a9546b">More...</a><br /></td></tr>
    137 <tr class="separator:a0c63f30106e4688425ba37d8f7a9546b"><td class="memSeparator" colspan="2">&#160;</td></tr>
    138 <tr class="memitem:a769599d288f64dc0e55a69184596d804"><td class="memItemLeft" align="right" valign="top"><a id="a769599d288f64dc0e55a69184596d804"></a>
    139 static const uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classace__button_1_1AceButton.html#a769599d288f64dc0e55a69184596d804">kEventLongPressed</a> = 4</td></tr>
    140 <tr class="memdesc:a769599d288f64dc0e55a69184596d804"><td class="mdescLeft">&#160;</td><td class="mdescRight">Button was held down for longer than <a class="el" href="classace__button_1_1ButtonConfig.html#a46d4213a827a94bf82ba99a9c2e59531" title="Milliseconds for a long press event. ">ButtonConfig::getLongPressDelay()</a>). <br /></td></tr>
    141 <tr class="separator:a769599d288f64dc0e55a69184596d804"><td class="memSeparator" colspan="2">&#160;</td></tr>
    142 <tr class="memitem:a9c4195cb128da40677ea223eb81743c9"><td class="memItemLeft" align="right" valign="top">static const uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classace__button_1_1AceButton.html#a9c4195cb128da40677ea223eb81743c9">kEventRepeatPressed</a> = 5</td></tr>
    143 <tr class="memdesc:a9c4195cb128da40677ea223eb81743c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Button was held down and auto generated multiple presses.  <a href="#a9c4195cb128da40677ea223eb81743c9">More...</a><br /></td></tr>
    144 <tr class="separator:a9c4195cb128da40677ea223eb81743c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
    145 <tr class="memitem:afe8e8e22146f510afa487e6ec98b6253"><td class="memItemLeft" align="right" valign="top">static const uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classace__button_1_1AceButton.html#afe8e8e22146f510afa487e6ec98b6253">kButtonStateUnknown</a> = 2</td></tr>
    146 <tr class="memdesc:afe8e8e22146f510afa487e6ec98b6253"><td class="mdescLeft">&#160;</td><td class="mdescRight">Button state is unknown.  <a href="#afe8e8e22146f510afa487e6ec98b6253">More...</a><br /></td></tr>
    147 <tr class="separator:afe8e8e22146f510afa487e6ec98b6253"><td class="memSeparator" colspan="2">&#160;</td></tr>
    148 </table>
    149 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
    150 <div class="textblock"><p>An Adjustable Compact Event-driven (ACE) Button library that debounces and dispatches button events to a user-defined event handler. </p>
    151 <p>Supported events types are:</p>
    152 <ul>
    153 <li>kEventPressed</li>
    154 <li>kEventReleased</li>
    155 <li>kEventClicked</li>
    156 <li>kEventDoubleClicked</li>
    157 <li>kEventLongPressed</li>
    158 <li>kEventRepeatPressed</li>
    159 </ul>
    160 <p>The <a class="el" href="classace__button_1_1AceButton.html#af710048a654fa5d5e45405661282a7b1" title="Check state of button and trigger event processing. ">check()</a> method should be called from the loop() at least 2-3 times during the debouncing time period. For 20 ms delay, the <a class="el" href="classace__button_1_1AceButton.html#af710048a654fa5d5e45405661282a7b1" title="Check state of button and trigger event processing. ">check()</a> method should be called at a minimum of every 5 ms. The execution time of <a class="el" href="classace__button_1_1AceButton.html#af710048a654fa5d5e45405661282a7b1" title="Check state of button and trigger event processing. ">check()</a> on a 16 MHz Arduino ATmega328P MCU seems to about about 12-14 microseconds. </p>
    161 
    162 <p class="definition">Definition at line <a class="el" href="ace__button_2AceButton_8h_source.html#l00050">50</a> of file <a class="el" href="ace__button_2AceButton_8h_source.html">AceButton.h</a>.</p>
    163 </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
    164 <a id="a3c480636223edc899a79c821c32c6982"></a>
    165 <h2 class="memtitle"><span class="permalink"><a href="#a3c480636223edc899a79c821c32c6982">&#9670;&nbsp;</a></span>AceButton() <span class="overload">[1/2]</span></h2>
    166 
    167 <div class="memitem">
    168 <div class="memproto">
    169 <table class="mlabels">
    170   <tr>
    171   <td class="mlabels-left">
    172       <table class="memname">
    173         <tr>
    174           <td class="memname">ace_button::AceButton::AceButton </td>
    175           <td>(</td>
    176           <td class="paramtype">uint8_t&#160;</td>
    177           <td class="paramname"><em>pin</em> = <code>0</code>, </td>
    178         </tr>
    179         <tr>
    180           <td class="paramkey"></td>
    181           <td></td>
    182           <td class="paramtype">uint8_t&#160;</td>
    183           <td class="paramname"><em>defaultReleasedState</em> = <code>HIGH</code>, </td>
    184         </tr>
    185         <tr>
    186           <td class="paramkey"></td>
    187           <td></td>
    188           <td class="paramtype">uint8_t&#160;</td>
    189           <td class="paramname"><em>id</em> = <code>0</code>&#160;</td>
    190         </tr>
    191         <tr>
    192           <td></td>
    193           <td>)</td>
    194           <td></td><td></td>
    195         </tr>
    196       </table>
    197   </td>
    198   <td class="mlabels-right">
    199 <span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
    200   </tr>
    201 </table>
    202 </div><div class="memdoc">
    203 
    204 <p>Constructor defines parameters of the button that changes from button to button. </p>
    205 <p>These parameters don't change during the runtime of the program. Another way to initialize the object is to create an instance using an empty constructor, then use the <a class="el" href="classace__button_1_1AceButton.html#a18c47304c694c6f084a343a7c83bef34" title="Reset the button to the initial constructed state. ">init()</a> method to initialize the object with these parameters.</p>
    206 <p>Using the constructor often reads better for simple situations where only a single button is used, and it doesn't need to be configured significantly. Using the <a class="el" href="classace__button_1_1AceButton.html#a18c47304c694c6f084a343a7c83bef34" title="Reset the button to the initial constructed state. ">init()</a> method can make the code be more readable when multiple buttons are used, and they need to be significantly customized. The <a class="el" href="classace__button_1_1AceButton.html#a18c47304c694c6f084a343a7c83bef34" title="Reset the button to the initial constructed state. ">init()</a> method allows the button configuration code to appear in close proximity to the pinMode() methods which sets up the hardware pins.</p>
    207 <dl class="params"><dt>Parameters</dt><dd>
    208   <table class="params">
    209     <tr><td class="paramname">pin</td><td>The pin number of the button. Default 0. Normally the pin number should be given at construction time. However, the pin number the pin number can be omitted so that the pin number can be assigned at setup() time using the setPin() method.</td></tr>
    210     <tr><td class="paramname">defaultReleasedState</td><td>The pin state when the button is in the initial released position. Default HIGH. When using a pullup resistor (either external or internal) and the button is connected to ground, this should be set to HIGH. When using an external pulldown resistor and the button is connected to Vcc (5V or 3.3V), this should be set to LOW. The defaultReleasedState can be assigned using the constructor or the <a class="el" href="classace__button_1_1AceButton.html#a18c47304c694c6f084a343a7c83bef34" title="Reset the button to the initial constructed state. ">init()</a> method.</td></tr>
    211     <tr><td class="paramname">id</td><td>This is an optional user-defined identifier for the button. For example, this could be an index into an array of data that is associated with the button. </td></tr>
    212   </table>
    213   </dd>
    214 </dl>
    215 
    216 <p class="definition">Definition at line <a class="el" href="AceButton_8cpp_source.html#l00039">39</a> of file <a class="el" href="AceButton_8cpp_source.html">AceButton.cpp</a>.</p>
    217 
    218 </div>
    219 </div>
    220 <a id="ab2ec2d3b98e2e2228f85271385e07521"></a>
    221 <h2 class="memtitle"><span class="permalink"><a href="#ab2ec2d3b98e2e2228f85271385e07521">&#9670;&nbsp;</a></span>AceButton() <span class="overload">[2/2]</span></h2>
    222 
    223 <div class="memitem">
    224 <div class="memproto">
    225 <table class="mlabels">
    226   <tr>
    227   <td class="mlabels-left">
    228       <table class="memname">
    229         <tr>
    230           <td class="memname">ace_button::AceButton::AceButton </td>
    231           <td>(</td>
    232           <td class="paramtype"><a class="el" href="classace__button_1_1ButtonConfig.html">ButtonConfig</a> *&#160;</td>
    233           <td class="paramname"><em>buttonConfig</em></td><td>)</td>
    234           <td></td>
    235         </tr>
    236       </table>
    237   </td>
    238   <td class="mlabels-right">
    239 <span class="mlabels"><span class="mlabel">explicit</span></span>  </td>
    240   </tr>
    241 </table>
    242 </div><div class="memdoc">
    243 
    244 <p>Constructor that accepts a <a class="el" href="classace__button_1_1ButtonConfig.html" title="Class that defines the timing parameters and event handler of an AceButton or a group of AceButton in...">ButtonConfig</a> as a dependency. </p>
    245 <p>Dependency injection using this constructor is now recommended over using the <a class="el" href="classace__button_1_1AceButton.html#abc9d705d1ca4341cf6f9434962b5b5e7" title="Set the ButtonConfig associated with this Button. ">setButtonConfig()</a> method because it makes the dependency more clear. </p>
    246 
    247 <p class="definition">Definition at line <a class="el" href="AceButton_8cpp_source.html#l00044">44</a> of file <a class="el" href="AceButton_8cpp_source.html">AceButton.cpp</a>.</p>
    248 
    249 </div>
    250 </div>
    251 <h2 class="groupheader">Member Function Documentation</h2>
    252 <a id="af710048a654fa5d5e45405661282a7b1"></a>
    253 <h2 class="memtitle"><span class="permalink"><a href="#af710048a654fa5d5e45405661282a7b1">&#9670;&nbsp;</a></span>check()</h2>
    254 
    255 <div class="memitem">
    256 <div class="memproto">
    257       <table class="memname">
    258         <tr>
    259           <td class="memname">void ace_button::AceButton::check </td>
    260           <td>(</td>
    261           <td class="paramname"></td><td>)</td>
    262           <td></td>
    263         </tr>
    264       </table>
    265 </div><div class="memdoc">
    266 
    267 <p>Check state of button and trigger event processing. </p>
    268 <p>This method should be called from the loop() method in Arduino every 4-5 times during the getDebounceDelay() time (default 20 ms), so about every 5 ms. If this is called less often than that, the debouncing algorithm may not work correctly, which may cause other event detection algorithms to fail. </p>
    269 
    270 <p class="definition">Definition at line <a class="el" href="AceButton_8cpp_source.html#l00073">73</a> of file <a class="el" href="AceButton_8cpp_source.html">AceButton.cpp</a>.</p>
    271 
    272 </div>
    273 </div>
    274 <a id="a5e4ea4aca852a5e0b1d426bccb131cfb"></a>
    275 <h2 class="memtitle"><span class="permalink"><a href="#a5e4ea4aca852a5e0b1d426bccb131cfb">&#9670;&nbsp;</a></span>getButtonConfig()</h2>
    276 
    277 <div class="memitem">
    278 <div class="memproto">
    279 <table class="mlabels">
    280   <tr>
    281   <td class="mlabels-left">
    282       <table class="memname">
    283         <tr>
    284           <td class="memname"><a class="el" href="classace__button_1_1ButtonConfig.html">ButtonConfig</a>* ace_button::AceButton::getButtonConfig </td>
    285           <td>(</td>
    286           <td class="paramname"></td><td>)</td>
    287           <td></td>
    288         </tr>
    289       </table>
    290   </td>
    291   <td class="mlabels-right">
    292 <span class="mlabels"><span class="mlabel">inline</span></span>  </td>
    293   </tr>
    294 </table>
    295 </div><div class="memdoc">
    296 
    297 <p>Get the <a class="el" href="classace__button_1_1ButtonConfig.html" title="Class that defines the timing parameters and event handler of an AceButton or a group of AceButton in...">ButtonConfig</a> associated with this Button. </p>
    298 
    299 <p class="definition">Definition at line <a class="el" href="ace__button_2AceButton_8h_source.html#l00143">143</a> of file <a class="el" href="ace__button_2AceButton_8h_source.html">AceButton.h</a>.</p>
    300 
    301 </div>
    302 </div>
    303 <a id="afa8013bb98f5fbd79654aebca613ba71"></a>
    304 <h2 class="memtitle"><span class="permalink"><a href="#afa8013bb98f5fbd79654aebca613ba71">&#9670;&nbsp;</a></span>getDefaultReleasedState()</h2>
    305 
    306 <div class="memitem">
    307 <div class="memproto">
    308       <table class="memname">
    309         <tr>
    310           <td class="memname">uint8_t ace_button::AceButton::getDefaultReleasedState </td>
    311           <td>(</td>
    312           <td class="paramname"></td><td>)</td>
    313           <td></td>
    314         </tr>
    315       </table>
    316 </div><div class="memdoc">
    317 
    318 <p>Get the initial released state of the button, HIGH or LOW. </p>
    319 
    320 <p class="definition">Definition at line <a class="el" href="AceButton_8cpp_source.html#l00067">67</a> of file <a class="el" href="AceButton_8cpp_source.html">AceButton.cpp</a>.</p>
    321 
    322 </div>
    323 </div>
    324 <a id="a4a693b836e3fed29d4e7203a5a97910b"></a>
    325 <h2 class="memtitle"><span class="permalink"><a href="#a4a693b836e3fed29d4e7203a5a97910b">&#9670;&nbsp;</a></span>getId()</h2>
    326 
    327 <div class="memitem">
    328 <div class="memproto">
    329 <table class="mlabels">
    330   <tr>
    331   <td class="mlabels-left">
    332       <table class="memname">
    333         <tr>
    334           <td class="memname">uint8_t ace_button::AceButton::getId </td>
    335           <td>(</td>
    336           <td class="paramname"></td><td>)</td>
    337           <td></td>
    338         </tr>
    339       </table>
    340   </td>
    341   <td class="mlabels-right">
    342 <span class="mlabels"><span class="mlabel">inline</span></span>  </td>
    343   </tr>
    344 </table>
    345 </div><div class="memdoc">
    346 
    347 <p>Get the custom identifier of the button. </p>
    348 
    349 <p class="definition">Definition at line <a class="el" href="ace__button_2AceButton_8h_source.html#l00174">174</a> of file <a class="el" href="ace__button_2AceButton_8h_source.html">AceButton.h</a>.</p>
    350 
    351 </div>
    352 </div>
    353 <a id="a3c49e9edf8cbb5e3800c5f4506d0beca"></a>
    354 <h2 class="memtitle"><span class="permalink"><a href="#a3c49e9edf8cbb5e3800c5f4506d0beca">&#9670;&nbsp;</a></span>getLastButtonState()</h2>
    355 
    356 <div class="memitem">
    357 <div class="memproto">
    358 <table class="mlabels">
    359   <tr>
    360   <td class="mlabels-left">
    361       <table class="memname">
    362         <tr>
    363           <td class="memname">uint8_t ace_button::AceButton::getLastButtonState </td>
    364           <td>(</td>
    365           <td class="paramname"></td><td>)</td>
    366           <td></td>
    367         </tr>
    368       </table>
    369   </td>
    370   <td class="mlabels-right">
    371 <span class="mlabels"><span class="mlabel">inline</span></span>  </td>
    372   </tr>
    373 </table>
    374 </div><div class="memdoc">
    375 
    376 <p>Return the button state that was last valid. </p>
    377 <p>This is a tri-state function. It may return HIGH, LOW or kButtonStateUnknown to indicate that the last state is not known. This method is <b>not</b> for public consumption, it is exposed only for testing purposes. Consider it to be a private method. Use the buttonState parameter provided to the EventHandler.</p>
    378 <p>In a more general multi-threaded environment (which the Arduino is not, fortunately or unfortunately), the <a class="el" href="classace__button_1_1AceButton.html#a3c49e9edf8cbb5e3800c5f4506d0beca" title="Return the button state that was last valid. ">getLastButtonState()</a> may have changed from the value of buttonState provided to the event handler. In other words, there is a race-condition. </p>
    379 
    380 <p class="definition">Definition at line <a class="el" href="ace__button_2AceButton_8h_source.html#l00192">192</a> of file <a class="el" href="ace__button_2AceButton_8h_source.html">AceButton.h</a>.</p>
    381 
    382 </div>
    383 </div>
    384 <a id="ac6b12ca62c7c055325bfebd036579ed6"></a>
    385 <h2 class="memtitle"><span class="permalink"><a href="#ac6b12ca62c7c055325bfebd036579ed6">&#9670;&nbsp;</a></span>getPin()</h2>
    386 
    387 <div class="memitem">
    388 <div class="memproto">
    389 <table class="mlabels">
    390   <tr>
    391   <td class="mlabels-left">
    392       <table class="memname">
    393         <tr>
    394           <td class="memname">uint8_t ace_button::AceButton::getPin </td>
    395           <td>(</td>
    396           <td class="paramname"></td><td>)</td>
    397           <td></td>
    398         </tr>
    399       </table>
    400   </td>
    401   <td class="mlabels-right">
    402 <span class="mlabels"><span class="mlabel">inline</span></span>  </td>
    403   </tr>
    404 </table>
    405 </div><div class="memdoc">
    406 
    407 <p>Get the button's pin number. </p>
    408 
    409 <p class="definition">Definition at line <a class="el" href="ace__button_2AceButton_8h_source.html#l00171">171</a> of file <a class="el" href="ace__button_2AceButton_8h_source.html">AceButton.h</a>.</p>
    410 
    411 </div>
    412 </div>
    413 <a id="a18c47304c694c6f084a343a7c83bef34"></a>
    414 <h2 class="memtitle"><span class="permalink"><a href="#a18c47304c694c6f084a343a7c83bef34">&#9670;&nbsp;</a></span>init()</h2>
    415 
    416 <div class="memitem">
    417 <div class="memproto">
    418       <table class="memname">
    419         <tr>
    420           <td class="memname">void ace_button::AceButton::init </td>
    421           <td>(</td>
    422           <td class="paramtype">uint8_t&#160;</td>
    423           <td class="paramname"><em>pin</em> = <code>0</code>, </td>
    424         </tr>
    425         <tr>
    426           <td class="paramkey"></td>
    427           <td></td>
    428           <td class="paramtype">uint8_t&#160;</td>
    429           <td class="paramname"><em>defaultReleasedState</em> = <code>HIGH</code>, </td>
    430         </tr>
    431         <tr>
    432           <td class="paramkey"></td>
    433           <td></td>
    434           <td class="paramtype">uint8_t&#160;</td>
    435           <td class="paramname"><em>id</em> = <code>0</code>&#160;</td>
    436         </tr>
    437         <tr>
    438           <td></td>
    439           <td>)</td>
    440           <td></td><td></td>
    441         </tr>
    442       </table>
    443 </div><div class="memdoc">
    444 
    445 <p>Reset the button to the initial constructed state. </p>
    446 <p>In particular, <a class="el" href="classace__button_1_1AceButton.html#a3c49e9edf8cbb5e3800c5f4506d0beca" title="Return the button state that was last valid. ">getLastButtonState()</a> returns kButtonStateUnknown. The parameters are identical as the parameters in the <a class="el" href="classace__button_1_1AceButton.html#a3c480636223edc899a79c821c32c6982" title="Constructor defines parameters of the button that changes from button to button. ">AceButton()</a> constructor. </p>
    447 
    448 <p class="definition">Definition at line <a class="el" href="AceButton_8cpp_source.html#l00049">49</a> of file <a class="el" href="AceButton_8cpp_source.html">AceButton.cpp</a>.</p>
    449 
    450 </div>
    451 </div>
    452 <a id="af80a2bd19d929bff5dcce54a3db6fb0a"></a>
    453 <h2 class="memtitle"><span class="permalink"><a href="#af80a2bd19d929bff5dcce54a3db6fb0a">&#9670;&nbsp;</a></span>isPressedRaw()</h2>
    454 
    455 <div class="memitem">
    456 <div class="memproto">
    457 <table class="mlabels">
    458   <tr>
    459   <td class="mlabels-left">
    460       <table class="memname">
    461         <tr>
    462           <td class="memname">bool ace_button::AceButton::isPressedRaw </td>
    463           <td>(</td>
    464           <td class="paramname"></td><td>)</td>
    465           <td></td>
    466         </tr>
    467       </table>
    468   </td>
    469   <td class="mlabels-right">
    470 <span class="mlabels"><span class="mlabel">inline</span></span>  </td>
    471   </tr>
    472 </table>
    473 </div><div class="memdoc">
    474 
    475 <p>Read the button state directly using <a class="el" href="classace__button_1_1ButtonConfig.html" title="Class that defines the timing parameters and event handler of an AceButton or a group of AceButton in...">ButtonConfig</a> and return true if the button is in the Pressed state. </p>
    476 <p>This method is intended to be used in the global setup() to determine if the button was pressed while the device was booted. This method does not use the <a class="el" href="classace__button_1_1AceButton.html#af710048a654fa5d5e45405661282a7b1" title="Check state of button and trigger event processing. ">check()</a> method, does not perform any debouncing, and does not dispatch events to the EventHandler. </p>
    477 
    478 <p class="definition">Definition at line <a class="el" href="ace__button_2AceButton_8h_source.html#l00231">231</a> of file <a class="el" href="ace__button_2AceButton_8h_source.html">AceButton.h</a>.</p>
    479 
    480 </div>
    481 </div>
    482 <a id="aa3cbb3fb16076cfe9255e0f70cc6aa72"></a>
    483 <h2 class="memtitle"><span class="permalink"><a href="#aa3cbb3fb16076cfe9255e0f70cc6aa72">&#9670;&nbsp;</a></span>isReleased()</h2>
    484 
    485 <div class="memitem">
    486 <div class="memproto">
    487 <table class="mlabels">
    488   <tr>
    489   <td class="mlabels-left">
    490       <table class="memname">
    491         <tr>
    492           <td class="memname">bool ace_button::AceButton::isReleased </td>
    493           <td>(</td>
    494           <td class="paramtype">uint8_t&#160;</td>
    495           <td class="paramname"><em>buttonState</em></td><td>)</td>
    496           <td></td>
    497         </tr>
    498       </table>
    499   </td>
    500   <td class="mlabels-right">
    501 <span class="mlabels"><span class="mlabel">inline</span></span>  </td>
    502   </tr>
    503 </table>
    504 </div><div class="memdoc">
    505 
    506 <p>Returns true if the given buttonState represents a 'Released' state for the button. </p>
    507 <p>Returns false if the buttonState is 'Pressed' or kButtonStateUnknown.</p>
    508 <p>The HIGH or LOW logical value of buttonState represents different a button position depending on whether the button is wired with a pull-up or a pull-down resistor. This method translates the logical level to the physical position which allows the client code to be independent of the physical wiring.</p>
    509 <p>Normally, the eventType given to the EventHandler should be sufficient because the value of the eventType already encodes this information. This method is provided just in case. </p>
    510 
    511 <p class="definition">Definition at line <a class="el" href="ace__button_2AceButton_8h_source.html#l00220">220</a> of file <a class="el" href="ace__button_2AceButton_8h_source.html">AceButton.h</a>.</p>
    512 
    513 </div>
    514 </div>
    515 <a id="abc9d705d1ca4341cf6f9434962b5b5e7"></a>
    516 <h2 class="memtitle"><span class="permalink"><a href="#abc9d705d1ca4341cf6f9434962b5b5e7">&#9670;&nbsp;</a></span>setButtonConfig()</h2>
    517 
    518 <div class="memitem">
    519 <div class="memproto">
    520 <table class="mlabels">
    521   <tr>
    522   <td class="mlabels-left">
    523       <table class="memname">
    524         <tr>
    525           <td class="memname">void ace_button::AceButton::setButtonConfig </td>
    526           <td>(</td>
    527           <td class="paramtype"><a class="el" href="classace__button_1_1ButtonConfig.html">ButtonConfig</a> *&#160;</td>
    528           <td class="paramname"><em>buttonConfig</em></td><td>)</td>
    529           <td></td>
    530         </tr>
    531       </table>
    532   </td>
    533   <td class="mlabels-right">
    534 <span class="mlabels"><span class="mlabel">inline</span></span>  </td>
    535   </tr>
    536 </table>
    537 </div><div class="memdoc">
    538 
    539 <p>Set the <a class="el" href="classace__button_1_1ButtonConfig.html" title="Class that defines the timing parameters and event handler of an AceButton or a group of AceButton in...">ButtonConfig</a> associated with this Button. </p>
    540 <p>It is recommended that the <a class="el" href="classace__button_1_1AceButton.html#ab2ec2d3b98e2e2228f85271385e07521" title="Constructor that accepts a ButtonConfig as a dependency. ">AceButton(ButtonConfig*)</a> constructor is used instead to make the dependency to <a class="el" href="classace__button_1_1ButtonConfig.html" title="Class that defines the timing parameters and event handler of an AceButton or a group of AceButton in...">ButtonConfig</a> more explicit. </p>
    541 
    542 <p class="definition">Definition at line <a class="el" href="ace__button_2AceButton_8h_source.html#l00152">152</a> of file <a class="el" href="ace__button_2AceButton_8h_source.html">AceButton.h</a>.</p>
    543 
    544 </div>
    545 </div>
    546 <a id="a42edbfeb4091c867d976a4d24622f19c"></a>
    547 <h2 class="memtitle"><span class="permalink"><a href="#a42edbfeb4091c867d976a4d24622f19c">&#9670;&nbsp;</a></span>setEventHandler()</h2>
    548 
    549 <div class="memitem">
    550 <div class="memproto">
    551 <table class="mlabels">
    552   <tr>
    553   <td class="mlabels-left">
    554       <table class="memname">
    555         <tr>
    556           <td class="memname">void ace_button::AceButton::setEventHandler </td>
    557           <td>(</td>
    558           <td class="paramtype"><a class="el" href="classace__button_1_1ButtonConfig.html#a6d9db3c7b221b474c3cfd8fca5f4ba1e">ButtonConfig::EventHandler</a>&#160;</td>
    559           <td class="paramname"><em>eventHandler</em></td><td>)</td>
    560           <td></td>
    561         </tr>
    562       </table>
    563   </td>
    564   <td class="mlabels-right">
    565 <span class="mlabels"><span class="mlabel">inline</span></span>  </td>
    566   </tr>
    567 </table>
    568 </div><div class="memdoc">
    569 
    570 <p>Convenience method to set the event handler. </p>
    571 <p>Event handlers are stored in the <a class="el" href="classace__button_1_1ButtonConfig.html" title="Class that defines the timing parameters and event handler of an AceButton or a group of AceButton in...">ButtonConfig</a> object, not in the <a class="el" href="classace__button_1_1AceButton.html" title="An Adjustable Compact Event-driven (ACE) Button library that debounces and dispatches button events t...">AceButton</a> object, to save memory. (Multiple buttons are likely to share the same event handler.) So this method is just a pass-through to <a class="el" href="classace__button_1_1ButtonConfig.html#a5d228f08e9943fd4ab90caab39ef80be" title="Install the event handler. ">ButtonConfig::setEventHandler()</a>. If you are using multiple <a class="el" href="classace__button_1_1ButtonConfig.html" title="Class that defines the timing parameters and event handler of an AceButton or a group of AceButton in...">ButtonConfig</a> objects, you should call the <a class="el" href="classace__button_1_1ButtonConfig.html#a5d228f08e9943fd4ab90caab39ef80be" title="Install the event handler. ">ButtonConfig::setEventHandler()</a> method on those objects directly, instead of using this method. </p>
    572 
    573 <p class="definition">Definition at line <a class="el" href="ace__button_2AceButton_8h_source.html#l00165">165</a> of file <a class="el" href="ace__button_2AceButton_8h_source.html">AceButton.h</a>.</p>
    574 
    575 </div>
    576 </div>
    577 <h2 class="groupheader">Member Data Documentation</h2>
    578 <a id="afe8e8e22146f510afa487e6ec98b6253"></a>
    579 <h2 class="memtitle"><span class="permalink"><a href="#afe8e8e22146f510afa487e6ec98b6253">&#9670;&nbsp;</a></span>kButtonStateUnknown</h2>
    580 
    581 <div class="memitem">
    582 <div class="memproto">
    583 <table class="mlabels">
    584   <tr>
    585   <td class="mlabels-left">
    586       <table class="memname">
    587         <tr>
    588           <td class="memname">const uint8_t ace_button::AceButton::kButtonStateUnknown = 2</td>
    589         </tr>
    590       </table>
    591   </td>
    592   <td class="mlabels-right">
    593 <span class="mlabels"><span class="mlabel">static</span></span>  </td>
    594   </tr>
    595 </table>
    596 </div><div class="memdoc">
    597 
    598 <p>Button state is unknown. </p>
    599 <p>This is a third state (different from LOW or HIGH) used when the class is first initialized upon reboot. </p>
    600 
    601 <p class="definition">Definition at line <a class="el" href="ace__button_2AceButton_8h_source.html#l00090">90</a> of file <a class="el" href="ace__button_2AceButton_8h_source.html">AceButton.h</a>.</p>
    602 
    603 </div>
    604 </div>
    605 <a id="a0c63f30106e4688425ba37d8f7a9546b"></a>
    606 <h2 class="memtitle"><span class="permalink"><a href="#a0c63f30106e4688425ba37d8f7a9546b">&#9670;&nbsp;</a></span>kEventDoubleClicked</h2>
    607 
    608 <div class="memitem">
    609 <div class="memproto">
    610 <table class="mlabels">
    611   <tr>
    612   <td class="mlabels-left">
    613       <table class="memname">
    614         <tr>
    615           <td class="memname">const uint8_t ace_button::AceButton::kEventDoubleClicked = 3</td>
    616         </tr>
    617       </table>
    618   </td>
    619   <td class="mlabels-right">
    620 <span class="mlabels"><span class="mlabel">static</span></span>  </td>
    621   </tr>
    622 </table>
    623 </div><div class="memdoc">
    624 
    625 <p>Button was double-clicked. </p>
    626 <p>(Two clicks within <a class="el" href="classace__button_1_1ButtonConfig.html#a5ba500367e03c36f39225a5858e110e6" title="Milliseconds between the first and second click to register as a double-click. ">ButtonConfig::getDoubleClickDelay()</a>). </p>
    627 
    628 <p class="definition">Definition at line <a class="el" href="ace__button_2AceButton_8h_source.html#l00070">70</a> of file <a class="el" href="ace__button_2AceButton_8h_source.html">AceButton.h</a>.</p>
    629 
    630 </div>
    631 </div>
    632 <a id="ae723d826fe219a8415764b9fed5d8976"></a>
    633 <h2 class="memtitle"><span class="permalink"><a href="#ae723d826fe219a8415764b9fed5d8976">&#9670;&nbsp;</a></span>kEventPressed</h2>
    634 
    635 <div class="memitem">
    636 <div class="memproto">
    637 <table class="mlabels">
    638   <tr>
    639   <td class="mlabels-left">
    640       <table class="memname">
    641         <tr>
    642           <td class="memname">const uint8_t ace_button::AceButton::kEventPressed = 0</td>
    643         </tr>
    644       </table>
    645   </td>
    646   <td class="mlabels-right">
    647 <span class="mlabels"><span class="mlabel">static</span></span>  </td>
    648   </tr>
    649 </table>
    650 </div><div class="memdoc">
    651 
    652 <p>Button was pressed. </p>
    653 
    654 <p class="definition">Definition at line <a class="el" href="ace__button_2AceButton_8h_source.html#l00055">55</a> of file <a class="el" href="ace__button_2AceButton_8h_source.html">AceButton.h</a>.</p>
    655 
    656 </div>
    657 </div>
    658 <a id="ada5bd7c31950e2acdb8a9464e795c13c"></a>
    659 <h2 class="memtitle"><span class="permalink"><a href="#ada5bd7c31950e2acdb8a9464e795c13c">&#9670;&nbsp;</a></span>kEventReleased</h2>
    660 
    661 <div class="memitem">
    662 <div class="memproto">
    663 <table class="mlabels">
    664   <tr>
    665   <td class="mlabels-left">
    666       <table class="memname">
    667         <tr>
    668           <td class="memname">const uint8_t ace_button::AceButton::kEventReleased = 1</td>
    669         </tr>
    670       </table>
    671   </td>
    672   <td class="mlabels-right">
    673 <span class="mlabels"><span class="mlabel">static</span></span>  </td>
    674   </tr>
    675 </table>
    676 </div><div class="memdoc">
    677 
    678 <p>Button was released. </p>
    679 
    680 <p class="definition">Definition at line <a class="el" href="ace__button_2AceButton_8h_source.html#l00058">58</a> of file <a class="el" href="ace__button_2AceButton_8h_source.html">AceButton.h</a>.</p>
    681 
    682 </div>
    683 </div>
    684 <a id="a9c4195cb128da40677ea223eb81743c9"></a>
    685 <h2 class="memtitle"><span class="permalink"><a href="#a9c4195cb128da40677ea223eb81743c9">&#9670;&nbsp;</a></span>kEventRepeatPressed</h2>
    686 
    687 <div class="memitem">
    688 <div class="memproto">
    689 <table class="mlabels">
    690   <tr>
    691   <td class="mlabels-left">
    692       <table class="memname">
    693         <tr>
    694           <td class="memname">const uint8_t ace_button::AceButton::kEventRepeatPressed = 5</td>
    695         </tr>
    696       </table>
    697   </td>
    698   <td class="mlabels-right">
    699 <span class="mlabels"><span class="mlabel">static</span></span>  </td>
    700   </tr>
    701 </table>
    702 </div><div class="memdoc">
    703 
    704 <p>Button was held down and auto generated multiple presses. </p>
    705 <p>The first event is triggered after <a class="el" href="classace__button_1_1ButtonConfig.html#ad85c75d2a2dd200552a181fb154d5fd2" title="Milliseconds that a button needs to be Pressed down before the start of the sequence of RepeatPressed...">ButtonConfig::getRepeatPressDelay()</a>, then the event fires repeatedly every <a class="el" href="classace__button_1_1ButtonConfig.html#aec4a97a1a1306b9ff12f1cdf44515c43" title="Milliseconds between two successive RepeatPressed events. ">ButtonConfig::getRepeatPressInterval()</a> until the button is released. </p>
    706 
    707 <p class="definition">Definition at line <a class="el" href="ace__button_2AceButton_8h_source.html#l00084">84</a> of file <a class="el" href="ace__button_2AceButton_8h_source.html">AceButton.h</a>.</p>
    708 
    709 </div>
    710 </div>
    711 <hr/>The documentation for this class was generated from the following files:<ul>
    712 <li>/home/brian/dev/AceButton/src/ace_button/<a class="el" href="ace__button_2AceButton_8h_source.html">AceButton.h</a></li>
    713 <li>/home/brian/dev/AceButton/src/ace_button/<a class="el" href="AceButton_8cpp_source.html">AceButton.cpp</a></li>
    714 </ul>
    715 </div><!-- contents -->
    716 <!-- start footer part -->
    717 <hr class="footer"/><address class="footer"><small>
    718 Generated by &#160;<a href="http://www.doxygen.org/index.html">
    719 <img class="footer" src="doxygen.png" alt="doxygen"/>
    720 </a> 1.8.13
    721 </small></address>
    722 </body>
    723 </html>