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(setup.fm != 0){ // FM
62 if(setup.fmband < AKC6955_BAND_TV1) {
64 _PUTCHAR('1' + (setup.fmband & 7));
66 } else if(setup.fmband < AKC6955_BAND_FMUSER){
68 _PUTCHAR('1' +setup. fmband - AKC6955_BAND_TV1);
72 _PUTCHAR('0' + setup.fm_userbandnum);
76 if(setup.amband == AKC6955_BAND_LW) {
78 } else if(setup.amband <AKC6955_BAND_SW1) { //MW
80 _PUTCHAR('1' + setup.amband - AKC6955_BAND_MW1);
82 } else if(setup.amband <AKC6955_BAND_SW10) { //MW
84 _PUTCHAR('1' + setup.amband - AKC6955_BAND_SW1);
86 } else if(setup.amband < AKC6955_BAND_AMUSER) { //MW
88 _PUTCHAR('0' + setup.amband - AKC6955_BAND_SW10);
90 } else if(setup.amband == AKC6955_BAND_MW4){
94 _PUTCHAR('0' + setup.am_userbandnum);
106 freq = setup.fmfreq;// + diffstat / 100;
107 freq_lo = freq % 100;
108 freq_hi = freq / 100;
109 print_numeric_nosupress(freq_hi, 3);
111 print_numeric_nosupress(freq_lo, 2);
113 freq = setup.amfreq;// + diffstat / 10;
115 print_numeric_nosupress(freq, 5);
127 void update_display(void)
137 sig = recv_signal + 40;
138 print_numeric_nosupress(sig / 20, 1);
140 set_amfmlamp(~setup.fm);
142 print_numeric_nosupress((setup.threshold_width & 3) * 10 + (setup.fm_tunepitch & 3), 2);
143 // vol = volume * 1.5 + prevolume * 3.5[dB]
147 vol = (vol * 3 + prevolume * 7) / 2;
149 print_numeric_nosupress(vol,2);
155 print_numeric_nosupress(battlevel / 100, 1);
157 print_numeric_nosupress(battlevel % 100, 2);