|
|
|
|
@ -9,6 +9,9 @@ int8_t menu_val_timezone_ee EEMEM;
|
|
|
|
|
int8_t menu_val_timezone;
|
|
|
|
|
uint8_t menu_val_format_ee EEMEM;
|
|
|
|
|
uint8_t menu_val_format;
|
|
|
|
|
uint8_t menu_val_leds_ee EEMEM;
|
|
|
|
|
uint8_t menu_val_dots;
|
|
|
|
|
uint8_t menu_val_dots_ee EEMEM;
|
|
|
|
|
|
|
|
|
|
uint8_t get_menu_active(){
|
|
|
|
|
if(state != OFF)
|
|
|
|
|
@ -28,7 +31,6 @@ void enter_menu(){
|
|
|
|
|
selected ^= 1;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
//debug_menu();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const char* get_menu_text(){
|
|
|
|
|
@ -39,7 +41,6 @@ const char* get_menu_text(){
|
|
|
|
|
switch(state){
|
|
|
|
|
case TIMEZONE:
|
|
|
|
|
res = " ";
|
|
|
|
|
menu_val_timezone = eeprom_read_byte((uint8_t*)&menu_val_timezone_ee);
|
|
|
|
|
if(menu_val_timezone < 0)
|
|
|
|
|
res[3] = '-';
|
|
|
|
|
else
|
|
|
|
|
@ -52,18 +53,38 @@ const char* get_menu_text(){
|
|
|
|
|
res[3] = (menu_val_format % 10) + 0x30;
|
|
|
|
|
res[4] = 'H';
|
|
|
|
|
break;
|
|
|
|
|
case LEDS:
|
|
|
|
|
res[3] = (OCR2A / 100) + 0x30;
|
|
|
|
|
res[4] = (OCR2A / 10 % 10) + 0x30;
|
|
|
|
|
res[5] = (OCR2A % 10) + 0x30;
|
|
|
|
|
break;
|
|
|
|
|
case DOTS:
|
|
|
|
|
if(menu_val_dots)
|
|
|
|
|
res = " AN ";
|
|
|
|
|
else
|
|
|
|
|
res = " AUS";
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
res = "ERROR";
|
|
|
|
|
res = "ERROR ";
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
switch(state){
|
|
|
|
|
case TIMEZONE:
|
|
|
|
|
res = "ZONE ";
|
|
|
|
|
eeprom_write_byte((uint8_t*)&menu_val_timezone_ee, menu_val_timezone);
|
|
|
|
|
break;
|
|
|
|
|
case FORMAT:
|
|
|
|
|
res = "FORMAT";
|
|
|
|
|
break;
|
|
|
|
|
case LEDS:
|
|
|
|
|
res = "LED ";
|
|
|
|
|
eeprom_write_byte(&menu_val_leds_ee, OCR2A);
|
|
|
|
|
break;
|
|
|
|
|
case DOTS:
|
|
|
|
|
res = "PUNKTE";
|
|
|
|
|
eeprom_write_byte((uint8_t*)&menu_val_dots_ee, menu_val_dots);
|
|
|
|
|
break;
|
|
|
|
|
case EXIT:
|
|
|
|
|
res = "ZURUEK";
|
|
|
|
|
break;
|
|
|
|
|
@ -83,7 +104,6 @@ void menu_up_down(uint8_t up_down){
|
|
|
|
|
menu_val_timezone = 12;
|
|
|
|
|
if(menu_val_timezone > 12)
|
|
|
|
|
menu_val_timezone = -12;
|
|
|
|
|
eeprom_write_byte((uint8_t*)&menu_val_timezone_ee, menu_val_timezone);
|
|
|
|
|
break;
|
|
|
|
|
case FORMAT:
|
|
|
|
|
if(menu_val_format == 12)
|
|
|
|
|
@ -91,15 +111,21 @@ void menu_up_down(uint8_t up_down){
|
|
|
|
|
else if(menu_val_format == 24)
|
|
|
|
|
menu_val_format = 12;
|
|
|
|
|
break;
|
|
|
|
|
case LEDS:
|
|
|
|
|
OCR2A += up_down;
|
|
|
|
|
break;
|
|
|
|
|
case DOTS:
|
|
|
|
|
menu_val_dots ^= 0x01;
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
state += up_down;
|
|
|
|
|
if(state < 1)
|
|
|
|
|
state = EXIT;
|
|
|
|
|
if(state > 3)
|
|
|
|
|
state = TIMEZONE;
|
|
|
|
|
state = 1;
|
|
|
|
|
if(state > EXIT)
|
|
|
|
|
state = EXIT;//TIMEZONE;
|
|
|
|
|
}
|
|
|
|
|
//debug_menu();
|
|
|
|
|
}
|
|
|
|
|
|