OSDN Git Service

[UI][MENU] Change "'5'->'9'" to reload.
authorK.Ohta <whatisthis.sowhat@gmail.com>
Wed, 11 Sep 2013 15:36:46 +0000 (00:36 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Wed, 11 Sep 2013 15:36:46 +0000 (00:36 +0900)
[General] Compress long-compare.

16 files changed:
akc6955.c
eeprom.h
eeprom_util.h [new file with mode: 0644]
menu.c
menu.h
menu_memoryfreq.c
menu_scan.c [new file with mode: 0644]
menu_setup.c [new file with mode: 0644]
menu_ui.h [new file with mode: 0644]
menu_userband.c [new file with mode: 0644]
menu_volume.c [new file with mode: 0644]
nbproject/Makefile-default.mk
nbproject/Makefile-genesis.properties
nbproject/configurations.xml
ui.c
ui.h

index 3e9ac68..5a9687a 100644 (file)
--- a/akc6955.c
+++ b/akc6955.c
@@ -147,6 +147,9 @@ unsigned char akc6955_tune(void)
 void akc6955_mode3k(unsigned char flag)
 {
     __bitops_t b;
+    b.byte = akc6955_readcmd(AKC6955_CH_LO);
+    akc6955_writecmd(AKC6955_CH_LO, b.byte);
+
     b.byte = akc6955_readcmd(AKC6955_CH_HI);
     b.b5 = 0;
     if(flag != 0){
@@ -154,7 +157,6 @@ void akc6955_mode3k(unsigned char flag)
     }
     akc6955_writecmd(AKC6955_CH_HI, b.byte);
     akc6955_do_tune();
-    _AKC6955_WAIT_62_5MS();
 }
 
 void akc6955_set_tune(unsigned char mode_3k, unsigned int ch)
index 5dc24f8..70c1e63 100644 (file)
--- a/eeprom.h
+++ b/eeprom.h
@@ -57,14 +57,6 @@ extern unsigned int writeword_eeprom(unsigned int *p, unsigned int *sum, unsigne
 extern unsigned int writebyte_eeprom(unsigned int *p, unsigned int *sum, unsigned char b);
 
 
-/*
- * Frequency utils
- */
-extern void format_frequencies(unsigned int page);
-extern void check_frequencies(void);
-extern void save_frequencies(void);
-extern char load_frequencies(unsigned int page, unsigned char check_only);
-
 //extern unsigned int calcsum_frequencies(__freqset_t *p, unsigned int start);
 
 
diff --git a/eeprom_util.h b/eeprom_util.h
new file mode 100644 (file)
index 0000000..709381f
--- /dev/null
@@ -0,0 +1,73 @@
+/*
+ * OpenI2CRADIO
+ * INternal eeprom utilities
+ * Copyright (C) 2013-09-11 K.Ohta <whatisthis.sowhat ai gmail.com>
+ * License: GPL2+LE
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2,
+ *  or (at your option) any later version.
+ *  This library / program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *  See the GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this library; see the file COPYING. If not, write to the
+ *  Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
+ *  MA 02110-1301, USA.
+ *
+ *  As a special exception, if you link this(includeed from sdcc) library
+ *  with other files, some of which are compiled with SDCC,
+ *  to produce an executable, this library does not by itself cause
+ *  the resulting executable to be covered by the GNU General Public License.
+ *  This exception does not however invalidate any other reasons why
+ *  the executable file might be covered by the GNU General Public License.
+ */
+
+#ifndef EEPROM_UTIL_H
+#define        EEPROM_UTIL_H
+
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#if defined(__SDCC)
+#include <sdcc-lib.h>
+#include <pic18fregs.h> /* ONLY FOR PIC18x */
+#include <delay.h>
+#else
+#include <xc.h>
+#endif
+
+
+#include "commondef.h"
+#include "iodef.h"
+#include "idle.h"
+#include "i2c_io.h"
+#include "eeprom.h"
+#include "ioports.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+    extern void save_eeprom(void);
+    extern unsigned char load_eeprom(void);
+    extern void check_eeprom(void);
+/*
+ * Frequency utils
+ */
+extern void format_frequencies(unsigned int page);
+extern void check_frequencies(void);
+extern void save_frequencies(void);
+extern char load_frequencies(unsigned int page, unsigned char check_only);
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* EEPROM_UTIL_H */
+
diff --git a/menu.c b/menu.c
index 523e996..577f19c 100644 (file)
--- a/menu.c
+++ b/menu.c
@@ -78,141 +78,9 @@ void set_stereo(void)
     set_stereomode();
 }
 
-
-void set_volume(void)
-{
-    unsigned char c;
-    unsigned char d;
-    unsigned char fact;
-    unsigned char dispf = 0xff;
-
-    _CLS();
-    do {
-        if(dispf != 0) {
-            _LOCATE(0,0);
-             d = akc6955_getvolumemode();
-            if(d == 0){
-                 _PUTCHAR('D');
-            } else {
-                 _PUTCHAR('K');
-            }
-            printstr(" Vol:");
-            print_numeric_nosupress(setup.volume, 2);
-            printstr("  F:Exit");
-            _LOCATE(0,1);
-            printstr("Pre:");
-            _PUTCHAR('0' + (setup.prevolume & 3));
-            _LOCATE(16-4, 1);
-            if(setup.lowboost == 0x00){
-                 printstr("   ");
-            } else {
-                 printstr("LOW");
-         }
-            _HOME();
-        }
-     c = pollkey_single_timeout(41, 1); // 943ms
-     backlight_reset(c);
-     dispf = backlight_dec(dispf);
-
-     switch(c) {
-             case charcode_6:
-                 setup.volume++;
-                 if(setup.volume > 63) setup.volume = 63;
-                 akc6955_setvolume(setup.volume);
-                 break;
-             case charcode_4:
-                 setup.volume--;
-                 if(setup.volume < 23) setup.volume = 23;
-                 akc6955_setvolume(setup.volume);
-                 break;
-             case charcode_f:
-                 _CLS();
-                 return;
-             case charcode_a:
-                 fact = 0xff;
-                 if(d != 0){
-                     fact = 0x00;
-                 }
-                 akc6955_setvolumemode(fact);
-                 akc6955_setvolume(setup.volume);
-                 break;
-             case charcode_b:
-                 setup.prevolume++;
-                 if(setup.prevolume > 3) setup.prevolume = 0;
-                 akc6955_set_prevolume(setup.prevolume);
-                 akc6955_setvolume(setup.volume);
-                 break;
-             case charcode_d:
-                 fact = 0x00;
-                 if(setup.lowboost == 0x00){
-                     fact = 0xff;
-                 }
-                 setup.lowboost = fact;
-                 akc6955_set_lowboost(setup.lowboost);
-                 akc6955_setvolume(setup.volume);
-                 break;
-             default:
-                 break;
-         }
-         if(setup.volume < 24){
-             set_examp_mute(1);
-        } else {
-             set_examp_mute(0);
-        }
-        idle_time_ms(9); // Pad.
-    } while(1);
-}
-
-
-void scan_start(void)
-{
-    unsigned char c;
-    unsigned char cc;
-    unsigned char n;
-    _CLS();
-    scanflag = 0;
-    do {
-        do {
-             c = pollkey_single_timeout(20, 0) ; // 23*20 = 460ms
-             if(chk_powerbutton() != 0) shutdown(1);
-            update_status();
-            cc = ' ';
-            if((akc6955_chk_donescan() == 0) && (scanflag != 0)){
-                cc = '>';
-            }
-            _PUTCHAR(cc);
-            printstr("Scan A/4/6/F");
-            print_freq(1);
-            _HOME();
-        } while(c == charcode_null);
-      // New Scan
-       switch(c){
-           case charcode_6:
-               scanflag = 0xff;
-               akc6955_do_scan(0xff);
-               break;
-           case charcode_4:
-               scanflag = 0xff;
-               akc6955_do_scan(0);
-               break;
-           case charcode_a:
-               akc6955_abort_scan();
-               goto _l0;
-               break;
-           case charcode_f:
-               goto _l0;
-               break;
-           default:
-               break;
-       }
-    } while(1);
-_l0:
-    _CLS();
-}
-
 void setfreq_direct(void)
 {
-    unsigned int val;
+    unsigned long val;
     _CLS();
     _LOCATE(0,0);
     printstr("Set Freq:");
@@ -222,12 +90,14 @@ void setfreq_direct(void)
         printstr("FM ");
         val = setup.fmfreq;
         val = read_numeric(val, 5, 7, 1);
+        if((val & 0x80000000) != 0) return;
         setup.fmfreq = val;
     } else {
         // FM
         printstr("AM ");
         val = setup.amfreq;
         val = read_numeric(val, 5, 7, 1);
+        if((val & 0x80000000) != 0) return;
         setup.amfreq = val;
     }
     akc6955_set_freq(val);
@@ -235,23 +105,31 @@ void setfreq_direct(void)
 
 void setband_direct(void)
 {
-    unsigned int band;
+    unsigned long band;
+    unsigned char band2;
     unsigned int freq;
     _CLS();
     _LOCATE(0,0);
     if(setup.fm != 0){
         printstr("Set Band:FM#");
-        band = setup.fmband & 7;
+        band2 = setup.fmband & 7;
         setup.fmfreq_bank[setup.fmband] = setup.fmfreq;
-        setup.fmband = read_numeric(band, 2, 7, 1);
-        setup.fmfreq = setup.fmfreq_bank[setup.fmband];
+        band2 = pollkey_numeric(band2);
+        if(band2 < 8) {
+            setup.fmband = band2 & 7;
+            setup.fmfreq = setup.fmfreq_bank[setup.fmband];
+            akc6955_set_fmband(setup.fmband);
+            freq = setup.fmfreq;
+        }
         akc6955_set_fmband(setup.fmband);
         freq = setup.fmfreq;
     } else {
         printstr("Set Band:AM#");
         band = setup.amband & 0x1f;
         setup.amfreq_bank[setup.amband] = setup.amfreq;
-        setup.amband = read_numeric(band, 2, 7, 1);
+        band = read_numeric(band, 2, 7, 1);
+        if((band & 0x80000000) != 0) return;
+        setup.amband = band & 0x1f;
         setup.amfreq = setup.amfreq_bank[setup.amband];
         switch(band) {
         case AKC6955_BAND_LW:
@@ -266,7 +144,7 @@ void setband_direct(void)
         default:
           break;
        }
-       
+
         akc6955_set_amband(setup.amband);
         freq = setup.amfreq;
     }
@@ -274,170 +152,6 @@ void setband_direct(void)
     akc6955_set_freq(freq);
 }
 
-void call_userband(unsigned char num)
-{
-    unsigned int freq;
-    unsigned int ch;
-    unsigned char start;
-    unsigned char end;
-    unsigned char mode3k;
-    unsigned char freq2;
-    _userband_t *p;
-
-    if(num >= USER_BAND_NUM) return;
-    
-    p = &(setup.am_usrbands[num]);
-    if(setup.fm != 0){
-        p = &(setup.fm_usrbands[num]);
-    }
-    freq = p->freq;
-    start = p->start;
-    end = p->stop;
-    mode3k = p->mode3k;
-    if(setup.fm != 0) {
-        ch = ((freq - 3000) / 5) * 2;
-        setup.fmband = AKC6955_BAND_FMUSER;
-    } else {
-        unsigned int q = 5;
-        if(mode3k != 0) q = 3;
-        ch = freq / q;
-        setup.amband = AKC6955_BAND_AMUSER;
-    }
-
-    if(start > end) {
-        unsigned char tmp;
-        tmp = start;
-        start = end;
-        end = tmp;
-    }
-    
-    freq2 = ch / 32;
-    if(freq2 > end) {
-        ch = end * 32;
-    }
-    if(freq2 < start){
-        ch = start * 32;
-    }
-    akc6955_set_userband(start, end, ch, mode3k);
-}
-
-void set_userband(void)
-{
-    unsigned int from,to;
-    unsigned char c;
-    unsigned char pp;
-    unsigned char mode3k;
-    char cc;
-
-    _CLS();
-    _LOCATE(0,0);
-    printstr("User ch:");
-    c = pollkey_single();
-
-    if(c > charcode_0) return;
-    if(c < charcode_1) return;
-    if(c == charcode_0) {
-        c = 0;
-    } else {
-        c = c - charcode_1 + 1;
-    }
-    if(c >= USER_BAND_NUM) return;
-
-    if(setup.fm != 0){
-        from = setup.fm_usrbands[c].start * 80 + 3000; // 32*25/10
-        to = setup.fm_usrbands[c].stop * 80 + 3000;
-        _CLS();
-        _LOCATE(0,0);
-        _LOCATE(0,0);
-        printstr("FM#");
-        print_numeric_nosupress(c, 1);
-        _LOCATE(0,1);
-        printstr(" From:");
-        from = read_numeric(from, 5, 7, 1);
-        _LOCATE(0,1);
-        printstr(" To:  ");
-        to = read_numeric(to, 5, 7, 1);
-        setup.fm_usrbands[c].start = (from - 3000) / 80;
-        setup.fm_usrbands[c].stop = (to - 3000) / 80;
-        setup.fm_usrbands[c].freq = from * 80 + 3000;
-        setup.fm_userbandnum = c;
-    } else {
-        mode3k = setup.am_usrbands[c].mode3k;
-        pp = 96; // 3*32
-        if(mode3k == 0) pp = 160; // 5*32
-        from = setup.am_usrbands[c].start * pp;
-        to = setup.am_usrbands[c].stop * pp;
-        _CLS();
-        _LOCATE(0,0);
-        printstr("AM#");
-        print_numeric_nosupress(c, 1);
-        printstr(" Step:");
-        _LOCATE(0,1);
-        printstr("0=3k 1=5k");
-        cc = pollkey_single();
-        if(cc == charcode_0){
-            pp = 96;
-            mode3k = 0xff;
-        } else if(cc = charcode_1) {
-            pp = 160;
-            mode3k = 0;
-        }
-        _CLS();
-        _LOCATE(0,0);
-        printstr("AM#");
-        print_numeric_nosupress(c, 1);
-        _LOCATE(0,1);
-        printstr(" From:");
-        from = read_numeric(from, 5, 7, 1);
-        _LOCATE(0,1);
-        printstr(" To:  ");
-        to = read_numeric(to, 5, 7, 1);
-        setup.am_usrbands[c].start = from / pp;
-        setup.am_usrbands[c].stop = to  / pp;
-        setup.am_usrbands[c].mode3k = mode3k;
-        setup.am_usrbands[c].freq = from * pp;
-        setup.am_userbandnum = c;
-    }
-    call_userband(c);
-    _CLS();
-}
-
-void input_userband(void)
-{
-    unsigned char c;
-    do{
-      c = printhelp_2lines("User Band", "   #");
-
-
-       if((c >= charcode_a) && (c <= charcode_f)){
-         break;
-       }
-       if(c == charcode_0) {
-         _PUTCHAR('0');
-         if(setup.fm != 0){
-            setup.fm_userbandnum = 0;
-         } else {
-            setup.am_userbandnum = 0;
-         }
-         call_userband(0);
-       } else {
-         c = c - charcode_1 + 1;
-         if(c < USER_BAND_NUM) {
-            _PUTCHAR(c + '0');
-            if(setup.fm != 0){
-               setup.fm_userbandnum = c;
-            } else {
-               setup.am_userbandnum = c;
-            }
-            call_userband(c);
-        }
-       }
-       idle(setup.ui_idlecount);
-    } while(1);
-    _CLS();
-}
-
-
 void menu_poweroff(void)
 {
     unsigned char c;
@@ -475,122 +189,15 @@ void setup_akc6955(void)
     set_stereomode();
 }
 
-void menu_save(void)
-{
-    unsigned char c;
-    c = printhelp_2lines("Save settings", "A=Yes");
-    if(c == charcode_a) {
-        save_eeprom();
-    }
-}
-
-void menu_load(void)
-{
-    unsigned char c;
-    c = printhelp_2lines("Load settings", "A=Yes B=Init");
-    if(c == charcode_a) {
-        c = load_eeprom();
-        if( c != 0xff) {
-            _CLS();
-            _LOCATE(0,0);
-            c = printhelp_2lines("X) Load Error", "A=Fix");
-            setdefault();
-            if(c == charcode_a){
-                save_eeprom();
-            }
-        }
-        setup_akc6955();
-    } else if(c == charcode_b){
-        setdefault();
-        setup_akc6955();
-    }
-}
-
-void setup_menu(void)
-{
-    unsigned char c;
-    unsigned int val;
-
-    c = printhelp_2lines("Setup F=HELP", "5=Return");
-    switch(c){
-        case charcode_3:
-            _CLS();
-            _LOCATE(0,0);
-            printstr("BL Level:");
-            val = read_numeric(setup.backlight_level, 3, 0,1);
-            if(val > 255) val = 255;
-            if(val < 10) val = 15;
-            setup.backlight_level = (unsigned char)val;
-            break;
-        case charcode_4:
-            _CLS();
-            _LOCATE(0,0);
-            printstr("FM Bandwidth:");
-            akc6955_get_fmbandwidth(val);
-            val = read_numeric(val, 1, 0, 1) & 3;
-            setup.fmbandwidth = (unsigned char)val;
-            akc6955_set_fmbandwidth(setup.fmbandwidth);
-            break;
-        case charcode_5:
-            break;
-        case charcode_7:
-            _CLS();
-            _LOCATE(0,0);
-            printstr("FM-CNR threshold:");
-            val = setup.threshold_fmcnr;
-            val = read_numeric(val, 1, 0, 1);
-            akc6955_set_thresh_fmcnr((unsigned char)val);
-            break;
-        case charcode_8:
-            _CLS();
-            _LOCATE(0,0);
-            printstr("AM-CNR threshold:");
-            val = setup.threshold_amcnr;
-            val = read_numeric(val, 1, 0, 1);
-            akc6955_set_thresh_amcnr((unsigned char)val);
-            break;
-        case charcode_9:
-            _CLS();
-            _LOCATE(0,0);
-            printstr("Stereo threshold:");
-            val = setup.threshold_fmstereo;
-            val = read_numeric(val, 1, 0, 1);
-            akc6955_set_thresh_fmstereo((unsigned char)val);
-            break;
-        case charcode_0:
-            menu_poweroff();
-            break;
-        case charcode_a:
-            menu_load();
-            break;
-        case charcode_c:
-            menu_save();
-            break;
-        case charcode_d:
-            setdefault();
-            break;
-        case charcode_e:
-            _CLS();
-            _LOCATE(0,0);
-            printstr("BL Long:");
-            val = read_numeric(setup.backlight_long, 3, 0,1);
-            if(val > 999) val = 999;
-            setup.backlight_long = val;
-            break;
-        case charcode_f:
-            setup_help();
-            break;
-        default:
-            break;
-    }
-}
 /*
  * Main Menu : initial-screen -> 'F'.
  */
 void main_menu(void)
 {
     unsigned char c;
+    unsigned char d;
     unsigned int val;
+    unsigned int freq;
 
     printhelp_2lines("Menu:F=HELP", "B=CANCEL");
     c = pollkey_single(); // 1012ms
@@ -615,13 +222,9 @@ void main_menu(void)
             // Set volume
             set_volume();
         } else if(c == charcode_9){
-            _CLS();
-            _LOCATE(0,0);
-            printstr("Sig width:");
-            val = setup.threshold_width;
-            val = read_numeric(val, 1, 0, 1);
-            akc6955_set_thresh_width((unsigned char)val);
-            // Set NF
+            unsigned int freq;
+            freq = akc6955_get_freq();
+            akc6955_set_freq(freq);
         } else if(c == charcode_0){
             // Setup Menu
             setup_menu();
diff --git a/menu.h b/menu.h
index 2424c1f..d4a1dc2 100644 (file)
--- a/menu.h
+++ b/menu.h
@@ -50,6 +50,8 @@
 #include "eeprom.h"
 #include "ioports.h"
 #include "helps.h"
+#include "menu_ui.h"
+#include "eeprom_util.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -133,36 +135,55 @@ typedef struct {
     extern unsigned char pollkeybuf[33];
     extern unsigned char scanflag;
 
-    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);
 
     /*
-     * 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);
 
+    /*
+     * 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
index acbe859..81b8250 100644 (file)
@@ -98,18 +98,19 @@ void set_freqbank(unsigned int num)
 
 void on_call_userfreq(void)
 {
-    unsigned int val = USER_MEMORY_NUM * USER_MEMORY_BANKS;
+    unsigned long val = USER_MEMORY_NUM * USER_MEMORY_BANKS;
     _CLS();
     _LOCATE(0,0);
     printstr("Mem: 000-");
     print_numeric_nosupress(val - 1, 3);
     val = read_numeric(val, 3, 4, 1);
+    if(val >= 0x80000000) return;
     call_freqbank(val);
 }
 
 void on_set_userfreq(void)
 {
-    unsigned int val = USER_MEMORY_NUM * USER_MEMORY_BANKS;
+    unsigned long val = USER_MEMORY_NUM * USER_MEMORY_BANKS;
     unsigned char n;
     unsigned char c;
     _CLS();
@@ -117,13 +118,11 @@ void on_set_userfreq(void)
     printstr("Set Mem: 000-");
     print_numeric_nosupress(val - 1, 3);
     val = read_numeric(val, 3, 4, 1);
+    if(val >= 0x80000000) return;
     _HOME();
     _LOCATE(0,0);
     printstr("OK? A=OK       ");
-    do {
-           n = pollkeys(pollkeybuf, 19, 1);
-    } while(n == 0);
-    c = pollkeybuf[0];
+    c = pollkey_single();
     if(c != charcode_a) return;
     set_freqbank(val);
 //    save_eeprom();
diff --git a/menu_scan.c b/menu_scan.c
new file mode 100644 (file)
index 0000000..0ac9062
--- /dev/null
@@ -0,0 +1,79 @@
+/*
+ * OpenI2CRADIO
+ * Menu sub-routines / Scan.
+ * Copyright (C) 2013-09-11 K.Ohta <whatisthis.sowhat ai gmail.com>
+ * License: GPL2+LE
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2,
+ *  or (at your option) any later version.
+ *  This library / program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *  See the GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this library; see the file COPYING. If not, write to the
+ *  Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
+ *  MA 02110-1301, USA.
+ *
+ *  As a special exception, if you link this(includeed from sdcc) library
+ *  with other files, some of which are compiled with SDCC,
+ *  to produce an executable, this library does not by itself cause
+ *  the resulting executable to be covered by the GNU General Public License.
+ *  This exception does not however invalidate any other reasons why
+ *  the executable file might be covered by the GNU General Public License.
+ */
+
+#include "menu.h"
+#include "menu_memoryfreq.h"
+#include "power.h"
+#include "commondef.h"
+#include "backlight.h"
+
+void scan_start(void)
+{
+    unsigned char c;
+    unsigned char cc;
+    _CLS();
+    scanflag = 0;
+
+    do {
+        do {
+            c = pollkey_single_timeout(20, 0) ; // 23*20 = 460ms
+            update_status();
+            cc = ' ';
+            if((akc6955_chk_donescan() == 0) && (scanflag != 0)){
+                cc = '>';
+            }
+            _PUTCHAR(cc);
+            printstr("Scan A/4/6/F");
+            print_freq(1);
+            _HOME();
+           if(chk_powerbutton() != 0) shutdown(1); // 48ms for Checking power-button.
+        } while(c == charcode_null);
+
+         switch(c){
+           case charcode_6:
+               scanflag = 0xff;
+               akc6955_do_scan(0xff);
+               break;
+           case charcode_4:
+               scanflag = 0xff;
+               akc6955_do_scan(0);
+               break;
+           case charcode_a:
+               akc6955_abort_scan();
+               goto _l0;
+               break;
+           case charcode_f:
+               goto _l0;
+               break;
+           default:
+               break;
+       }
+    } while(1);
+_l0:
+    _CLS();
+}
diff --git a/menu_setup.c b/menu_setup.c
new file mode 100644 (file)
index 0000000..3d94bb7
--- /dev/null
@@ -0,0 +1,139 @@
+/*
+ * OpenI2CRADIO
+ * Menu sub-routines / Setup.
+ * Copyright (C) 2013-09-11 K.Ohta <whatisthis.sowhat ai gmail.com>
+ * License: GPL2+LE
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2,
+ *  or (at your option) any later version.
+ *  This library / program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *  See the GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this library; see the file COPYING. If not, write to the
+ *  Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
+ *  MA 02110-1301, USA.
+ *
+ *  As a special exception, if you link this(includeed from sdcc) library
+ *  with other files, some of which are compiled with SDCC,
+ *  to produce an executable, this library does not by itself cause
+ *  the resulting executable to be covered by the GNU General Public License.
+ *  This exception does not however invalidate any other reasons why
+ *  the executable file might be covered by the GNU General Public License.
+ */
+
+#include "menu.h"
+#include "menu_memoryfreq.h"
+#include "power.h"
+#include "commondef.h"
+#include "backlight.h"
+
+void menu_save(void)
+{
+    unsigned char c;
+    c = printhelp_2lines("Save settings", "A=Yes");
+    if(c == charcode_a) {
+        save_eeprom();
+    }
+}
+
+void menu_load(void)
+{
+    unsigned char c;
+    c = printhelp_2lines("Load settings", "A=Yes B=Init");
+    if(c == charcode_a) {
+        c = load_eeprom();
+        if( c != 0xff) {
+            _CLS();
+            _LOCATE(0,0);
+            c = printhelp_2lines("X) Load Error", "A=Fix");
+            setdefault();
+            if(c == charcode_a){
+                save_eeprom();
+            }
+        }
+        setup_akc6955();
+    } else if(c == charcode_b){
+        setdefault();
+        setup_akc6955();
+    }
+}
+
+void setup_menu(void)
+{
+    unsigned char c;
+    unsigned long val;
+
+    c = printhelp_2lines("Setup F=HELP", "5=Return");
+    _CLS();
+    _LOCATE(0,0);
+    switch(c){
+        case charcode_3:
+            printstr("BL Level:");
+            val = read_numeric(setup.backlight_level, 3, 0,1);
+            if((val & 0x80000000) == 0) {
+                if(val > 255) val = 255;
+                if(val < 10) val = 15;
+                setup.backlight_level = (unsigned char)val;
+            }
+            break;
+        case charcode_4:
+            printstr("FM Bandwidth:");
+            akc6955_get_fmbandwidth(c);
+            setup.fmbandwidth = pollkey_numeric(c) & 3;
+            akc6955_set_fmbandwidth(setup.fmbandwidth);
+            break;
+        case charcode_5:
+            break;
+        case charcode_7:
+            printstr("FM-CNR:");
+            c = setup.threshold_fmcnr;
+            c = pollkey_numeric(c);
+            akc6955_set_thresh_fmcnr(c & 3);
+            break;
+        case charcode_8:
+            printstr("AM-CNR:");
+            c = setup.threshold_amcnr;
+            c = pollkey_numeric(c);
+            akc6955_set_thresh_amcnr(c & 3);
+            break;
+        case charcode_9:
+            printstr("Stereo th:");
+            c  = setup.threshold_fmstereo;
+            c = pollkey_numeric(c);
+            akc6955_set_thresh_fmstereo(c & 3);
+            break;
+        case charcode_0:
+            menu_poweroff();
+            break;
+        case charcode_a:
+            menu_load();
+            break;
+        case charcode_c:
+            menu_save();
+            break;
+        case charcode_d:
+            setdefault();
+            break;
+        case charcode_e:
+            printstr("BL Long:");
+            val = read_numeric(setup.backlight_long, 3, 0,1);
+            if((val & 0x80000000) == 0) {
+                if(val > 999) val = 999;
+                setup.backlight_long = val;
+            }
+            break;
+        case charcode_f:
+            setup_help();
+            break;
+        default:
+            break;
+    }
+    _CLS();
+    _LOCATE(0,0);
+}
+
diff --git a/menu_ui.h b/menu_ui.h
new file mode 100644 (file)
index 0000000..816f29d
--- /dev/null
+++ b/menu_ui.h
@@ -0,0 +1,51 @@
+/*
+ * OpenI2CRADIO
+ * MENU/UI Display
+ * Copyright (C) 2013-09-11 K.Ohta <whatisthis.sowhat ai gmail.com>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2,
+ *  or (at your option) any later version.
+ *  This library / program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *  See the GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this library; see the file COPYING. If not, write to the
+ *  Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
+ *  MA 02110-1301, USA.
+ *
+ *  As a special exception, if you link this(includeed from sdcc) library
+ *  with other files, some of which are compiled with SDCC,
+ *  to produce an executable, this library does not by itself cause
+ *  the resulting executable to be covered by the GNU General Public License.
+ *  This exception does not however invalidate any other reasons why
+ *  the executable file might be covered by the GNU General Public License.
+ */
+
+#ifndef MENU_UI_H
+#define        MENU_UI_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+    /*
+     * radio_getstat.c
+     */
+    extern void update_status(void);
+
+    /*
+     * ui_display.c
+     */
+    extern void print_freq(unsigned char y);
+    extern void update_display(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* MENU_UI_H */
+
diff --git a/menu_userband.c b/menu_userband.c
new file mode 100644 (file)
index 0000000..15bf293
--- /dev/null
@@ -0,0 +1,193 @@
+/*
+ * OpenI2CRADIO
+ * Menu sub-routines / USER BAND.
+ * Copyright (C) 2013-09-11 K.Ohta <whatisthis.sowhat ai gmail.com>
+ * License: GPL2+LE
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2,
+ *  or (at your option) any later version.
+ *  This library / program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *  See the GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this library; see the file COPYING. If not, write to the
+ *  Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
+ *  MA 02110-1301, USA.
+ *
+ *  As a special exception, if you link this(includeed from sdcc) library
+ *  with other files, some of which are compiled with SDCC,
+ *  to produce an executable, this library does not by itself cause
+ *  the resulting executable to be covered by the GNU General Public License.
+ *  This exception does not however invalidate any other reasons why
+ *  the executable file might be covered by the GNU General Public License.
+ */
+
+#include "menu.h"
+#include "menu_memoryfreq.h"
+#include "power.h"
+#include "commondef.h"
+#include "backlight.h"
+
+
+void call_userband(unsigned char num)
+{
+    unsigned int freq;
+    unsigned int ch;
+    unsigned char start;
+    unsigned char end;
+    unsigned char mode3k;
+    unsigned char freq2;
+    _userband_t *p;
+
+    if(num >= USER_BAND_NUM) return;
+
+    p = &(setup.am_usrbands[num]);
+    if(setup.fm != 0){
+        p = &(setup.fm_usrbands[num]);
+    }
+    freq = p->freq;
+    start = p->start;
+    end = p->stop;
+    mode3k = p->mode3k;
+    if(setup.fm != 0) {
+        ch = ((freq - 3000) / 5) * 2;
+        setup.fmband = AKC6955_BAND_FMUSER;
+    } else {
+        unsigned int q = 5;
+        if(mode3k != 0) q = 3;
+        ch = freq / q;
+        setup.amband = AKC6955_BAND_AMUSER;
+    }
+
+    if(start > end) {
+        unsigned char tmp;
+        tmp = start;
+        start = end;
+        end = tmp;
+    }
+
+    freq2 = ch / 32;
+    if(freq2 > end) {
+        ch = end * 32;
+    }
+    if(freq2 < start){
+        ch = start * 32;
+    }
+    akc6955_set_userband(start, end, ch, mode3k);
+}
+
+void set_userband(void)
+{
+    unsigned long from,to;
+    unsigned char c;
+    unsigned char pp;
+    unsigned char mode3k;
+    char cc;
+
+    _CLS();
+    _LOCATE(0,0);
+    c = 0;
+    printstr("User ch:");
+    c = pollkey_numeric(c);
+    if(c >= USER_BAND_NUM) return;
+
+    if(setup.fm != 0){
+        from = setup.fm_usrbands[c].start * 80 + 3000; // 32*25/10
+        to = setup.fm_usrbands[c].stop * 80 + 3000;
+        _CLS();
+        _LOCATE(0,0);
+        printstr("FM#");
+        print_numeric_nosupress(c, 1);
+        _LOCATE(0,1);
+        printstr(" From:");
+        from = read_numeric(from, 5, 7, 1);
+        if((from & 0x80000000) != 0) goto _l0;
+        _LOCATE(0,1);
+        printstr(" To:  ");
+        to = read_numeric(to, 5, 7, 1);
+        if((to & 0x80000000) != 0) goto _l0;
+        setup.fm_usrbands[c].start = (from - 3000) / 80;
+        setup.fm_usrbands[c].stop = (to - 3000) / 80;
+        setup.fm_usrbands[c].freq = from;
+        setup.fm_userbandnum = c;
+    } else {
+        mode3k = setup.am_usrbands[c].mode3k;
+        pp = 96; // 3*32
+        if(mode3k == 0) pp = 160; // 5*32
+        from = setup.am_usrbands[c].start * pp;
+        to = setup.am_usrbands[c].stop * pp;
+        _CLS();
+        _LOCATE(0,0);
+        printstr("AM#");
+        print_numeric_nosupress(c, 1);
+        printstr(" Step:");
+        _LOCATE(0,1);
+        printstr("0=3k 1=5k");
+        cc = pollkey_single();
+        if(cc == charcode_0){
+            pp = 96;
+            mode3k = 0xff;
+        } else if(cc = charcode_1) {
+            pp = 160;
+            mode3k = 0;
+        }
+        _CLS();
+        _LOCATE(0,0);
+        printstr("AM#");
+        print_numeric_nosupress(c, 1);
+        _LOCATE(0,1);
+        printstr(" From:");
+        from = read_numeric(from, 5, 7, 1);
+        if((from & 0x80000000) != 0) goto _l0;
+        _LOCATE(0,1);
+        printstr(" To:  ");
+        to = read_numeric(to, 5, 7, 1);
+        if((to & 0x80000000) != 0) goto _l0;
+        setup.am_usrbands[c].start = from / pp;
+        setup.am_usrbands[c].stop = to  / pp;
+        setup.am_usrbands[c].mode3k = mode3k;
+        setup.am_usrbands[c].freq = from;
+        setup.am_userbandnum = c;
+    }
+    call_userband(c);
+_l0:
+    _CLS();
+}
+
+void input_userband(void)
+{
+    unsigned char c;
+    do{
+    c = printhelp_2lines("User Band", "   #");
+    if((c >= charcode_a) && (c <= charcode_f)){
+        break;
+    }
+    if(c == charcode_0) {
+        _PUTCHAR('0');
+        if(setup.fm != 0){
+           setup.fm_userbandnum = 0;
+        } else {
+           setup.am_userbandnum = 0;
+        }
+        call_userband(0);
+    } else {
+        c = c - charcode_1 + 1;
+        if(c < USER_BAND_NUM) {
+            _PUTCHAR(c + '0');
+            if(setup.fm != 0){
+               setup.fm_userbandnum = c;
+            } else {
+                setup.am_userbandnum = c;
+            }
+            call_userband(c);
+        }
+    }
+    idle(setup.ui_idlecount);
+    } while(1);
+    _CLS();
+}
+
diff --git a/menu_volume.c b/menu_volume.c
new file mode 100644 (file)
index 0000000..901e8f8
--- /dev/null
@@ -0,0 +1,119 @@
+/*
+ * OpenI2CRADIO
+ * Menu sub-routines/Volume setrting.
+ * Copyright (C) 2013-09-11 K.Ohta <whatisthis.sowhat ai gmail.com>
+ * License: GPL2+LE
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2,
+ *  or (at your option) any later version.
+ *  This library / program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *  See the GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this library; see the file COPYING. If not, write to the
+ *  Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
+ *  MA 02110-1301, USA.
+ *
+ *  As a special exception, if you link this(includeed from sdcc) library
+ *  with other files, some of which are compiled with SDCC,
+ *  to produce an executable, this library does not by itself cause
+ *  the resulting executable to be covered by the GNU General Public License.
+ *  This exception does not however invalidate any other reasons why
+ *  the executable file might be covered by the GNU General Public License.
+ */
+
+#include "menu.h"
+#include "menu_memoryfreq.h"
+#include "power.h"
+#include "commondef.h"
+#include "backlight.h"
+
+
+
+void set_volume(void)
+{
+    unsigned char c;
+    unsigned char d;
+    unsigned char fact;
+    unsigned char dispf = 0xff;
+
+    _CLS();
+    do {
+        if(dispf != 0) {
+            _LOCATE(0,0);
+             d = akc6955_getvolumemode();
+            if(d == 0){
+                 _PUTCHAR('D');
+            } else {
+                 _PUTCHAR('K');
+            }
+            printstr(" Vol:");
+            print_numeric_nosupress(setup.volume, 2);
+            printstr("  F:Exit");
+            _LOCATE(0,1);
+            printstr("Pre:");
+            _PUTCHAR('0' + (setup.prevolume & 3));
+            _LOCATE(16-4, 1);
+            if(setup.lowboost == 0x00){
+                 printstr("   ");
+            } else {
+                 printstr("LOW");
+         }
+            _HOME();
+        }
+     c = pollkey_single_timeout(41, 1); // 943ms
+     backlight_reset(c);
+     dispf = backlight_dec(dispf);
+
+     switch(c) {
+             case charcode_6:
+                 setup.volume++;
+                 if(setup.volume > 63) setup.volume = 63;
+                 akc6955_setvolume(setup.volume);
+                 break;
+             case charcode_4:
+                 setup.volume--;
+                 if(setup.volume < 23) setup.volume = 23;
+                 akc6955_setvolume(setup.volume);
+                 break;
+             case charcode_f:
+                 _CLS();
+                 return;
+             case charcode_a:
+                 fact = 0xff;
+                 if(d != 0){
+                     fact = 0x00;
+                 }
+                 akc6955_setvolumemode(fact);
+                 akc6955_setvolume(setup.volume);
+                 break;
+             case charcode_b:
+                 setup.prevolume++;
+                 if(setup.prevolume > 3) setup.prevolume = 0;
+                 akc6955_set_prevolume(setup.prevolume);
+                 akc6955_setvolume(setup.volume);
+                 break;
+             case charcode_d:
+                 fact = 0x00;
+                 if(setup.lowboost == 0x00){
+                     fact = 0xff;
+                 }
+                 setup.lowboost = fact;
+                 akc6955_set_lowboost(setup.lowboost);
+                 akc6955_setvolume(setup.volume);
+                 break;
+             default:
+                 break;
+         }
+         if(setup.volume < 24){
+             set_examp_mute(1);
+        } else {
+             set_examp_mute(0);
+        }
+        idle_time_ms(9); // Pad.
+    } while(1);
+}
index 0987f66..3fb301f 100644 (file)
@@ -45,17 +45,17 @@ OBJECTDIR=build/${CND_CONF}/${IMAGE_TYPE}
 DISTDIR=dist/${CND_CONF}/${IMAGE_TYPE}
 
 # Source Files Quoted if spaced
-SOURCEFILES_QUOTED_IF_SPACED=ui.c i2c_io.c main.c idle.c lcd_acm1602.c akc6955.c eeprom.c ioports.c menu.c power.c adc_int.c menu_defs.c eepromutil.c ui_updown.c ui_display.c radio_getstat.c helps.c menu_memoryfreq.c i2c_eeprom.c backlight.c
+SOURCEFILES_QUOTED_IF_SPACED=ui.c i2c_io.c main.c idle.c lcd_acm1602.c akc6955.c eeprom.c ioports.c menu.c power.c adc_int.c menu_defs.c eepromutil.c ui_updown.c ui_display.c radio_getstat.c helps.c menu_memoryfreq.c i2c_eeprom.c backlight.c menu_scan.c menu_setup.c menu_userband.c menu_volume.c
 
 # Object Files Quoted if spaced
-OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/ui.p1 ${OBJECTDIR}/i2c_io.p1 ${OBJECTDIR}/main.p1 ${OBJECTDIR}/idle.p1 ${OBJECTDIR}/lcd_acm1602.p1 ${OBJECTDIR}/akc6955.p1 ${OBJECTDIR}/eeprom.p1 ${OBJECTDIR}/ioports.p1 ${OBJECTDIR}/menu.p1 ${OBJECTDIR}/power.p1 ${OBJECTDIR}/adc_int.p1 ${OBJECTDIR}/menu_defs.p1 ${OBJECTDIR}/eepromutil.p1 ${OBJECTDIR}/ui_updown.p1 ${OBJECTDIR}/ui_display.p1 ${OBJECTDIR}/radio_getstat.p1 ${OBJECTDIR}/helps.p1 ${OBJECTDIR}/menu_memoryfreq.p1 ${OBJECTDIR}/i2c_eeprom.p1 ${OBJECTDIR}/backlight.p1
-POSSIBLE_DEPFILES=${OBJECTDIR}/ui.p1.d ${OBJECTDIR}/i2c_io.p1.d ${OBJECTDIR}/main.p1.d ${OBJECTDIR}/idle.p1.d ${OBJECTDIR}/lcd_acm1602.p1.d ${OBJECTDIR}/akc6955.p1.d ${OBJECTDIR}/eeprom.p1.d ${OBJECTDIR}/ioports.p1.d ${OBJECTDIR}/menu.p1.d ${OBJECTDIR}/power.p1.d ${OBJECTDIR}/adc_int.p1.d ${OBJECTDIR}/menu_defs.p1.d ${OBJECTDIR}/eepromutil.p1.d ${OBJECTDIR}/ui_updown.p1.d ${OBJECTDIR}/ui_display.p1.d ${OBJECTDIR}/radio_getstat.p1.d ${OBJECTDIR}/helps.p1.d ${OBJECTDIR}/menu_memoryfreq.p1.d ${OBJECTDIR}/i2c_eeprom.p1.d ${OBJECTDIR}/backlight.p1.d
+OBJECTFILES_QUOTED_IF_SPACED=${OBJECTDIR}/ui.p1 ${OBJECTDIR}/i2c_io.p1 ${OBJECTDIR}/main.p1 ${OBJECTDIR}/idle.p1 ${OBJECTDIR}/lcd_acm1602.p1 ${OBJECTDIR}/akc6955.p1 ${OBJECTDIR}/eeprom.p1 ${OBJECTDIR}/ioports.p1 ${OBJECTDIR}/menu.p1 ${OBJECTDIR}/power.p1 ${OBJECTDIR}/adc_int.p1 ${OBJECTDIR}/menu_defs.p1 ${OBJECTDIR}/eepromutil.p1 ${OBJECTDIR}/ui_updown.p1 ${OBJECTDIR}/ui_display.p1 ${OBJECTDIR}/radio_getstat.p1 ${OBJECTDIR}/helps.p1 ${OBJECTDIR}/menu_memoryfreq.p1 ${OBJECTDIR}/i2c_eeprom.p1 ${OBJECTDIR}/backlight.p1 ${OBJECTDIR}/menu_scan.p1 ${OBJECTDIR}/menu_setup.p1 ${OBJECTDIR}/menu_userband.p1 ${OBJECTDIR}/menu_volume.p1
+POSSIBLE_DEPFILES=${OBJECTDIR}/ui.p1.d ${OBJECTDIR}/i2c_io.p1.d ${OBJECTDIR}/main.p1.d ${OBJECTDIR}/idle.p1.d ${OBJECTDIR}/lcd_acm1602.p1.d ${OBJECTDIR}/akc6955.p1.d ${OBJECTDIR}/eeprom.p1.d ${OBJECTDIR}/ioports.p1.d ${OBJECTDIR}/menu.p1.d ${OBJECTDIR}/power.p1.d ${OBJECTDIR}/adc_int.p1.d ${OBJECTDIR}/menu_defs.p1.d ${OBJECTDIR}/eepromutil.p1.d ${OBJECTDIR}/ui_updown.p1.d ${OBJECTDIR}/ui_display.p1.d ${OBJECTDIR}/radio_getstat.p1.d ${OBJECTDIR}/helps.p1.d ${OBJECTDIR}/menu_memoryfreq.p1.d ${OBJECTDIR}/i2c_eeprom.p1.d ${OBJECTDIR}/backlight.p1.d ${OBJECTDIR}/menu_scan.p1.d ${OBJECTDIR}/menu_setup.p1.d ${OBJECTDIR}/menu_userband.p1.d ${OBJECTDIR}/menu_volume.p1.d
 
 # Object Files
-OBJECTFILES=${OBJECTDIR}/ui.p1 ${OBJECTDIR}/i2c_io.p1 ${OBJECTDIR}/main.p1 ${OBJECTDIR}/idle.p1 ${OBJECTDIR}/lcd_acm1602.p1 ${OBJECTDIR}/akc6955.p1 ${OBJECTDIR}/eeprom.p1 ${OBJECTDIR}/ioports.p1 ${OBJECTDIR}/menu.p1 ${OBJECTDIR}/power.p1 ${OBJECTDIR}/adc_int.p1 ${OBJECTDIR}/menu_defs.p1 ${OBJECTDIR}/eepromutil.p1 ${OBJECTDIR}/ui_updown.p1 ${OBJECTDIR}/ui_display.p1 ${OBJECTDIR}/radio_getstat.p1 ${OBJECTDIR}/helps.p1 ${OBJECTDIR}/menu_memoryfreq.p1 ${OBJECTDIR}/i2c_eeprom.p1 ${OBJECTDIR}/backlight.p1
+OBJECTFILES=${OBJECTDIR}/ui.p1 ${OBJECTDIR}/i2c_io.p1 ${OBJECTDIR}/main.p1 ${OBJECTDIR}/idle.p1 ${OBJECTDIR}/lcd_acm1602.p1 ${OBJECTDIR}/akc6955.p1 ${OBJECTDIR}/eeprom.p1 ${OBJECTDIR}/ioports.p1 ${OBJECTDIR}/menu.p1 ${OBJECTDIR}/power.p1 ${OBJECTDIR}/adc_int.p1 ${OBJECTDIR}/menu_defs.p1 ${OBJECTDIR}/eepromutil.p1 ${OBJECTDIR}/ui_updown.p1 ${OBJECTDIR}/ui_display.p1 ${OBJECTDIR}/radio_getstat.p1 ${OBJECTDIR}/helps.p1 ${OBJECTDIR}/menu_memoryfreq.p1 ${OBJECTDIR}/i2c_eeprom.p1 ${OBJECTDIR}/backlight.p1 ${OBJECTDIR}/menu_scan.p1 ${OBJECTDIR}/menu_setup.p1 ${OBJECTDIR}/menu_userband.p1 ${OBJECTDIR}/menu_volume.p1
 
 # Source Files
-SOURCEFILES=ui.c i2c_io.c main.c idle.c lcd_acm1602.c akc6955.c eeprom.c ioports.c menu.c power.c adc_int.c menu_defs.c eepromutil.c ui_updown.c ui_display.c radio_getstat.c helps.c menu_memoryfreq.c i2c_eeprom.c backlight.c
+SOURCEFILES=ui.c i2c_io.c main.c idle.c lcd_acm1602.c akc6955.c eeprom.c ioports.c menu.c power.c adc_int.c menu_defs.c eepromutil.c ui_updown.c ui_display.c radio_getstat.c helps.c menu_memoryfreq.c i2c_eeprom.c backlight.c menu_scan.c menu_setup.c menu_userband.c menu_volume.c
 
 
 CFLAGS=
@@ -81,284 +81,340 @@ ifeq ($(TYPE_IMAGE), DEBUG_RUN)
 ${OBJECTDIR}/ui.p1: ui.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/ui.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/ui.p1  ui.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/ui.p1  ui.c 
        @-${MV} ${OBJECTDIR}/ui.d ${OBJECTDIR}/ui.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/ui.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/i2c_io.p1: i2c_io.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/i2c_io.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/i2c_io.p1  i2c_io.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/i2c_io.p1  i2c_io.c 
        @-${MV} ${OBJECTDIR}/i2c_io.d ${OBJECTDIR}/i2c_io.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/i2c_io.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/main.p1: main.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/main.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/main.p1  main.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/main.p1  main.c 
        @-${MV} ${OBJECTDIR}/main.d ${OBJECTDIR}/main.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/main.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/idle.p1: idle.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/idle.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/idle.p1  idle.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/idle.p1  idle.c 
        @-${MV} ${OBJECTDIR}/idle.d ${OBJECTDIR}/idle.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/idle.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/lcd_acm1602.p1: lcd_acm1602.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/lcd_acm1602.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/lcd_acm1602.p1  lcd_acm1602.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/lcd_acm1602.p1  lcd_acm1602.c 
        @-${MV} ${OBJECTDIR}/lcd_acm1602.d ${OBJECTDIR}/lcd_acm1602.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/lcd_acm1602.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/akc6955.p1: akc6955.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/akc6955.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/akc6955.p1  akc6955.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/akc6955.p1  akc6955.c 
        @-${MV} ${OBJECTDIR}/akc6955.d ${OBJECTDIR}/akc6955.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/akc6955.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/eeprom.p1: eeprom.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/eeprom.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/eeprom.p1  eeprom.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/eeprom.p1  eeprom.c 
        @-${MV} ${OBJECTDIR}/eeprom.d ${OBJECTDIR}/eeprom.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/eeprom.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/ioports.p1: ioports.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/ioports.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/ioports.p1  ioports.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/ioports.p1  ioports.c 
        @-${MV} ${OBJECTDIR}/ioports.d ${OBJECTDIR}/ioports.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/ioports.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/menu.p1: menu.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/menu.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/menu.p1  menu.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/menu.p1  menu.c 
        @-${MV} ${OBJECTDIR}/menu.d ${OBJECTDIR}/menu.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/menu.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/power.p1: power.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/power.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/power.p1  power.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/power.p1  power.c 
        @-${MV} ${OBJECTDIR}/power.d ${OBJECTDIR}/power.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/power.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/adc_int.p1: adc_int.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/adc_int.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/adc_int.p1  adc_int.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/adc_int.p1  adc_int.c 
        @-${MV} ${OBJECTDIR}/adc_int.d ${OBJECTDIR}/adc_int.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/adc_int.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/menu_defs.p1: menu_defs.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/menu_defs.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/menu_defs.p1  menu_defs.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/menu_defs.p1  menu_defs.c 
        @-${MV} ${OBJECTDIR}/menu_defs.d ${OBJECTDIR}/menu_defs.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/menu_defs.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/eepromutil.p1: eepromutil.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/eepromutil.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/eepromutil.p1  eepromutil.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/eepromutil.p1  eepromutil.c 
        @-${MV} ${OBJECTDIR}/eepromutil.d ${OBJECTDIR}/eepromutil.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/eepromutil.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/ui_updown.p1: ui_updown.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/ui_updown.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/ui_updown.p1  ui_updown.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/ui_updown.p1  ui_updown.c 
        @-${MV} ${OBJECTDIR}/ui_updown.d ${OBJECTDIR}/ui_updown.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/ui_updown.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/ui_display.p1: ui_display.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/ui_display.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/ui_display.p1  ui_display.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/ui_display.p1  ui_display.c 
        @-${MV} ${OBJECTDIR}/ui_display.d ${OBJECTDIR}/ui_display.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/ui_display.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/radio_getstat.p1: radio_getstat.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/radio_getstat.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/radio_getstat.p1  radio_getstat.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/radio_getstat.p1  radio_getstat.c 
        @-${MV} ${OBJECTDIR}/radio_getstat.d ${OBJECTDIR}/radio_getstat.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/radio_getstat.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/helps.p1: helps.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/helps.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/helps.p1  helps.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/helps.p1  helps.c 
        @-${MV} ${OBJECTDIR}/helps.d ${OBJECTDIR}/helps.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/helps.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/menu_memoryfreq.p1: menu_memoryfreq.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/menu_memoryfreq.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/menu_memoryfreq.p1  menu_memoryfreq.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/menu_memoryfreq.p1  menu_memoryfreq.c 
        @-${MV} ${OBJECTDIR}/menu_memoryfreq.d ${OBJECTDIR}/menu_memoryfreq.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/menu_memoryfreq.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/i2c_eeprom.p1: i2c_eeprom.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/i2c_eeprom.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/i2c_eeprom.p1  i2c_eeprom.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/i2c_eeprom.p1  i2c_eeprom.c 
        @-${MV} ${OBJECTDIR}/i2c_eeprom.d ${OBJECTDIR}/i2c_eeprom.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/i2c_eeprom.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/backlight.p1: backlight.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/backlight.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/backlight.p1  backlight.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/backlight.p1  backlight.c 
        @-${MV} ${OBJECTDIR}/backlight.d ${OBJECTDIR}/backlight.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/backlight.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
+${OBJECTDIR}/menu_scan.p1: menu_scan.c  nbproject/Makefile-${CND_CONF}.mk
+       @${MKDIR} ${OBJECTDIR} 
+       @${RM} ${OBJECTDIR}/menu_scan.p1.d 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/menu_scan.p1  menu_scan.c 
+       @-${MV} ${OBJECTDIR}/menu_scan.d ${OBJECTDIR}/menu_scan.p1.d 
+       @${FIXDEPS} ${OBJECTDIR}/menu_scan.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
+       
+${OBJECTDIR}/menu_setup.p1: menu_setup.c  nbproject/Makefile-${CND_CONF}.mk
+       @${MKDIR} ${OBJECTDIR} 
+       @${RM} ${OBJECTDIR}/menu_setup.p1.d 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/menu_setup.p1  menu_setup.c 
+       @-${MV} ${OBJECTDIR}/menu_setup.d ${OBJECTDIR}/menu_setup.p1.d 
+       @${FIXDEPS} ${OBJECTDIR}/menu_setup.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
+       
+${OBJECTDIR}/menu_userband.p1: menu_userband.c  nbproject/Makefile-${CND_CONF}.mk
+       @${MKDIR} ${OBJECTDIR} 
+       @${RM} ${OBJECTDIR}/menu_userband.p1.d 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/menu_userband.p1  menu_userband.c 
+       @-${MV} ${OBJECTDIR}/menu_userband.d ${OBJECTDIR}/menu_userband.p1.d 
+       @${FIXDEPS} ${OBJECTDIR}/menu_userband.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
+       
+${OBJECTDIR}/menu_volume.p1: menu_volume.c  nbproject/Makefile-${CND_CONF}.mk
+       @${MKDIR} ${OBJECTDIR} 
+       @${RM} ${OBJECTDIR}/menu_volume.p1.d 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/menu_volume.p1  menu_volume.c 
+       @-${MV} ${OBJECTDIR}/menu_volume.d ${OBJECTDIR}/menu_volume.p1.d 
+       @${FIXDEPS} ${OBJECTDIR}/menu_volume.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
+       
 else
 ${OBJECTDIR}/ui.p1: ui.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/ui.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/ui.p1  ui.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/ui.p1  ui.c 
        @-${MV} ${OBJECTDIR}/ui.d ${OBJECTDIR}/ui.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/ui.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/i2c_io.p1: i2c_io.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/i2c_io.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/i2c_io.p1  i2c_io.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/i2c_io.p1  i2c_io.c 
        @-${MV} ${OBJECTDIR}/i2c_io.d ${OBJECTDIR}/i2c_io.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/i2c_io.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/main.p1: main.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/main.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/main.p1  main.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/main.p1  main.c 
        @-${MV} ${OBJECTDIR}/main.d ${OBJECTDIR}/main.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/main.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/idle.p1: idle.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/idle.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/idle.p1  idle.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/idle.p1  idle.c 
        @-${MV} ${OBJECTDIR}/idle.d ${OBJECTDIR}/idle.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/idle.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/lcd_acm1602.p1: lcd_acm1602.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/lcd_acm1602.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/lcd_acm1602.p1  lcd_acm1602.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/lcd_acm1602.p1  lcd_acm1602.c 
        @-${MV} ${OBJECTDIR}/lcd_acm1602.d ${OBJECTDIR}/lcd_acm1602.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/lcd_acm1602.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/akc6955.p1: akc6955.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/akc6955.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/akc6955.p1  akc6955.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/akc6955.p1  akc6955.c 
        @-${MV} ${OBJECTDIR}/akc6955.d ${OBJECTDIR}/akc6955.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/akc6955.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/eeprom.p1: eeprom.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/eeprom.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/eeprom.p1  eeprom.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/eeprom.p1  eeprom.c 
        @-${MV} ${OBJECTDIR}/eeprom.d ${OBJECTDIR}/eeprom.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/eeprom.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/ioports.p1: ioports.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/ioports.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/ioports.p1  ioports.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/ioports.p1  ioports.c 
        @-${MV} ${OBJECTDIR}/ioports.d ${OBJECTDIR}/ioports.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/ioports.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/menu.p1: menu.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/menu.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/menu.p1  menu.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/menu.p1  menu.c 
        @-${MV} ${OBJECTDIR}/menu.d ${OBJECTDIR}/menu.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/menu.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/power.p1: power.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/power.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/power.p1  power.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/power.p1  power.c 
        @-${MV} ${OBJECTDIR}/power.d ${OBJECTDIR}/power.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/power.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/adc_int.p1: adc_int.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/adc_int.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/adc_int.p1  adc_int.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/adc_int.p1  adc_int.c 
        @-${MV} ${OBJECTDIR}/adc_int.d ${OBJECTDIR}/adc_int.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/adc_int.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/menu_defs.p1: menu_defs.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/menu_defs.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/menu_defs.p1  menu_defs.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/menu_defs.p1  menu_defs.c 
        @-${MV} ${OBJECTDIR}/menu_defs.d ${OBJECTDIR}/menu_defs.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/menu_defs.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/eepromutil.p1: eepromutil.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/eepromutil.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/eepromutil.p1  eepromutil.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/eepromutil.p1  eepromutil.c 
        @-${MV} ${OBJECTDIR}/eepromutil.d ${OBJECTDIR}/eepromutil.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/eepromutil.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/ui_updown.p1: ui_updown.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/ui_updown.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/ui_updown.p1  ui_updown.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/ui_updown.p1  ui_updown.c 
        @-${MV} ${OBJECTDIR}/ui_updown.d ${OBJECTDIR}/ui_updown.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/ui_updown.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/ui_display.p1: ui_display.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/ui_display.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/ui_display.p1  ui_display.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/ui_display.p1  ui_display.c 
        @-${MV} ${OBJECTDIR}/ui_display.d ${OBJECTDIR}/ui_display.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/ui_display.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/radio_getstat.p1: radio_getstat.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/radio_getstat.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/radio_getstat.p1  radio_getstat.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/radio_getstat.p1  radio_getstat.c 
        @-${MV} ${OBJECTDIR}/radio_getstat.d ${OBJECTDIR}/radio_getstat.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/radio_getstat.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/helps.p1: helps.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/helps.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/helps.p1  helps.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/helps.p1  helps.c 
        @-${MV} ${OBJECTDIR}/helps.d ${OBJECTDIR}/helps.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/helps.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/menu_memoryfreq.p1: menu_memoryfreq.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/menu_memoryfreq.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/menu_memoryfreq.p1  menu_memoryfreq.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/menu_memoryfreq.p1  menu_memoryfreq.c 
        @-${MV} ${OBJECTDIR}/menu_memoryfreq.d ${OBJECTDIR}/menu_memoryfreq.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/menu_memoryfreq.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/i2c_eeprom.p1: i2c_eeprom.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/i2c_eeprom.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/i2c_eeprom.p1  i2c_eeprom.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/i2c_eeprom.p1  i2c_eeprom.c 
        @-${MV} ${OBJECTDIR}/i2c_eeprom.d ${OBJECTDIR}/i2c_eeprom.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/i2c_eeprom.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
 ${OBJECTDIR}/backlight.p1: backlight.c  nbproject/Makefile-${CND_CONF}.mk
        @${MKDIR} ${OBJECTDIR} 
        @${RM} ${OBJECTDIR}/backlight.p1.d 
-       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/backlight.p1  backlight.c 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/backlight.p1  backlight.c 
        @-${MV} ${OBJECTDIR}/backlight.d ${OBJECTDIR}/backlight.p1.d 
        @${FIXDEPS} ${OBJECTDIR}/backlight.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
        
+${OBJECTDIR}/menu_scan.p1: menu_scan.c  nbproject/Makefile-${CND_CONF}.mk
+       @${MKDIR} ${OBJECTDIR} 
+       @${RM} ${OBJECTDIR}/menu_scan.p1.d 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/menu_scan.p1  menu_scan.c 
+       @-${MV} ${OBJECTDIR}/menu_scan.d ${OBJECTDIR}/menu_scan.p1.d 
+       @${FIXDEPS} ${OBJECTDIR}/menu_scan.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
+       
+${OBJECTDIR}/menu_setup.p1: menu_setup.c  nbproject/Makefile-${CND_CONF}.mk
+       @${MKDIR} ${OBJECTDIR} 
+       @${RM} ${OBJECTDIR}/menu_setup.p1.d 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/menu_setup.p1  menu_setup.c 
+       @-${MV} ${OBJECTDIR}/menu_setup.d ${OBJECTDIR}/menu_setup.p1.d 
+       @${FIXDEPS} ${OBJECTDIR}/menu_setup.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
+       
+${OBJECTDIR}/menu_userband.p1: menu_userband.c  nbproject/Makefile-${CND_CONF}.mk
+       @${MKDIR} ${OBJECTDIR} 
+       @${RM} ${OBJECTDIR}/menu_userband.p1.d 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/menu_userband.p1  menu_userband.c 
+       @-${MV} ${OBJECTDIR}/menu_userband.d ${OBJECTDIR}/menu_userband.p1.d 
+       @${FIXDEPS} ${OBJECTDIR}/menu_userband.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
+       
+${OBJECTDIR}/menu_volume.p1: menu_volume.c  nbproject/Makefile-${CND_CONF}.mk
+       @${MKDIR} ${OBJECTDIR} 
+       @${RM} ${OBJECTDIR}/menu_volume.p1.d 
+       ${MP_CC} --pass1 $(MP_EXTRA_CC_PRE) --chip=$(MP_PROCESSOR_OPTION) -Q -G  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"  -o${OBJECTDIR}/menu_volume.p1  menu_volume.c 
+       @-${MV} ${OBJECTDIR}/menu_volume.d ${OBJECTDIR}/menu_volume.p1.d 
+       @${FIXDEPS} ${OBJECTDIR}/menu_volume.p1.d $(SILENT) -rsi ${MP_CC_DIR}../  
+       
 endif
 
 # ------------------------------------------------------------------------------------
@@ -372,13 +428,13 @@ endif
 ifeq ($(TYPE_IMAGE), DEBUG_RUN)
 dist/${CND_CONF}/${IMAGE_TYPE}/OPENI2CRADIO_6955.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk    
        @${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} 
-       ${MP_CC} $(MP_EXTRA_LD_PRE) --chip=$(MP_PROCESSOR_OPTION) -G -mdist/${CND_CONF}/${IMAGE_TYPE}/OPENI2CRADIO_6955.X.${IMAGE_TYPE}.map  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"   --rom=default,-7dc0-7fff --ram=default,-5f4-5ff,-f9c-f9c,-fd4-fd4,-fdb-fdf,-fe3-fe7,-feb-fef,-ffd-fff  -odist/${CND_CONF}/${IMAGE_TYPE}/OPENI2CRADIO_6955.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}     
+       ${MP_CC} $(MP_EXTRA_LD_PRE) --chip=$(MP_PROCESSOR_OPTION) -G -mdist/${CND_CONF}/${IMAGE_TYPE}/OPENI2CRADIO_6955.X.${IMAGE_TYPE}.map  -D__DEBUG=1 --debugger=pickit3  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"   --rom=default,-7dc0-7fff --ram=default,-5f4-5ff,-f9c-f9c,-fd4-fd4,-fdb-fdf,-fe3-fe7,-feb-fef,-ffd-fff  -odist/${CND_CONF}/${IMAGE_TYPE}/OPENI2CRADIO_6955.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}     
        @${RM} dist/${CND_CONF}/${IMAGE_TYPE}/OPENI2CRADIO_6955.X.${IMAGE_TYPE}.hex 
        
 else
 dist/${CND_CONF}/${IMAGE_TYPE}/OPENI2CRADIO_6955.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES}  nbproject/Makefile-${CND_CONF}.mk   
        @${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE} 
-       ${MP_CC} $(MP_EXTRA_LD_PRE) --chip=$(MP_PROCESSOR_OPTION) -G -mdist/${CND_CONF}/${IMAGE_TYPE}/OPENI2CRADIO_6955.X.${IMAGE_TYPE}.map  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,+speed,-space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"   -odist/${CND_CONF}/${IMAGE_TYPE}/OPENI2CRADIO_6955.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}     
+       ${MP_CC} $(MP_EXTRA_LD_PRE) --chip=$(MP_PROCESSOR_OPTION) -G -mdist/${CND_CONF}/${IMAGE_TYPE}/OPENI2CRADIO_6955.X.${IMAGE_TYPE}.map  --double=24 --float=24 --emi=wordwrite --opt=default,+asm,+asmfile,-speed,+space,-debug --addrqual=require --mode=free -P -N255 --warn=0 --asmlist --summary=default,-psect,-class,+mem,-hex,-file --output=default,-inhx032 --runtime=default,+clear,+init,-keep,-no_startup,-download,-config,+clib,+plib --output=-mcof,+elf "--errformat=%f:%l: error: %s" "--warnformat=%f:%l: warning: %s" "--msgformat=%f:%l: advisory: %s"   -odist/${CND_CONF}/${IMAGE_TYPE}/OPENI2CRADIO_6955.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX}  ${OBJECTFILES_QUOTED_IF_SPACED}     
        
        @echo Normalizing hex file
        @"/opt/microchip/mplabx/mplab_ide/mplab_ide/modules/../../bin/hexmate" --edf="/opt/microchip/mplabx/mplab_ide/mplab_ide/modules/../../dat/en_msgs.txt" dist/${CND_CONF}/${IMAGE_TYPE}/OPENI2CRADIO_6955.X.${IMAGE_TYPE}.hex -odist/${CND_CONF}/${IMAGE_TYPE}/OPENI2CRADIO_6955.X.${IMAGE_TYPE}.hex
