OSDN Git Service

[Build] Build with XC8 v1.21.
[openi2cradio/OpenI2CRadio.git] / menu_defs.c
index 1a785e9..f5ba727 100644 (file)
 #include "power.h"
 #include "adc_int.h"
 
-
 const banddesc ambands[19] = {
-    {150,285},
+//const unsigned int ambands[38] = {
+//    {150,285},
+    {100,522}, // Extend LW.
     {520,1710},
     {522,1620},
     {520,1710},
@@ -85,93 +86,70 @@ const banddesc fmbands[8] = {
     {5000, 7000} // User
 };
 
-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;
-unsigned int ui_idlecount;
+__radioset_t setup;
+__freqset_t freqset;
+__freqset_t freqset_temp;
+__userband_t_t userband;
 unsigned char scanflag;
 
 
-/*
- *
- */
+
+
 void setdefault(void)
 {
     char i;
     //amfreq = 954;
     //fmfreq = 8000; // 10KHz order.
-    amband = AKC6955_BAND_MW2;
-    fmband = AKC6955_BAND_FM2;
-    am_mode3k = 0xff;
-    fm = 0;
-    am_userbandnum = 0;
-    fm_userbandnum = 0;
-    lowboost = 0xff;
-    threshold_amcnr = 0;
-    threshold_fmcnr = 0;
-    threshold_fmstereo = 0;
-    threshold_width = 0;
-    for(i = 0; i < 4; i++){
-        am_usrbands[i].start = 0x19;
-        am_usrbands[i].stop  = 0x32;
+    setup.amband = AKC6955_BAND_MW2;
+    setup.fmband = AKC6955_BAND_FM2;
+    setup.am_mode3k = 0xff;
+    setup.fm = 0;
+    setup.am_userbandnum = 0;
+    setup.fm_userbandnum = 0;
+    setup.lowboost = 0xff;
+    setup.threshold_amcnr = 0;
+    setup.threshold_fmcnr = 0;
+    setup.threshold_fmstereo = 0;
+    setup.threshold_width = 0;
+    for(i =0; i < AKC6955_BAND_AMEND; i++){
+      setup.amfreq_bank[i] = ((ambands[i].end - ambands[i].start) / 2) + ambands[i].start;
     }
-    for(i = 0; i < 4; i++){
-        fm_usrbands[i].start = 0x19;
-        fm_usrbands[i].stop  = 0x32;
+    for(i =0; i <  AKC6955_BAND_FMEND ; i++){
+      setup.fmfreq_bank[i] = ((fmbands[i].end - fmbands[i].start) / 2) + fmbands[i].start;
     }
-    for(i =0; i < 18; i++){
-      amfreq_bank[i] = ((ambands[i].end - ambands[i].start) / 2) + ambands[i].start;
+    setup.memorynum = 0x00;
+    setup.pagenum = 0x00;
+#if 0
+    for(i = 0; i < USER_MEMORY_NUM; i++) {
+        freqset.memoryfreqs[i].band = AKC6955_BAND_MW2;
+        freqset.memoryfreqs[i].fm = 0;
+        freqset.memoryfreqs[i].freq = 594; // NHK1 Tokyo.
     }
-    for(i =0; i < 8; i++){
-      fmfreq_bank[i] = ((fmbands[i].end - fmbands[i].start) / 2) + fmbands[i].start;
-    }
-    fmfreq = fmfreq_bank[fmband];
-    amfreq = amfreq_bank[amband];
-    stereo = 0xff; // Auto
+#endif
+    setup.fmfreq = setup.fmfreq_bank[setup.fmband];
+    setup.amfreq = setup.amfreq_bank[setup.amband];
+    setup.stereo = 0xff; // Auto
+    setup.fm_tunepitch = 0x02; // 100KHz
 }
 
 void valinit(void)
 {
         // UI
-    backlight_long = 256;
-    backlight_counter = backlight_long;
-    backlight_level = 255;
-    ui_idlecount = 250; // 0.25Sec
+    setup.backlight_long = 256;
+    backlight_counter = setup.backlight_long;
+    setup.backlight_level = 255;
+    setup.ui_idlecount = 250; // 0.25Sec
     // Statuses
     scanflag = 0;
     cnrlevel = 0;
     recv_signal = 103;
     battlevel = 0;
     batlevel_6955 = 330; // 3.30V(temporally).
-    if(amband > 18) amband = 18;
-    if(fmband > 7) fmband = 7;
-    if(am_userbandnum >= USER_BAND_NUM) am_userbandnum = USER_BAND_NUM - 1;
-    if(fm_userbandnum >= USER_BAND_NUM) fm_userbandnum = USER_BAND_NUM - 1;
-    volume = 36;
-    prevolume = 3;
-    fmbandwidth = 0;
+    setup.volume = 36;
+    setup.prevolume = 3;
+    setup.fmbandwidth = 0;
+//    setup.pagenum = setup.memorynum / USER_MEMORY_NUM;
     diffstat = 0;
     cnrlevel = 103;
     stereoflag = 0x00; // Auto