void Grid::run() { mutex.lock(); while(true) { cout << "Thread running" << endl; buttonPressed.wait(&mutex); switch(state_) { case 1: extract(); clearMode(); break; case 2: train(); clearMode(); break; case 3: predict(); clearMode(); break; case 4: init(); clearMode(); break; case 0: break; } } mutex.unlock(); }
void Menu::pickMode(void){ display.printStationaryText(); // restore original text after blinking 'Mode' char oldSetting = tempControl.getMode(); uint8_t startValue=0; startValue = indexOf(LOOKUP, oldSetting); rotaryEncoder.setRange(startValue, 0, 3); // toggle between beer constant, beer profile, fridge constant const char lookup[] = {'b', 'f', 'p', 'o'}; uint8_t blinkTimer = 0; uint16_t lastChangeTime = ticks.seconds(); while(ticks.timeSince(lastChangeTime) < MENU_TIMEOUT){ // time out at 10 seconds if(rotaryEncoder.changed()){ lastChangeTime = ticks.seconds(); blinkTimer = 0; tempControl.setMode(lookup[rotaryEncoder.read()]); display.printMode(); if( rotaryEncoder.pushed() ){ rotaryEncoder.resetPushed(); char mode = tempControl.getMode(); if(mode == MODE_BEER_CONSTANT){ menu.pickBeerSetting(); } else if(mode == MODE_FRIDGE_CONSTANT){ menu.pickFridgeSetting(); } else if(mode == MODE_BEER_PROFILE){ piLink.printBeerAnnotation(PSTR("Changed to profile mode in menu.")); } else if(mode == MODE_OFF){ piLink.printBeerAnnotation(PSTR("Temp control turned off in menu.")); } return; } } else{ if(blinkTimer == 0){ display.printMode(); } if(blinkTimer == 128){ clearMode(); } blinkTimer++; wait.millis(3); // delay for blinking } } // Time Out. Restore original setting tempControl.setMode(oldSetting); }
GridDisplay::GridDisplay(int winSize, Tracklist *tracklist, Grid* grid_, QWidget *parent) : MyDisplay(tracklist, parent), _winSize(winSize) { this->grid_ = grid_; _cellSize = grid_->getCellSize(_winSize); setMinimumSize(winSize, winSize); setMouseTracking(true); setAcceptDrops(true); squareHasInitialized.resize(grid_->getHeight() * grid_->getWidth()); for(int i = 0; i < grid_->getHeight() * grid_->getWidth(); i++) squareHasInitialized[i] = false; oldXPos = -1; oldYPos = -1; oldX1Pos = -1; oldY1Pos = -1; fullScreenMouseOn = false; initDone = false; fullScreenTimer = new QTimer(this); fullScreenTimer->setInterval(150); colourMapMode_ = false; connect(this, SIGNAL(clearMode()), grid_, SLOT(clearMode())); connect(this, SIGNAL(extractMode()), grid_, SLOT(setExtractMode())); connect(this, SIGNAL(trainMode()), grid_, SLOT(setTrainMode())); connect(this, SIGNAL(predictMode()), grid_, SLOT(setPredictMode())); connect(this, SIGNAL(initMode()), grid_, SLOT(setInitMode())); connect(this, SIGNAL(savePredictionGridSignal(QString)), grid_, SLOT(savePredictionGrid(QString))); connect(this, SIGNAL(openPredictionGridSignal(QString)), grid_, SLOT(openPredictionGrid(QString))); connect(grid_, SIGNAL(repaintSignal()), this, SLOT(repaintSlot())); connect(this, SIGNAL(cancelButtonPressed()), grid_, SLOT(cancelPressed())); connect(this, SIGNAL(hashLoadPressed()), grid_, SLOT(openHash())); connect(fullScreenTimer, SIGNAL(timeout()), this, SLOT(fullScreenMouseMove())); connect(grid_, SIGNAL(errorBox(QString)), this, SLOT(showErrorMessage(QString))); connect(this, SIGNAL(resetGridAction()), grid_, SLOT(resetGridSlot())); }
void GridDisplay::clear() { emit clearMode(); }
void QSGDefaultRenderer::render() { #if defined (QML_RUNTIME_TESTING) static bool dumpTree = qApp->arguments().contains(QLatin1String("--dump-tree")); if (dumpTree) { printf("\n\n"); QSGNodeDumper::dump(rootNode()); } #endif #ifdef RENDERER_DEBUG debugTimer.invalidate(); debugTimer.start(); geometryNodesDrawn = 0; materialChanges = 0; #endif glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA); glDisable(GL_BLEND); glFrontFace(isMirrored() ? GL_CW : GL_CCW); glDisable(GL_CULL_FACE); glEnable(GL_DEPTH_TEST); glDepthMask(true); glDepthFunc(GL_GREATER); #if defined(QT_OPENGL_ES) glClearDepthf(0); #else glClearDepth(0); #endif glDisable(GL_SCISSOR_TEST); glClearColor(m_clear_color.redF(), m_clear_color.greenF(), m_clear_color.blueF(), m_clear_color.alphaF()); #ifdef RENDERER_DEBUG int debugtimeSetup = debugTimer.elapsed(); #endif bindable()->clear(clearMode()); #ifdef RENDERER_DEBUG int debugtimeClear = debugTimer.elapsed(); #endif QRect r = viewportRect(); glViewport(r.x(), deviceRect().bottom() - r.bottom(), r.width(), r.height()); m_current_projection_matrix = projectionMatrix(); m_current_model_view_matrix.setToIdentity(); m_currentClip = 0; glDisable(GL_STENCIL_TEST); m_currentMaterial = 0; m_currentProgram = 0; m_currentMatrix = 0; if (m_rebuild_lists) { m_opaqueNodes.reset(); m_transparentNodes.reset(); m_currentRenderOrder = 1; buildLists(rootNode()); m_rebuild_lists = false; } #ifdef RENDERER_DEBUG int debugtimeLists = debugTimer.elapsed(); #endif if (m_needs_sorting) { if (!m_opaqueNodes.isEmpty()) { qSort(&m_opaqueNodes.first(), &m_opaqueNodes.first() + m_opaqueNodes.size(), m_sort_front_to_back ? nodeLessThanWithRenderOrder : nodeLessThan); } m_needs_sorting = false; } #ifdef RENDERER_DEBUG int debugtimeSorting = debugTimer.elapsed(); #endif m_renderOrderMatrix.setToIdentity(); m_renderOrderMatrix.scale(1, 1, qreal(1) / m_currentRenderOrder); glDisable(GL_BLEND); glDepthMask(true); #ifdef QML_RUNTIME_TESTING if (m_render_opaque_nodes) #endif { #if defined (QML_RUNTIME_TESTING) if (dumpTree) qDebug() << "Opaque Nodes:"; #endif renderNodes(m_opaqueNodes); } #ifdef RENDERER_DEBUG int debugtimeOpaque = debugTimer.elapsed(); int opaqueNodes = geometryNodesDrawn; int opaqueMaterialChanges = materialChanges; #endif glEnable(GL_BLEND); glDepthMask(false); #ifdef QML_RUNTIME_TESTING if (m_render_alpha_nodes) #endif { #if defined (QML_RUNTIME_TESTING) if (dumpTree) qDebug() << "Alpha Nodes:"; #endif renderNodes(m_transparentNodes); } #ifdef RENDERER_DEBUG int debugtimeAlpha = debugTimer.elapsed(); #endif if (m_currentProgram) m_currentProgram->deactivate(); #ifdef RENDERER_DEBUG if (debugTimer.elapsed() > DEBUG_THRESHOLD) { printf(" --- Renderer breakdown:\n" " - setup=%d, clear=%d, building=%d, sorting=%d, opaque=%d, alpha=%d\n" " - material changes: opaque=%d, alpha=%d, total=%d\n" " - geometry ndoes: opaque=%d, alpha=%d, total=%d\n", debugtimeSetup, debugtimeClear - debugtimeSetup, debugtimeLists - debugtimeClear, debugtimeSorting - debugtimeLists, debugtimeOpaque - debugtimeSorting, debugtimeAlpha - debugtimeOpaque, opaqueMaterialChanges, materialChanges - opaqueMaterialChanges, materialChanges, opaqueNodes, geometryNodesDrawn - opaqueNodes, geometryNodesDrawn); } #endif }