index 88e109a..27da133 100644 (file)
@@ -1,5 +1,5 @@
 #
-#Fri Sep 06 01:24:33 JST 2013
+#Thu Sep 12 00:34:49 JST 2013
 default.languagetoolchain.dir=/opt/microchip/xc8/v1.20/bin
 com-microchip-mplab-nbide-embedded-makeproject-MakeProject.md5=1c49f19f6a43b876c317e0d8d41c0854
 default.languagetoolchain.version=1.20
index de64b6f..60b0a1c 100644 (file)
     <itemPath>i2c_eeprom.h</itemPath>
     <itemPath>backlight.c</itemPath>
     <itemPath>backlight.h</itemPath>
+    <itemPath>menu_scan.c</itemPath>
+    <itemPath>menu_setup.c</itemPath>
+    <itemPath>menu_userband.c</itemPath>
+    <itemPath>menu_volume.c</itemPath>
+    <itemPath>eeprom_util.h</itemPath>
+    <itemPath>menu_ui.h</itemPath>
   </logicalFolder>
   <sourceRootList>
     <Elem>/usr/local/share/sdcc/lib/src/pic16/libc</Elem>
         <property key="optimization-global" value="true"/>
         <property key="optimization-level" value="9"/>
         <property key="optimization-set" value="default"/>
