led brightness in menu and save in eeprom
This commit is contained in:
@@ -5,11 +5,13 @@ extern int8_t menu_val_timezone;
|
||||
extern int8_t menu_val_timezone_ee EEMEM;
|
||||
extern uint8_t menu_val_format;
|
||||
extern uint8_t menu_val_format_ee EEMEM;
|
||||
extern uint8_t menu_val_leds_ee EEMEM;
|
||||
|
||||
typedef enum {
|
||||
OFF,
|
||||
TIMEZONE,
|
||||
FORMAT,
|
||||
LEDS,
|
||||
EXIT
|
||||
} menu_state_t;
|
||||
|
||||
|
||||
@@ -42,17 +42,12 @@ int8_t parse_nmea_gps(char input_string[RX_INPUT_BUFFER_SIZE], uint8_t output_bu
|
||||
}
|
||||
|
||||
void encoder_action(uint8_t dir){
|
||||
if (dir) {
|
||||
if(get_menu_active())
|
||||
if(get_menu_active())
|
||||
if (dir) {
|
||||
menu_up_down(1);
|
||||
else
|
||||
OCR2A++;
|
||||
} else {
|
||||
if(get_menu_active())
|
||||
} else {
|
||||
menu_up_down(-1);
|
||||
else
|
||||
OCR2A--;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int main(void){
|
||||
@@ -109,6 +104,7 @@ void setup(){
|
||||
menu_val_format = 24;
|
||||
eeprom_write_byte(&menu_val_format_ee, menu_val_format);
|
||||
}
|
||||
OCR2A = eeprom_read_byte(&menu_val_leds_ee);
|
||||
|
||||
DDRA = ENABLE_TUBE_SUPPLY;
|
||||
|
||||
@@ -176,7 +172,6 @@ void setup(){
|
||||
TCCR2B = (1 << CS22)
|
||||
|(0 << CS21)
|
||||
|(0 << CS20);
|
||||
OCR2A = 0; // Compare value 125
|
||||
|
||||
uart_init();
|
||||
i2c_init();
|
||||
|
||||
@@ -9,6 +9,7 @@ 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 get_menu_active(){
|
||||
if(state != OFF)
|
||||
@@ -52,8 +53,13 @@ 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;
|
||||
default:
|
||||
res = "ERROR";
|
||||
res = "ERROR ";
|
||||
break;
|
||||
}
|
||||
else
|
||||
@@ -64,6 +70,10 @@ const char* get_menu_text(){
|
||||
case FORMAT:
|
||||
res = "FORMAT";
|
||||
break;
|
||||
case LEDS:
|
||||
res = "LED ";
|
||||
eeprom_write_byte(&menu_val_leds_ee, OCR2A);
|
||||
break;
|
||||
case EXIT:
|
||||
res = "ZURUEK";
|
||||
break;
|
||||
@@ -91,15 +101,18 @@ 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;
|
||||
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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user