Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 497 → Rev 496

/C-OSD/trunk/config.c
40,7 → 40,6
uint16_t EEMEM ee_cal_ampere = 512;
uint8_t EEMEM ee_sensor = 50;
uint8_t EEMEM ee_COSD_FLAGS;
uint8_t EEMEM ee_COSD_DISPLAYMODE = 0;
 
// store init strings in progmem
const char init_0[] PROGMEM = "C-OSD Initialisation";
69,14 → 68,12
const char menu_item5[] PROGMEM = "Warnings"; // TODO: do it!
const char menu_item6[] PROGMEM = "Reset uptime";
const char menu_item7[] PROGMEM = "Request OSD-data";
const char menu_item8[] PROGMEM = "Display Mode";
const char menu_item8[] PROGMEM = "Disable Debug-data";
const char menu_item9[] PROGMEM = "Save config";
const char menu_item10[] PROGMEM = "EXIT";
const char* menu[] = {menu_item0, menu_item1, menu_item2, menu_item3, menu_item4,
menu_item5, menu_item6, menu_item7, menu_item8, menu_item9, menu_item10};
 
const displaymode_t * mode;
 
/**
* read data saved in eeprom, print out message if <verbose> is set
*/
84,8 → 81,6
if (eeprom_read_byte(&ee_checkbyte1) == CHECKBYTE1 && eeprom_read_byte(&ee_checkbyte2) == CHECKBYTE2) {
if (verbose) write_ascii_string_pgm(2, 9, ee_msg[0]); // Loading data
COSD_FLAGS = eeprom_read_byte(&ee_COSD_FLAGS);
COSD_DISPLAYMODE = eeprom_read_byte(&ee_COSD_DISPLAYMODE);
//if (verbose) write_ndigit_number_u(23, 11, COSD_DISPLAYMODE, 10, 0);
} else {
if (verbose) write_ascii_string_pgm(2, 9, ee_msg[1]); // No data found
}
98,7 → 93,6
eeprom_write_byte(&ee_checkbyte1, CHECKBYTE1);
eeprom_write_byte(&ee_checkbyte2, CHECKBYTE2);
eeprom_write_byte(&ee_COSD_FLAGS, COSD_FLAGS);
eeprom_write_byte(&ee_COSD_DISPLAYMODE, COSD_DISPLAYMODE);
}
 
/**
148,19 → 142,6
write_ascii_string_pgm(23, 2, VM_PAL);
}
 
 
#if FCONLY
COSD_DISPLAYMODE %= (sizeof(fcdisplaymodes) / sizeof(displaymode_t));
mode = fcdisplaymodes;
mode += COSD_DISPLAYMODE;
osd_fcmode = (int(*)(void)) pgm_read_word(&mode->dfun);
#else
COSD_DISPLAYMODE %= (sizeof(ncdisplaymodes) / sizeof(displaymode_t));
mode = ncdisplaymodes;
mode += COSD_DISPLAYMODE;
osd_ncmode = (int(*)(void)) pgm_read_word(&mode->dfun);
#endif
 
_delay_ms(200);
clear();
// update flags to paint display again because of clear
211,9 → 192,6
} else {
write_ascii_string_pgm(23, 7, OFF);
}
//write_ndigit_number_u(23, 10, COSD_DISPLAYMODE, 10, 0);
write_ascii_string_pgm(18, 10, (const char *) (pgm_read_word(&(mode->desc))));
}
 
/**
317,19 → 295,11
#endif
config_menu_doclick(chosen, menu);
break;
case 8: // change mode
#if FCONLY
COSD_DISPLAYMODE = (COSD_DISPLAYMODE + 1) % (sizeof(fcdisplaymodes) / sizeof(displaymode_t));
mode = fcdisplaymodes;
mode += COSD_DISPLAYMODE;
osd_fcmode = (int(*)(void)) pgm_read_word(&mode->dfun);
#else
COSD_DISPLAYMODE = (COSD_DISPLAYMODE + 1) % (sizeof(ncdisplaymodes) / sizeof(displaymode_t));
mode = ncdisplaymodes;
mode += COSD_DISPLAYMODE;
osd_ncmode = (int(*)(void)) pgm_read_word(&mode->dfun);
#endif
config_menu_drawings(chosen);
case 8: // disable debug data
// disable sending of debug data
// may result in smoother ddata display
usart1_request_mk_data(0, 'd', 0);
config_menu_doclick(chosen, menu);
break;
case 9: // save
save_eeprom();