3 * UI->LCD->Display status.
4 * Copyright (C) 2013-06-10 K.Ohta <whatisthis.sowhat ai gmail.com>
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2,
10 * or (at your option) any later version.
11 * This library / program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14 * See the GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this library; see the file COPYING. If not, write to the
18 * Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
21 * As a special exception, if you link this(includeed from sdcc) library
22 * with other files, some of which are compiled with SDCC,
23 * to produce an executable, this library does not by itself cause
24 * the resulting executable to be covered by the GNU General Public License.
25 * This exception does not however invalidate any other reasons why
26 * the executable file might be covered by the GNU General Public License.
35 #include <pic18fregs.h> /* ONLY FOR PIC18x */
40 #include "commondef.h"
45 #include "lcd_acm1602.h"
54 void print_freq(unsigned char y)
61 if(fmband < AKC6955_BAND_TV1) {
63 _PUTCHAR('1' + (fmband & 7));
65 } else if(fmband < AKC6955_BAND_FMUSER){
67 _PUTCHAR('1' + fmband - AKC6955_BAND_TV1);
71 _PUTCHAR('0' + fm_userbandnum);
75 if(amband == AKC6955_BAND_LW) {
77 } else if(amband <AKC6955_BAND_SW1) { //MW
79 _PUTCHAR('1' + amband - AKC6955_BAND_MW1);
81 } else if(amband <AKC6955_BAND_SW10) { //MW
83 _PUTCHAR('1' + amband - AKC6955_BAND_SW1);
85 } else if(amband < AKC6955_BAND_AMUSER) { //MW
87 _PUTCHAR('0' + amband - AKC6955_BAND_SW10);
89 } else if(amband == AKC6955_BAND_MW4){
93 _PUTCHAR('0' + am_userbandnum);
105 freq = fmfreq;// + diffstat / 100;
106 freq_lo = freq % 100;
107 freq_hi = freq / 100;
108 print_numeric_nosupress(freq_hi, 3);
110 print_numeric_nosupress(freq_lo, 2);
112 freq = amfreq;// + diffstat / 10;
114 print_numeric_nosupress(freq, 5);
125 void update_display(void)
136 print_numeric_nosupress(lv / 20, 1);
139 print_numeric_nosupress(lv / 20, 1); // MAX=123
149 // vol = volume * 1.5 + prevolume * 3.5[dB]
152 vol = (vol * 3 + prevolume * 7) / 2;
154 print_numeric_nosupress(vol,2);
160 print_numeric_nosupress(battlevel / 100, 1);
162 print_numeric_nosupress(battlevel % 100, 2);