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 */
39 #include "commondef.h"
44 #include "lcd_acm1602.h"
53 void print_freq(unsigned char y)
60 if(setup.fm != 0){ // FM
62 if(band < AKC6955_BAND_TV1) {
64 _PUTCHAR('1' + (band & 7));
66 } else if(band < AKC6955_BAND_FMUSER){
68 _PUTCHAR('1' + band - AKC6955_BAND_TV1);
72 _PUTCHAR('0' + setup.fm_userbandnum);
81 freq = setup.fmfreq;// + diffstat / 100;
82 print_numeric_nosupress(freq / 100, 3);
84 print_numeric_nosupress(freq % 100, 2);
88 if(band == AKC6955_BAND_LW) {
90 } else if(band <AKC6955_BAND_SW1) { //MW
92 _PUTCHAR('1' + band - AKC6955_BAND_MW1);
94 } else if(band < AKC6955_BAND_AMUSER) { //SW
96 print_numeric_nosupress(band - AKC6955_BAND_SW1 + 1, 2);
97 } else if(band == AKC6955_BAND_MW4){
101 _PUTCHAR('0' + setup.am_userbandnum);
103 freq = setup.amfreq;// + diffstat / 10;
105 print_numeric_nosupress(freq, 5);
111 void update_display(void)
120 if(recv_signal > 99){
123 _PUTCHAR('0' + recv_signal / 10);
129 _PUTCHAR('0' + cnrlevel / 4);
132 set_amfmlamp(~setup.fm);
134 // print_numeric_nosupress((setup.threshold_width & 3) * 10 + (setup.fm_tunepitch & 3), 2);
135 print_numeric_nosupress(setup.threshold_width * 10 + setup.fm_tunepitch, 2);
136 // vol = volume * 1.5 + prevolume * 3.5[dB]
140 vol = (vol * 3 + prevolume * 7) / 2;
142 print_numeric_nosupress(vol,2);
148 print_numeric_nosupress(battlevel / 100, 1);
150 print_numeric_nosupress(battlevel % 100, 2);