shared-libraries/classScStwTimer.html

815 lines
52 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>ScStwTimer class | ScStw shared libraries</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,600,600i%7CSource+Code+Pro:400,400i,600" />
<link rel="stylesheet" href="m-dark+documentation.compiled.css" />
<link rel="icon" href="favicon.png" type="image/png" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="theme-color" content="#0094ff" />
</head>
<body>
<header><nav id="navigation">
<div class="m-container">
<div class="m-row">
<a href="index.html" id="m-navbar-brand" class="m-col-t-8 m-col-m-none m-left-m"><img src="favicon.png" alt="" />ScStw shared libraries</a>
<div class="m-col-t-4 m-hide-m m-text-right m-nopadr">
<a href="#search" class="m-doc-search-icon" title="Search" onclick="return showSearch()"><svg style="height: 0.9rem;" viewBox="0 0 16 16">
<path id="m-doc-search-icon-path" d="m6 0c-3.31 0-6 2.69-6 6 0 3.31 2.69 6 6 6 1.49 0 2.85-0.541 3.89-1.44-0.0164 0.338 0.147 0.759 0.5 1.15l3.22 3.79c0.552 0.614 1.45 0.665 2 0.115 0.55-0.55 0.499-1.45-0.115-2l-3.79-3.22c-0.392-0.353-0.812-0.515-1.15-0.5 0.895-1.05 1.44-2.41 1.44-3.89 0-3.31-2.69-6-6-6zm0 1.56a4.44 4.44 0 0 1 4.44 4.44 4.44 4.44 0 0 1-4.44 4.44 4.44 4.44 0 0 1-4.44-4.44 4.44 4.44 0 0 1 4.44-4.44z"/>
</svg></a>
<a id="m-navbar-show" href="#navigation" title="Show navigation"></a>
<a id="m-navbar-hide" href="#" title="Hide navigation"></a>
</div>
<div id="m-navbar-collapse" class="m-col-t-12 m-show-m m-col-m-none m-right-m">
<div class="m-row">
<ol class="m-col-t-6 m-col-m-none">
</ol>
<ol class="m-col-t-6 m-col-m-none" start="1">
<li><a href="index.html">Introduction</a></li>
<li><a href="annotated.html">Classes</a></li>
<li><a href="refman.pdf">Download</a></li>
<li class="m-show-m"><a href="#search" class="m-doc-search-icon" title="Search" onclick="return showSearch()"><svg style="height: 0.9rem;" viewBox="0 0 16 16">
<use href="#m-doc-search-icon-path" />
</svg></a></li>
</ol>
</div>
</div>
</div>
</div>
</nav></header>
<main><article>
<div class="m-container m-container-inflatable">
<div class="m-row">
<div class="m-col-l-10 m-push-l-1">
<h1>
ScStwTimer <span class="m-thin">class</span>
</h1>
<p>The <a href="classScStwTimer.html" class="m-doc">ScStwTimer</a> class is used for advanced time measurement.</p>
<nav class="m-block m-default">
<h3>Contents</h3>
<ul>
<li>
Reference
<ul>
<li><a href="#pub-types">Public types</a></li>
<li><a href="#typeless-methods">Constructors, destructors, conversion operators</a></li>
<li><a href="#signals">Signals</a></li>
<li><a href="#pub-slots">Public slots</a></li>
<li><a href="#pro-slots">Protected slots</a></li>
<li><a href="#pro-attribs">Protected variables</a></li>
</ul>
</li>
</ul>
</nav>
<p>It does not work on its own though. It is recommended to use it in combination with the <a href="classScStwRace.html" class="m-doc">ScStwRace</a> class.</p><h3>When using standalone:</h3><pre class="m-code"><span class="n">ScStwTimer</span><span class="w"> </span><span class="n">timer</span><span class="p">;</span><span class="w"></span>
<span class="c1">// start the timer</span>
<span class="n">timer</span><span class="p">.</span><span class="n">start</span><span class="p">();</span><span class="w"></span>
<span class="c1">// stop the timer</span>
<span class="n">timer</span><span class="p">.</span><span class="n">stop</span><span class="p">();</span><span class="w"></span></pre><p>The timer will now go into ScStw::WAITING state. That indicates that the timer has stopped and the final result has to be assigned by an external handler.</p><pre class="m-code"><span class="c1">// assign result &#39;won&#39;</span>
<span class="n">timer</span><span class="p">.</span><span class="n">setResult</span><span class="p">(</span><span class="n">ScStwTimer</span><span class="o">::</span><span class="n">WON</span><span class="p">);</span><span class="w"></span></pre><p>The timer is now in <a href="classScStwTimer.html#ada0d42f8cac92807271e3811899691d4ab3c3d8af8f1690d61dcb5ea0f93bfbeb" class="m-doc">ScStwTimer::<wbr />WON</a> state.</p><pre class="m-code"><span class="c1">// reset the timer</span>
<span class="n">timer</span><span class="p">.</span><span class="n">reset</span><span class="p">();</span><span class="w"></span></pre><p>The timer is not in <a href="classScStwTimer.html#ada0d42f8cac92807271e3811899691d4a89a624261a53da443c950e23f18b5893" class="m-doc">ScStwTimer::<wbr />IDLE</a> state again.</p>
<section id="pub-types">
<h2><a href="#pub-types">Public types</a></h2>
<dl class="m-doc">
<dt>
<span class="m-doc-wrap-bumper">enum <a href="#ada0d42f8cac92807271e3811899691d4" class="m-doc">TimerState</a> { </span><span class="m-doc-wrap"><a href="#ada0d42f8cac92807271e3811899691d4a89a624261a53da443c950e23f18b5893" class="m-doc">IDLE</a>,
<a href="#ada0d42f8cac92807271e3811899691d4acb0051986bc92cfc3f596268b5d72a20" class="m-doc">STARTING</a>,
<a href="#ada0d42f8cac92807271e3811899691d4a8dd9e579e1c43be3f5736b93e093bea0" class="m-doc">RUNNING</a>,
<a href="#ada0d42f8cac92807271e3811899691d4aa34537cc3504afbce041e685452f9a25" class="m-doc">WAITING</a>,
<a href="#ada0d42f8cac92807271e3811899691d4ab3c3d8af8f1690d61dcb5ea0f93bfbeb" class="m-doc">WON</a>,
<a href="#ada0d42f8cac92807271e3811899691d4a85e5d2220b78dddd93b3b1cb57021007" class="m-doc">LOST</a>,
<a href="#ada0d42f8cac92807271e3811899691d4a7e39397d2ef7dfa99d24bf4edd504f99" class="m-doc">FAILING</a>,
<a href="#ada0d42f8cac92807271e3811899691d4a573d0be22ab41b235152d135a8a744f6" class="m-doc">WILDCARD</a>,
<a href="#ada0d42f8cac92807271e3811899691d4a2f45c51629a91757794ba7bbc5adb9bf" class="m-doc">FAILED</a>,
<a href="#ada0d42f8cac92807271e3811899691d4a5979f37506744b5559ce744ed8904ad3" class="m-doc">CANCELLED</a>,
<a href="#ada0d42f8cac92807271e3811899691d4a8f000f496058711a293671ab5c9d32ba" class="m-doc">INCIDENT</a>,
<a href="#ada0d42f8cac92807271e3811899691d4aa392d2f5e98c5b1c426981c1ab1b27d8" class="m-doc">DISABLED</a> }</span>
</dt>
<dd>The TimerState enum contains all state the timer can be in.</dd>
<dt>
<span class="m-doc-wrap-bumper">enum <a href="#a185f832ed38e2e555af7e74d339c023f" class="m-doc">ReadyState</a> { </span><span class="m-doc-wrap"><a href="#a185f832ed38e2e555af7e74d339c023fad3c2fa7df4332280eff3c365f9a4b894" class="m-doc">IsReady</a> = 0,
<a href="#a185f832ed38e2e555af7e74d339c023fa014a3289e24b7e37fe840ccb0f039197" class="m-doc">NotInIdleState</a>,
<a href="#a185f832ed38e2e555af7e74d339c023faec170fb0f373a61f319994345e68faee" class="m-doc">IsDisabled</a>,
<a href="#a185f832ed38e2e555af7e74d339c023faab1621429f64ecaffe935191a02e975d" class="m-doc">ExtensionIsNotConnected</a>,
<a href="#a185f832ed38e2e555af7e74d339c023fa6974cd0c4b77dfa673a5e1dfe0c3c884" class="m-doc">ExtensionBatteryIsCritical</a>,
<a href="#a185f832ed38e2e555af7e74d339c023faf705a3ca10429a13af06f0a59f7f1ddf" class="m-doc">ClimberIsNotReady</a> }</span>
</dt>
<dd>The ReadyStatus enum contains all possible reasons for a timer not to be ready (&gt;0) and the case that it is ready (0)</dd>
</dl>
</section>
<section id="typeless-methods">
<h2><a href="#typeless-methods">Constructors, destructors, conversion operators</a></h2>
<dl class="m-doc">
<dt>
<span class="m-doc-wrap-bumper"><a href="#a389e15b515cb54db5168c5efcb5f05e4" class="m-doc">ScStwTimer</a>(</span><span class="m-doc-wrap">QString letter,
QObject* parent = nullptr) <span class="m-label m-flat m-info">explicit</span> </span>
</dt>
<dd><a href="classScStwTimer.html" class="m-doc">ScStwTimer</a> constructor.</dd>
</dl>
</section>
<section id="signals">
<h2><a href="#signals">Signals</a></h2>
<dl class="m-doc">
<dt id="a2b99b88e926d1b8cda3e1b3ef87d209b">
<span class="m-doc-wrap-bumper">void <a href="#a2b99b88e926d1b8cda3e1b3ef87d209b" class="m-doc-self">stateChanged</a>(</span><span class="m-doc-wrap"><a href="classScStwTimer.html#ada0d42f8cac92807271e3811899691d4" class="m-doc">TimerState</a> state)</span>
</dt>
<dd>Emitted when the state of the timer changed.</dd>
<dt id="a013826923879fee7f35a542b58f75754">
<span class="m-doc-wrap-bumper">void <a href="#a013826923879fee7f35a542b58f75754" class="m-doc-self">reactionTimeChanged</a>(</span><span class="m-doc-wrap">)</span>
</dt>
<dd>Emitted when the reaction time changed.</dd>
<dt>
<span class="m-doc-wrap-bumper">void <a href="#af67db37af63f6c999a55b2f76a3e8cda" class="m-doc">wantsToBeDisabledChanged</a>(</span><span class="m-doc-wrap"><a href="classScStwTimer.html" class="m-doc">ScStwTimer</a>* timer,
bool wantsToBeDisabled)</span>
</dt>
<dd>Emitted when the timer wants its state to be changed by the external handler.</dd>
<dt>
<span class="m-doc-wrap-bumper">void <a href="#aafb8547777f4211ef5eddf19637d14c3" class="m-doc">readyStateChanged</a>(</span><span class="m-doc-wrap"><a href="classScStwTimer.html#a185f832ed38e2e555af7e74d339c023f" class="m-doc">ReadyState</a> readyState)</span>
</dt>
<dd>Emitted when the ready state of the timer changes.</dd>
</dl>
</section>
<section id="pub-slots">
<h2><a href="#pub-slots">Public slots</a></h2>
<dl class="m-doc">
<dt>
<span class="m-doc-wrap-bumper">auto <a href="#a144ef4f6608e5a05e63dacdc581f0210" class="m-doc">start</a>(</span><span class="m-doc-wrap">) -&gt; bool</span>
</dt>
<dd>Function to start the timer.</dd>
<dt>
<span class="m-doc-wrap-bumper">auto <a href="#a6868b437f85a7ebf6cc059e102c9bcb9" class="m-doc">start</a>(</span><span class="m-doc-wrap">double timeOfStart) -&gt; bool <span class="m-label m-flat m-warning">virtual</span></span>
</dt>
<dd>Function to start the timer at a given point in time (present or future)</dd>
<dt>
<span class="m-doc-wrap-bumper">auto <a href="#a7409fb5ffe4d1f2e2a46b9f503a36b7c" class="m-doc">cancel</a>(</span><span class="m-doc-wrap">) -&gt; bool</span>
</dt>
<dd>Function to cancel the timer.</dd>
<dt>
<span class="m-doc-wrap-bumper">auto <a href="#ab7bc9250d1db3046b3832f048bdfff26" class="m-doc">stop</a>(</span><span class="m-doc-wrap">) -&gt; bool</span>
</dt>
<dd>Function to stop the timer.</dd>
<dt>
<span class="m-doc-wrap-bumper">auto <a href="#a55766788bb86f36db8940c3c50149ec0" class="m-doc">stop</a>(</span><span class="m-doc-wrap">double timeOfStop) -&gt; bool</span>
</dt>
<dd>Function to stop the timer at a given point in time (past or future)</dd>
<dt>
<span class="m-doc-wrap-bumper">auto <a href="#a94c8f03ad0fb44c38c515d77ef810d47" class="m-doc">setResult</a>(</span><span class="m-doc-wrap"><a href="classScStwTimer.html#ada0d42f8cac92807271e3811899691d4" class="m-doc">TimerState</a>) -&gt; bool</span>
</dt>
<dd>Function to assing the result of the race to the timer.</dd>
<dt>
<span class="m-doc-wrap-bumper">auto <a href="#a1576aaf8ebedd8ed26bc4bbce96b81a8" class="m-doc">reset</a>(</span><span class="m-doc-wrap">) -&gt; bool <span class="m-label m-flat m-warning">virtual</span></span>
</dt>
<dd>Function to reset the timer.</dd>
<dt>
<span class="m-doc-wrap-bumper">auto <a href="#ab5ab3874a241f57c58b4e5e7ac83d63b" class="m-doc">getState</a>(</span><span class="m-doc-wrap">) -&gt; <a href="classScStwTimer.html#ada0d42f8cac92807271e3811899691d4" class="m-doc">TimerState</a></span>
</dt>
<dd>Function to get the current state of the timer.</dd>
<dt>
<span class="m-doc-wrap-bumper">auto <a href="#a702bed98a3905c901aefdaefbbd4a5a6" class="m-doc">getCurrentTime</a>(</span><span class="m-doc-wrap">) -&gt; double</span>
</dt>
<dd>Function to get the current time of the timer.</dd>
<dt>
<span class="m-doc-wrap-bumper">auto <a href="#a819e94b9abe6d1073b97008bd7997a60" class="m-doc">getReactionTime</a>(</span><span class="m-doc-wrap">) -&gt; double</span>
</dt>
<dd>Function to get the reaction time of the climber.</dd>
<dt>
<span class="m-doc-wrap-bumper">auto <a href="#af558c8104846a09ed5f71499544954a3" class="m-doc">getText</a>(</span><span class="m-doc-wrap">) -&gt; QString</span>
</dt>
<dd>Function to get the text, a timer display is supposed to show.</dd>
<dt>
<span class="m-doc-wrap-bumper">auto <a href="#aab757a3e2b3de1d7da584f9adf17cde3" class="m-doc">getLetter</a>(</span><span class="m-doc-wrap">) -&gt; QString</span>
</dt>
<dd>Function to get the letter of the timer.</dd>
<dt>
<span class="m-doc-wrap-bumper">void <a href="#a40bc97d7842cc65ec7b08d03c022741e" class="m-doc">setDisabled</a>(</span><span class="m-doc-wrap">bool disabled)</span>
</dt>
<dd>Function to set if the timer is supposed to be disabled.</dd>
<dt>
<span class="m-doc-wrap-bumper">auto <a href="#ae553fde747622fbfc2eb3bf26dafd08a" class="m-doc">getWantsToBeDisabled</a>(</span><span class="m-doc-wrap">) -&gt; bool</span>
</dt>
<dd>Function to check if the timer currently wants to be disabled.</dd>
<dt>
<span class="m-doc-wrap-bumper">auto <a href="#a1d9b182d983a2f6ab03b8e3877376bff" class="m-doc">getReadyState</a>(</span><span class="m-doc-wrap">) -&gt; <a href="classScStwTimer.html#a185f832ed38e2e555af7e74d339c023f" class="m-doc">ScStwTimer::<wbr />ReadyState</a> <span class="m-label m-flat m-warning">virtual</span></span>
</dt>
<dd>Function to get the current ready status of a timer.</dd>
</dl>
</section>
<section id="pro-slots">
<h2><a href="#pro-slots">Protected slots</a></h2>
<dl class="m-doc">
<dt>
<span class="m-doc-wrap-bumper">void <a href="#a89dcba328bf66c1d86ebffb086bea18b" class="m-doc">handleClimberStart</a>(</span><span class="m-doc-wrap">double timeOfStart)</span>
</dt>
<dd>slot to call when the climber has started</dd>
<dt>
<span class="m-doc-wrap-bumper">void <a href="#a10ee4d196dcf71a8a5b1a1770578d367" class="m-doc">setState</a>(</span><span class="m-doc-wrap"><a href="classScStwTimer.html#ada0d42f8cac92807271e3811899691d4" class="m-doc">TimerState</a> newState)</span>
</dt>
<dd>Function to change the state of the timer.</dd>
<dt>
<span class="m-doc-wrap-bumper">void <a href="#ab1a4c10718873ff80d395a4697ad8e6a" class="m-doc">setWantsToBeDisabled</a>(</span><span class="m-doc-wrap">bool wantsToBeDisabled)</span>
</dt>
<dd>Function to set whether the timer currently wants to be disabled.</dd>
<dt>
<span class="m-doc-wrap-bumper">void <a href="#ab8a2f017d02f979e13282a10ac9c25ab" class="m-doc">technicalIncident</a>(</span><span class="m-doc-wrap">)</span>
</dt>
<dd>Function to set the timer into INCIDENT state immidieately.</dd>
<dt>
<span class="m-doc-wrap-bumper">auto <a href="#aaaf67aa1c25ed318404a9236fa56f732" class="m-doc">wildcard</a>(</span><span class="m-doc-wrap">) -&gt; bool</span>
</dt>
<dd>Function to set the timer into WILDCARD state.</dd>
</dl>
</section>
<section id="pro-attribs">
<h2><a href="#pro-attribs">Protected variables</a></h2>
<dl class="m-doc">
<dt id="a47a2e907433f2fe1da321ce018d5e16f">
<a href="classScStwTimer.html#ada0d42f8cac92807271e3811899691d4" class="m-doc">TimerState</a> <a href="#a47a2e907433f2fe1da321ce018d5e16f" class="m-doc-self">state</a>
</dt>
<dd>The current state of the timer.</dd>
<dt id="a0a0d9c0888889777a537b08800431550">
double <a href="#a0a0d9c0888889777a537b08800431550" class="m-doc-self">startTime</a>
</dt>
<dd>The time the timer was started at.</dd>
<dt id="ae59f354e85585ff9d642258135345538">
double <a href="#ae59f354e85585ff9d642258135345538" class="m-doc-self">stopTime</a>
</dt>
<dd>The time the timer was stopped at.</dd>
<dt id="a019e8b5dc595e637dd3717f3d235e266">
double <a href="#a019e8b5dc595e637dd3717f3d235e266" class="m-doc-self">reactionTime</a>
</dt>
<dd>the reaction time of the climber</dd>
<dt id="a9a37c93552fa1f4e3d47bca99db14a9a">
QString <a href="#a9a37c93552fa1f4e3d47bca99db14a9a" class="m-doc-self">letter</a>
</dt>
<dd>The letter (eg. &quot;A&quot; or &quot;B&quot;) of the Timer (only one char)</dd>
<dt id="aea0fb34cb9b98d12ffa6dec38c60f998">
bool <a href="#aea0fb34cb9b98d12ffa6dec38c60f998" class="m-doc-self">wantsToBeDisabled</a>
</dt>
<dd>Defines if the timer currently wants to be disabled or not.</dd>
</dl>
</section>
<section>
<h2>Enum documentation</h2>
<section class="m-doc-details" id="ada0d42f8cac92807271e3811899691d4"><div>
<h3>
enum ScStwTimer::<wbr /><a href="#ada0d42f8cac92807271e3811899691d4" class="m-doc-self">TimerState</a>
</h3>
<p>The TimerState enum contains all state the timer can be in.</p>
<table class="m-table m-fullwidth m-flat m-doc">
<thead><tr><th style="width: 1%">Enumerators</th><th></th></tr></thead>
<tbody>
<tr>
<td><a href="#ada0d42f8cac92807271e3811899691d4a89a624261a53da443c950e23f18b5893" class="m-doc-self" id="ada0d42f8cac92807271e3811899691d4a89a624261a53da443c950e23f18b5893">IDLE</a></td>
<td>
<p>Timer is waiting to be started</p>
</td>
</tr>
<tr>
<td><a href="#ada0d42f8cac92807271e3811899691d4acb0051986bc92cfc3f596268b5d72a20" class="m-doc-self" id="ada0d42f8cac92807271e3811899691d4acb0051986bc92cfc3f596268b5d72a20">STARTING</a></td>
<td>
<p>Timer is starting and will react with a false start if the climber starts</p>
</td>
</tr>
<tr>
<td><a href="#ada0d42f8cac92807271e3811899691d4a8dd9e579e1c43be3f5736b93e093bea0" class="m-doc-self" id="ada0d42f8cac92807271e3811899691d4a8dd9e579e1c43be3f5736b93e093bea0">RUNNING</a></td>
<td>
<p>Timer is running</p>
</td>
</tr>
<tr>
<td><a href="#ada0d42f8cac92807271e3811899691d4aa34537cc3504afbce041e685452f9a25" class="m-doc-self" id="ada0d42f8cac92807271e3811899691d4aa34537cc3504afbce041e685452f9a25">WAITING</a></td>
<td>
<p>Timer was stopped and is waiting to be set to either WON or LOST</p>
</td>
</tr>
<tr>
<td><a href="#ada0d42f8cac92807271e3811899691d4ab3c3d8af8f1690d61dcb5ea0f93bfbeb" class="m-doc-self" id="ada0d42f8cac92807271e3811899691d4ab3c3d8af8f1690d61dcb5ea0f93bfbeb">WON</a></td>
<td>
<p>Timer has won</p>
</td>
</tr>
<tr>
<td><a href="#ada0d42f8cac92807271e3811899691d4a85e5d2220b78dddd93b3b1cb57021007" class="m-doc-self" id="ada0d42f8cac92807271e3811899691d4a85e5d2220b78dddd93b3b1cb57021007">LOST</a></td>
<td>
<p>Timer has lost</p>
</td>
</tr>
<tr>
<td><a href="#ada0d42f8cac92807271e3811899691d4a7e39397d2ef7dfa99d24bf4edd504f99" class="m-doc-self" id="ada0d42f8cac92807271e3811899691d4a7e39397d2ef7dfa99d24bf4edd504f99">FAILING</a></td>
<td>
<p>Timer encountered a false start and is waiting to be set to either FAILED or WILDCARD</p>
</td>
</tr>
<tr>
<td><a href="#ada0d42f8cac92807271e3811899691d4a573d0be22ab41b235152d135a8a744f6" class="m-doc-self" id="ada0d42f8cac92807271e3811899691d4a573d0be22ab41b235152d135a8a744f6">WILDCARD</a></td>
<td>
<p>The opponent has done a false start</p>
</td>
</tr>
<tr>
<td><a href="#ada0d42f8cac92807271e3811899691d4a2f45c51629a91757794ba7bbc5adb9bf" class="m-doc-self" id="ada0d42f8cac92807271e3811899691d4a2f45c51629a91757794ba7bbc5adb9bf">FAILED</a></td>
<td>
<p>A false start occured</p>
</td>
</tr>
<tr>
<td><a href="#ada0d42f8cac92807271e3811899691d4a5979f37506744b5559ce744ed8904ad3" class="m-doc-self" id="ada0d42f8cac92807271e3811899691d4a5979f37506744b5559ce744ed8904ad3">CANCELLED</a></td>
<td>
<p>Timer was cancelled</p>
</td>
</tr>
<tr>
<td><a href="#ada0d42f8cac92807271e3811899691d4a8f000f496058711a293671ab5c9d32ba" class="m-doc-self" id="ada0d42f8cac92807271e3811899691d4a8f000f496058711a293671ab5c9d32ba">INCIDENT</a></td>
<td>
<p>There was a technical incident (most likely a disconnected extension)</p>
</td>
</tr>
<tr>
<td><a href="#ada0d42f8cac92807271e3811899691d4aa392d2f5e98c5b1c426981c1ab1b27d8" class="m-doc-self" id="ada0d42f8cac92807271e3811899691d4aa392d2f5e98c5b1c426981c1ab1b27d8">DISABLED</a></td>
<td>
<p>Timer is disabled</p>
</td>
</tr>
</tbody>
</table>
</div></section>
<section class="m-doc-details" id="a185f832ed38e2e555af7e74d339c023f"><div>
<h3>
enum ScStwTimer::<wbr /><a href="#a185f832ed38e2e555af7e74d339c023f" class="m-doc-self">ReadyState</a>
</h3>
<p>The ReadyStatus enum contains all possible reasons for a timer not to be ready (&gt;0) and the case that it is ready (0)</p>
<table class="m-table m-fullwidth m-flat m-doc">
<thead><tr><th style="width: 1%">Enumerators</th><th></th></tr></thead>
<tbody>
<tr>
<td><a href="#a185f832ed38e2e555af7e74d339c023fad3c2fa7df4332280eff3c365f9a4b894" class="m-doc-self" id="a185f832ed38e2e555af7e74d339c023fad3c2fa7df4332280eff3c365f9a4b894">IsReady</a></td>
<td>
<p>Timer is ready for start</p>
</td>
</tr>
<tr>
<td><a href="#a185f832ed38e2e555af7e74d339c023fa014a3289e24b7e37fe840ccb0f039197" class="m-doc-self" id="a185f832ed38e2e555af7e74d339c023fa014a3289e24b7e37fe840ccb0f039197">NotInIdleState</a></td>
<td>
<p>Timer is not in IDLE state</p>
</td>
</tr>
<tr>
<td><a href="#a185f832ed38e2e555af7e74d339c023faec170fb0f373a61f319994345e68faee" class="m-doc-self" id="a185f832ed38e2e555af7e74d339c023faec170fb0f373a61f319994345e68faee">IsDisabled</a></td>
<td>
<p>Timer is disabled</p>
</td>
</tr>
<tr>
<td><a href="#a185f832ed38e2e555af7e74d339c023faab1621429f64ecaffe935191a02e975d" class="m-doc-self" id="a185f832ed38e2e555af7e74d339c023faab1621429f64ecaffe935191a02e975d">ExtensionIsNotConnected</a></td>
<td>
<p>Not all extension of the timer are conneted</p>
</td>
</tr>
<tr>
<td><a href="#a185f832ed38e2e555af7e74d339c023fa6974cd0c4b77dfa673a5e1dfe0c3c884" class="m-doc-self" id="a185f832ed38e2e555af7e74d339c023fa6974cd0c4b77dfa673a5e1dfe0c3c884">ExtensionBatteryIsCritical</a></td>
<td>
<p>The battery level of one or more extension is critical or unknown</p>
</td>
</tr>
<tr>
<td><a href="#a185f832ed38e2e555af7e74d339c023faf705a3ca10429a13af06f0a59f7f1ddf" class="m-doc-self" id="a185f832ed38e2e555af7e74d339c023faf705a3ca10429a13af06f0a59f7f1ddf">ClimberIsNotReady</a></td>
<td>
<p>The startpad of the timer is not triggered</p>
</td>
</tr>
</tbody>
</table>
</div></section>
</section>
<section>
<h2>Function documentation</h2>
<section class="m-doc-details" id="a389e15b515cb54db5168c5efcb5f05e4"><div>
<h3>
<span class="m-doc-wrap-bumper"> ScStwTimer::<wbr /></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#a389e15b515cb54db5168c5efcb5f05e4" class="m-doc-self">ScStwTimer</a>(</span><span class="m-doc-wrap">QString letter,
QObject* parent = nullptr) <span class="m-label m-info">explicit</span> </span></span>
</h3>
<p><a href="classScStwTimer.html" class="m-doc">ScStwTimer</a> constructor.</p>
<table class="m-table m-fullwidth m-flat">
<thead>
<tr><th colspan="2">Parameters</th></tr>
</thead>
<tbody>
<tr>
<td style="width: 1%">letter</td>
<td>the letter of the timer (only first char will be used!)</td>
</tr>
<tr>
<td>parent</td>
<td>the parent object</td>
</tr>
</tbody>
</table>
</div></section>
<section class="m-doc-details" id="af67db37af63f6c999a55b2f76a3e8cda"><div>
<h3>
<span class="m-doc-wrap-bumper">void ScStwTimer::<wbr /></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#af67db37af63f6c999a55b2f76a3e8cda" class="m-doc-self">wantsToBeDisabledChanged</a>(</span><span class="m-doc-wrap"><a href="classScStwTimer.html" class="m-doc">ScStwTimer</a>* timer,
bool wantsToBeDisabled) <span class="m-label m-success">signal</span></span></span>
</h3>
<p>Emitted when the timer wants its state to be changed by the external handler.</p>
<table class="m-table m-fullwidth m-flat">
<thead>
<tr><th colspan="2">Parameters</th></tr>
</thead>
<tbody>
<tr>
<td style="width: 1%">timer</td>
<td>the timer object</td>
</tr>
<tr>
<td>wantsToBeDisabled</td>
<td></td>
</tr>
</tbody>
</table>
</div></section>
<section class="m-doc-details" id="aafb8547777f4211ef5eddf19637d14c3"><div>
<h3>
<span class="m-doc-wrap-bumper">void ScStwTimer::<wbr /></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#aafb8547777f4211ef5eddf19637d14c3" class="m-doc-self">readyStateChanged</a>(</span><span class="m-doc-wrap"><a href="classScStwTimer.html#a185f832ed38e2e555af7e74d339c023f" class="m-doc">ReadyState</a> readyState) <span class="m-label m-success">signal</span></span></span>
</h3>
<p>Emitted when the ready state of the timer changes.</p>
<table class="m-table m-fullwidth m-flat">
<thead>
<tr><th colspan="2">Parameters</th></tr>
</thead>
<tbody>
<tr>
<td style="width: 1%">readyState</td>
<td>the new ReadyState</td>
</tr>
</tbody>
</table>
</div></section>
<section class="m-doc-details" id="a144ef4f6608e5a05e63dacdc581f0210"><div>
<h3>
<span class="m-doc-wrap-bumper">bool ScStwTimer::<wbr /></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#a144ef4f6608e5a05e63dacdc581f0210" class="m-doc-self">start</a>(</span><span class="m-doc-wrap">) <span class="m-label m-success">public slot</span></span></span>
</h3>
<p>Function to start the timer.</p>
<table class="m-table m-fullwidth m-flat">
<tfoot>
<tr>
<th style="width: 1%">Returns</th>
<td>false if the timer was not in the required state and therefore not started, true otherwise</td>
</tr>
</tfoot>
</table>
<p>To do this, the timer has to be in <a href="classScStwTimer.html#ada0d42f8cac92807271e3811899691d4acb0051986bc92cfc3f596268b5d72a20" class="m-doc">ScStwTimer::<wbr />STARTING</a> state!</p>
</div></section>
<section class="m-doc-details" id="a6868b437f85a7ebf6cc059e102c9bcb9"><div>
<h3>
<span class="m-doc-wrap-bumper">bool ScStwTimer::<wbr /></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#a6868b437f85a7ebf6cc059e102c9bcb9" class="m-doc-self">start</a>(</span><span class="m-doc-wrap">double timeOfStart) <span class="m-label m-warning">virtual</span> <span class="m-label m-success">public slot</span></span></span>
</h3>
<p>Function to start the timer at a given point in time (present or future)</p>
<table class="m-table m-fullwidth m-flat">
<thead>
<tr><th colspan="2">Parameters</th></tr>
</thead>
<tbody>
<tr>
<td style="width: 1%">timeOfStart</td>
<td>the point in time (msecs since epoch) when the timer is supposted to be started</td>
</tr>
</tbody>
<tfoot>
<tr>
<th>Returns</th>
<td>false if the timer was not in the required state and therefore not started, true otherwise</td>
</tr>
</tfoot>
</table>
<p>To do this, the timer has to be in <a href="classScStwTimer.html#ada0d42f8cac92807271e3811899691d4acb0051986bc92cfc3f596268b5d72a20" class="m-doc">ScStwTimer::<wbr />STARTING</a> state!</p>
</div></section>
<section class="m-doc-details" id="a7409fb5ffe4d1f2e2a46b9f503a36b7c"><div>
<h3>
<span class="m-doc-wrap-bumper">bool ScStwTimer::<wbr /></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#a7409fb5ffe4d1f2e2a46b9f503a36b7c" class="m-doc-self">cancel</a>(</span><span class="m-doc-wrap">) <span class="m-label m-success">public slot</span></span></span>
</h3>
<p>Function to cancel the timer.</p>
<table class="m-table m-fullwidth m-flat">
<tfoot>
<tr>
<th style="width: 1%">Returns</th>
<td>false if the timer was not in the required state and therefore not cancelled, true otherwise</td>
</tr>
</tfoot>
</table>
<p>To do this, the timer has to be in <a href="classScStwTimer.html#ada0d42f8cac92807271e3811899691d4a89a624261a53da443c950e23f18b5893" class="m-doc">ScStwTimer::<wbr />IDLE</a>, <a href="classScStwTimer.html#ada0d42f8cac92807271e3811899691d4acb0051986bc92cfc3f596268b5d72a20" class="m-doc">ScStwTimer::<wbr />STARTING</a> or <a href="classScStwTimer.html#ada0d42f8cac92807271e3811899691d4a8dd9e579e1c43be3f5736b93e093bea0" class="m-doc">ScStwTimer::<wbr />RUNNING</a> state!</p>
</div></section>
<section class="m-doc-details" id="ab7bc9250d1db3046b3832f048bdfff26"><div>
<h3>
<span class="m-doc-wrap-bumper">bool ScStwTimer::<wbr /></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#ab7bc9250d1db3046b3832f048bdfff26" class="m-doc-self">stop</a>(</span><span class="m-doc-wrap">) <span class="m-label m-success">public slot</span></span></span>
</h3>
<p>Function to stop the timer.</p>
<table class="m-table m-fullwidth m-flat">
<tfoot>
<tr>
<th style="width: 1%">Returns</th>
<td>false if the timer was not in the required state and therefore not stopped, true otherwise</td>
</tr>
</tfoot>
</table>
<p>To do this, the timer has to be in <a href="classScStwTimer.html#ada0d42f8cac92807271e3811899691d4a8dd9e579e1c43be3f5736b93e093bea0" class="m-doc">ScStwTimer::<wbr />RUNNING</a> state!</p>
</div></section>
<section class="m-doc-details" id="a55766788bb86f36db8940c3c50149ec0"><div>
<h3>
<span class="m-doc-wrap-bumper">bool ScStwTimer::<wbr /></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#a55766788bb86f36db8940c3c50149ec0" class="m-doc-self">stop</a>(</span><span class="m-doc-wrap">double timeOfStop) <span class="m-label m-success">public slot</span></span></span>
</h3>
<p>Function to stop the timer at a given point in time (past or future)</p>
<table class="m-table m-fullwidth m-flat">
<thead>
<tr><th colspan="2">Parameters</th></tr>
</thead>
<tbody>
<tr>
<td style="width: 1%">timeOfStop</td>
<td>the point in time (msecs since epoch) when the timer is supposted to be stopped</td>
</tr>
</tbody>
<tfoot>
<tr>
<th>Returns</th>
<td>false if the timer was not in the required state and therefore not stopped, true otherwise</td>
</tr>
</tfoot>
</table>
<p>To do this, the timer has to be in <a href="classScStwTimer.html#ada0d42f8cac92807271e3811899691d4a8dd9e579e1c43be3f5736b93e093bea0" class="m-doc">ScStwTimer::<wbr />RUNNING</a> state!</p>
</div></section>
<section class="m-doc-details" id="a94c8f03ad0fb44c38c515d77ef810d47"><div>
<h3>
<span class="m-doc-wrap-bumper">bool ScStwTimer::<wbr /></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#a94c8f03ad0fb44c38c515d77ef810d47" class="m-doc-self">setResult</a>(</span><span class="m-doc-wrap"><a href="classScStwTimer.html#ada0d42f8cac92807271e3811899691d4" class="m-doc">TimerState</a>) <span class="m-label m-success">public slot</span></span></span>
</h3>
<p>Function to assing the result of the race to the timer.</p>
<table class="m-table m-fullwidth m-flat">
<tfoot>
<tr>
<th style="width: 1%">Returns</th>
<td>false if the timer was not in the required state and the result therefore not set, true otherwise</td>
</tr>
</tfoot>
</table>
<p>To do this, the timer has to be in <a href="classScStwTimer.html#ada0d42f8cac92807271e3811899691d4aa34537cc3504afbce041e685452f9a25" class="m-doc">ScStwTimer::<wbr />WAITING</a> state!</p>
</div></section>
<section class="m-doc-details" id="a1576aaf8ebedd8ed26bc4bbce96b81a8"><div>
<h3>
<span class="m-doc-wrap-bumper">bool ScStwTimer::<wbr /></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#a1576aaf8ebedd8ed26bc4bbce96b81a8" class="m-doc-self">reset</a>(</span><span class="m-doc-wrap">) <span class="m-label m-warning">virtual</span> <span class="m-label m-success">public slot</span></span></span>
</h3>
<p>Function to reset the timer.</p>
<table class="m-table m-fullwidth m-flat">
<tfoot>
<tr>
<th style="width: 1%">Returns</th>
<td>false if the timer was not in the required state and therefore not reset, true otherwise</td>
</tr>
</tfoot>
</table>
<p>To do this, the timer has to be in <a href="classScStwTimer.html#ada0d42f8cac92807271e3811899691d4ab3c3d8af8f1690d61dcb5ea0f93bfbeb" class="m-doc">ScStwTimer::<wbr />WON</a> or ScSTw::LOST state!</p>
</div></section>
<section class="m-doc-details" id="ab5ab3874a241f57c58b4e5e7ac83d63b"><div>
<h3>
<span class="m-doc-wrap-bumper"><a href="classScStwTimer.html#ada0d42f8cac92807271e3811899691d4" class="m-doc">TimerState</a> ScStwTimer::<wbr /></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#ab5ab3874a241f57c58b4e5e7ac83d63b" class="m-doc-self">getState</a>(</span><span class="m-doc-wrap">) <span class="m-label m-success">public slot</span></span></span>
</h3>
<p>Function to get the current state of the timer.</p>
<table class="m-table m-fullwidth m-flat">
<tfoot>
<tr>
<th style="width: 1%">Returns</th>
<td>current state of the timer</td>
</tr>
</tfoot>
</table>
<aside class="m-note m-default"><h4>See also</h4><p><a href="classScStwTimer.html#ada0d42f8cac92807271e3811899691d4" class="m-doc">ScStwTimer::<wbr />TimerState</a></p></aside>
</div></section>
<section class="m-doc-details" id="a702bed98a3905c901aefdaefbbd4a5a6"><div>
<h3>
<span class="m-doc-wrap-bumper">double ScStwTimer::<wbr /></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#a702bed98a3905c901aefdaefbbd4a5a6" class="m-doc-self">getCurrentTime</a>(</span><span class="m-doc-wrap">) <span class="m-label m-success">public slot</span></span></span>
</h3>
<p>Function to get the current time of the timer.</p>
<table class="m-table m-fullwidth m-flat">
<tfoot>
<tr>
<th style="width: 1%">Returns</th>
<td>The current / final time of the timer or -1 if it is not in the required state</td>
</tr>
</tfoot>
</table>
<p>To do this, the timer has to be in <a href="classScStwTimer.html#ada0d42f8cac92807271e3811899691d4a8dd9e579e1c43be3f5736b93e093bea0" class="m-doc">ScStwTimer::<wbr />RUNNING</a>, <a href="classScStwTimer.html#ada0d42f8cac92807271e3811899691d4aa34537cc3504afbce041e685452f9a25" class="m-doc">ScStwTimer::<wbr />WAITING</a>, <a href="classScStwTimer.html#ada0d42f8cac92807271e3811899691d4ab3c3d8af8f1690d61dcb5ea0f93bfbeb" class="m-doc">ScStwTimer::<wbr />WON</a> or ScSTw::LOST state!</p>
</div></section>
<section class="m-doc-details" id="a819e94b9abe6d1073b97008bd7997a60"><div>
<h3>
<span class="m-doc-wrap-bumper">double ScStwTimer::<wbr /></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#a819e94b9abe6d1073b97008bd7997a60" class="m-doc-self">getReactionTime</a>(</span><span class="m-doc-wrap">) <span class="m-label m-success">public slot</span></span></span>
</h3>
<p>Function to get the reaction time of the climber.</p>
<table class="m-table m-fullwidth m-flat">
<tfoot>
<tr>
<th style="width: 1%">Returns</th>
<td>The climbers reaction time</td>
</tr>
</tfoot>
</table>
</div></section>
<section class="m-doc-details" id="af558c8104846a09ed5f71499544954a3"><div>
<h3>
<span class="m-doc-wrap-bumper">QString ScStwTimer::<wbr /></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#af558c8104846a09ed5f71499544954a3" class="m-doc-self">getText</a>(</span><span class="m-doc-wrap">) <span class="m-label m-success">public slot</span></span></span>
</h3>
<p>Function to get the text, a timer display is supposed to show.</p>
<table class="m-table m-fullwidth m-flat">
<tfoot>
<tr>
<th style="width: 1%">Returns</th>
<td>The text to show</td>
</tr>
</tfoot>
</table>
</div></section>
<section class="m-doc-details" id="aab757a3e2b3de1d7da584f9adf17cde3"><div>
<h3>
<span class="m-doc-wrap-bumper">QString ScStwTimer::<wbr /></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#aab757a3e2b3de1d7da584f9adf17cde3" class="m-doc-self">getLetter</a>(</span><span class="m-doc-wrap">) <span class="m-label m-success">public slot</span></span></span>
</h3>
<p>Function to get the letter of the timer.</p>
<table class="m-table m-fullwidth m-flat">
<tfoot>
<tr>
<th style="width: 1%">Returns</th>
<td>The letter of the timer or &quot;&quot;</td>
</tr>
</tfoot>
</table>
</div></section>
<section class="m-doc-details" id="a40bc97d7842cc65ec7b08d03c022741e"><div>
<h3>
<span class="m-doc-wrap-bumper">void ScStwTimer::<wbr /></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#a40bc97d7842cc65ec7b08d03c022741e" class="m-doc-self">setDisabled</a>(</span><span class="m-doc-wrap">bool disabled) <span class="m-label m-success">public slot</span></span></span>
</h3>
<p>Function to set if the timer is supposed to be disabled.</p>
<table class="m-table m-fullwidth m-flat">
<thead>
<tr><th colspan="2">Parameters</th></tr>
</thead>
<tbody>
<tr>
<td style="width: 1%">disabled</td>
<td>if the timer is supposed to be diabled</td>
</tr>
</tbody>
</table>
<p>!!! CAUTION use this function with care, it immidiately changes the state of the timer !!! It is recommended to only use this function to change the timers state after the ScStwTimer::requestTimerEnableChange() signal was called, during the race, the timer is used in, is in IDLE state.</p>
</div></section>
<section class="m-doc-details" id="ae553fde747622fbfc2eb3bf26dafd08a"><div>
<h3>
<span class="m-doc-wrap-bumper">bool ScStwTimer::<wbr /></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#ae553fde747622fbfc2eb3bf26dafd08a" class="m-doc-self">getWantsToBeDisabled</a>(</span><span class="m-doc-wrap">) <span class="m-label m-success">public slot</span></span></span>
</h3>
<p>Function to check if the timer currently wants to be disabled.</p>
<table class="m-table m-fullwidth m-flat">
<tfoot>
<tr>
<th style="width: 1%">Returns</th>
<td>true or false</td>
</tr>
</tfoot>
</table>
</div></section>
<section class="m-doc-details" id="a1d9b182d983a2f6ab03b8e3877376bff"><div>
<h3>
<span class="m-doc-wrap-bumper"><a href="classScStwTimer.html#a185f832ed38e2e555af7e74d339c023f" class="m-doc">ScStwTimer::<wbr />ReadyState</a> ScStwTimer::<wbr /></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#a1d9b182d983a2f6ab03b8e3877376bff" class="m-doc-self">getReadyState</a>(</span><span class="m-doc-wrap">) <span class="m-label m-warning">virtual</span> <span class="m-label m-success">public slot</span></span></span>
</h3>
<p>Function to get the current ready status of a timer.</p>
<table class="m-table m-fullwidth m-flat">
<tfoot>
<tr>
<th style="width: 1%">Returns</th>
<td>The current ready status</td>
</tr>
</tfoot>
</table>
</div></section>
<section class="m-doc-details" id="a89dcba328bf66c1d86ebffb086bea18b"><div>
<h3>
<span class="m-doc-wrap-bumper">void ScStwTimer::<wbr /></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#a89dcba328bf66c1d86ebffb086bea18b" class="m-doc-self">handleClimberStart</a>(</span><span class="m-doc-wrap">double timeOfStart) <span class="m-label m-warning">protected slot</span></span></span>
</h3>
<p>slot to call when the climber has started</p>
<table class="m-table m-fullwidth m-flat">
<thead>
<tr><th colspan="2">Parameters</th></tr>
</thead>
<tbody>
<tr>
<td style="width: 1%">timeOfStart</td>
<td>time (msecs since epoch) when the climber started</td>
</tr>
</tbody>
</table>
</div></section>
<section class="m-doc-details" id="a10ee4d196dcf71a8a5b1a1770578d367"><div>
<h3>
<span class="m-doc-wrap-bumper">void ScStwTimer::<wbr /></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#a10ee4d196dcf71a8a5b1a1770578d367" class="m-doc-self">setState</a>(</span><span class="m-doc-wrap"><a href="classScStwTimer.html#ada0d42f8cac92807271e3811899691d4" class="m-doc">TimerState</a> newState) <span class="m-label m-warning">protected slot</span></span></span>
</h3>
<p>Function to change the state of the timer.</p>
<table class="m-table m-fullwidth m-flat">
<thead>
<tr><th colspan="2">Parameters</th></tr>
</thead>
<tbody>
<tr>
<td style="width: 1%">newState</td>
<td>The new state</td>
</tr>
</tbody>
</table>
<p>Doing this will emit the <a href="classScStwTimer.html#a2b99b88e926d1b8cda3e1b3ef87d209b" class="m-doc">ScStwTimer::<wbr />stateChanged()</a> signal (only if the new state differs from the current one)</p>
</div></section>
<section class="m-doc-details" id="ab1a4c10718873ff80d395a4697ad8e6a"><div>
<h3>
<span class="m-doc-wrap-bumper">void ScStwTimer::<wbr /></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#ab1a4c10718873ff80d395a4697ad8e6a" class="m-doc-self">setWantsToBeDisabled</a>(</span><span class="m-doc-wrap">bool wantsToBeDisabled) <span class="m-label m-warning">protected slot</span></span></span>
</h3>
<p>Function to set whether the timer currently wants to be disabled.</p>
<table class="m-table m-fullwidth m-flat">
<thead>
<tr><th colspan="2">Parameters</th></tr>
</thead>
<tbody>
<tr>
<td style="width: 1%">wantsToBeDisabled</td>
<td>true or false</td>
</tr>
</tbody>
</table>
</div></section>
<section class="m-doc-details" id="ab8a2f017d02f979e13282a10ac9c25ab"><div>
<h3>
<span class="m-doc-wrap-bumper">void ScStwTimer::<wbr /></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#ab8a2f017d02f979e13282a10ac9c25ab" class="m-doc-self">technicalIncident</a>(</span><span class="m-doc-wrap">) <span class="m-label m-warning">protected slot</span></span></span>
</h3>
<p>Function to set the timer into INCIDENT state immidieately.</p>
<p>The current state of the timer will be ignored! It can only get out of this state by calling <a href="classScStwTimer.html#a1576aaf8ebedd8ed26bc4bbce96b81a8" class="m-doc">ScStwTimer::<wbr />reset</a></p><aside class="m-note m-default"><h4>See also</h4><p><a href="classScStwTimer.html#a1576aaf8ebedd8ed26bc4bbce96b81a8" class="m-doc">reset</a></p></aside>
</div></section>
<section class="m-doc-details" id="aaaf67aa1c25ed318404a9236fa56f732"><div>
<h3>
<span class="m-doc-wrap-bumper">bool ScStwTimer::<wbr /></span><span class="m-doc-wrap"><span class="m-doc-wrap-bumper"><a href="#aaaf67aa1c25ed318404a9236fa56f732" class="m-doc-self">wildcard</a>(</span><span class="m-doc-wrap">) <span class="m-label m-warning">protected slot</span></span></span>
</h3>
<p>Function to set the timer into WILDCARD state.</p>
<table class="m-table m-fullwidth m-flat">
<tfoot>
<tr>
<th style="width: 1%">Returns</th>
<td>false if not in STARTING state</td>
</tr>
</tfoot>
</table>
<p>Only works when the timer is in STARTING state.</p>
</div></section>
</section>
</div>
</div>
</div>
</article></main>
<div class="m-doc-search" id="search">
<a href="#!" onclick="return hideSearch()"></a>
<div class="m-container">
<div class="m-row">
<div class="m-col-m-8 m-push-m-2">
<div class="m-doc-search-header m-text m-small">
<div><span class="m-label m-default">Tab</span> / <span class="m-label m-default">T</span> to search, <span class="m-label m-default">Esc</span> to close</div>
<div id="search-symbolcount">&hellip;</div>
</div>
<div class="m-doc-search-content">
<form>
<input type="search" name="q" id="search-input" placeholder="Loading &hellip;" disabled="disabled" autofocus="autofocus" autocomplete="off" spellcheck="false" />
</form>
<noscript class="m-text m-danger m-text-center">Unlike everything else in the docs, the search functionality <em>requires</em> JavaScript.</noscript>
<div id="search-help" class="m-text m-dim m-text-center">
<p class="m-noindent">Search for symbols, directories, files, pages or
modules. You can omit any prefix from the symbol or file path; adding a
<code>:</code> or <code>/</code> suffix lists all members of given symbol or
directory.</p>
<p class="m-noindent">Use <span class="m-label m-dim">&darr;</span>
/ <span class="m-label m-dim">&uarr;</span> to navigate through the list,
<span class="m-label m-dim">Enter</span> to go.
<span class="m-label m-dim">Tab</span> autocompletes common prefix, you can
copy a link to the result using <span class="m-label m-dim"></span>
<span class="m-label m-dim">L</span> while <span class="m-label m-dim"></span>
<span class="m-label m-dim">M</span> produces a Markdown link.</p>
</div>
<div id="search-notfound" class="m-text m-warning m-text-center">Sorry, nothing was found.</div>
<ul id="search-results"></ul>
</div>
</div>
</div>
</div>
</div>
<script src="search-v2.js"></script>
<script src="searchdata-v2.js" async="async"></script>
<footer><nav>
<div class="m-container">
<div class="m-row">
<div class="m-col-l-10 m-push-l-1">
<p>ScStw shared libraries. Created with <a href="https://doxygen.org/">Doxygen</a> 1.9.4 and <a href="https://mcss.mosra.cz/">m.css</a>.</p>
</div>
</div>
</div>
</nav></footer>
</body>
</html>