void UEditorWindow::tick(quint64 time) { UNoteManager::Instance.tick(time); QTime displayTime(0, (time / 60000) % 60, (time / 1000) % 60); ui->lcd_music->display(displayTime.toString("mm:ss")); showSentenceWidget->setSeekPosition(_currentFile->lyrics->timeToBeat(time)); _wydget_timeline->setSeek(time); _widgetSongData->setSeekPosition(time); _wydget_timeline->setSeekPosition(time); if(_currentFile->lyrics->words().empty()) return; //qDebug()<<time<<" : s :"<<_currentFile->beatToMsc(_currentFile->lyrics->getSentences()->first()->getSepAfter()->getTime2())<< "Sentence commençant par "<<s->getWords()->first()->getWord(); if(UNoteManager::Instance.isPlaying()) foreach(const Word & w,_currentFile->lyrics->words()) { if(!w.isSeparator() && _currentFile->lyrics->beatToMsc(w.getTime())-20<=time && _currentFile->lyrics->beatToMsc(w.getTime()+w.getLength())>time ) { UNoteManager::Instance.play(w); } } }
void PresentationAudioPage::updateTracksNumber() { QTime displayTime(0, 0, 0); int number = m_SoundFilesListBox->count(); if ( number > 0 ) { displayTime.addMSecs(1000 * (number - 1)); for (QMap<QUrl, QTime>::iterator it = d->tracksTime->begin(); it != d->tracksTime->end(); ++it) { int hours = it.value().hour() + displayTime.hour(); int mins = it.value().minute() + displayTime.minute(); int secs = it.value().second() + displayTime.second(); /* QTime doesn't get a overflow value in input. They need * to be cut down to size. */ mins = mins + (int)(secs / 60); secs = secs % 60; hours = hours + (int)(mins / 60); displayTime = QTime(hours, mins, secs); } } m_timeLabel->setText(i18ncp("number of tracks and running time", "1 track [%2]", "%1 tracks [%2]", number, displayTime.toString())); m_soundtrackTimeLabel->setText(displayTime.toString()); d->totalTime = displayTime; compareTimes(); }
// 描画の際呼び出される void display() { glClear(GL_COLOR_BUFFER_BIT); // ボード基盤描画 displayBoard(); displayBombNum(owner->Model()->Bomb(),owner->Model()->getFlagNum()); displayTime(owner->Timer()->getElapsedTime()); if (!owner->First()) { // 押されたマス目とフラグ描画 for (int i = 0; i < sqrNum; i++) { for (int j = 0; j < sqrNum; j++) { if (owner->Board(i,j)->Pushed()) { // 押されたマスを描画 displayPushedPiece(i, j, owner->Board(i,j)->Num()); } else if (owner->Board(i, j)->Flag()) { // フラグが立ててあるマスを描画 displayFlagPiece(i, j); } } } } if (owner->Clear()) { displayGrayBand(); displaySentenceOnBandRandom(" Congratulations!"); } glutSwapBuffers(); }
void set_state_up_long_click_handler(ClickRecognizerRef recognizer, Window *window) { (void)recognizer; (void)window; timer_time += 300; displayTime(); }
void Window::setPorcessPosition(qint64 val) { // if(val >= 2147483648) // process->setValue((int)val / 1000); // else process->setValue((int)val); QTime displayTime(0,(val / 60000) % 60, (val / 1000) % 60); time->setText (displayTime.toString ("mm:ss")); }
//of initialisation, are still //in pseudo 8bit data mode int main() { initLCD(); initTimerAndInput(); while (1) { int m = 0; int s = 0; int h = 0; int i; for (i=0; i<1; i++){ displayTime(m, s, h); wait_for_user(); } while (! GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0)){ if (h == 100) { s++; h = 0; delay_millisec(40); // make up for processing delays } if (s == 60){ m++; s=0; } h ++; displayTime(m, s, h); delay_millisec(7); //resetting display requires 2ms, 8ms delay results in stopwatch // running slow, 7ms with 40ms delay every second corrects this } wait_for_user(); //removes bounce effect for (i=0; i<1; i++){ displayTime(m, s, h); wait_for_user(); } } }
void StartScene::toChangeTime(int time, bool is_white) { if (is_white) { m_white_time = time / 1000; } else { m_black_time = time / 1000; } displayTime(); }
void HomeScreen::displayDateTime() { #if DBG Serial.print("HomeScreen::displayDateTime: "); Serial.println(tNow); #endif int hours=0, minutes=0, seconds=0; readTime(hours, minutes, seconds); displayTime(hours, minutes, seconds); }
void UEditorWindow::changeSeek(quint64 time) { _startTime = time; UAudioManager::Instance.seek(time); QTime displayTime(0, (time / 60000) % 60, (time / 1000) % 60); ui->lcd_music->display(displayTime.toString("mm:ss")); _wydget_timeline->setSeek(time); //UNoteManager::Instance.pause(); }
void set_state_down_single_click_handler(ClickRecognizerRef recognizer, Window *window) { (void)recognizer; (void)window; timer_time -= 60; if(timer_time < 0) { timer_time = 0; } displayTime(); }
MainWindow::MainWindow(Socket *connection, QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow), connection(connection) { ui->setupUi(this); /* Disable unavailable offline control */ ui->configurationWidget->setDisabled(true); ui->controlWidget->setDisabled(true); ui->PiecesDock->setDisabled(true); ui->stopButton->setDisabled(true); ui->resumeButton->setDisabled(true); /* Connection/Disconnection notification */ connect(connection, SIGNAL(connected()), this, SLOT(connectionNotify())); connect(connection, SIGNAL(disconnected()), this, SLOT(disconnectionNotify())); /* Received logLine */ connect(connection, SIGNAL(gotLog(QString)), this, SLOT(appendLog(QString))); /* Received Boxed info */ connect(connection, SIGNAL(gotAccepted(int)), this, SLOT(addAccepted(int))); connect(connection, SIGNAL(gotRejected(int)), this, SLOT(addRejected(int))); /* Received Error / Warning */ connect(connection, SIGNAL(gotError(int)), this, SLOT(errorNotify(int))); //connect(connection, SIGNAL(gotWarning(int)), this, SLOT(warningNotify(int))); /* Connection button */ connect(ui->ConnectionButton, SIGNAL(clicked()), this, SLOT(connectToHost())); /* Send configuration data button */ connect(ui->sendConfigButton, SIGNAL(clicked()), this, SLOT(sendConfig())); /* Actions button : Lauch / Resume / Stop */ connect(ui->launchButton, SIGNAL(clicked()), this, SLOT(launch())); connect(ui->resumeButton, SIGNAL(clicked()), this, SLOT(resume())); connect(ui->stopButton, SIGNAL(clicked()), this, SLOT(stop())); /* Refresh time display */ connect(&timer, SIGNAL(timeout()), this, SLOT(displayTime())); timer.start(50); }
void toggleDisplay(){ int temp = displayMode + 1; temp = temp % 3; displayMode = temp; clearDisplay(); if(displayMode == 0){ displaySpeed(); }else if(displayMode == 1){ displayDistance(); }else if(displayMode == 2){ displayTime(); } }
void dispTime(void* /* vp */) { #if defined(__OS2__) int times = 0; while (!gTimeThreadEnd) { if (++times == 4) { times = 0; displayTime(); } DosSleep(250); } #elif defined(__WIN32__) && !defined(__DPMI32__) int times = 0; while (!gTimeThreadEnd) { if (++times == 4) { times = 0; displayTime(); } Sleep(250); } #elif defined(__MSDOS__) || defined(__DPMI32__) Time t = systemTime(); static long lasttime; if ((long(t) - lasttime) < 1) return; lasttime = t; displayTime(); #endif }
// method creates and manages the three needed processes // pipes are created and seconds are converted void processManager(int time) { int status; secondsToMinutes(time); pipe(pfd); // current time process switch(fork()) { case -1: printf("Error creating child process one."); exit(0); case 0: displayTime(); default: break; } // uptime program process switch(fork()) { case -1: printf("Error creating child process two."); exit(0) case 0: runUptimeProgram(); default: break; } // remaining time process switch(fork()) { case -1: printf("Error creating child process three."); exit(0); case 0: countdown(minutes, seconds); default: break; } //parent closes unued pipes close(pfd[0]; close(pf[1]); wait(&sttus); wait(&status); wait(&status); friendlyMessage(); return; }
int main() { int x,y; BSTNode *root=0; Interval *interval=0; size_t len; char buf[4096]; FILE *fi = fopen("TestOutput.out", "rb"); FILE *fo=fopen("logs.txt","a"); len = fread(buf, sizeof(char), sizeof(buf), fi); displayTime(fo); fprintf(fo,"Before execution:\n"); fprintf(fo,"The checksum of %s is %#x\n","output.out", checkSum(buf, len, 0)); fi=fopen("TestInput.in","r+"); fo=fopen("TestOutput.out","w"); //generateInput(nodeNr,intervalNr,pointNr,fi); fi=fopen("TestInput.in","r"); for(int i=1; i<=nodeNr; i++) { interval=createNewInterval(interval,fi); root=insert(root,interval); free(interval); } fprintf(fo,"\n"); for(int i=1; i<=intervalNr; i++) { interval=createNewInterval(interval,fi); fprintf(fo,"\n\nQuerry interval: [%d,%d] \n",interval->lo,interval->hi); fprintf(fo,"Intersected intervals:\n"); segmentIntersect(root,interval,fo); free(interval); } for(int i=1; i<=pointNr; i++) { fprintf(fo,"\n"); fscanf(fi,"%d",&x); fprintf(fo,"\n\nQuerry point:%d \n",x); searchPoint(root,x,fo); fprintf(fo,"\n"); } fi = fopen("TestOutput.out", "rb"); fo=fopen("logs.txt","a"); len = fread(buf, sizeof(char), sizeof(buf), fi); fprintf(fo,"After execution:\n"); fprintf(fo,"The checksum of %s is %#x\n\n","output.out", checkSum(buf, len, 0)); return 0; }
int main() { struct time d; // Initialize date printf("Initialize time (hh:mm:ss) > "); scanf("%i:%i:%i", &d.hour, &d.minute, &d.second); printf("Press enter to update time.\n\n"); while(1) { displayTime(d); d = updateTime(d); getchar(); } return 0; }
void handle_tick(AppContextRef ctx, PebbleTickEvent *event) { if(state == RUN_STATE) { // Decrement time timer_time -= 1; // Finish timer if time is zero if(timer_time <= 0) { enter_finished_state(); } // Update display displayTime(); } else if(state == FINISHED_STATE) { vibes_double_pulse(); text_layer_set_text(&textLayer, "Time's Up!"); } }
int main () { time_t timer; struct tm *t_st; while (1) { system ("clear"); time (&timer); t_st = localtime (&timer); displayTime (t_st->tm_hour, t_st->tm_min, t_st->tm_sec); sleep (1); } return 0; }
void displayCalculations(){ switch(displayMode){ case 0: displaySpeed(); break; case 1: displayDistance(); break; case 2: displayTime(); break; default: displayNumbers(-1,-1,-1,-1); break; } }
void Player::tick(qint64 time) { QTime displayTime(0, (time / 60000) % 60, (time / 1000) % 60); m_timeLcd->display(displayTime.toString("mm:ss")); if(m_mediaPlayer->duration()!=0) { // qDebug() << "time:" << time << m_seekSlider->maximum(); emit positionTime(time); } else { next(); } // out << mediaObject->totalTime() << " " << time << endl; // if(mediaObject->totalTime()==time) // next(); }
QString TkTime::convertMilliseconds(qint64 milliseconds) { QTime displayTime((milliseconds / 3600 / 1000) % 60, (milliseconds / 60 / 1000) % 60, (milliseconds / 1000) % 60); QString timeFormat; if (displayTime.hour() == 0 && displayTime.minute() == 0 && displayTime.second() == 0 && displayTime.msec() == 0) { //Total time is 0, return nothing return QString(); } else { if (displayTime.hour() > 0) { timeFormat = "hh:mm:ss"; } else { timeFormat = "mm:ss"; } return displayTime.toString(timeFormat); } }
void ClickClickEngine::drawGameScreen() { ofBackground(39, 40, 34); c->display(Base3D::SOLID); d->display(Base3D::SOLID); t->display(Base3D::SOLID); s->display(Base3D::SOLID); cel->display(Base3D::SOLID); dia->display(Base3D::SOLID); st->display(Base3D::SOLID); //tor->display(Base3D::SOLID); displayTime(); if(timeLeft <= 0) { screen = END_SCREEN; } }
CuteSong::CuteSong(QWidget *parent) : QMainWindow(parent), ui(new Ui::CuteSong) { ui->setupUi(this); ui->tabWidget->setCurrentIndex(0); database.getDatabaseFromFile("QSQLITE","CuteSong.sqlite"); // initialisation du 'lecteur media' audioOutput = new Phonon::AudioOutput(Phonon::MusicCategory, this); mediaObject = new Phonon::MediaObject(this); mediaObject->setTickInterval(1000); connect(mediaObject,SIGNAL(tick(qint64)),this,SLOT(tickOfMediaObject(qint64))); Phonon::createPath(mediaObject, audioOutput); // intialisation de l'afficheur LCD de progression du temps de la musique QTime displayTime(0,0); ui->lcdProgress->display(displayTime.toString("mm:ss")); // affichage du message de binvenue dans la statusBar (en bas) statusBar()->showMessage("Welcome to CuteSong !"); // initialisation du volume ui->volumeSlider->setAudioOutput(audioOutput); ui->volumeSlider->setMuteVisible(true); audioOutput->setVolume(0); // genere la vue makeBddView(); makePlaylistView(); allowPlayControlManager(false); ui->coverLabel->setScaledContents(true); ui->playFilesButton->setEnabled(false); ui->rmButton->setEnabled(false); ui->actionExport_to_PLS->setEnabled(false); currentSong = new Song(); // faire tous les connect connect (mediaObject,SIGNAL(finished()),this,SLOT(songFinished())); connect (ui->actionOuvrir_fichier,SIGNAL(triggered()),this,SLOT(addFile())); connect (ui->actionQuit,SIGNAL(triggered()),this,SLOT(close())); connect (ui->actionAjouter_dossier,SIGNAL(triggered()),this,SLOT(addDirToBdd())); connect (ui->actionAjouter_fichiers,SIGNAL(triggered()),this,SLOT(on_addButton_clicked())); connect (ui->actionSauver_playlist_courante,SIGNAL(triggered()),this,SLOT(popPlaylistDialog())); connect (ui->actionOpen_Directory,SIGNAL(triggered()),this,SLOT(addDirToPlaylist())); connect (ui->actionChange_cover,SIGNAL(triggered()),this,SLOT(on_button_changeCover_clicked())); connect (ui->actionMute,SIGNAL(triggered()),this,SLOT(muteManager())); connect (ui->actionNext,SIGNAL(triggered()),this,SLOT(next())); connect (ui->actionPause,SIGNAL(triggered()),this->mediaObject,SLOT(pause())); connect (ui->actionPlay,SIGNAL(triggered()),this->mediaObject,SLOT(play())); connect (ui->actionPrevious,SIGNAL(triggered()),this,SLOT(previous())); connect (ui->actionStop,SIGNAL(triggered()),this,SLOT(stopStateManager())); connect (ui->actionVolume_Down,SIGNAL(triggered()),this,SLOT(volumeDown())); connect (ui->actionVolume_up,SIGNAL(triggered()),this,SLOT(volumeUp())); connect (ui->actionEdit_song_s_tag,SIGNAL(triggered()),this,SLOT(editCurrentSongTag())); connect (ui->actionExport_to_PLS,SIGNAL(triggered()),this,SLOT(PLSExport())); connect (ui->actionImport_from_PLS,SIGNAL(triggered()),this,SLOT(PLSImport())); }
/// @brief MAJ du temps de la musique fait a chque signal 'tick' void CuteSong :: tickOfMediaObject(qint64 time) { QTime displayTime(0, (time / 60000) % 60, (time / 1000) % 60); ui->lcdProgress->display(displayTime.toString("mm:ss")); }
void MusicLayoutA::updateUI(qint64 time) { static Song * n1, * n2, * n3; static enum MusicPlayer::State state; Song * s = m_musicplayer->playlist.getCurrentItem(); QTime displayTime(0, (time / 60000) % 60, (time / 1000) % 60); //if (m_musicplayer->getState() != state) { state = m_musicplayer->getState(); switch(state) { case MusicPlayer::Initializing: m_ui->lblAlbum->setText(""); m_ui->lblAlbumArt->setPixmap(QPixmap(QString(":/images/resources/images/CD_icon.svg"))); m_ui->lblArtist->setText(""); m_ui->lblBitrate->setText("Bitrate:"); m_ui->lblFormat->setText("Format:"); m_ui->lblSongTitle->setText("<Initializing>"); m_ui->lcdTime->display("-:--"); m_ui->btnPlayPause->setDefaultAction(&m_action_play); break; case MusicPlayer::Paused: m_ui->lblAlbum->setText((s ? s->album() : "")); m_ui->lblAlbumArt->setPixmap(QPixmap(QString(":/images/resources/images/CD_icon.svg"))); m_ui->lblArtist->setText((s ? s->artist() : "")); m_ui->lblBitrate->setText("Bitrate:"); m_ui->lblFormat->setText("Format:"); m_ui->lblSongTitle->setText((s ? s->title() : "<No song>")); if (time>0) m_ui->lcdTime->display(displayTime.toString("m:ss")); m_ui->btnPlayPause->setDefaultAction(&m_action_play); break; case MusicPlayer::Playing: m_ui->lblAlbum->setText((s ? s->album() : "")); m_ui->lblAlbumArt->setPixmap(QPixmap(QString(":/images/resources/images/CD_icon.svg"))); m_ui->lblArtist->setText((s ? s->artist() : "")); m_ui->lblBitrate->setText("Bitrate:"); m_ui->lblFormat->setText("Format:"); m_ui->lblSongTitle->setText((s ? s->title() : "<No song>")); if (time>0) m_ui->lcdTime->display(displayTime.toString("m:ss")); m_ui->btnPlayPause->setDefaultAction(&m_action_pause); break; case MusicPlayer::Idle: m_ui->lblAlbum->setText(""); m_ui->lblAlbumArt->setPixmap(QPixmap(QString(":/images/resources/images/CD_icon.svg"))); m_ui->lblArtist->setText(""); m_ui->lblBitrate->setText("Bitrate:"); m_ui->lblFormat->setText("Format:"); m_ui->lblSongTitle->setText("<Idle>"); m_ui->lcdTime->display("-:--"); m_ui->btnPlayPause->setDefaultAction(&m_action_play); break; case MusicPlayer::Stopped: m_ui->lblAlbum->setText(""); m_ui->lblAlbumArt->setPixmap(QPixmap(QString(":/images/resources/images/CD_icon.svg"))); m_ui->lblArtist->setText(""); m_ui->lblBitrate->setText("Bitrate:"); m_ui->lblFormat->setText("Format:"); m_ui->lblSongTitle->setText("<Stopped>"); m_ui->lcdTime->display("-:--"); m_ui->btnPlayPause->setDefaultAction(&m_action_play); break; //} } n1 = m_musicplayer->playlist.getCurrentItem(1); n2 = m_musicplayer->playlist.getCurrentItem(2); n3 = m_musicplayer->playlist.getCurrentItem(3); if (n1) m_ui->lblUpcoming0->setText(QString(n1->artist() + " - " + n1->title())); else m_ui->lblUpcoming0->setText(""); if (n2) m_ui->lblUpcoming1->setText(QString(n2->artist() + " - " + n2->title())); else m_ui->lblUpcoming1->setText(""); if (n3) m_ui->lblUpcoming2->setText(QString(n3->artist() + " - " + n3->title())); else m_ui->lblUpcoming2->setText(""); }
///Update player labels void HistoryTreeItem::tick(qint64 time) { QTime displayTime(0, (time / 60000) % 60, (time / 1000) % 60); m_pTimePlayedL->setText(displayTime.toString("mm:ss")); }
std::string displayTime(size_t time, size_t &acc) { acc += time; return displayTime(time); }
void loop() { // Process AI if (Settings[S_ENABLEADC]){ //temperature=(analogRead(temperaturePin)-102)/2.048; // Does someone use this ATM?? if (!Settings[S_MAINVOLTAGE_VBAT]){ static uint16_t ind = 0; static uint32_t voltageRawArray[8]; voltageRawArray[(ind++)%8] = analogRead(voltagePin); uint16_t voltageRaw = 0; for (uint16_t i=0;i<8;i++) voltageRaw += voltageRawArray[i]; voltage = float(voltageRaw) * Settings[S_DIVIDERRATIO] /1023; } if (!Settings[S_VIDVOLTAGE_VBAT]) { static uint16_t ind = 0; static uint32_t voltageRawArray[8]; voltageRawArray[(ind++)%8] = analogRead(vidvoltagePin); uint16_t voltageRaw = 0; for (uint16_t i=0;i<8;i++) voltageRaw += voltageRawArray[i]; vidvoltage = float(voltageRaw) * Settings[S_VIDDIVIDERRATIO] /1023; } if (!Settings[S_MWRSSI] && !Settings[S_PWMRSSI]) { rssiADC = analogRead(rssiPin)/4; // RSSI Readings, rssiADC=0 to 1023/4 (avoid a number > 255) } if (!Settings[S_MWAMPERAGE]) { int16_t currsensOffSet=(Settings[S_CURRSENSOFFSET_L] | (Settings[S_CURRSENSOFFSET_H] << 8)); // Read OffSetH/L amperageADC = analogRead(amperagePin); if (amperageADC > currsensOffSet) amperageADC=((amperageADC-currsensOffSet)*4.8828)/Settings[S_CURRSENSSENSITIVITY]; // [A] Positive Current flow (512...1023) or Unidir (0...1023) else amperageADC=((currsensOffSet-amperageADC)*4.8828)/Settings[S_CURRSENSSENSITIVITY]; // [A] Negative Current flow (0...512) } } if (Settings[S_MWAMPERAGE]) { amperagesum = MW_ANALOG.pMeterSum; amperage = MW_ANALOG.Amperage /100; } if (Settings[S_MWRSSI]) { rssiADC = MW_ANALOG.Rssi/4; // RSSI from MWii, rssiADC=0 to 1023/4 (avoid a number > 255) } if (Settings[S_PWMRSSI] && !Settings[S_MWRSSI]){ rssiADC = pulseIn(PWMrssiPin, HIGH,15000)/Settings[S_PWMRSSIDIVIDER]; // Reading W/time out (microseconds to wait for pulse to start: 15000=0.015sec) } // Blink Basic Sanity Test Led at 1hz - this stuff introduces strange behavior on my system if(tenthSec>10) digitalWrite(7,HIGH); else digitalWrite(7,LOW); //--------------- Start Timed Service Routines --------------------------------------- uint16_t currentMillis = millis(); if((currentMillis - previous_millis_low) >= lo_speed_cycle) // 10 Hz (Executed every 100ms) { previous_millis_low = currentMillis; tenthSec++; TempBlinkAlarm++; Blink10hz=!Blink10hz; if(!fontMode) blankserialRequest(MSP_ATTITUDE); if(Settings[L_RSSIPOSITIONDSPL]) calculateRssi(); } // End of slow Timed Service Routine (100ms loop) if((currentMillis - previous_millis_high) >= hi_speed_cycle) // 20 Hz (Executed every 50ms) { previous_millis_high = currentMillis; calculateTrip(); // Speed integration on 50msec if (!Settings[S_MWAMPERAGE]) calculateAmperage(); // Amperage and amperagesum integration on 50msec uint8_t MSPcmdsend; if(queuedMSPRequests == 0) queuedMSPRequests = modeMSPRequests; uint32_t req = queuedMSPRequests & -queuedMSPRequests; queuedMSPRequests &= ~req; switch(req) { case REQ_MSP_IDENT: MSPcmdsend = MSP_IDENT; break; case REQ_MSP_STATUS: MSPcmdsend = MSP_STATUS; break; case REQ_MSP_RAW_IMU: MSPcmdsend = MSP_RAW_IMU; break; case REQ_MSP_RC: MSPcmdsend = MSP_RC; break; case REQ_MSP_RAW_GPS: MSPcmdsend = MSP_RAW_GPS; break; case REQ_MSP_COMP_GPS: MSPcmdsend = MSP_COMP_GPS; break; case REQ_MSP_ATTITUDE: MSPcmdsend = MSP_ATTITUDE; break; case REQ_MSP_ALTITUDE: MSPcmdsend = MSP_ALTITUDE; break; case REQ_MSP_ANALOG: MSPcmdsend = MSP_ANALOG; break; case REQ_MSP_RC_TUNING: MSPcmdsend = MSP_RC_TUNING; break; case REQ_MSP_PID: MSPcmdsend = MSP_PID; break; case REQ_MSP_BOX: MSPcmdsend = MSP_BOXIDS; break; case REQ_MSP_FONT: MSPcmdsend = MSP_OSD; break; } if(!fontMode) blankserialRequest(MSPcmdsend); //MAX7456_DrawScreen(); if( allSec < 6 ){ displayIntro(KVTeamVersionPosition); lastCallSign = onTime; } else { if(armed){ previousarmedstatus=1; } if(previousarmedstatus && !armed){ configPage=9; ROW=10; COL=1; configMode=1; setMspRequests(); } if(fontMode) { displayFontScreen(); } else if(configMode) { displayConfigScreen(); } else { displayVoltage(); displayVidVoltage(); displayRSSI(); displayTime(); displaySensor(); displayGPSMode(); displayMode(); //if((temperature<Settings[S_TEMPERATUREMAX])||(BlinkAlarm)) displayTemperature(); displayAmperage(); displaypMeterSum(); displayArmed(); displayCurrentThrottle(); displayautoPilot(); if ( (onTime > (lastCallSign+300)) || (onTime < (lastCallSign+4))) { // Displays 4 sec every 5min (no blink during flight) if ( onTime > (lastCallSign+300))lastCallSign = onTime; displayCallsign(); } if(MW_STATUS.sensorPresent&ACCELEROMETER) displayHorizon(MW_ATT.Angle[0],MW_ATT.Angle[1]); if(MW_STATUS.sensorPresent&MAGNETOMETER) { displayHeadingGraph(); displayHeading(); } if(MW_STATUS.sensorPresent&BAROMETER) { displayAltitude(); displayClimbRate(); } if(MW_STATUS.sensorPresent&GPSSENSOR) if(Settings[S_DISPLAYGPS]){ displayNumberOfSat(); displayDirectionToHome(); displayDistanceToHome(); displayAngleToHome(); displayGPS_speed(); displayGPSPosition(); //displayGPS_altitude(); // Do not remove yet } } } MAX7456_DrawScreen(); } // End of fast Timed Service Routine (50ms loop) //--------------------- End of Timed Service Routine --------------------------------------- if(TempBlinkAlarm >= Settings[S_BLINKINGHZ]) { // selectable alarm blink freq TempBlinkAlarm = 0; BlinkAlarm =!BlinkAlarm; // 10=1Hz, 9=1.1Hz, 8=1.25Hz, 7=1.4Hz, 6=1.6Hz, 5=2Hz, 4=2.5Hz, 3=3.3Hz, 2=5Hz, 1=10Hz } if(tenthSec >= 10) // this execute 1 time a second { onTime++; tenthSec=0; if(!armed) { flyTime=0; } else { flyTime++; flyingTime++; configMode=0; setMspRequests(); } allSec++; if((accCalibrationTimer==1)&&(configMode)) { blankserialRequest(MSP_ACC_CALIBRATION); accCalibrationTimer=0; } if((magCalibrationTimer==1)&&(configMode)) { blankserialRequest(MSP_MAG_CALIBRATION); magCalibrationTimer=0; } if((eepromWriteTimer==1)&&(configMode)) { blankserialRequest(MSP_EEPROM_WRITE); eepromWriteTimer=0; } if(accCalibrationTimer>0) accCalibrationTimer--; if(magCalibrationTimer>0) magCalibrationTimer--; if(eepromWriteTimer>0) eepromWriteTimer--; if((rssiTimer==1)&&(configMode)) { Settings[S_RSSIMIN]=rssiADC; // set MIN RSSI signal received (tx off?) rssiTimer=0; } if(rssiTimer>0) rssiTimer--; } serialMSPreceive(); } // End of main loop
void disqteca::tick(qint64 time) { QTime displayTime(0, (time / 60000) % 60, (time / 1000) % 60); ui->andamento->setText(displayTime.toString("mm:ss")); }
void main () { // Current timer state enum stateType state = COUNTING; // Default timer value to 10 minutes int timerValue = 600; // Note that count = 4x number of seconds int count = timerValue << 2; // This is used for the blinking digit during set mode char currentDigitValue = 0; lcd_init(); initTimer(); initButtons(); initEncoder(); initLedDisplay(); displayTime(timerValue); while (1) { // display the LED string displayLEDs(0, displayString[displayStringIndex]); displayLEDs(1, displayString[displayStringIndex + 1]); displayLEDs(2, displayString[displayStringIndex + 2]); displayLEDs(3, displayString[displayStringIndex + 3]); // Get user input (buttons and encoder) enum button buttonState = getButtonState(); enum encoderChange encoderState = getEncoderState(); if (state == SITTING || state == COUNTING) { // User wants to enable set mode if (buttonState == BUTTON_S2) { count = 0; timerValue = 0; currentDigitValue = 0; state = SETTING_DIGIT0; bcd.digit0 = 0xA; bcd.digit1 = 0xA; bcd.digit2 = 0xA; bcd.digit3 = 0xA; lcd_display_digits(bcd); // User wants to reset the timer } else if (buttonState == BUTTON_S3) { count = timerValue << 2; state = SITTING; displayTime(timerValue); // User wants to start the timer } else if (state == SITTING && buttonState == BUTTON_S4) { count = timerValue << 2; state = COUNTING; displayTime(count >> 2); } } // If we're already in set mode else if (state == SETTING_DIGIT0