#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 4
- typedef struct {
- unsigned char mode3k; // mode3k if am
- unsigned char start;
- unsigned char stop;
- unsigned int freq;
- } _userband_t;
+
-#define USER_MEMORY_NUM 22
+#define USER_MEMORY_NUM 28
+#define USER_MEMORY_BANKS 24
typedef struct {
unsigned char band;
unsigned char fm;
/*
* 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 {
+ unsigned int magic;
+ unsigned int version;
+ unsigned int pagenum;
+ _memoryfreq_t memoryfreqs[USER_MEMORY_NUM];
+ unsigned int checksum;
+} __freqset_t;
+
typedef struct {
unsigned int amfreq;
unsigned int fmfreq;
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;
int backlight_long;
int backlight_level;
unsigned int ui_idlecount;
- unsigned char memorynum;
- _memoryfreq_t memoryfreqs[USER_MEMORY_NUM];
+ unsigned int memorynum;
+ unsigned char fm_tunepitch;
+ unsigned int pagenum;
} __radioset_t;
+
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;
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