コード例 #1
0
void display_layout1_print_B3_ChildLock(Ucglib_ILI9341_18x240x320_HWSPI ucg, String text) {
  SERIAL_OUT.println("display_print_B4 [ChildClocked]");
  SERIAL_OUT.println("display_print_B3");
  ucg.setFontMode(UCG_FONT_MODE_SOLID);
  ucg.setFont(FONT_SMALL);
  ucg.setFontPosBaseline();
  String str = text;
  const char * c = str.c_str();
  setRosso(&ucg);
  ucg.setPrintPos(ucg.getWidth() - ucg.getStrWidth(c) - 5, ucg.getHeight() - 5);
  ucg.print(text);
}
コード例 #2
0
void display_layout1_print_B3(Ucglib_ILI9341_18x240x320_HWSPI ucg, String text, float temp) {
  SERIAL_OUT.println("display_print_B3");
  ucg.setFontMode(UCG_FONT_MODE_SOLID);
  ucg.setFont(FONT_SMALL);
  ucg.setFontPosBaseline();
  String str = text + "00.00";
  const char * c = str.c_str();

  ucg.setColor(102, 255, 0);    // Verde Chiaro
  ucg.setPrintPos(ucg.getWidth() - ucg.getStrWidth(c) - 5, ucg.getHeight() - 5);
  ucg.print(text);
  ucg.print(temp, 1);
  ucg.setFont(ucg_font_inb21_mr);
  ucg.print("°");
}
コード例 #3
0
void display_layout1_printBigChar(Ucglib_ILI9341_18x240x320_HWSPI ucg, float fValTemp) {
  ucg.setFont(FONT_BIG);
#if(FONT_BIG_SCALE2x2)
  ucg.setScale2x2();
#endif
  ucg.setFontPosBaseline();

  //calcolo ingombro testo
  String str = "00";
  const char *c = str.c_str();
  int vW = ucg.getStrWidth(c);

  str = "0";
  c = str.c_str();
  vW_pos_before_point = vW - ucg.getStrWidth(c) / 8; //arretra di un sesto dello spazio di un carattere, per avvicinare il punto
  ucg.setFont(FONT_BIG_MIN_50_PERCENT);
  str = ".";
  c = str.c_str();
  vW += ucg.getStrWidth(c);
  vW_pos_after_point = vW_pos_before_point + ucg.getStrWidth(c) - ucg.getStrWidth(c) / 8; //aggiunge lo spazio del punto meno un sesto
  str = "0";
  c = str.c_str();
  vW += ucg.getStrWidth(c);

  ucg.setFont(FONT_SMALL_CENTIGRAD);
  str = "o";
  c = str.c_str();
  vW += ucg.getStrWidth(c) / 2; //aggiunge metà dello spazio di un carattere. Il ° verrà parzialmente sovrapposto alla vifra decimale

  ucg.setFont(FONT_BIG);
  startW = (ucg.getWidth() - vW) / 2 ;
  baseH = ucg.getHeight() / 2 + ucg.getFontAscent() / 2;
  baseH_Grade = baseH - ucg.getFontAscent() + ucg.getFontAscent() / 6;
  ucg.setPrintPos(startW, baseH );
  sTempToPrint = (int) fValTemp;
  if (((int) fValTemp) <= -10) {
    sTempToPrint = "-- ";
    ucg.print(sTempToPrint);
    SERIAL_OUT.print("sTempToPrint: "); SERIAL_OUT.println(sTempToPrint);
  } else if (((int) fValTemp) >= 100) {
    sTempToPrint = "++ ";
    ucg.print(sTempToPrint);
    SERIAL_OUT.print("sTempToPrint: "); SERIAL_OUT.println(sTempToPrint);
  } else {

    if ((((int) fValTemp) < 10) && ((int) fValTemp > 0)) {
      sTempToPrint = " " + sTempToPrint;
      SERIAL_OUT.print("sTempToPrint: "); SERIAL_OUT.println(sTempToPrint);
    }

    ucg.print(sTempToPrint);
    ucg.setFont(FONT_BIG_MIN_50_PERCENT);
    ucg.setPrintPos(startW + vW_pos_before_point, baseH);
    int diff = dopovigola(fValTemp);
    ucg.print(".");
    ucg.setPrintPos(startW + vW_pos_after_point, baseH);
    ucg.print(diff);

    //print °

    ucg.setFont(FONT_SMALL_CENTIGRAD);
    vW_pos_grade = startW + vW_pos_after_point;   // - FONT_SHIFT_POSITION_TO_SX_CENTIGRAD ;
    ucg.setPrintPos(vW_pos_grade, baseH_Grade);
    ucg.print("o");
  }
#if(FONT_BIG_SCALE2x2)
  ucg.undoScale();
#endif

}