]> git.rkrishnan.org Git - pihpsdr.git/commitdiff
combined band limits into band structure. Added 136 and 472 KHz bands
authorJohn Melton - G0ORX/N6LYT <john.d.melton@googlemail.com>
Fri, 25 Nov 2016 12:21:07 +0000 (12:21 +0000)
committerJohn Melton - G0ORX/N6LYT <john.d.melton@googlemail.com>
Fri, 25 Nov 2016 12:21:07 +0000 (12:21 +0000)
band.c
band.h
frequency.c
panadapter.c
pihpsdr
release/pihpsdr.tar
release/pihpsdr/pihpsdr
toolbar.c
version.c

diff --git a/band.c b/band.c
index 91a10e87a5578b41791449d9d9d8475cd46e4a9e..71d5f9b08cd9f1f845e18becc0bd671dce4e2fff 100644 (file)
--- 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;i<NUM_BAND_LIMITS;i++) {
-        limits=&bandLimits[i];
-        if((minDisplay<=limits->minFrequency&&maxDisplay>=limits->minFrequency) ||
-           (minDisplay<=limits->maxFrequency&&maxDisplay>=limits->maxFrequency)) {
-            return limits;
-        }
-    }
-
-    return NULL;
-}
-
diff --git a/band.h b/band.h
index 23d48b8caff7f5ada4cc5c23afa428bd5a5dd384..6a254888d9fdb5a69bd0ea546b9bced26224d9d2 100644 (file)
--- a/band.h
+++ b/band.h
 
 #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
index 85b6a69498aaaa6bb70ef531ab24883b48759b4e..04a89f2823c94d0afe4fcf881a522c4d2cca2ed5 100644 (file)
@@ -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},                                 
 
index c4d4ceb65e812c322c98bc54d767085130e410e8..f8cf33b4e41c3cc7b8c2243be01ce305e29d97c1 100644 (file)
@@ -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_display<bandLimits->minFrequency)&&(max_display>bandLimits->minFrequency)) {
-                    i=(bandLimits->minFrequency-min_display)/(long long)hz_per_pixel;
+                if((min_display<band->frequencyMin)&&(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_display<bandLimits->maxFrequency)&&(max_display>bandLimits->maxFrequency)) {
-                    i=(bandLimits->maxFrequency-min_display)/(long long)hz_per_pixel;
+                if((min_display<band->frequencyMax)&&(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 1cc47cbfc725627cb9691f9573720416496ecaac..c318b99f7d4688774b9265ee71b90a55d4947c5c 100755 (executable)
Binary files a/pihpsdr and b/pihpsdr differ
index 6a681876c1d81071ef08941b40235bb1c255842b..fb325c904a7f70b83c89f5d9fd448186e7863b10 100644 (file)
Binary files a/release/pihpsdr.tar and b/release/pihpsdr.tar differ
index 1cc47cbfc725627cb9691f9573720416496ecaac..c318b99f7d4688774b9265ee71b90a55d4947c5c 100755 (executable)
Binary files a/release/pihpsdr/pihpsdr and b/release/pihpsdr/pihpsdr differ
index fae3c99304b7a87f4d17d9ffb55a0aa85c84f8d2..d0514b51b3c076e50209ebe4af9d9bf5a800b214 100644 (file)
--- 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");
index 337aa7b8386175010220db40e7cc621e55b7524e..c9ca9a94fe0efbecb03ac5c8680e1d4ba2427210 100644 (file)
--- 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";