X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=menu.h;h=d0bc8eb877af8c18e55b91bb72bc8616a8c8206f;hb=fd6f13933258e592ba3adfc21150db615a36ccac;hp=af3ae6ec2abdb02c4b2e728c4d1f3f698107148f;hpb=e189f7aaec789153eba43a180483b776e1faaa08;p=openi2cradio%2FOpenI2CRadio.git diff --git a/menu.h b/menu.h index af3ae6e..d0bc8eb 100644 --- a/menu.h +++ b/menu.h @@ -50,19 +50,16 @@ #include "eeprom.h" #include "ioports.h" #include "helps.h" +#include "menu_ui.h" +#include "eeprom_util.h" #ifdef __cplusplus extern "C" { #endif -#define USER_BAND_NUM 3 - typedef struct { - unsigned char mode3k; // mode3k if am - unsigned char start; - unsigned char stop; - unsigned int freq; - } _userband_t; + #define USER_MEMORY_NUM 28 +#define USER_MEMORY_BANKS 24 typedef struct { unsigned char band; unsigned char fm; @@ -71,6 +68,24 @@ extern "C" { /* * main.c */ + +typedef struct { + unsigned char mode3k; // mode3k if am + unsigned char start; + unsigned char stop; + unsigned int freq; + unsigned char reserve[3]; +} _userband_t; + +#define USER_BAND_NUM 10 +typedef struct { + unsigned int magic; + unsigned int version; + _userband_t am_usrbands[USER_BAND_NUM]; + _userband_t fm_usrbands[USER_BAND_NUM]; + unsigned int checksum; +} __userband_t_t; + // Frequencyset of 1Sector. // Below v1.0. typedef struct { @@ -96,8 +111,6 @@ typedef struct { unsigned char threshold_fmcnr; // Reg 0x08 unsigned char threshold_width; // Reg 0x08 unsigned char threshold_fmstereo; // Reg 0x08 - _userband_t am_usrbands[USER_BAND_NUM]; - _userband_t fm_usrbands[USER_BAND_NUM]; banddesc am_userband_freq[USER_BAND_NUM]; banddesc fm_userband_freq[USER_BAND_NUM]; unsigned char stereo; @@ -109,7 +122,7 @@ typedef struct { int backlight_level; unsigned int ui_idlecount; unsigned int memorynum; -// _memoryfreq_t memoryfreqs[USER_MEMORY_NUM]; + unsigned char fm_tunepitch; unsigned int pagenum; } __radioset_t; @@ -117,6 +130,9 @@ typedef struct { extern __radioset_t setup; extern __freqset_t freqset; extern __freqset_t freqset_temp; + extern __userband_t_t userband; + extern const banddesc ambands[19]; + extern const banddesc fmbands[8]; extern unsigned char scanflag; extern unsigned char stereoflag; @@ -131,37 +147,60 @@ typedef struct { extern unsigned char backlight_level; extern unsigned char pollkeybuf[33]; extern unsigned char scanflag; + extern unsigned char ui_idlekey; + extern unsigned char ui_idlepad; - extern void update_display(void); - extern void update_status(void); - extern void save_eeprom(void); - extern unsigned char load_eeprom(void); - extern void check_eeprom(void); - + /* + * ui_updown.c + */ extern void setfreq_updown(unsigned char ctlword); extern void setdefault(void); + extern unsigned char setfreq_renc_updown(unsigned char dispf); /* - * menu.c + * menu_userband.c */ - extern void main_menu(void); extern void input_userband(void); extern void set_userband(void); extern void call_userband(unsigned char num); - extern void setband_direct(void); - extern void setfreq_direct(void); - extern void set_stereo(void); + extern void list_userband(void); + /* + * menu_scan.c + */ extern void scan_start(void); + /* + * menu_volume.c + */ extern void set_volume(void); - extern void toggle_amfm(void); - extern void setup_menu(void); - extern void print_freq(unsigned char y); - extern void setup_akc6955(void); + /* + * menu_defs.c + */ extern void setdefault(void); extern void valinit(void); + + /* + * menu.c + */ + extern void toggle_amfm(void); + extern void set_stereomode(void); + extern void set_stereo(void); + extern void setband_direct(void); + extern void setfreq_direct(void); + extern void menu_poweroff(void); + extern void setup_akc6955(void); + extern void main_menu(void); + + /* + * menu_setup.c + */ + extern void setup_menu(void); + extern void menu_load(void); + extern void menu_save(void); + + #ifdef __cplusplus } #endif