void Letterbox::prepareQuiz() { updateViews(); m_submittedAnswers.clear(); m_lineEdit->clear(); m_mistakeMade = false; if (m_numberIterator == m_clueResults.count()) { statusBar()->clearMessage(); return; } m_lineEdit->setFocus(); m_pauseAction->setChecked(false); statusBar()->showMessage(tr("Word #%1 of %2 total.").arg(m_numberIterator + 1).arg(m_clueResults.count())); timerControl(true); timerControl(false); m_time.start(); m_keystrokes = 0; m_pauseMs = 0; }
void Letterbox::markLastAsMissed() { ClueResultList::iterator it(m_clueResultsIterator); (*(--it)).resetStats(); if (!m_pauseAction->isChecked()) { // reset clock timerControl(true); timerControl(false); } statusBar()->showMessage(tr("%1 marked as missed.").arg((*it).clue.clueString)); }
/** * Настройка таймера и выводов на работу с датчиком * @global tcsWait -- настройка времени первого замера */ TimerHookProc tcsSetup() { // обе ноги разрешения датчиков на выход и запрет работы pinMode(tcsOE1, OUTPUT); pinMode(tcsOE2, OUTPUT); digitalWrite(tcsOE1, HIGH); digitalWrite(tcsOE2, HIGH); timerControl(tcsTimer, A) = 0; // нормальный режим счета, счет по спадающесу(6),нарастающему(7) фронту на входе T5 timerControl(tcsTimer, B) = 6; // нормальный режим счета, все выходы счетчика отключены. pinMode(tcsOut, INPUT); // счет импульсов счетчиком T5 // ноги управления цветом на выход и режим s2=1,s3=0 -- анализ белого pinMode(tcsS2, OUTPUT); pinMode(tcsS3, OUTPUT); digitalWrite(tcsS2, HIGH); digitalWrite(tcsS3, LOW); tcsWait = TCS_WAIT; tcsColor = TCS_NOCOLOR; tcsCurrent = 0; return setTimerHook(tcsRun); }
void Letterbox::pause(bool paused) { timerControl(paused); if (m_pauseAction->isChecked() != paused) m_pauseAction->setChecked(paused); if (!paused) m_lineEdit->setFocus(); if (paused) { m_pauseTime.start(); statusBar()->showMessage(tr("Paused on #%1 of %2 total.").arg(m_numberIterator + 1).arg(m_clueResults.count())); } else { m_pauseMs += m_pauseTime.elapsed(); statusBar()->showMessage(tr("Resuming...")); } }