| 
														
															@@ -4,6 +4,7 @@ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 #include "HD44780-I2C.h" 
														 | 
														
														 | 
														
															 #include "HD44780-I2C.h" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 #include "xprintf.h" 
														 | 
														
														 | 
														
															 #include "xprintf.h" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 #include "working_modes.h" 
														 | 
														
														 | 
														
															 #include "working_modes.h" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+#include "timec.h" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 __flash const unsigned char battery_states[][8] = { 
														 | 
														
														 | 
														
															 __flash const unsigned char battery_states[][8] = { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	{ 
														 | 
														
														 | 
														
															 	{ 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -196,6 +197,20 @@ void disp_speed(__attribute__ ((unused)) unsigned char changed) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	} 
														 | 
														
														 | 
														
															 	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+void disp_time(__attribute__ ((unused)) unsigned char changed) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	if (utc == 0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		strcpy_P(disp.line1, PSTR("?")); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		strcpy_P(disp.line2, PSTR("?")); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		return; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	time_t time = utc; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	time += local_time_diff(time) * (signed int)3600; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	struct tm *ct = gmtime(&time); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	xsprintf(disp.line1, PSTR("%d.%02d.%4d"), ct->tm_mday, ct->tm_mon+1, ct->tm_year+1900); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	xsprintf(disp.line2, PSTR("%d:%02d:%02d"), ct->tm_hour, ct->tm_min, ct->tm_sec); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 void disp_func_main_menu(__attribute__ ((unused)) unsigned char changed) { 
														 | 
														
														 | 
														
															 void disp_func_main_menu(__attribute__ ((unused)) unsigned char changed) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	display_main_menu_item(); 
														 | 
														
														 | 
														
															 	display_main_menu_item(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -217,6 +232,7 @@ void (*__flash const disp_funcs[])(unsigned char) = { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	[DISPLAY_STATE_ELE_SAT] = disp_func_ele_sat, 
														 | 
														
														 | 
														
															 	[DISPLAY_STATE_ELE_SAT] = disp_func_ele_sat, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	[DISPLAY_STATE_DIST_TIME] = disp_distance_and_time, 
														 | 
														
														 | 
														
															 	[DISPLAY_STATE_DIST_TIME] = disp_distance_and_time, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	[DISPLAY_STATE_SPEED] = disp_speed, 
														 | 
														
														 | 
														
															 	[DISPLAY_STATE_SPEED] = disp_speed, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	[DISPLAY_STATE_TIME] = disp_time, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	[DISPLAY_STATE_MAIN_MENU] = disp_func_main_menu, 
														 | 
														
														 | 
														
															 	[DISPLAY_STATE_MAIN_MENU] = disp_func_main_menu, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	[DISPLAY_STATE_SETTINGS_MENU] = disp_func_settings_menu, 
														 | 
														
														 | 
														
															 	[DISPLAY_STATE_SETTINGS_MENU] = disp_func_settings_menu, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }; 
														 | 
														
														 | 
														
															 }; 
														 |