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);
79 freq = setup.fmfreq;// + diffstat / 100;
82 print_numeric_nosupress(freq_hi, 3);
84 print_numeric_nosupress(freq_lo, 2);
87 if(setup.amband == AKC6955_BAND_LW) {
89 } else if(setup.amband <AKC6955_BAND_SW1) { //MW
91 _PUTCHAR('1' + setup.amband - AKC6955_BAND_MW1);
93 } else if(setup.amband <AKC6955_BAND_SW10) { //MW
95 _PUTCHAR('1' + setup.amband - AKC6955_BAND_SW1);
97 } else if(setup.amband < AKC6955_BAND_AMUSER) { //MW
99 _PUTCHAR('0' + setup.amband - AKC6955_BAND_SW10);
101 } else if(setup.amband == AKC6955_BAND_MW4){
105 _PUTCHAR('0' + setup.am_userbandnum);
108 freq = setup.amfreq;// + diffstat / 10;
110 print_numeric_nosupress(freq, 5);
116 void update_display(void)
126 sig = recv_signal + 40;
127 print_numeric_nosupress(sig / 20, 1);
129 set_amfmlamp(~setup.fm);
131 print_numeric_nosupress((setup.threshold_width & 3) * 10 + (setup.fm_tunepitch & 3), 2);
132 // vol = volume * 1.5 + prevolume * 3.5[dB]
136 vol = (vol * 3 + prevolume * 7) / 2;
138 print_numeric_nosupress(vol,2);
144 print_numeric_nosupress(battlevel / 100, 1);
146 print_numeric_nosupress(battlevel % 100, 2);