#include <pic18fregs.h> /* ONLY FOR PIC18x */
#include <delay.h>
#endif
-#include <signal.h>
#include "commondef.h"
#include "iodef.h"
void print_freq(unsigned char y)
{
int freq;
- int freq_lo;
- int freq_hi;
- _LOCATE(0,y);
- if(fm != 0){ // FM
- if(fmband < AKC6955_BAND_TV1) {
+ unsigned char band;
+ unsigned char cc;
+// _HOME();
+ _LOCATE(0, y);
+ if(setup.fm != 0){ // FM
+ band = setup.fmband;
+ if(band < AKC6955_BAND_TV1) {
printstr("FM");
- _PUTCHAR('1' + (fmband & 7));
- printstr(" ");
- } else if(fmband < AKC6955_BAND_FMUSER){
+ _PUTCHAR('1' + (band & 7));
+ _PUTCHAR(' ');
+ } else if(band < AKC6955_BAND_FMUSER){
printstr("TV");
- _PUTCHAR('1' + fmband - AKC6955_BAND_TV1);
- printstr(" ");
+ _PUTCHAR('1' + band - AKC6955_BAND_TV1);
+ _PUTCHAR(' ');
} else { // USER
printstr("FMU");
- _PUTCHAR('0' + fm_userbandnum);
- _PUTCHAR(' ');
+ _PUTCHAR('0' + setup.fm_userbandnum);
}
+ printstr(" ");
+ if(stereoflag != 0){
+ cc = 'S';
+ } else {
+ cc = ' ';
+ }
+ _PUTCHAR(cc);
+ freq = setup.fmfreq;// + diffstat / 100;
+ print_numeric_nosupress(freq / 100, 3);
+ _PUTCHAR('.');
+ print_numeric_nosupress(freq % 100, 2);
+ printstr("MHz");
} else { // AM
- if(amband == AKC6955_BAND_LW) {
- printstr("LW");
- } else if(amband <AKC6955_BAND_SW1) { //MW
+ band = setup.amband;
+ if(band == AKC6955_BAND_LW) {
+ printstr("LW ");
+ } else if(band <AKC6955_BAND_SW1) { //MW
printstr("MW");
- _PUTCHAR('1' + amband - AKC6955_BAND_MW1);
- printstr(" ");
- } else if(amband <AKC6955_BAND_SW10) { //MW
- printstr("SW");
- _PUTCHAR('1' + amband - AKC6955_BAND_SW1);
- printstr(" ");
- } else if(amband < AKC6955_BAND_AMUSER) { //MW
- printstr("SW1");
- _PUTCHAR('0' + amband - AKC6955_BAND_SW10);
+ _PUTCHAR('1' + band - AKC6955_BAND_MW1);
_PUTCHAR(' ');
- } else if(amband == AKC6955_BAND_MW4){
- printstr("MW4 ");
+ } else if(band < AKC6955_BAND_AMUSER) { //SW
+ printstr("SW");
+ print_numeric_nosupress(band - AKC6955_BAND_SW1 + 1, 2);
+ } else if(band == AKC6955_BAND_MW4){
+ printstr("MW4 ");
} else {
printstr("AMU");
- _PUTCHAR('0' + am_userbandnum);
- _PUTCHAR(' ');
+ _PUTCHAR('0' + setup.am_userbandnum);
}
- }
-// _LOCATE(15-5 ,1);
- _LOCATE(15-3-8, y);
- if(fm != 0){
- if(stereoflag != 0){
- printstr("ST");
- } else {
- printstr(" ");
- }
- freq = fmfreq;// + diffstat / 100;
- freq_lo = freq % 100;
- freq_hi = freq / 100;
- print_numeric_nosupress(freq_hi, 3);
- _PUTCHAR('.');
- print_numeric_nosupress(freq_lo, 2);
- } else {
- freq = amfreq;// + diffstat / 10;
- printstr(" ");
+ freq = setup.amfreq;// + diffstat / 10;
+ printstr(" ");
print_numeric_nosupress(freq, 5);
- }
- // Signal
- _LOCATE(15-3, y);
- if(fm != 0){
- printstr("MHz");
- } else {
printstr("KHz");
}
+ _HOME();
}
void update_display(void)
unsigned int vol;
int sig;
- int lv;
- unsigned int batlv;
-// _HOME();
- _LOCATE(0,0);
+
+ // _CLS();
+ _LOCATE_0_0();
printstr("S");
- sig = recv_signal + 40;
- print_numeric_nosupress(sig / 20, 1);
+ if(recv_signal > 99){
+ _PUTCHAR('+');
+ } else {
+ _PUTCHAR('0' + recv_signal / 10);
+ }
+ _PUTCHAR('/');
+ if(cnrlevel >= 40) {
+ _PUTCHAR('+');
+ } else {
+ _PUTCHAR('0' + cnrlevel / 4);
+ }
_PUTCHAR(' ');
- set_amfmlamp(~fm);
+ set_amfmlamp(~setup.fm);
_PUTCHAR('W');
- print_numeric_nosupress(threshold_width & 3, 1);
+// print_numeric_nosupress((setup.threshold_width & 3) * 10 + (setup.fm_tunepitch & 3), 2);
+ print_numeric_nosupress(setup.threshold_width * 10 + setup.fm_tunepitch, 2);
// vol = volume * 1.5 + prevolume * 3.5[dB]
#if 0
if(volume > 24) {
printstr("MUTE");
}
#endif
- _LOCATE(16-5,0);
+ _LOCATE(16-5, 0);
print_numeric_nosupress(battlevel / 100, 1);
_PUTCHAR('.');
print_numeric_nosupress(battlevel % 100, 2);
_PUTCHAR('V');
print_freq(1);
-// _PUTCHAR(' ');
- _HOME();
}