Hi,
in my soloution (with the hints of lorol) you get the Pressure, Humidity, ... but
you loose 3 of 4 forcasts and get space at the right side of the screen for the information.
You have to make some changes in 5 procedures:
void setup() {
...
drawButtons();
drawCurrentWeatherDetail(); // added
gfx.commit();
...
}
void drawCurrentWeather() {
...
// gfx.drawLine(0, 65, SCREEN_WIDTH, 65); // changed to
gfx.drawLine(0, 65, SCREEN_WIDTH / 2 + 22 , 65); // new
gfx.drawLine(SCREEN_WIDTH / 2 + 25, 12, SCREEN_WIDTH / 2 + 25, SCREEN_HEIGHT - 12); // added
...
}
void drawForecast() {
drawForecastDetail(SCREEN_WIDTH / 2 - 20, 15, 3);
// drawForecastDetail(SCREEN_WIDTH / 2 + 22, 15, 6); // changed
// drawForecastDetail(SCREEN_WIDTH / 2 + 64, 15, 9); // changed
// drawForecastDetail(SCREEN_WIDTH / 2 + 106, 15, 12); // changed
}
void drawCurrentWeatherDetail() {
// gfx.setFont(ArialRoundedMTBold_14); // changed to
gfx.setFont(ArialMT_Plain_10); // smaller font
gfx.setTextAlignment(TEXT_ALIGN_CENTER);
gfx.setColor(MINI_BLACK); // changed WHITE -> BLACK
// gfx.drawString(120, 2, "Current Conditions"); // changed
...
}
void drawLabelValue(uint8_t line, String label, String value) {
// const uint8_t labelX = 15; // changed to
const uint8_t labelX = 180; // new location
// const uint8_t valueX = 150; // changed to
const uint8_t valueX = 250; // new location
gfx.setTextAlignment(TEXT_ALIGN_LEFT);
gfx.setColor(MINI_BLACK); // changed WHITE -> BLACK
gfx.drawString(labelX, 15 + line * 9, label); // changed, FontH 14 -> 15; FontH 10 -> 9
gfx.setColor(MINI_BLACK); // changed WHITE -> BLACK
gfx.drawString(valueX, 15 + line * 9, value); // changed
}
You can get the changed ino-file from
https://www.dropbox.com/s/4wnff1bzqnnaq9p/espaper-weatherstation0.ino?dl=0
Hope, I could help
siram