diff --git a/src/display.cpp b/src/display.cpp index 883cd54..1769454 100644 --- a/src/display.cpp +++ b/src/display.cpp @@ -123,29 +123,46 @@ void display_header(char* TEXT) { display.setFont(u8g2_font_6x10_tr); display.drawStr(2,7,TEXT); display.drawLine(0, 8, 128, 8); - display.drawLine(93, 0, 93, 8); - if (show_temp_outside && show_time_display) + if (show_time_display) { - display.setCursor(97,7); - if (time_hour < 10) { - display.print("0"); + display.drawLine(93, 0, 93, 8); + display.setCursor(97,7); + if (time_hour < 10) { + display.print("0"); + } + display.print(time_hour); display.print(":"); + if (time_minute < 10) { + display.print("0"); + } + display.print(time_minute); + + if (show_temp_outside) + { + display.drawLine(58, 0, 58, 8); + if (temperature_outside > 10) + { + display.setCursor(68,7); + } + else + { + display.setCursor(62,7); + } + display.print(temperature_outside,1); display.print("C"); + } } - display.print(time_hour); display.print(":"); - if (time_minute < 10) { - display.print("0"); - } - display.print(time_minute); - display.drawLine(58, 0, 58, 8); - if (temperature_outside > 10) + else if (show_temp_outside) { - display.setCursor(68,7); - } - else - { - display.setCursor(62,7); - } - display.print(temperature_outside,1); display.print("C"); + display.drawLine(93, 0, 93, 8); + if (temperature_outside > 10) + { + display.setCursor(97,7); + } + else + { + display.setCursor(91,7); + } + display.print(temperature_outside,1); display.print("C"); } } @@ -203,17 +220,25 @@ void display_screen_grid(float grid_power, float inv_power, float inv_current, f display.setCursor(40,54); display.print(inv_power,0); display.print("W"); display.setCursor(40,63); display.print(inv_current,1); display.print("A"); display.setCursor(87,20); display.print(grid_power,0); display.print("W"); - display.setCursor(101,38); display.print(pv_wattage,0); display.print("W"); - int pv_chg_y_pos; - if (pv_wattage >= 10) { - if (pv_charging) { - pv_chg_y_pos = 45; - pv_charging = false; - } else { - pv_chg_y_pos = 47; - pv_charging = true; + + if (show_pv_chg_screen) + { + display.setCursor(101,38); display.print(pv_wattage,0); display.print("W"); + int pv_chg_y_pos; + if (pv_wattage >= 10) { + if (pv_charging) + { + pv_chg_y_pos = 45; + pv_charging = false; + } + else + { + pv_chg_y_pos = 47; + pv_charging = true; + } + display.drawXBM(89,pv_chg_y_pos, down_pv_width, down_pv_height, down_pv_bits); } - display.drawXBM(89,pv_chg_y_pos, down_pv_width, down_pv_height, down_pv_bits); } } while ( display.nextPage() ); + } \ No newline at end of file