OSDN Git Service

[General] Change user bands are 3+3(FM+AM), user freq chs are 28chs.
[openi2cradio/OpenI2CRadio.git] / menu.h
diff --git a/menu.h b/menu.h
index 26d2311..55bf6cc 100644 (file)
--- a/menu.h
+++ b/menu.h
 #include "ui.h"
 #include "eeprom.h"
 #include "ioports.h"
+#include "helps.h"
 
 #ifdef __cplusplus
 extern "C" {
 #endif
-#define USER_BAND_NUM 4
+#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
+    typedef struct {
+        unsigned char band;
+        unsigned char fm;
+        unsigned int freq;
+    } _memoryfreq_t;
     /*
      * main.c
      */
-    extern unsigned int amfreq;
-    extern unsigned int fmfreq;
-    extern unsigned int amfreq_bank[AKC6955_BAND_AMEND];
-    extern unsigned int fmfreq_bank[AKC6955_BAND_FMEND];
-    extern unsigned char amband;
-    extern unsigned char fmband;
-    extern unsigned char fm;
-    extern unsigned char am_mode3k;
-    extern unsigned char am_userbandnum;
-    extern unsigned char fm_userbandnum;
-    extern unsigned char threshold_amcnr;
-    extern unsigned char threshold_fmcnr;
-    extern unsigned char threshold_width;
-    extern unsigned char threshold_fmstereo;
-    extern unsigned char lowboost;
-    extern unsigned char stereo;
-    extern _userband_t am_usrbands[USER_BAND_NUM];
-    extern _userband_t fm_usrbands[USER_BAND_NUM];
-    extern banddesc am_userband_freq[USER_BAND_NUM];
-    extern banddesc fm_userband_freq[USER_BAND_NUM];
-    extern unsigned char volume;
-    extern unsigned char prevolume;
-    extern unsigned char fmbandwidth;
-
-    extern int backlight_long;
-    extern unsigned int ui_idlecount;
-
+typedef struct {
+    unsigned int amfreq;
+    unsigned int fmfreq;
+    unsigned int amfreq_bank[AKC6955_BAND_AMEND];
+    unsigned int fmfreq_bank[AKC6955_BAND_FMEND];
+    unsigned char amband;
+    unsigned char fmband;
+    unsigned char fm;
+    unsigned char am_mode3k;
+    unsigned char am_userbandnum;
+    unsigned char fm_userbandnum;
+    unsigned char threshold_amcnr; // Reg 0x08
+    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;
+    unsigned char volume;
+    unsigned char prevolume;
+    unsigned char fmbandwidth;
+    unsigned char lowboost;
+    int backlight_long;
+    int backlight_level;
+    unsigned int ui_idlecount;
+    unsigned char memorynum;
+    _memoryfreq_t memoryfreqs[USER_MEMORY_NUM];
+} __radioset_t;
+
+    extern __radioset_t setup;
+    extern unsigned char scanflag;
 
     extern unsigned char stereoflag;
     extern unsigned char tuneflag;
@@ -123,19 +137,12 @@ extern "C" {
     extern void setband_direct(void);
     extern void setfreq_direct(void);
     extern void set_stereo(void);
-    extern void set_thresh_fmstereo(unsigned char a);
-    extern void set_thresh_fmcnr(unsigned char a);
-    extern void set_thresh_amcnr(unsigned char a);
-    extern void set_thresh_width(unsigned char a);
 
     extern void scan_start(void);
     extern void set_volume(void);
     extern void toggle_amfm(void);
-
-    extern unsigned char printhelp_2lines(char *l1, char *l2);
     extern void setup_menu(void);
-    extern void updown_help(void);
-    extern void mainmenu_help(void);
+
     extern void print_freq(unsigned char y);
     extern void setup_akc6955(void);
     extern void setdefault(void);