From: John Melton - G0ORX/N6LYT Date: Fri, 25 Nov 2016 12:21:07 +0000 (+0000) Subject: combined band limits into band structure. Added 136 and 472 KHz bands X-Git-Url: https://git.rkrishnan.org/pf/frontends/...?a=commitdiff_plain;h=611717fdf288acca1f680784b05986aaa346b016;p=pihpsdr.git combined band limits into band structure. Added 136 and 472 KHz bands --- diff --git a/band.c b/band.c index 91a10e8..71d5f9b 100644 --- a/band.c +++ b/band.c @@ -231,32 +231,32 @@ BANDSTACK bandstack_xvtr_7={1,0,bandstack_entries_xvtr_7}; BAND bands[BANDS+XVTRS] = - {{"160",&bandstack160,0,0,0,0,0,ALEX_ATTENUATION_0dB,42.0,0LL,0LL,0LL,0}, - {"80",&bandstack80,0,0,0,0,0,ALEX_ATTENUATION_0dB,42.5,0LL,0LL,0LL,0}, - {"60",&bandstack60,0,0,0,0,0,ALEX_ATTENUATION_0dB,42.5,0LL,0LL,0LL,0}, - {"40",&bandstack40,0,0,0,0,0,ALEX_ATTENUATION_0dB,42.5,0LL,0LL,0LL,0}, - {"30",&bandstack30,0,0,0,0,0,ALEX_ATTENUATION_0dB,41.3,0LL,0LL,0LL,0}, - {"20",&bandstack20,0,0,0,0,0,ALEX_ATTENUATION_0dB,40.5,0LL,0LL,0LL,0}, - {"18",&bandstack18,0,0,0,0,0,ALEX_ATTENUATION_0dB,40.0,0LL,0LL,0LL,0}, - {"15",&bandstack15,0,0,0,0,0,ALEX_ATTENUATION_0dB,39.6,0LL,0LL,0LL,0}, - {"12",&bandstack12,0,0,0,0,0,ALEX_ATTENUATION_0dB,39.0,0LL,0LL,0LL,0}, - {"10",&bandstack10,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,0LL,0LL,0LL,0}, - {"50",&bandstack50,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,0LL,0LL,0LL,0}, + {{"160",&bandstack160,0,0,0,0,0,ALEX_ATTENUATION_0dB,42.0,1800000LL,1800000LL,0LL,0}, + {"80",&bandstack80,0,0,0,0,0,ALEX_ATTENUATION_0dB,42.5,3500000LL,3500000LL,0LL,0}, + {"60",&bandstack60,0,0,0,0,0,ALEX_ATTENUATION_0dB,42.5,5330500LL,5403500LL,0LL,0}, + {"40",&bandstack40,0,0,0,0,0,ALEX_ATTENUATION_0dB,42.5,7000000LL,7300000LL,0LL,0}, + {"30",&bandstack30,0,0,0,0,0,ALEX_ATTENUATION_0dB,41.3,10100000LL,10150000LL,0LL,0}, + {"20",&bandstack20,0,0,0,0,0,ALEX_ATTENUATION_0dB,40.5,14000000LL,14350000LL,0LL,0}, + {"18",&bandstack18,0,0,0,0,0,ALEX_ATTENUATION_0dB,40.0,18068000LL,18168000LL,0LL,0}, + {"15",&bandstack15,0,0,0,0,0,ALEX_ATTENUATION_0dB,39.6,21000000LL,21450000LL,0LL,0}, + {"12",&bandstack12,0,0,0,0,0,ALEX_ATTENUATION_0dB,39.0,24890000LL,24990000LL,0LL,0}, + {"10",&bandstack10,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,28000000LL,29700000LL,0LL,0}, + {"50",&bandstack50,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,50000000LL,54000000LL,0LL,0}, #ifdef LIMESDR {"70",&bandstack70,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,0LL,0LL,0LL,0}, - {"144",&bandstack144,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,0LL,0LL,0LL,0}, - {"220",&bandstack144,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,0LL,0LL,0LL,0}, - {"430",&bandstack430,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,0LL,0LL,0LL,0}, - {"902",&bandstack430,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,0LL,0LL,0LL,0}, - {"1240",&bandstack1240,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,0LL,0LL,0LL,0}, - {"2300",&bandstack2300,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,0LL,0LL,0LL,0}, - {"3400",&bandstack3400,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,0LL,0LL,0LL,0}, + {"144",&bandstack144,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,144000000LL,148000000LL,0LL,0}, + {"220",&bandstack144,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,222000000LL,224980000LL,0LL,0}, + {"430",&bandstack430,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,420000000LL,450000000LL,0LL,0}, + {"902",&bandstack430,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,902000000LL,928000000LL,0LL,0}, + {"1240",&bandstack1240,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,1240000000LL,1300000000LL,0LL,0}, + {"2300",&bandstack2300,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,2300000000LL,2450000000LL,0LL,0}, + {"3400",&bandstack3400,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,3400000000LL,3410000000LL,0LL,0}, {"AIR",&bandstackAIR,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,0LL,0LL,0LL,0}, #endif {"GEN",&bandstackGEN,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,0LL,0LL,0LL,0}, {"WWV",&bandstackWWV,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,0LL,0LL,0LL,0}, - {"136kHz",&bandstack136,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,0LL,0LL,0LL,0}, - {"472kHz",&bandstack472,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,0LL,0LL,0LL,0}, + {"136kHz",&bandstack136,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,135700LL,137800LL,0LL,0}, + {"472kHz",&bandstack472,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,472000LL,479000LL,0LL,0}, // XVTRS {"",&bandstack_xvtr_0,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,0LL,0LL,0LL,0}, {"",&bandstack_xvtr_1,0,0,0,0,0,ALEX_ATTENUATION_0dB,38.8,0LL,0LL,0LL,0}, @@ -269,33 +269,6 @@ BAND bands[BANDS+XVTRS] = }; -#define NUM_BAND_LIMITS 22 - -BAND_LIMITS bandLimits[NUM_BAND_LIMITS] = { - {1800000LL,2000000LL}, - {3500000LL,4000000LL}, - {5330500LL,5403500LL}, - {7000000LL,7300000LL}, - {10100000LL,10150000LL}, - {14000000LL,14350000LL}, - {18068000LL,18168000LL}, - {21000000LL,21450000LL}, - {24890000LL,24990000LL}, - {28000000LL,29700000LL}, - {50000000LL,54000000LL}, - {144000000LL,148000000LL}, - {222000000LL,224980000LL}, - {420000000LL,450000000LL}, - {902000000LL,928000000LL}, - {1240000000LL,1300000000LL}, - {2300000000LL,2450000000LL}, - {3400000000LL,3410000000LL}, - {5760000000LL,5760400000LL}, - {10368000000LL,10368400000LL}, - {24192000000LL,24192400000LL}, - {47088000000LL,47088400000LL} -}; - BANDSTACK_ENTRY *bandstack_entry_get_current() { BANDSTACK *bandstack=bands[band].bandstack; BANDSTACK_ENTRY *entry=&bandstack->entry[bandstack->current_entry]; @@ -562,18 +535,3 @@ fprintf(stderr,"bandRestoreState: restore bands\n"); if(value) band=atoi(value); } -BAND_LIMITS* getBandLimits(long long minDisplay,long long maxDisplay) { - BAND_LIMITS* limits; - int i; - - for(i=0;iminFrequency&&maxDisplay>=limits->minFrequency) || - (minDisplay<=limits->maxFrequency&&maxDisplay>=limits->maxFrequency)) { - return limits; - } - } - - return NULL; -} - diff --git a/band.h b/band.h index 23d48b8..6a25488 100644 --- a/band.h +++ b/band.h @@ -58,17 +58,6 @@ #define XVTRS 8 -/* --------------------------------------------------------------------------*/ -/** -* @brief Bandlimit definition -*/ -struct _BAND_LIMITS { - long long minFrequency; - long long maxFrequency; -}; - -typedef struct _BAND_LIMITS BAND_LIMITS; - /* --------------------------------------------------------------------------*/ /** * @brief Band definition @@ -103,6 +92,4 @@ BANDSTACK_ENTRY *bandstack_entry_next(); BANDSTACK_ENTRY *bandstack_entry_previous(); BANDSTACK_ENTRY *bandstack_entry_get_current(); -BAND_LIMITS* getBandLimits(long long minDisplay,long long maxDisplay); - #endif diff --git a/frequency.c b/frequency.c index 85b6a69..04a89f2 100644 --- a/frequency.c +++ b/frequency.c @@ -42,6 +42,9 @@ struct frequency_info frequencyInfo[]= {60000LL, 60000LL, "MSF Time Signal", bandGen,FALSE}, {75000LL, 75000LL, "HGB Time Signal", bandGen,FALSE}, {77500LL, 77500LL, "DCF77 Time Signal", bandGen,FALSE}, + {135700LL, 137800LL, "136kHz CW", band136,TRUE}, + {472000LL, 474999LL, "472kHz CW", band472,TRUE}, + {475000LL, 479000LL, "472kHz CW/Data", band472,TRUE}, {153000LL, 279000LL, "AM - Long Wave", bandGen,FALSE}, {530000LL, 1710000LL, "Broadcast AM Med Wave", bandGen,FALSE}, diff --git a/panadapter.c b/panadapter.c index c4d4ceb..f8cf33b 100644 --- a/panadapter.c +++ b/panadapter.c @@ -249,7 +249,7 @@ void panadapter_update(float *data,int tx) { long f; long divisor=20000; long half=(long)getSampleRate()/2L; - long frequency=displayFrequency; + long long frequency=displayFrequency; if(ctun && isTransmitting()) { frequency+=ddsOffset; } @@ -303,21 +303,23 @@ void panadapter_update(float *data,int tx) { cairo_stroke(cr); // band edges - long min_display=frequency-half; - long max_display=frequency+half; - BAND_LIMITS* bandLimits=getBandLimits(min_display,max_display); - if(bandLimits!=NULL) { + long long min_display=frequency-half; + long long max_display=frequency+half; + BAND *band=band_get_current_band(); + if(band->frequencyMin!=0LL) { cairo_set_source_rgb (cr, 1, 0, 0); cairo_set_line_width(cr, 2.0); - if((min_displayminFrequency)&&(max_display>bandLimits->minFrequency)) { - i=(bandLimits->minFrequency-min_display)/(long long)hz_per_pixel; + if((min_displayfrequencyMin)&&(max_display>band->frequencyMin)) { + i=(band->frequencyMin-min_display)/(long long)hz_per_pixel; cairo_move_to(cr,(double)i,0.0); cairo_line_to(cr,(double)i,(double)display_height); + cairo_stroke(cr); } - if((min_displaymaxFrequency)&&(max_display>bandLimits->maxFrequency)) { - i=(bandLimits->maxFrequency-min_display)/(long long)hz_per_pixel; + if((min_displayfrequencyMax)&&(max_display>band->frequencyMax)) { + i=(band->frequencyMax-min_display)/(long long)hz_per_pixel; cairo_move_to(cr,(double)i,0.0); cairo_line_to(cr,(double)i,(double)display_height); + cairo_stroke(cr); } } diff --git a/pihpsdr b/pihpsdr index 1cc47cb..c318b99 100755 Binary files a/pihpsdr and b/pihpsdr differ diff --git a/release/pihpsdr.tar b/release/pihpsdr.tar index 6a68187..fb325c9 100644 Binary files a/release/pihpsdr.tar and b/release/pihpsdr.tar differ diff --git a/release/pihpsdr/pihpsdr b/release/pihpsdr/pihpsdr index 1cc47cb..c318b99 100755 Binary files a/release/pihpsdr/pihpsdr and b/release/pihpsdr/pihpsdr differ diff --git a/toolbar.c b/toolbar.c index fae3c99..d0514b5 100644 --- a/toolbar.c +++ b/toolbar.c @@ -121,15 +121,12 @@ static void close_cb(GtkWidget *widget, gpointer data) { static void band_select_cb(GtkWidget *widget, gpointer data) { GtkWidget *label; int b=(int)data; -fprintf(stderr,"band_select_cb: %d\n",b); BANDSTACK_ENTRY *entry; if(b==band_get_current()) { entry=bandstack_entry_next(); } else { BAND* band=band_set_current(b); -fprintf(stderr,"band_select_cb: %s\n",band->title); entry=bandstack_entry_get_current(); -fprintf(stderr,"band_select_cb: entry: %d\n",entry); set_button_text_color(last_band,"black"); last_band=widget; set_button_text_color(last_band,"orange"); diff --git a/version.c b/version.c index 337aa7b..c9ca9a9 100644 --- a/version.c +++ b/version.c @@ -20,4 +20,4 @@ char build_date[]=GIT_DATE; char build_version[]=GIT_VERSION; -char version[]="1.0.1"; +char version[]="1.0.2";