void screens::reset() { u8g.setFont(u8g_font_fixed_v0); u8g.setFontRefHeightExtendedText(); u8g.setDefaultForegroundColor(); u8g.setFontPosTop(); u8g.setColorIndex(WHITE); }
void ScreenTask::clear(){ u8g.firstPage(); do {} while (u8g.nextPage()); for (int i = 0; i < 9; i++){ this->content[i] = String(""); } this->currentRow = 0; }
void ScreenTask::draw(){ //u8g.setFont(u8g_font_unifont); u8g.setFont(u8g_font_5x7); // print message u8g.firstPage(); do { for (int i = 0; i < 9; i++){ if (NULL != this->content[i] ){ String msg = this->content[i]; char convertedMessage[msg.length() + 1]; msg.toCharArray(convertedMessage, msg.length() + 1); u8g.drawStr(0, (i*CHAR_HEIGHT) + CHAR_HEIGHT, convertedMessage); } } } while (u8g.nextPage()); }
ScreenTask::ScreenTask() : Task() { if (u8g.getMode() == U8G_MODE_R3G3B2) { u8g.setColorIndex(255); // white } else if (u8g.getMode() == U8G_MODE_GRAY2BIT) { u8g.setColorIndex(3); // max intensity } else if (u8g.getMode() == U8G_MODE_BW) { u8g.setColorIndex(1); // pixel on } else if (u8g.getMode() == U8G_MODE_HICOLOR) { u8g.setHiColorByRGB(255, 255, 255); } // init this->clear(); }
void screens::mainMenu(uint8_t menu_id){ u8g.firstPage(); do { reset(); // start from fresh screen. drawTitleBox("MODE SELECTION"); u8g.setColorIndex(WHITE); u8g.drawBox(0, 10*menu_id+12, u8g.getWidth(), 10); u8g.setColorIndex(menu_id == 0 ? BLACK : WHITE); u8g.setPrintPos(5,10*0+12); u8g.print("AUTO SEARCH"); u8g.setColorIndex(menu_id == 1 ? BLACK : WHITE); u8g.setPrintPos(5,10*1+12); u8g.print("BAND SCANNER"); u8g.setColorIndex(menu_id == 2 ? BLACK : WHITE); u8g.setPrintPos(5,10*2+12); u8g.print("MANUAL MODE"); #ifdef USE_DIVERSITY u8g.setColorIndex(menu_id == 3 ? BLACK : WHITE); u8g.setPrintPos(5,10*3+12); u8g.print("DIVERSITY"); #endif u8g.setColorIndex(menu_id == 4 ? BLACK : WHITE); u8g.setPrintPos(5,10*4+12); u8g.print("SAVE SETUP"); } while( u8g.nextPage() ); }
void screens::drawTitleBox(const char *title) { u8g.setColorIndex(WHITE); u8g.drawFrame(0, 0, u8g.getWidth(), u8g.getHeight()); u8g.drawBox(0, 0, u8g.getWidth(), 11); u8g.setColorIndex(BLACK); // center text u8g.setPrintPos(((u8g.getWidth() - u8g.getStrWidth(title)) / 2),1); u8g.print(title); }
void screens::flip() { u8g.setRot180(); }