-        <property key="optimization-speed" value="true"/>
+        <property key="optimization-speed" value="false"/>
         <property key="preprocess-assembler" value="true"/>
         <property key="undefine-macros" value=""/>
         <property key="use-cci" value="false"/>
diff --git a/ui.c b/ui.c
index 6a3ba64..ef51ed9 100644 (file)
--- a/ui.c
+++ b/ui.c
@@ -131,26 +131,26 @@ void printstr(char *s)
 
 
 
-void uint2bcd(unsigned long data, unsigned char *bcd)
+static void uint2bcd(unsigned long data, unsigned char *bcd)
 {
     unsigned char i;
     unsigned char j;
 
-    for(i = 0; i < 5; i++){
+    for(i = 0; i <= 10; i++){
         bcd[i] = data % 10;
         data = data / 10;
     }
-    bcd[5] = 0;
+    bcd[10] = 0;
 }
 
 void print_numeric_nosupress(unsigned long data, unsigned char digit)
 {
     unsigned char i;
-    unsigned char bcd[6];
+    unsigned char bcd[11];
 
 
     if(digit == 0) return;
-    if(digit >= 5) digit = 5;
+    if(digit > 10) digit = 10;
     uint2bcd(data, bcd);
     for(i = digit; i > 0; i--){
         _PUTCHAR('0' + bcd[i - 1]);
@@ -162,17 +162,24 @@ void print_numeric_nosupress(unsigned long data, unsigned char digit)
 unsigned long subst_numeric(unsigned long start, unsigned char pos, unsigned char c)
 {
     unsigned long val;
-    unsigned char bcd[6];
+    unsigned char bcd[11];
     char i;
+    unsigned long fact;
 
-    if(pos > 4) pos = 4;
+    if(pos > 10) pos = 10;
     uint2bcd(start, bcd);
     bcd[pos] = c;
-    val = bcd[0] + bcd[1] * 10 + bcd[2] * 100 + bcd[3] * 1000 + bcd[4] * 10000;
+    
+    fact = 1;
+    val = 0;
+    for(i = 0; i < 11; i++){
+        val = val + (bcd[i] * fact);
+        fact = fact * 10;
+    }
     return val;
 }
 
-unsigned int read_numeric(unsigned int initial, unsigned char digit,
+unsigned long read_numeric(unsigned int initial, unsigned char digit,
         char startx, char starty)
 {
     unsigned char c;
@@ -210,9 +217,7 @@ unsigned int read_numeric(unsigned int initial, unsigned char digit,
             i++;
         } else if(c == charcode_b) {
             // cancel
-            val = initial;
-            i = d;
-            break;
+            return 0xffffffff;
         }  else if(c == charcode_e) {
             i++;
         } else if(c == charcode_d) {
@@ -222,8 +227,8 @@ unsigned int read_numeric(unsigned int initial, unsigned char digit,
        if(i > d) i = d;
     } while(1);
     _CURSOR_OFF();
-    if(val > 65535) val = 65535;
-    return (unsigned int)val;
+    if(val > 0x7fffffff) val = 0x7fffffff;
+    return val;
 }
 
 unsigned char readkey_compare(void)
@@ -273,48 +278,6 @@ unsigned char readkey(void)
     return pop_keyinfifo();
 }
 
-/*
- * Polling key
- * Max = 32bytes;
- * 0 = Timeout
- * 1~32 = Received.
- * if((limit * 23ms) elapsed), break;
- */
-unsigned char pollkeys(unsigned char *p, unsigned int limit, unsigned char repeat)
-{
-    unsigned char count = 0;
-    unsigned int lifetime = 0;
-    unsigned int penalty = 0;
-    unsigned char c;
-    unsigned char i;
-
-    do {
-        idle_time_ms(5); // 5ms.
-        c = readkey(); //18ms
-        ClrWdt();
-        if(c != charcode_null){
-            if(cold != c) {
-                p[count++] = c;
-                cold = c;
-                count++;
-                if(repeat == 0) {
-                        break;
-                }
-                penalty = 0;
-            }
-        }  else {
-            penalty++;
-            if(penalty > 4){
-                penalty = 0;
-                cold = charcode_null;
-            }
-        }
-        if(limit != 0) lifetime++;
-        if(lifetime > limit) break;
-    } while(count < 32);
-    p[count] = charcode_null;
-    return count;
-}
 
 unsigned char pollkey_single(void)
 {
@@ -342,6 +305,20 @@ unsigned char pollkey_single(void)
     } while(1);
 }
 
+
+unsigned char pollkey_numeric(unsigned char init)
+{
+    unsigned char c;
+    c = pollkey_single();
+    if(c == charcode_0) {
+        return 0;
+    } else if((c >= charcode_1) && (c <= charcode_9)){
+        return c;
+    } else {
+        return init;
+    }
+}
+
 unsigned char pollkey_single_timeout(unsigned int limit, unsigned char repeat)
 {
     unsigned char c;
diff --git a/ui.h b/ui.h
index c4bf264..da4f9a5 100644 (file)
--- a/ui.h
+++ b/ui.h
@@ -48,14 +48,14 @@ extern char keyin_fifo[32];
 extern char keyin_nowp;
 extern char keyin_counter;
 
-#define _LOCATE(x,y) acm1602_locate_16x2(LCD_I2CADDR, x, y)
-#define _PUTCHAR(c) acm1602_putchar(LCD_I2CADDR, c)
-#define _CURSOR_LEFT() acm1602_cursordir(LCD_I2CADDR, 0x00)
-#define _CURSOR_RIGHT() acm1602_cursordir(LCD_I2CADDR, 0xff)
-#define _CLS() acm1602_cls(LCD_I2CADDR);
-#define _HOME() acm1602_home(LCD_I2CADDR);
-#define _CURSOR_ON() acm1602_dispcursor(LCD_I2CADDR, 0xff)
-#define _CURSOR_OFF() acm1602_dispcursor(LCD_I2CADDR, 0x00)
+#define _LOCATE(x,y) acm1602_locate_16x2(0xa0, x, y)
+#define _PUTCHAR(c) acm1602_putchar(0xa0, c)
+#define _CURSOR_LEFT() acm1602_cursordir(0xa0, 0x00)
+#define _CURSOR_RIGHT() acm1602_cursordir(0xa0, 0xff)
+#define _CLS() acm1602_cls(0xa0);
+#define _HOME() acm1602_home(0xa0);
+#define _CURSOR_ON() acm1602_dispcursor(0xa0, 0xff)
+#define _CURSOR_OFF() acm1602_dispcursor(0xa0, 0x00)
 
 
 
@@ -73,14 +73,14 @@ extern void printstr(char *s);
 extern void print_numeric(int i, unsigned char supressf);
 extern void setsignal_tune(unsigned char flag);
 extern void set_backlight(unsigned char flag, unsigned int val);
-extern unsigned int read_numeric(unsigned int initial, unsigned char digit,
+extern unsigned long read_numeric(unsigned int initial, unsigned char digit,
         char startx, char starty);
 extern unsigned long subst_numeric(unsigned long start, unsigned char pos, unsigned char c);
 extern void print_numeric_nosupress(unsigned long data, unsigned char digit);
 extern unsigned char readkey(void);
-extern unsigned char pollkeys(unsigned char *p, unsigned int limit, unsigned char repeat);
 extern unsigned char pollkey_single(void);
 extern unsigned char pollkey_single_timeout(unsigned int limit, unsigned char repeat);
+extern unsigned char pollkey_numeric(unsigned char init);
 
 #ifdef __cplusplus
 }