term_printnum(s, v);
uart_term_putstr(s);
}
+
/*
* Set Frequency: Arg1 = Freq.
*/
l = term_getuint(p);
uart_term_putstr("\nSet Freq:");
- if((l < 0) || (l > 30000)) {
+ if((l < 100) || (l > 30000)) {
uart_term_putstr("\nE:Illegal freq range.\n");
return;
}
*/
static void term_printstatus(char *p)
{
+ update_status();
uart_term_putstr("\nStatus:\n");
if(setup.fm == 0){
- uart_term_putstr("AM \nBand = ");
+ uart_term_putstr("AM \nBAND = ");
shell_printnum(setup.amband);
- uart_term_putstr("\nFreq = ");
+ uart_term_putstr("\nFREQ = ");
shell_printnum(setup.amfreq);
- uart_term_putstr("\n");
+ uart_term_putstr("KHz");
+ uart_term_putstr("\nDIFF = ");
+ shell_printnum(diffstat);
} else {
- uart_term_putstr("FM \nBand = ");
+ uart_term_putstr("FM \nBAND = ");
shell_printnum(setup.fmband);
- uart_term_putstr("\nFreq = ");
- shell_printnum(setup.fmfreq);
- uart_term_putstr("\n");
+ uart_term_putstr("\nFREQ = ");
+ shell_printnum(setup.fmfreq / 100);
+ uart_term_putstr(".");
+ shell_printnum(setup.fmfreq % 100);
+ uart_term_putstr("MHz");
+ uart_term_putstr("\nDIFF = ");
+ shell_printnum(diffstat);
+ uart_term_putstr("\nSTEREO = ");
+ if(stereoflag == 0) {
+ uart_term_putstr("NO");
+ } else {
+ uart_term_putstr("YES");
+ }
}
-
+ uart_term_putstr("\nSIGNAL-LEVEL = ");
+ shell_printnum(recv_signal);
+ uart_term_putstr("dB");
+
+ uart_term_putstr("\nCNR-LEVEL = ");
+ shell_printnum(cnrlevel);
+ uart_term_putstr("dB");
+
+ uart_term_putstr("\nBATT = ");
+ shell_printnum(battlevel / 100);
+ uart_term_putstr(".");
+ shell_printnum(battlevel % 100);
+ uart_term_putstr("V\n");
+
uart_term_putstr("\n");
}
+static void term_fm(char *p)
+{
+ unsigned int freq;
+ setup.fm = 0xff;
+ setup.amfreq_bank[setup.amband] = setup.amfreq;
+ freq = setup.fmfreq_bank[setup.fmband];
+ akc6955_chg_fm(setup.fm, freq);
+}
+
+static void term_am(char *p)
+{
+ unsigned int freq;
+ setup.fm = 0x00;
+ setup.fmfreq_bank[setup.fmband] = setup.fmfreq;
+ freq = setup.amfreq_bank[setup.amband];
+ akc6955_chg_fm(setup.fm, freq);
+}
+
/*
* Poweroff.
{
}
+
+static void term_band(char *p)
+{
+ unsigned char slen;
+ unsigned char n;
+ unsigned char band;
+ slen = shell_gettok(xarg1, p);
+}
+
+
static unsigned char put_hexline(unsigned char *dat, unsigned long addr, unsigned char len)
{
unsigned char l;
int f;
slen = shell_gettok(xarg1, p);
- if(slen != 0) {
+ if(slen > 1) {
for(i = 0; i < SHELL_TOPCMDS; i++){
f = shell_strcmp(xarg1, cmdstr[i]);
if(f > 0) {
case 4:
save_to_term(pool);
break;
+ case 5:
+ term_fm(pool);
+ break;
+ case 6:
+ term_am(pool);
+ break;
case 7:
term_poweroff(pool);
break;
case 8:
term_poweron(pool);
break;
+ case 12: // BAND
+ term_band(pool);
+ break;
case 15: // Exit
uart_term_putstr("\nBye... (^^)/~~\n");
goto _l0;