void DisplayRenderer::render(RunData *runData, bool realDisplayData) { this->runData = runData; QImage im(widget1->getDotSize().width(), widget1->getDotSize().height(), QImage::Format_Mono); im.fill(0); QPainter p(&im); p.setPen(QColor(Qt::white)); p.setRenderHint(QPainter::TextAntialiasing, false); // render display 1 int ySum=0; for(int n=1; n<=3; n++) { QFont font = settingsDialog->getFont(n); font.setStyleStrategy(QFont::NoAntialias); p.setFont(font); int y = settingsDialog->getFont(n).pointSize(); ySum+=y; p.drawText(0, ySum-settingsDialog->getOffset(n), buildString(settingsDialog->getFormat(n))); ySum-=settingsDialog->getOffset(n); } widget1->setImage(im); QImage im1(im); // save a copy of image 1 // render display 2 im.fill(0); ySum=0; for(int n=4; n<=6; n++) { QFont font = settingsDialog->getFont(n); font.setStyleStrategy(QFont::NoAntialias); p.setFont(font); int y = font.pointSize(); ySum+=y; p.drawText(0, ySum-settingsDialog->getOffset(n), buildString(settingsDialog->getFormat(n))); ySum-=settingsDialog->getOffset(n); } widget2->setImage(im); if(realDisplayData && settingsDialog->getEnabled()) { sendDisplayData(im1, im); } }
void Line6Fbv::updateUI(){ unsigned long currentMillis = millis(); // LEDs for (int i = 0; i < LINE6FBV_NUM_LED_AND_SWITCH; i++){ if (mLedAndSwitch[i].setOn){ mLedAndSwitch[i].setOn = 0; mLedAndSwitch[i].isOn = 1; mLedAndSwitch[i].flash = 0; mSerial->write(0xF0); mSerial->write(0x03); mSerial->write(0x04); mSerial->write(mLedAndSwitch[i].key); mSerial->write(0x01); //Serial.print("LED On : "); //Serial.println(mLedAndSwitch[i].key, HEX); } else if (mLedAndSwitch[i].setOff){ //Serial.print("LED Off : "); //Serial.println(mLedAndSwitch[i].key, HEX); mLedAndSwitch[i].setOff = 0; mLedAndSwitch[i].isOn = 0; mLedAndSwitch[i].flash = 0; mSerial->write(0xF0); mSerial->write(0x03); mSerial->write(0x04); mSerial->write(mLedAndSwitch[i].key); mSerial->write(0x00); } else if (mLedAndSwitch[i].flash){ //Serial.print("LED flash : "); //Serial.println(mLedAndSwitch[i].key, HEX); if (currentMillis - mLedAndSwitch[i].lastMillis >= mLedAndSwitch[i].waitTime) { mLedAndSwitch[i].lastMillis = currentMillis; if (!mLedAndSwitch[i].isOn) mLedAndSwitch[i].waitTime = mLedAndSwitch[i].onTime; else mLedAndSwitch[i].waitTime = mLedAndSwitch[i].offTime; mLedAndSwitch[i].isOn = !mLedAndSwitch[i].isOn; mSerial->write(0xF0); mSerial->write(0x03); mSerial->write(0x04); mSerial->write(mLedAndSwitch[i].key); mSerial->write(mLedAndSwitch[i].isOn); } } } // Display if (!mDisplay.flash){ mDisplay.isShown = 1; if (mDisplayDataChanged){ sendDisplayData(mDisplay); mDisplayDataChanged = 0; } } else{ if (currentMillis - mDisplay.lastMillis >= mDisplay.waitTime) { mDisplay.lastMillis = currentMillis; if (!mDisplay.isShown) mDisplay.waitTime = mDisplay.onTime; else mDisplay.waitTime = mDisplay.offTime; mDisplay.isShown = !mDisplay.isShown; if (mDisplay.isShown) sendDisplayData(mDisplay); else sendDisplayData(mDisplayEmpty); } } }