void MainWindow::triggerWarningAlarm() { clearAlarm(); m_belowAlarmTime = true; if (m_useLED) { qDebug() << "alarm time"; #ifdef IS_MAEMO QDBusMessage reply; // set the LED pattern reply = m_dbusInterface->call(MCE_ACTIVATE_LED_PATTERN, "PatternError"); if (reply.type() == QDBusMessage::ErrorMessage) qDebug() << reply.errorMessage(); // turn on the display too reply = m_dbusInterface->call(MCE_DISPLAY_ON_REQ, 1); if (reply.type() == QDBusMessage::ErrorMessage) qDebug() << reply.errorMessage(); #endif } if (m_useSounds) { qDebug() << "playing sound"; m_warningFile.setFileName(DATADIR "/agenda/sounds/KDE_NotifySm.wav"); m_warningFile.open(QIODevice::ReadOnly); m_audioOut->reset(); m_audioOut->start(&m_warningFile); } }
bool RTC_DS3231::setAlarm(uint8_t alarm) { clearAlarm(alarm); uint8_t ctrl = read_i2c_register(DS3231_ADDRESS, DS3231_CONTROL); ctrl |= 0x04; // turn on INTCN ctrl |= alarm; // set bit alarm write_i2c_register(DS3231_ADDRESS, DS3231_CONTROL, ctrl); return true; }
void MainWindow::startOrStop() { if (m_timer.isActive()) { m_timer.stop(); clearAlarm(); ui->start->setText("Start"); } else { m_timer.start(1000); ui->start->setText("Pause"); } }
void MainWindow::switchToTopic(int number) { if (number > m_topics.count() || number < 1) return; m_currentTopic = number; AgendaTopic *topic = m_topics[number-1]; ui->topic->setText(topic->topicName()); if (number < m_topics.count()) { ui->nextTopic->setText(m_topics[number]->topicName()); } else { ui->nextTopic->setText(""); } clearAlarm(); calculateTotalTimes(); updateScreenTimers(); }
void MainWindow::updateScreenTimers() { QString timerText; // Display the current agenda's time left if (m_topics[m_currentTopic-1]->timeSpent() > m_topics[m_currentTopic-1]->timeNeeded()) { timerText = "<font color=\"red\">"; } else { timerText = "<font color=\"green\">"; } ui->timeLeft->setText(timerText + m_topics[m_currentTopic-1]->timeSpentStr() + QString(" / ") + m_topics[m_currentTopic-1]->timeNeededStr() + "</font>"); // Maybe trigger the alarm QTime curTime = m_topics[m_currentTopic-1]->timeSpent().addSecs(m_alarmTime); qDebug() << "checking: " << m_belowAlarmTime << " - " << curTime << " - " << m_topics[m_currentTopic-1]->timeNeeded(); if (!m_belowAlarmTime && curTime > m_topics[m_currentTopic-1]->timeNeeded()) { triggerWarningAlarm(); } else if (m_belowAlarmTime && curTime <= m_topics[m_currentTopic-1]->timeNeeded()) { clearAlarm(); } if (!m_belowEndTime && m_topics[m_currentTopic-1]->timeSpent() > m_topics[m_currentTopic-1]->timeNeeded()) { triggerEndAlarm(); } // Display th e total quantity of time left if (m_spentTime > m_totalNeededTime) { timerText = "<font color=\"red\">"; } else { timerText = "<font color=\"green\">"; } ui->totalTime->setText(timerText + m_topics[m_currentTopic-1]->formatTime(m_spentTime) + QString(" / ") + m_topics[m_currentTopic-1]->formatTime(m_totalNeededTime) + "</font>"); if (m_deltaIsNegative) { timerText = "<font color=\"red\"> -"; } else { timerText = "<font color=\"green\"> +"; } ui->delta->setText(timerText + m_deltaTime.toString("mm:ss") + "</font>"); }
/****************************************************************************************** * @brief checkAlarm * * purpose: check to see if an alarm(s) is set on device and clear if so * ******************************************************************************************/ void ServerMonitor::checkAlarm(string alarmItem, ALARMS alarmID) { Oam oam; // get current server name string moduleName; oamModuleInfo_t st; try { st = oam.getModuleInfo(); moduleName = boost::get<0>(st); } catch (...) { moduleName = "Unknown Server"; } switch (alarmID) { case NO_ALARM: // clear all alarms set if any found if ( oam.checkActiveAlarm(HARDWARE_HIGH, moduleName, alarmItem) ) // alarm set, clear it clearAlarm(alarmItem, HARDWARE_HIGH); if ( oam.checkActiveAlarm(HARDWARE_MED, moduleName, alarmItem) ) // alarm set, clear it clearAlarm(alarmItem, HARDWARE_MED); if ( oam.checkActiveAlarm(HARDWARE_LOW, moduleName, alarmItem) ) // alarm set, clear it clearAlarm(alarmItem, HARDWARE_LOW); break; case HARDWARE_LOW: // clear high and medium alarms set if any found if ( oam.checkActiveAlarm(HARDWARE_HIGH, moduleName, alarmItem) ) // alarm set, clear it clearAlarm(alarmItem, HARDWARE_HIGH); if ( oam.checkActiveAlarm(HARDWARE_MED, moduleName, alarmItem) ) // alarm set, clear it clearAlarm(alarmItem, HARDWARE_MED); break; case HARDWARE_MED: // clear high alarms set if any found if ( oam.checkActiveAlarm(HARDWARE_HIGH, moduleName, alarmItem) ) // alarm set, clear it clearAlarm(alarmItem, HARDWARE_HIGH); break; default: // none to clear break; } // end of switch return; }
MainWindow::~MainWindow() { clearAlarm(); delete ui; }
void MainWindow::setUseLED(bool value) { m_useLED = value; if (!m_useLED) clearAlarm(); }