void GxepdPage3() { int Dn=dow; if(Dn==0){Dn=7;}//день недели определяем и переводим в интервал 1-7 display.setRotation(4); display.fillScreen(GxEPD_WHITE); display.setTextColor(GxEPD_BLACK); display.setFont(); // DisplayWeatherIcon(64, 100); // Display weather icon scale = Large; DrawBattery( 0, 21); //DrawRSSI(105, 21, wifi_signal); display.setTextColor(GxEPD_RED); clok(70, 19); display.setTextColor(GxEPD_BLACK); display.drawLine(10,25, 128, 25, GxEPD_BLACK);//x1 y1 x2 y2 display.drawLine(127, 25, 127, 295, GxEPD_BLACK);//x1 y1 x2 y2 //display.drawLine(0, 40, 120, 40, GxEPD_BLACK);//x1 y1 x2 y2 //display.drawLine(0, 70, 120, 70, GxEPD_BLACK);//x1 y1 x2 y2 for (int i=0;i<6;i++) {DisplayForecastWeather6(0, 55, i,Dn);//x,y,index ,день недели Dn++; if(Dn>7)Dn=1; } //display.drawLine(0, 230, 120, 230, GxEPD_BLACK);//x1 y1 x2 y2 //display.drawLine(64, 170, 64, 230, GxEPD_BLACK);//x1 y1 x2 y2 display.update(); // Serial.println("GxepdPage3"); // опрос кнопок 10с перед сном for (int i = 0; i < 200; i++) { // покинуть цикл при достижении 100 delay (100); if ((i == 70)||(i == 80)||(i == 90)) testSpeaker2(); if (i == 100) break; bool gpio_get_level_38 = digitalRead(38); if (gpio_get_level_38 == 1) {testSpeaker(); // Serial.println("GxepdPage4"); GxepdPage4(); } bool gpio_get_level_37 = digitalRead(37); if (gpio_get_level_37 == 1) {testSpeaker(); // kalen=1; //Kalendar(); GxepdPage2(); break; } bool gpio_get_level_39 = digitalRead(39); if (gpio_get_level_39 == 1) {testSpeaker(); GxepdPage2(); break; } } //Serial.println("END"); } //*************************************************************************************************** void DisplayForecastWeather6(int x, int y, int index,int Dn) { int fwidth = 45;//высота const char* wek[] = { "П","В","С","Ч","П","С","В","н","т","р","т","т","б","с"}; y = y + fwidth * index; x=x+10; //**************День недели************************* if(Dn<6) {display.fillRect(0, y-29 , 10,y+9,GxEPD_BLACK); } else { display.fillRect(0, y-29 , 10,y+9,GxEPD_RED); } display.setFont(); display.setTextColor(GxEPD_WHITE); display.setCursor(2,y-20+3); display.print(utf8rus(wek[Dn-1])); display.setCursor(2,y-10+3); display.print(utf8rus(wek[Dn-1+7])); //********************* DisplayConditionsSection(x+30-3 , y-6 , WxForecast[index].Icon, SmallIcon); display.setTextColor(GxEPD_RED); display.setFont(); display.setTextSize(2); static char outstr[15]; display.setCursor(62,y-24); dtostrf(WxForecast[index].day,5, 1, outstr); display.print(outstr); display.setTextColor(GxEPD_BLACK); display.setCursor(62,y-4); dtostrf(WxForecast[index].night,5, 1, outstr); display.print(outstr); display.setTextSize(1); display.drawLine(0, y+15, 128, y+15, GxEPD_WHITE);//x1 y1 x2 y2 display.drawLine(10, y+15, 128, y+15, GxEPD_BLACK);//x1 y1 x2 y2 // drawString(x + fwidth / 2, y + 30, String(ConvertUnixTime(WxForecast[index].Dt + WxConditions[0].Timezone).substring(0, 5)), CENTER); // drawString(x + fwidth / 2, y + 125, String(WxForecast[index].High, 0) + "°/" + String(WxForecast[index].Low, 0) + "°", CENTER); }