]> git.rkrishnan.org Git - pihpsdr.git/commitdiff
new region: WRC15 for countries allowing 60m based on WRC15,
authorc vw <dl1ycf@darc.de>
Wed, 27 Jun 2018 14:35:55 +0000 (16:35 +0200)
committerc vw <dl1ycf@darc.de>
Wed, 27 Jun 2018 14:35:55 +0000 (16:35 +0200)
allow crossing a sub-band border.

Makefile.mac
README.MacOS
band.c
band.h
frequency.c
main.c
radio.c
radio.h
radio_menu.c

index 0b89ea6fe7bb428fabf162b67f0536883f51b750..1a16b8c22566091d4a30670ad96c5c89c6d6c9fb 100644 (file)
@@ -3,15 +3,9 @@
 GIT_DATE := $(firstword $(shell git --no-pager show --date=short --format="%ai" --name-only))
 GIT_VERSION := $(shell git describe --abbrev=0 --tags)
 
-#DL1YCF: this uses PortAudio rather than ALSA
-PORTAUDIO_INCLUDE=PORTAUDIO
-
-#DL1YCF: un-commment this line for activate work-around some RedPitaty HPSDR bugs
+# un-commment this line for activate work-around some RedPitaty HPSDR bugs
 STEMLAB_FIX_OPTION=-DSTEMLAB_FIX
 
-#DL1YCF: un-commment if you need librt (probably always, except on MacOS)
-#LIBRT= -lrt
-
 # uncomment the line below to include GPIO
 #GPIO_INCLUDE=GPIO
 
@@ -210,13 +204,12 @@ endif
 GTKINCLUDES=`pkg-config --cflags gtk+-3.0`
 GTKLIBS=`pkg-config --libs gtk+-3.0`
 
-ifeq ($(PORTAUDIO_INCLUDE), PORTAUDIO)
+#
+# Since this a Mac-specific Makefile, activate
+# PORTAUDIO in any case.
+#
 PORTAUDIO_OPTIONS=-DPORTAUDIO
 AUDIO_LIBS=-lportaudio
-else
-AUDIO_LIBS=-lasound
-#AUDIO_LIBS=-lsoundio
-endif
 
 OPTIONS=-g -Wno-deprecated-declarations $(PURESIGNAL_OPTIONS) $(REMOTE_OPTIONS) $(RADIOBERRY_OPTIONS) \
        $(USBOZY_OPTIONS)  $(I2C_OPTIONS) $(GPIO_OPTIONS) $(LIMESDR_OPTIONS) $(FREEDV_OPTIONS) \
@@ -224,8 +217,8 @@ OPTIONS=-g -Wno-deprecated-declarations $(PURESIGNAL_OPTIONS) $(REMOTE_OPTIONS)
        $(PORTAUDIO_OPTIONS) \
        -D GIT_DATE='"$(GIT_DATE)"' -D GIT_VERSION='"$(GIT_VERSION)"' $(DEBUG_OPTION) -O3
 
-LIBS= $(LIBRT) -lm -lwdsp -lpthread $(AUDIO_LIBS) $(USBOZY_LIBS) $(PSKLIBS) $(GTKLIBS) $(GPIO_LIBS) \
-       $(SOAPYSDRLIBS) $(FREEDVLIBS) $(STEMLAB_LIBS)
+LIBS=   $(AUDIO_LIBS) $(USBOZY_LIBS) $(PSKLIBS) $(GTKLIBS) $(GPIO_LIBS) \
+       $(SOAPYSDRLIBS) $(FREEDVLIBS) $(STEMLAB_LIBS) -lwdsp -lm -pthread
 
 INCLUDES=$(GTKINCLUDES)
 
index a43b6a6ca865f0bb897f61c8e69f6c373eb59a0c..08bf331a77252dcb222f6dc8eacd8249f50420df 100644 (file)
@@ -83,40 +83,43 @@ compile and link flags for certain external software.
 Of course, you need the Xcode command line tools (make, gcc, and friends).
 
 Before you compile piHPSDR, you need to compile wdsp. Using the Mac-Makefile
-there, "make install" will put libwdsp.dylib in /usr/local/lib. This is needed
-by piHPSDR.
+there, "make -f Makefile.mac install" will put libwdsp.dylib in /usr/local/lib.
+This is needed by piHPSDR. The pihpsdr Makefile.mac assumes that WDSP can
+be linked with simply through the "-lwdsp" linker option.
 
 ===================
 COMPILE and INSTALL
 ===================
 
+The file Makefile.mac is meant for MacOS compilations. To "make" the program
+the command is thus 
+
+       make -f Makefile.mac
 
 That's easy. Just adjust the Makefile according to the instructions found there
 and type "make". In my case (I have a HAMLAB RedPitaya-based SDR box), I need
 the following options in the Makefile (and have all others commented out):
 
-PORTAUDIO_INCLUDE=PORTAUDIO
 STEMLAB_FIX_OPTION=-DSTEMLAB_FIX
 STEMLAB_DISCOVERY=STEMLAB_DISCOVERY_MAC
-UNAME_N=MacOS
 
-The first one activates the PortAudio code and disables the Linux ALSA
-code, the second option activates some work-arounds around some RedPitaya
-HPSDR application bugs (this is also required if you are NOT using MacOS),
-and the third option activates code to start the HPSDR program on a RedPitaya
-before the actual discovery stuff takes place.
 
-Note: never un-comment the lines containing LIBRT, GPI_INCLUDE, I2C_INCLUDE,
+Note: never un-comment the lines containing GPI_INCLUDE, I2C_INCLUDE,
 SX1509_INCLUDE, or LOCALCW_INCLUDE. This software/hardware is not present on a Mac.
 
 As a result of "make", you get an executable file "pihpsdr" which you
-can start from the terminal. With "make app" you can make a click-able
-MacOS application bundle. However note that this bundle is not self-contained:
+can start from the terminal. With
+
+make -f Makefile.mac app
+
+you can make a click-able MacOS application bundle with a nice icon.
+However note that this bundle is not completely self-contained:
 it needs a working gtk+3 environment. To put all this into an app bundle
 would create an app file hundreds of MByte long: you need all those pixbuf
 loaders etc. etc. etc. installed.
 
-What we do is to include portaudio, WDSP, fftw3 and some other libs into the bundle.
+What we do is to include portaudio, WDSP, fftw3, pango, cairo and libs
+like that into the bundle.
 
 
 ===========================
@@ -127,15 +130,16 @@ a) CAT control: use hamlib, and choose "OpenHPSDR piHPSDR" radio model and
    e.g. port number 19090.  Then, activate rigctl in the piHPSDR menu, choosing
    the same port number there.
 
-b) Audio: here you need the "SoundFlower" free-software program for MacOS, that
-   provides virtual audio cables. I have stripped down this somewhat, it now provides
-   two stero devices (named VAC A and VAC B) and has less overhead, since audio data
-   is no longer processed (no volume control) but simply moved: after all, this is what
-   a "cable" is supposed to do.
+b) Audio: here you need a virtual audio cable (loopback) device. On my github account,
+   github.com/dl1ycf, you can find such a device driver. It provides two audio devices,
+   named "SDR-RX" and "SDR-TX".
    
-   For example, you can Choose "VAC A" as the RX output device and "VAC B" as the
-   TX input (mic) device in piHPSDR, and choose "VAC B" as the output device and "VAC A"
+   For example, you can Choose "SDR RX" as the RX output device and "SDR TX" as the
+   TX input (mic) device in piHPSDR, and choose "SDR TX" as the output device and "SDR RX"
    as the input device in fldigi or wsjt-x.
-   The modified version of SoundFlower is available on my github account, github.com/dl1ycf,
-   with the name MacOSVirtualAudioCable.
    
+   Of course, you can also use two USB Sound cards devices and two stereo cables to
+   implement loop-back audio in hardware. But then you generate some additional noise
+   from D/A converting the signal first, putting it through the cable and then A/D converting
+   it back. This would be the way to go if you do not want or cannot install un-trusted
+   MacOS kernel extensions.
diff --git a/band.c b/band.c
index cb058df7c9a2d6df8262d5245c7f912099aaa936..85d88b11c1792c02a1a64785fc2f331f7505b443 100644 (file)
--- a/band.c
+++ b/band.c
@@ -56,16 +56,21 @@ BANDSTACK_ENTRY bandstack_entries80[] =
      {3751000LL,modeLSB,filterF5,-2800,-200,-2800,-200},
      {3850000LL,modeLSB,filterF5,-2800,-200,-2800,-200}};
 
+BANDSTACK_ENTRY bandstack_entries60_WRC15[] =
+    {{5352750LL,modeCWU,filterF6,200,2800,200,2800},    // WRC15 60m band allocation
+     {5357000LL,modeUSB,filterF5,200,2800,200,2800},    // sub-bands reflect IARU R1
+     {5363000LL,modeUSB,filterF5,200,2800,200,2800}};   // recommendation
+
 BANDSTACK_ENTRY bandstack_entries60_OTHER[] =
-    {{5332000LL,modeUSB,filterF5,-2800,-200,-2800,-200},
-     {5348000LL,modeUSB,filterF5,-2800,-200,-2800,-200},
+    {{5332000LL,modeUSB,filterF5,-2800,-200,-2800,-200}, // default channels for
+     {5348000LL,modeUSB,filterF5,-2800,-200,-2800,-200}, // 60m band, US regulations
      {5358500LL,modeUSB,filterF5,-2800,-200,-2800,-200},
      {5373000LL,modeUSB,filterF5,-2800,-200,-2800,-200},
      {5405000LL,modeUSB,filterF5,-2800,-200,-2800,-200}};
 
 BANDSTACK_ENTRY bandstack_entries60_UK[] =
-    {{5261250LL,modeUSB,filterF5,-2800,-200,-2800,-200},
-     {5280000LL,modeUSB,filterF5,-2800,-200,-2800,-200},
+    {{5261250LL,modeUSB,filterF5,-2800,-200,-2800,-200}, // default channels for
+     {5280000LL,modeUSB,filterF5,-2800,-200,-2800,-200}, // 60m band, UK regulations
      {5290250LL,modeUSB,filterF5,-2800,-200,-2800,-200},
      {5302500LL,modeUSB,filterF5,-2800,-200,-2800,-200},
      {5318000LL,modeUSB,filterF5,-2800,-200,-2800,-200},
@@ -310,6 +315,18 @@ CHANNEL band_channels_60m_UK[UK_CHANNEL_ENTRIES] =
       {5398250LL,6500LL},
       {5405000LL,3000LL}};
 
+//
+// Many countries have now allowed ham radio on the 60m
+// band based on WRC15. There are no "channels", but
+// an IARU region 1 recommendation can be read that
+// there is a CW segment, an all-mode segment
+// and a small weak-signal segment.
+//
+CHANNEL band_channels_60m_WRC15[WRC15_CHANNEL_ENTRIES] =
+     {{5352750LL, 2500LL},    // CW channel:           5351.5 to 5354   kHz
+      {5360000LL,12000LL},    // Phone and DigiModes:  5354   to 5360   kHz
+      {5366250LL, 500LL}};    // Weak narrow signals:  5366   to 5366.5 kHz
+
 CHANNEL band_channels_60m_OTHER[OTHER_CHANNEL_ENTRIES] =
      {{5332000LL,2800LL},
       {5348000LL,2800LL},
diff --git a/band.h b/band.h
index 7f46c581b483ada1f6bcab6983640cec0748e1cc..937b7c14f620f9f0df1443d5186c6fbb61ec9ab1 100644 (file)
--- a/band.h
+++ b/band.h
@@ -95,15 +95,18 @@ gboolean displayHF;
 
 #define UK_CHANNEL_ENTRIES 11
 #define OTHER_CHANNEL_ENTRIES 5
+#define WRC15_CHANNEL_ENTRIES 3
 
 extern int channel_entries;
 extern CHANNEL *band_channels_60m;
 
 extern CHANNEL band_channels_60m_UK[UK_CHANNEL_ENTRIES];
 extern CHANNEL band_channels_60m_OTHER[OTHER_CHANNEL_ENTRIES];
+extern CHANNEL band_channels_60m_WRC15[WRC15_CHANNEL_ENTRIES];
 
 extern BANDSTACK bandstack60;
 extern BANDSTACK_ENTRY bandstack_entries60_OTHER[];
+extern BANDSTACK_ENTRY bandstack_entries60_WRC15[];
 extern BANDSTACK_ENTRY bandstack_entries60_UK[];
 
 extern int band_get_current();
index a716b849d99dd60e86f82ba7458a9f1d98bc4c14..8c9eca26a2c3684c019377fbf397f8922f889e35 100644 (file)
 char* outOfBand="Out of band";
 struct frequency_info* info;
 
+//
+// For the ease of maintenance, keep this Table aligned from the top
+// through the bottom
+//
+#define NOBAND -1
 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},                                 
-
-        {1800000LL, 1809999LL, "160M CW/Digital Modes",            band160, TRUE},
-        {1810000LL, 1810000LL, "160M CW QRP",                      band160, TRUE},
-        {1810001LL, 1842999LL, "160M CW",                          band160, TRUE},
-        {1843000LL, 1909999LL, "160M SSB/SSTV/Wide Band",          band160, TRUE},
-        {1910000LL, 1910000LL, "160M SSB QRP",                     band160, TRUE},
-        {1910001LL, 1994999LL, "160M SSB/SSTV/Wide Band",          band160, TRUE},
-        {1995000LL, 1999999LL, "160M Experimental",                band160, TRUE},
-
-        {2300000LL, 2495000LL, "120M Short Wave",                  bandGen,FALSE}, 
-
-        {2500000LL, 2500000LL, "WWV",                              bandWWV,FALSE},
-
-        {3200000LL, 3400000LL, "90M Short Wave",                   bandGen,FALSE}, 
-
-        {3500000LL, 3524999LL, "80M Extra CW",                     band80, TRUE},
-        {3525000LL, 3579999LL, "80M CW",                           band80, TRUE},
-        {3580000LL, 3589999LL, "80M RTTY",                         band80, TRUE},
-        {3590000LL, 3590000LL, "80M RTTY DX",                      band80, TRUE},
-        {3590001LL, 3599999LL, "80M RTTY",                         band80, TRUE},
-        {3600000LL, 3699999LL, "75M Extra SSB",                    band80, TRUE},
-        {3700000LL, 3719999LL, "75M Ext/Adv SSB",                  band80, TRUE},
-        {3720000LL, 3723999LL, "75M Digital Voice",              band20, TRUE},
-        {3724000LL, 3789999LL, "75M Ext/Adv SSB",                  band80, TRUE},
-        {3790000LL, 3799999LL, "75M Ext/Adv DX Window",            band80, TRUE},
-        {3800000LL, 3844999LL, "75M SSB",                          band80, TRUE},
-        {3845000LL, 3845000LL, "75M SSTV",                         band80, TRUE},
-        {3845001LL, 3884999LL, "75M SSB",                          band80, TRUE},
-        {3885000LL, 3885000LL, "75M AM Calling Frequency",         band80, TRUE},
-        {3885001LL, 3999999LL, "75M SSB",                          band80, TRUE},
-
-        {4750000LL, 4999999LL, "60M Short Wave",                   bandGen,FALSE}, 
-
-        {5000000LL, 5000000LL, "WWV",                              bandWWV,FALSE}, 
-
-        {5261250LL, 5408000LL, "60M",                              band60, TRUE},
-        {5261250LL, 5408000LL, "60M",                              band60, FALSE},
-
-        {5900000LL, 6200000LL, "49M Short Wave",                   bandGen,FALSE}, 
-
-        {7000000LL, 7024999LL, "40M Extra CW",                     band40, TRUE},
-        {7025000LL, 7039999LL, "40M CW",                           band40, TRUE},
-        {7040000LL, 7040000LL, "40M RTTY DX",                      band40, TRUE},
-        {7040001LL, 7099999LL, "40M RTTY",                         band40, TRUE},
-        {7100000LL, 7124999LL, "40M CW",                           band40, TRUE},
-        {7125000LL, 7170999LL, "40M Ext/Adv SSB",                  band40, TRUE},
-        {7171000LL, 7171000LL, "40M SSTV",                         band40, TRUE},
-        {7171001LL, 7174999LL, "40M Ext/Adv SSB",                  band40, TRUE},
-        {7175000LL, 7289999LL, "40M SSB",                          band40, TRUE},
-        {7290000LL, 7290000LL, "40M AM Calling Frequency",         band40, TRUE},
-        {7290001LL, 7299999LL, "40M SSB",                          band40, TRUE},
-
-        {7300000LL, 7350000LL, "41M Short Wave",                   bandGen,FALSE}, 
-        {9400000LL, 9900000LL, "31M Short Wave",                   bandGen,FALSE}, 
-
-        {10000000LL, 10000000LL, "WWV",                            bandWWV,FALSE}, 
-
-        {10100000LL, 10129999LL, "30M CW",                         band30, TRUE},
-        {10130000LL, 10139999LL, "30M RTTY",                       band30, TRUE},
-        {10140000LL, 10149999LL, "30M Packet",                     band30, TRUE},
-
-        {11600000LL, 12100000LL, "25M Short Wave",                 bandGen,FALSE}, 
-        {13570000LL, 13870000LL, "22M Short Wave",                 bandGen,FALSE}, 
-
-        {14000000LL, 14024999LL, "20M Extra CW",                   band20, TRUE},
-        {14025000LL, 14069999LL, "20M CW",                         band20, TRUE},
-        {14070000LL, 14094999LL, "20M RTTY",                       band20, TRUE},
-        {14095000LL, 14099499LL, "20M Packet",                     band20, TRUE},
-        {14099500LL, 14099999LL, "20M CW",                         band20, TRUE},
-        {14100000LL, 14100000LL, "20M NCDXF Beacons",              band20, TRUE},
-        {14100001LL, 14100499LL, "20M CW",                         band20, TRUE},
-        {14100500LL, 14111999LL, "20M Packet",                     band20, TRUE},
-        {14112000LL, 14149999LL, "20M CW",                         band20, TRUE},
-        {14150000LL, 14174999LL, "20M Extra SSB",                  band20, TRUE},
-        {14175000LL, 14224999LL, "20M Ext/Adv SSB",                band20, TRUE},
-        {14225000LL, 14229999LL, "20M SSB",                        band20, TRUE},
-        {14230000LL, 14235999LL, "20M SSTV",                       band20, TRUE},
-        {14236000LL, 14239999LL, "20M Digital Voice",              band20, TRUE},
-        {14240000LL, 14284999LL, "20M SSB",                        band20, TRUE},
-        {14285000LL, 14285000LL, "20M SSB QRP Calling Frequency",  band20, TRUE},
-        {14285000LL, 14285999LL, "20M SSB",                        band20, TRUE},
-        {14286000LL, 14286000LL, "20M AM Calling Frequency",       band20, TRUE},
-        {14286001LL, 14349999LL, "20M SSB",                        band20, TRUE},
-
-        {15000000LL, 15000000LL, "WWV",                            bandWWV,FALSE}, 
-
-        {15100000LL, 15800000LL, "19M Short Wave",                 bandGen,FALSE}, 
-        {17480000LL, 17900000LL, "16M Short Wave",                 bandGen,FALSE}, 
-
-        {18068000LL, 18099999LL, "17M CW",                         band17, TRUE},
-        {18100000LL, 18104999LL, "17M RTTY",                       band17, TRUE},
-        {18105000LL, 18109999LL, "17M Packet",                     band17, TRUE},
-        {18110000LL, 18110000LL, "17M NCDXF Beacons",              band17, TRUE},
-        {18110001LL, 18167999LL, "17M SSB",                        band17, TRUE},
-
-        {18900000LL, 19020000LL, "15M Short Wave",                 bandGen,FALSE}, 
-
-        {20000000LL, 20000000LL, "WWV",                            bandWWV,FALSE}, 
-
-        {21000000LL, 21024999LL, "15M Extra CW",                   band15, TRUE},
-        {21025000LL, 21069999LL, "15M CW",                         band15, TRUE},
-        {21070000LL, 21099999LL, "15M RTTY",                       band15, TRUE},
-        {21100000LL, 21109999LL, "15M Packet",                     band15, TRUE},
-        {21110000LL, 21149999LL, "15M CW",                         band15, TRUE},
-        {21150000LL, 21150000LL, "15M NCDXF Beacons",              band15, TRUE},
-        {21150001LL, 21199999LL, "15M CW",                         band15, TRUE},
-        {21200000LL, 21224999LL, "15M Extra SSB",                  band15, TRUE},
-        {21225000LL, 21274999LL, "15M Ext/Adv SSB",                band15, TRUE},
-        {21275000LL, 21339999LL, "15M SSB",                        band15, TRUE},
-        {21340000LL, 21340000LL, "15M SSTV",                       band15, TRUE},
-        {21340001LL, 21449999LL, "15M SSB",                        band15, TRUE},
-
-        {21450000LL, 21850000LL, "13M Short Wave",                 bandGen,FALSE}, 
-
-        {24890000LL, 24919999LL, "12M CW",                         band12, TRUE},
-        {24920000LL, 24924999LL, "12M RTTY",                       band12, TRUE},
-        {24925000LL, 24929999LL, "12M Packet",                     band12, TRUE},
-        {24930000LL, 24930000LL, "12M NCDXF Beacons",              band12, TRUE},
-        {24930001LL, 24989999LL, "12M SSB Wideband",               band12, TRUE},
-
-        {25600000LL, 26100000LL, "11M Short Wave",                 bandGen,FALSE}, 
-
-        {28000000LL, 28069999LL, "10M CW",                         band10, TRUE},
-        {28070000LL, 28149999LL, "10M RTTY",                       band10, TRUE},
-        {28150000LL, 28199999LL, "10M CW",                         band10, TRUE},
-        {28200000LL, 28200000LL, "10M NCDXF Beacons",              band10, TRUE},
-        {28200001LL, 28299999LL, "10M Beacons",                    band10, TRUE},
-        {28300000LL, 28679999LL, "10M SSB",                        band10, TRUE},
-        {28680000LL, 28680000LL, "10M SSTV",                       band10, TRUE},
-        {28680001LL, 28999999LL, "10M SSB",                        band10, TRUE},
-        {29000000LL, 29199999LL, "10M AM",                         band10, TRUE},
-        {29200000LL, 29299999LL, "10M SSB",                        band10, TRUE},
-        {29300000LL, 29509999LL, "10M Satellite Downlinks",        band10, TRUE},
-        {29510000LL, 29519999LL, "10M Deadband",                   band10, TRUE},
-        {29520000LL, 29589999LL, "10M Repeater Inputs",            band10, TRUE},
-        {29590000LL, 29599999LL, "10M Deadband",                   band10, TRUE},
-        {29600000LL, 29600000LL, "10M FM Simplex",                 band10, TRUE},
-        {29600001LL, 29609999LL, "10M Deadband",                   band10, TRUE},
-        {29610000LL, 29699999LL, "10M Repeater Outputs",           band10, TRUE},
-
-        {50000000LL, 50059999LL, "6M CW",                          band6, TRUE},
-        {50060000LL, 50079999LL, "6M Beacon Sub-Band",             band6, TRUE},
-        {50080000LL, 50099999LL, "6M CW",                          band6, TRUE},
-        {50100000LL, 50124999LL, "6M DX Window",                   band6, TRUE},
-        {50125000LL, 50125000LL, "6M Calling Frequency",           band6, TRUE},
-        {50125001LL, 50299999LL, "6M SSB",                         band6, TRUE},
-        {50300000LL, 50599999LL, "6M All Modes",                   band6, TRUE},
-        {50600000LL, 50619999LL, "6M Non Voice",                   band6, TRUE},
-        {50620000LL, 50620000LL, "6M Digital Packet Calling",      band6, TRUE},
-        {50620001LL, 50799999LL, "6M Non Voice",                   band6, TRUE},
-        {50800000LL, 50999999LL, "6M RC",                          band6, TRUE},
-        {51000000LL, 51099999LL, "6M Pacific DX Window",           band6, TRUE},
-        {51100000LL, 51119999LL, "6M Deadband",                    band6, TRUE},
-        {51120000LL, 51179999LL, "6M Digital Repeater Inputs",     band6, TRUE},
-        {51180000LL, 51479999LL, "6M Repeater Inputs",             band6, TRUE},
-        {51480000LL, 51619999LL, "6M Deadband",                    band6, TRUE},
-        {51620000LL, 51679999LL, "6M Digital Repeater Outputs",    band6, TRUE},
-        {51680000LL, 51979999LL, "6M Repeater Outputs",            band6, TRUE},
-        {51980000LL, 51999999LL, "6M Deadband",                    band6, TRUE},
-        {52000000LL, 52019999LL, "6M Repeater Inputs",             band6, TRUE},
-        {52020000LL, 52020000LL, "6M FM Simplex",                  band6, TRUE},
-        {52020001LL, 52039999LL, "6M Repeater Inputs",             band6, TRUE},
-        {52040000LL, 52040000LL, "6M FM Simplex",                  band6, TRUE},
-        {52040001LL, 52479999LL, "6M Repeater Inputs",             band6, TRUE},
-        {52480000LL, 52499999LL, "6M Deadband",                    band6, TRUE},
-        {52500000LL, 52524999LL, "6M Repeater Outputs",            band6, TRUE},
-        {52525000LL, 52525000LL, "6M Primary FM Simplex",          band6, TRUE},
-        {52525001LL, 52539999LL, "6M Deadband",                    band6, TRUE},
-        {52540000LL, 52540000LL, "6M Secondary FM Simplex",        band6, TRUE},
-        {52540001LL, 52979999LL, "6M Repeater Outputs",            band6, TRUE},
-        {52980000LL, 52999999LL, "6M Deadbands",                   band6, TRUE},
-        {53000000LL, 53000000LL, "6M Remote Base FM Spx",          band6, TRUE},
-        {53000001LL, 53019999LL, "6M Repeater Inputs",             band6, TRUE},
-        {53020000LL, 53020000LL, "6M FM Simplex",                  band6, TRUE},
-        {53020001LL, 53479999LL, "6M Repeater Inputs",             band6, TRUE},
-        {53480000LL, 53499999LL, "6M Deadband",                    band6, TRUE},
-        {53500000LL, 53519999LL, "6M Repeater Outputs",            band6, TRUE},
-        {53520000LL, 53520000LL, "6M FM Simplex",                  band6, TRUE},
-        {53520001LL, 53899999LL, "6M Repeater Outputs",            band6, TRUE},
-        {53900000LL, 53900000LL, "6M FM Simplex",                  band6, TRUE},
-        {53900010, 53979999LL, "6M Repeater Outputs",            band6, TRUE},
-        {53980000LL, 53999999LL, "6M Deadband",                    band6, TRUE},
-
-        {144000000LL, 144099999LL, "2M CW",                         -1, TRUE},
-        {144100000LL, 144199999LL, "2M CW/SSB",                     -1, TRUE},
-        {144200000LL, 144200000LL, "2M Calling",                    -1, TRUE},
-        {144200001LL, 144274999LL, "2M CW/SSB",                     -1, TRUE},
-        {144275000LL, 144299999LL, "2M Beacon Sub-Band",            -1, TRUE},
-        {144300000LL, 144499999LL, "2M Satellite",                  -1, TRUE},
-        {144500000LL, 144599999LL, "2M Linear Translator Inputs",   -1, TRUE},
-        {144600000LL, 144899999LL, "2M FM Repeater",                -1, TRUE},
-        {144900000LL, 145199999LL, "2M FM Simplex",                 -1, TRUE},
-        {145200000LL, 145499999LL, "2M FM Repeater",                -1, TRUE},
-        {145500000LL, 145799999LL, "2M FM Simplex",                 -1, TRUE},
-        {145800000LL, 145999999LL, "2M Satellite",                  -1, TRUE},
-        {146000000LL, 146399999LL, "2M FM Repeater",                -1, TRUE},
-        {146400000LL, 146609999LL, "2M FM Simplex",                 -1, TRUE},
-        {146610000LL, 147389999LL, "2M FM Repeater",                -1, TRUE},
-        {147390000LL, 147599999LL, "2M FM Simplex",                 -1, TRUE},
-        {147600000LL, 147999999LL, "2M FM Repeater",                -1, TRUE},
-
-        {222000000LL, 222024999LL, "125M EME/Weak Signal",          -1, TRUE},
-        {222025000LL, 222049999LL, "125M Weak Signal",              -1, TRUE},
-        {222050000LL, 222059999LL, "125M Propagation Beacons",      -1, TRUE},
-        {222060000LL, 222099999LL, "125M Weak Signal",              -1, TRUE},
-        {222100000LL, 222100000LL, "125M SSB/CW Calling",           -1, TRUE},
-        {222100001LL, 222149999LL, "125M Weak Signal CW/SSB",       -1, TRUE},
-        {222150000LL, 222249999LL, "125M Local Option",             -1, TRUE},
-        {222250000LL, 223380000LL, "125M FM Repeater Inputs",       -1, TRUE},
-        {222380001LL, 223399999LL, "125M General",                  -1, TRUE},
-        {223400000LL, 223519999LL, "125M FM Simplex",               -1, TRUE},
-        {223520000LL, 223639999LL, "125M Digital/Packet",           -1, TRUE},
-        {223640000LL, 223700000LL, "125M Links/Control",            -1, TRUE},
-        {223700001LL, 223709999LL, "125M General",                  -1, TRUE},
-        {223710000LL, 223849999LL, "125M Local Option",             -1, TRUE},
-        {223850000LL, 224980000LL, "125M Repeater Outputs",         -1, TRUE},
-
-        {420000000LL, 425999999LL, "70CM ATV Repeater",             -1, TRUE},
-        {426000000LL, 431999999LL, "70CM ATV Simplex",              -1, TRUE},
-        {432000000LL, 432069999LL, "70CM EME",                      -1, TRUE},
-        {432070000LL, 432099999LL, "70CM Weak Signal CW",           -1, TRUE},
-        {432100000LL, 432100000LL, "70CM Calling Frequency",        -1, TRUE},
-        {432100001LL, 432299999LL, "70CM Mixed Mode Weak Signal",   -1, TRUE},
-        {432300000LL, 432399999LL, "70CM Propagation Beacons",      -1, TRUE},
-        {432400000LL, 432999999LL, "70CM Mixed Mode Weak Signal",   -1, TRUE},
-        {433000000LL, 434999999LL, "70CM Auxillary/Repeater Links", -1, TRUE},
-        {435000000LL, 437999999LL, "70CM Satellite Only",           -1, TRUE},
-        {438000000LL, 441999999LL, "70CM ATV Repeater",             -1, TRUE},
-        {442000000LL, 444999999LL, "70CM Local Repeaters",          -1, TRUE},
-        {445000000LL, 445999999LL, "70CM Local Option",             -1, TRUE},
-        {446000000LL, 446000000LL, "70CM Simplex",                  -1, TRUE},
-        {446000001LL, 446999999LL, "70CM Local Option",             -1, TRUE},
-        {447000000LL, 450000000LL, "70CM Local Repeaters",          -1, TRUE},
-
-
-        {902000000LL, 902099999LL, "33CM Weak Signal SSTV/FAX/ACSSB", -1, TRUE},
-        {902100000LL, 902100000LL, "33CM Weak Signal Calling", -1, TRUE},
-        {902100001LL, 902799999LL, "33CM Weak Signal SSTV/FAX/ACSSB", -1, TRUE},
-        {902800000LL, 902999999LL, "33CM Weak Signal EME/CW", -1, TRUE},
-        {903000000LL, 903099999LL, "33CM Digital Modes",   -1, TRUE},
-        {903100000LL, 903100000LL, "33CM Alternate Calling", -1, TRUE},
-        {903100001LL, 905999999LL, "33CM Digital Modes",   -1, TRUE},
-        {906000000LL, 908999999LL, "33CM FM Repeater Inputs", -1, TRUE},
-        {909000000LL, 914999999LL, "33CM ATV",                             -1, TRUE},
-        {915000000LL, 917999999LL, "33CM Digital Modes",   -1, TRUE},
-        {918000000LL, 920999999LL, "33CM FM Repeater Outputs", -1, TRUE},
-        {921000000LL, 926999999LL, "33CM ATV",                             -1, TRUE},
-        {927000000LL, 928000000LL, "33CM FM Simplex/Links", -1, TRUE},
+        {      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},                                 
+
+        {    1800000LL,     1809999LL, "160M CW/Digital Modes",              band160, TRUE },
+        {    1810000LL,     1810000LL, "160M CW QRP",                        band160, TRUE },
+        {    1810001LL,     1842999LL, "160M CW",                            band160, TRUE },
+        {    1843000LL,     1909999LL, "160M SSB/SSTV/Wide Band",            band160, TRUE },
+        {    1910000LL,     1910000LL, "160M SSB QRP",                       band160, TRUE },
+        {    1910001LL,     1994999LL, "160M SSB/SSTV/Wide Band",            band160, TRUE },
+        {    1995000LL,     1999999LL, "160M Experimental",                  band160, TRUE },
+
+        {    2300000LL,     2495000LL, "120M Short Wave",                    bandGen, FALSE}, 
+
+        {    2500000LL,     2500000LL, "WWV",                                bandWWV, FALSE},
+
+        {    3200000LL,     3400000LL, "90M Short Wave",                     bandGen, FALSE}, 
+
+        {    3500000LL,     3524999LL, "80M Extra CW",                       band80,  TRUE },
+        {    3525000LL,     3579999LL, "80M CW",                             band80,  TRUE },
+        {    3580000LL,     3589999LL, "80M RTTY",                           band80,  TRUE },
+        {    3590000LL,     3590000LL, "80M RTTY DX",                        band80,  TRUE },
+        {    3590001LL,     3599999LL, "80M RTTY",                           band80,  TRUE },
+        {    3600000LL,     3699999LL, "75M Extra SSB",                      band80,  TRUE },
+        {    3700000LL,     3719999LL, "75M Ext/Adv SSB",                    band80,  TRUE },
+        {    3720000LL,     3723999LL, "75M Digital Voice",                  band80,  TRUE },
+        {    3724000LL,     3789999LL, "75M Ext/Adv SSB",                    band80,  TRUE },
+        {    3790000LL,     3799999LL, "75M Ext/Adv DX Window",              band80,  TRUE },
+        {    3800000LL,     3844999LL, "75M SSB",                            band80,  TRUE },
+        {    3845000LL,     3845000LL, "75M SSTV",                           band80,  TRUE },
+        {    3845001LL,     3884999LL, "75M SSB",                            band80,  TRUE },
+        {    3885000LL,     3885000LL, "75M AM Calling Frequency",           band80,  TRUE },
+        {    3885001LL,     3999999LL, "75M SSB",                            band80,  TRUE },
+
+        {    4750000LL,     4999999LL, "60M Short Wave",                     bandGen, FALSE}, 
+
+        {    5000000LL,     5000000LL, "WWV",                                bandWWV, FALSE}, 
+
+        {    5261250LL,     5408000LL, "60M",                                band60,  TRUE },
+        {    5261250LL,     5408000LL, "60M",                                band60,  FALSE},
+
+        {    5900000LL,     6200000LL, "49M Short Wave",                     bandGen, FALSE}, 
+
+        {    7000000LL,     7024999LL, "40M Extra CW",                       band40,  TRUE },
+        {    7025000LL,     7039999LL, "40M CW",                             band40,  TRUE },
+        {    7040000LL,     7040000LL, "40M RTTY DX",                        band40,  TRUE },
+        {    7040001LL,     7099999LL, "40M RTTY",                           band40,  TRUE },
+        {    7100000LL,     7124999LL, "40M CW",                             band40,  TRUE },
+        {    7125000LL,     7170999LL, "40M Ext/Adv SSB",                    band40,  TRUE },
+        {    7171000LL,     7171000LL, "40M SSTV",                           band40,  TRUE },
+        {    7171001LL,     7174999LL, "40M Ext/Adv SSB",                    band40,  TRUE },
+        {    7175000LL,     7289999LL, "40M SSB",                            band40,  TRUE },
+        {    7290000LL,     7290000LL, "40M AM Calling Frequency",           band40,  TRUE },
+        {    7290001LL,     7299999LL, "40M SSB",                            band40,  TRUE },
+
+        {    7300000LL,     7350000LL, "41M Short Wave",                     bandGen, FALSE}, 
+        {    9400000LL,     9900000LL, "31M Short Wave",                     bandGen, FALSE}, 
+
+        {   10000000LL,    10000000LL, "WWV",                                bandWWV, FALSE}, 
+
+        {   10100000LL,    10129999LL, "30M CW",                             band30,  TRUE },
+        {   10130000LL,    10139999LL, "30M RTTY",                           band30,  TRUE },
+        {   10140000LL,    10149999LL, "30M Packet",                         band30,  TRUE },
+
+        {   11600000LL,    12100000LL, "25M Short Wave",                     bandGen, FALSE}, 
+        {   13570000LL,    13870000LL, "22M Short Wave",                     bandGen, FALSE}, 
+
+        {   14000000LL,    14024999LL, "20M Extra CW",                       band20,  TRUE },
+        {   14025000LL,    14069999LL, "20M CW",                             band20,  TRUE },
+        {   14070000LL,    14094999LL, "20M RTTY",                           band20,  TRUE },
+        {   14095000LL,    14099499LL, "20M Packet",                         band20,  TRUE },
+        {   14099500LL,    14099999LL, "20M CW",                             band20,  TRUE },
+        {   14100000LL,    14100000LL, "20M NCDXF Beacons",                  band20,  TRUE },
+        {   14100001LL,    14100499LL, "20M CW",                             band20,  TRUE },
+        {   14100500LL,    14111999LL, "20M Packet",                         band20,  TRUE },
+        {   14112000LL,    14149999LL, "20M CW",                             band20,  TRUE },
+        {   14150000LL,    14174999LL, "20M Extra SSB",                      band20,  TRUE },
+        {   14175000LL,    14224999LL, "20M Ext/Adv SSB",                    band20,  TRUE },
+        {   14225000LL,    14229999LL, "20M SSB",                            band20,  TRUE },
+        {   14230000LL,    14235999LL, "20M SSTV",                           band20,  TRUE },
+        {   14236000LL,    14239999LL, "20M Digital Voice",                  band20,  TRUE },
+        {   14240000LL,    14284999LL, "20M SSB",                            band20,  TRUE },
+        {   14285000LL,    14285000LL, "20M SSB QRP Calling Frequency",      band20,  TRUE },
+        {   14285000LL,    14285999LL, "20M SSB",                            band20,  TRUE },
+        {   14286000LL,    14286000LL, "20M AM Calling Frequency",           band20,  TRUE },
+        {   14286001LL,    14349999LL, "20M SSB",                            band20,  TRUE },
+
+        {   15000000LL,    15000000LL, "WWV",                                bandWWV, FALSE}, 
+
+        {   15100000LL,    15800000LL, "19M Short Wave",                     bandGen, FALSE}, 
+        {   17480000LL,    17900000LL, "16M Short Wave",                     bandGen, FALSE}, 
+
+        {   18068000LL,    18099999LL, "17M CW",                             band17,  TRUE },
+        {   18100000LL,    18104999LL, "17M RTTY",                           band17,  TRUE },
+        {   18105000LL,    18109999LL, "17M Packet",                         band17,  TRUE },
+        {   18110000LL,    18110000LL, "17M NCDXF Beacons",                  band17,  TRUE },
+        {   18110001LL,    18167999LL, "17M SSB",                            band17,  TRUE },
+
+        {   18900000LL,    19020000LL, "15M Short Wave",                     bandGen, FALSE}, 
+
+        {   20000000LL,    20000000LL, "WWV",                                bandWWV, FALSE}, 
+
+        {   21000000LL,    21024999LL, "15M Extra CW",                       band15,  TRUE },
+        {   21025000LL,    21069999LL, "15M CW",                             band15,  TRUE },
+        {   21070000LL,    21099999LL, "15M RTTY",                           band15,  TRUE },
+        {   21100000LL,    21109999LL, "15M Packet",                         band15,  TRUE },
+        {   21110000LL,    21149999LL, "15M CW",                             band15,  TRUE },
+        {   21150000LL,    21150000LL, "15M NCDXF Beacons",                  band15,  TRUE },
+        {   21150001LL,    21199999LL, "15M CW",                             band15,  TRUE },
+        {   21200000LL,    21224999LL, "15M Extra SSB",                      band15,  TRUE },
+        {   21225000LL,    21274999LL, "15M Ext/Adv SSB",                    band15,  TRUE },
+        {   21275000LL,    21339999LL, "15M SSB",                            band15,  TRUE },
+        {   21340000LL,    21340000LL, "15M SSTV",                           band15,  TRUE },
+        {   21340001LL,    21449999LL, "15M SSB",                            band15,  TRUE },
+
+        {   21450000LL,    21850000LL, "13M Short Wave",                     bandGen, FALSE}, 
+
+        {   24890000LL,    24919999LL, "12M CW",                             band12,  TRUE },
+        {   24920000LL,    24924999LL, "12M RTTY",                           band12,  TRUE },
+        {   24925000LL,    24929999LL, "12M Packet",                         band12,  TRUE },
+        {   24930000LL,    24930000LL, "12M NCDXF Beacons",                  band12,  TRUE },
+        {   24930001LL,    24989999LL, "12M SSB Wideband",                   band12,  TRUE },
+
+        {   25600000LL,    26100000LL, "11M Short Wave",                     bandGen, FALSE}, 
+
+        {   28000000LL,    28069999LL, "10M CW",                             band10,  TRUE },
+        {   28070000LL,    28149999LL, "10M RTTY",                           band10,  TRUE },
+        {   28150000LL,    28199999LL, "10M CW",                             band10,  TRUE },
+        {   28200000LL,    28200000LL, "10M NCDXF Beacons",                  band10,  TRUE },
+        {   28200001LL,    28299999LL, "10M Beacons",                        band10,  TRUE },
+        {   28300000LL,    28679999LL, "10M SSB",                            band10,  TRUE },
+        {   28680000LL,    28680000LL, "10M SSTV",                           band10,  TRUE },
+        {   28680001LL,    28999999LL, "10M SSB",                            band10,  TRUE },
+        {   29000000LL,    29199999LL, "10M AM",                             band10,  TRUE },
+        {   29200000LL,    29299999LL, "10M SSB",                            band10,  TRUE },
+        {   29300000LL,    29509999LL, "10M Satellite Downlinks",            band10,  TRUE },
+        {   29510000LL,    29519999LL, "10M Deadband",                       band10,  TRUE },
+        {   29520000LL,    29589999LL, "10M Repeater Inputs",                band10,  TRUE },
+        {   29590000LL,    29599999LL, "10M Deadband",                       band10,  TRUE },
+        {   29600000LL,    29600000LL, "10M FM Simplex",                     band10,  TRUE },
+        {   29600001LL,    29609999LL, "10M Deadband",                       band10,  TRUE },
+        {   29610000LL,    29699999LL, "10M Repeater Outputs",               band10,  TRUE },
+
+        {   50000000LL,    50059999LL, "6M CW",                              band6,   TRUE },
+        {   50060000LL,    50079999LL, "6M Beacon Sub-Band",                 band6,   TRUE },
+        {   50080000LL,    50099999LL, "6M CW",                              band6,   TRUE },
+        {   50100000LL,    50124999LL, "6M DX Window",                       band6,   TRUE },
+        {   50125000LL,    50125000LL, "6M Calling Frequency",               band6,   TRUE },
+        {   50125001LL,    50299999LL, "6M SSB",                             band6,   TRUE },
+        {   50300000LL,    50599999LL, "6M All Modes",                       band6,   TRUE },
+        {   50600000LL,    50619999LL, "6M Non Voice",                       band6,   TRUE },
+        {   50620000LL,    50620000LL, "6M Digital Packet Calling",          band6,   TRUE },
+        {   50620001LL,    50799999LL, "6M Non Voice",                       band6,   TRUE },
+        {   50800000LL,    50999999LL, "6M RC",                              band6,   TRUE },
+        {   51000000LL,    51099999LL, "6M Pacific DX Window",               band6,   TRUE },
+        {   51100000LL,    51119999LL, "6M Deadband",                        band6,   TRUE },
+        {   51120000LL,    51179999LL, "6M Digital Repeater Inputs",         band6,   TRUE },
+        {   51180000LL,    51479999LL, "6M Repeater Inputs",                 band6,   TRUE },
+        {   51480000LL,    51619999LL, "6M Deadband",                        band6,   TRUE },
+        {   51620000LL,    51679999LL, "6M Digital Repeater Outputs",        band6,   TRUE },
+        {   51680000LL,    51979999LL, "6M Repeater Outputs",                band6,   TRUE },
+        {   51980000LL,    51999999LL, "6M Deadband",                        band6,   TRUE },
+        {   52000000LL,    52019999LL, "6M Repeater Inputs",                 band6,   TRUE },
+        {   52020000LL,    52020000LL, "6M FM Simplex",                      band6,   TRUE },
+        {   52020001LL,    52039999LL, "6M Repeater Inputs",                 band6,   TRUE },
+        {   52040000LL,    52040000LL, "6M FM Simplex",                      band6,   TRUE },
+        {   52040001LL,    52479999LL, "6M Repeater Inputs",                 band6,   TRUE },
+        {   52480000LL,    52499999LL, "6M Deadband",                        band6,   TRUE },
+        {   52500000LL,    52524999LL, "6M Repeater Outputs",                band6,   TRUE },
+        {   52525000LL,    52525000LL, "6M Primary FM Simplex",              band6,   TRUE },
+        {   52525001LL,    52539999LL, "6M Deadband",                        band6,   TRUE },
+        {   52540000LL,    52540000LL, "6M Secondary FM Simplex",            band6,   TRUE },
+        {   52540001LL,    52979999LL, "6M Repeater Outputs",                band6,   TRUE },
+        {   52980000LL,    52999999LL, "6M Deadbands",                       band6,   TRUE },
+        {   53000000LL,    53000000LL, "6M Remote Base FM Spx",              band6,   TRUE },
+        {   53000001LL,    53019999LL, "6M Repeater Inputs",                 band6,   TRUE },
+        {   53020000LL,    53020000LL, "6M FM Simplex",                      band6,   TRUE },
+        {   53020001LL,    53479999LL, "6M Repeater Inputs",                 band6,   TRUE },
+        {   53480000LL,    53499999LL, "6M Deadband",                        band6,   TRUE },
+        {   53500000LL,    53519999LL, "6M Repeater Outputs",                band6,   TRUE },
+        {   53520000LL,    53520000LL, "6M FM Simplex",                      band6,   TRUE },
+        {   53520001LL,    53899999LL, "6M Repeater Outputs",                band6,   TRUE },
+        {   53900000LL,    53900000LL, "6M FM Simplex",                      band6,   TRUE },
+        {   53900010LL,    53979999LL, "6M Repeater Outputs",                band6,   TRUE },
+        {   53980000LL,    53999999LL, "6M Deadband",                        band6,   TRUE },
+
+        {  144000000LL,   144099999LL, "2M CW",                              NOBAND,  TRUE },
+        {  144100000LL,   144199999LL, "2M CW/SSB",                          NOBAND,  TRUE },
+        {  144200000LL,   144200000LL, "2M Calling",                         NOBAND,  TRUE },
+        {  144200001LL,   144274999LL, "2M CW/SSB",                          NOBAND,  TRUE },
+        {  144275000LL,   144299999LL, "2M Beacon Sub-Band",                 NOBAND,  TRUE },
+        {  144300000LL,   144499999LL, "2M Satellite",                       NOBAND,  TRUE },
+        {  144500000LL,   144599999LL, "2M Linear Translator Inputs",        NOBAND,  TRUE },
+        {  144600000LL,   144899999LL, "2M FM Repeater",                     NOBAND,  TRUE },
+        {  144900000LL,   145199999LL, "2M FM Simplex",                      NOBAND,  TRUE },
+        {  145200000LL,   145499999LL, "2M FM Repeater",                     NOBAND,  TRUE },
+        {  145500000LL,   145799999LL, "2M FM Simplex",                      NOBAND,  TRUE },
+        {  145800000LL,   145999999LL, "2M Satellite",                       NOBAND,  TRUE },
+        {  146000000LL,   146399999LL, "2M FM Repeater",                     NOBAND,  TRUE },
+        {  146400000LL,   146609999LL, "2M FM Simplex",                      NOBAND,  TRUE },
+        {  146610000LL,   147389999LL, "2M FM Repeater",                     NOBAND,  TRUE },
+        {  147390000LL,   147599999LL, "2M FM Simplex",                      NOBAND,  TRUE },
+        {  147600000LL,   147999999LL, "2M FM Repeater",                     NOBAND,  TRUE },
+
+        {  222000000LL,   222024999LL, "125CM EME/Weak Signal",              NOBAND,  TRUE },
+        {  222025000LL,   222049999LL, "125CM Weak Signal",                  NOBAND,  TRUE },
+        {  222050000LL,   222059999LL, "125CM Propagation Beacons",          NOBAND,  TRUE },
+        {  222060000LL,   222099999LL, "125CM Weak Signal",                  NOBAND,  TRUE },
+        {  222100000LL,   222100000LL, "125CM SSB/CW Calling",               NOBAND,  TRUE },
+        {  222100001LL,   222149999LL, "125CM Weak Signal CW/SSB",           NOBAND,  TRUE },
+        {  222150000LL,   222249999LL, "125CM Local Option",                 NOBAND,  TRUE },
+        {  222250000LL,   223380000LL, "125CM FM Repeater Inputs",           NOBAND,  TRUE },
+        {  222380001LL,   223399999LL, "125CM General",                      NOBAND,  TRUE },
+        {  223400000LL,   223519999LL, "125CM FM Simplex",                   NOBAND,  TRUE },
+        {  223520000LL,   223639999LL, "125CM Digital/Packet",               NOBAND,  TRUE },
+        {  223640000LL,   223700000LL, "125CM Links/Control",                NOBAND,  TRUE },
+        {  223700001LL,   223709999LL, "125CM General",                      NOBAND,  TRUE },
+        {  223710000LL,   223849999LL, "125CM Local Option",                 NOBAND,  TRUE },
+        {  223850000LL,   224980000LL, "125CM Repeater Outputs",             NOBAND,  TRUE },
+
+        {  420000000LL,   425999999LL, "70CM ATV Repeater",                  NOBAND,  TRUE },
+        {  426000000LL,   431999999LL, "70CM ATV Simplex",                   NOBAND,  TRUE },
+        {  432000000LL,   432069999LL, "70CM EME",                           NOBAND,  TRUE },
+        {  432070000LL,   432099999LL, "70CM Weak Signal CW",                NOBAND,  TRUE },
+        {  432100000LL,   432100000LL, "70CM Calling Frequency",             NOBAND,  TRUE },
+        {  432100001LL,   432299999LL, "70CM Mixed Mode Weak Signal",        NOBAND,  TRUE },
+        {  432300000LL,   432399999LL, "70CM Propagation Beacons",           NOBAND,  TRUE },
+        {  432400000LL,   432999999LL, "70CM Mixed Mode Weak Signal",        NOBAND,  TRUE },
+        {  433000000LL,   434999999LL, "70CM Auxillary/Repeater Links",      NOBAND,  TRUE },
+        {  435000000LL,   437999999LL, "70CM Satellite Only",                NOBAND,  TRUE },
+        {  438000000LL,   441999999LL, "70CM ATV Repeater",                  NOBAND,  TRUE },
+        {  442000000LL,   444999999LL, "70CM Local Repeaters",               NOBAND,  TRUE },
+        {  445000000LL,   445999999LL, "70CM Local Option",                  NOBAND,  TRUE },
+        {  446000000LL,   446000000LL, "70CM Simplex",                       NOBAND,  TRUE },
+        {  446000001LL,   446999999LL, "70CM Local Option",                  NOBAND,  TRUE },
+        {  447000000LL,   450000000LL, "70CM Local Repeaters",               NOBAND,  TRUE },
+
+
+        {  902000000LL,   902099999LL, "33CM Weak Signal SSTV/FAX/ACSSB",    NOBAND,  TRUE },
+        {  902100000LL,   902100000LL, "33CM Weak Signal Calling",           NOBAND,  TRUE },
+        {  902100001LL,   902799999LL, "33CM Weak Signal SSTV/FAX/ACSSB",    NOBAND,  TRUE },
+        {  902800000LL,   902999999LL, "33CM Weak Signal EME/CW",            NOBAND,  TRUE },
+        {  903000000LL,   903099999LL, "33CM Digital Modes",                 NOBAND,  TRUE },
+        {  903100000LL,   903100000LL, "33CM Alternate Calling",             NOBAND,  TRUE },
+        {  903100001LL,   905999999LL, "33CM Digital Modes",                 NOBAND,  TRUE },
+        {  906000000LL,   908999999LL, "33CM FM Repeater Inputs",            NOBAND,  TRUE },
+        {  909000000LL,   914999999LL, "33CM ATV",                           NOBAND,  TRUE },
+        {  915000000LL,   917999999LL, "33CM Digital Modes",                 NOBAND,  TRUE },
+        {  918000000LL,   920999999LL, "33CM FM Repeater Outputs",           NOBAND,  TRUE },
+        {  921000000LL,   926999999LL, "33CM ATV",                           NOBAND,  TRUE },
+        {  927000000LL,   928000000LL, "33CM FM Simplex/Links",              NOBAND,  TRUE },
          
-        {1240000000LL, 1245999999LL, "23CM ATV #1",                -1, TRUE},
-        {1246000000LL, 1251999999LL, "23CM FMN Point/Links", -1, TRUE},
-        {1252000000LL, 1257999999LL, "23CM ATV #2, Digital Modes", -1, TRUE},
-        {1258000000LL, 1259999999LL, "23CM FMN Point/Links", -1, TRUE},
-        {1260000000LL, 1269999999LL, "23CM Sat Uplinks/Wideband Exp", -1, TRUE},
-        {1270000000LL, 1275999999LL, "23CM Repeater Inputs", -1, TRUE},
-        {1276000000LL, 1281999999LL, "23CM ATV #3",                -1, TRUE},
-        {1282000000LL, 1287999999LL, "23CM Repeater Outputs",      -1, TRUE},
-        {1288000000LL, 1293999999LL, "23CM Simplex ATV/Wideband Exp", -1, TRUE},
-        {1294000000LL, 1294499999LL, "23CM Simplex FMN",           -1, TRUE},
-        {1294500000LL, 1294500000LL, "23CM FM Simplex Calling", -1, TRUE},
-        {1294500001LL, 1294999999LL, "23CM Simplex FMN",           -1, TRUE},
-        {1295000000LL, 1295799999LL, "23CM SSTV/FAX/ACSSB/Exp", -1, TRUE},
-        {1295800000LL, 1295999999LL, "23CM EME/CW Expansion",      -1, TRUE},
-        {1296000000LL, 1296049999LL, "23CM EME Exclusive",         -1, TRUE},
-        {1296050000LL, 1296069999LL, "23CM Weak Signal",           -1, TRUE},
-        {1296070000LL, 1296079999LL, "23CM CW Beacons",            -1, TRUE},
-        {1296080000LL, 1296099999LL, "23CM Weak Signal",           -1, TRUE},
-        {1296100000LL, 1296100000LL, "23CM CW/SSB Calling",        -1, TRUE},
-        {1296100001LL, 1296399999LL, "23CM Weak Signal",           -1, TRUE},
-        {1296400000LL, 1296599999LL, "23CM X-Band Translator Input", -1, TRUE},
-        {1296600000LL, 1296799999LL, "23CM X-Band Translator Output", -1, TRUE},
-        {1296800000LL, 1296999999LL, "23CM Experimental Beacons", -1, TRUE},
-        {1297000000LL, 1300000000LL, "23CM Digital Modes",         -1, TRUE},
-
-        {2300000000LL, 2302999999LL, "23GHz High Data Rate", -1, TRUE},
-        {2303000000LL, 2303499999LL, "23GHz Packet",              -1, TRUE},
-        {2303500000LL, 2303800000LL, "23GHz TTY Packet",  -1, TRUE},
-        {2303800001LL, 2303899999LL, "23GHz General",     -1, TRUE},
-        {2303900000LL, 2303900000LL, "23GHz Packet/TTY/CW/EME", -1, TRUE},
-        {2303900001LL, 2304099999LL, "23GHz CW/EME",              -1, TRUE},
-        {2304100000LL, 2304100000LL, "23GHz Calling Frequency", -1, TRUE},
-        {2304100001LL, 2304199999LL, "23GHz CW/EME/SSB",  -1, TRUE},
-        {2304200000LL, 2304299999LL, "23GHz SSB/SSTV/FAX/Packet AM/Amtor", -1, TRUE},
-        {2304300000LL, 2304319999LL, "23GHz Propagation Beacon Network", -1, TRUE},
-        {2304320000LL, 2304399999LL, "23GHz General Propagation Beacons", -1, TRUE},
-        {2304400000LL, 2304499999LL, "23GHz SSB/SSTV/ACSSB/FAX/Packet AM", -1, TRUE},
-        {2304500000LL, 2304699999LL, "23GHz X-Band Translator Input", -1, TRUE},
-        {2304700000LL, 2304899999LL, "23GHz X-Band Translator Output", -1, TRUE},
-        {2304900000LL, 2304999999LL, "23GHz Experimental Beacons", -1, TRUE},
-        {2305000000LL, 2305199999LL, "23GHz FM Simplex", -1, TRUE},
-        {2305200000LL, 2305200000LL, "23GHz FM Simplex Calling", -1, TRUE},
-        {2305200001LL, 2305999999LL, "23GHz FM Simplex", -1, TRUE},
-        {2306000000LL, 2308999999LL, "23GHz FM Repeaters", -1, TRUE},
-        {2309000000LL, 2310000000LL, "23GHz Control/Aux Links", -1, TRUE},
-        {2390000000LL, 2395999999LL, "23GHz Fast-Scan TV", -1, TRUE},
-        {2396000000LL, 2398999999LL, "23GHz High Rate Data", -1, TRUE},
-        {2399000000LL, 2399499999LL, "23GHz Packet", -1, TRUE},
-        {2399500000LL, 2399999999LL, "23GHz Control/Aux Links", -1, TRUE},
-        {2400000000LL, 2402999999LL, "24GHz Satellite", -1, TRUE},
-        {2403000000LL, 2407999999LL, "24GHz Satellite High-Rate Data", -1, TRUE},
-        {2408000000LL, 2409999999LL, "24GHz Satellite", -1, TRUE},
-        {2410000000LL, 2412999999LL, "24GHz FM Repeaters", -1, TRUE},
-        {2413000000LL, 2417999999LL, "24GHz High-Rate Data", -1, TRUE},
-        {2418000000LL, 2429999999LL, "24GHz Fast-Scan TV", -1, TRUE},
-        {2430000000LL, 2432999999LL, "24GHz Satellite", -1, TRUE},
-        {2433000000LL, 2437999999LL, "24GHz Sat High-Rate Data", -1, TRUE},
-        {2438000000LL, 2450000000LL, "24GHz Wideband FM/FSTV/FMTV", -1, TRUE},
-
-        {3456000000LL, 3456099999LL, "3.4GHz General", -1, TRUE},
-        {3456100000LL, 3456100000LL, "3.4GHz Calling Frequency", -1, TRUE},
-        {3456100001LL, 3456299999LL, "3.4GHz General", -1, TRUE},
-        {3456300000LL, 3456400000LL, "3.4GHz Propagation Beacons", -1, TRUE},
-
-        {5760000000LL, 5760099999LL, "5.7GHz General", -1, TRUE},
-        {5760100000LL, 5760100000LL, "5.7GHz Calling Frequency", -1, TRUE},
-        {5760100001LL, 5760299999LL, "5.7GHz General", -1, TRUE},
-        {5760300000LL, 5760400000LL, "5.7GHz Propagation Beacons", -1, TRUE},
-
-        {10368000000LL, 10368099999LL, "10GHz General", -1, TRUE},
-        {10368100000LL, 10368100000LL, "10GHz Calling Frequency", -1, TRUE},
-        {10368100001LL, 10368400000LL, "10GHz General", -1, TRUE},
-
-        {24192000000LL, 24192099999LL, "24GHz General", -1, TRUE},
-        {24192100000LL, 24192100000LL, "24GHz Calling Frequency", -1, TRUE},
-        {24192100001LL, 24192400000LL, "24GHz General", -1, TRUE},
-
-        {47088000000LL, 47088099999LL, "47GHz General", -1, TRUE},
-        {47088100000LL, 47088100000LL, "47GHz Calling Frequency", -1, TRUE},
-        {47088100001LL, 47088400000LL, "47GHz General", -1, TRUE},
-
-
-
-        {0,        0,        "",                               0,     FALSE}
+        { 1240000000LL,  1245999999LL, "23CM ATV #1",                        NOBAND,  TRUE },
+        { 1246000000LL,  1251999999LL, "23CM FMN Point/Links",               NOBAND,  TRUE },
+        { 1252000000LL,  1257999999LL, "23CM ATV #2, Digital Modes",         NOBAND,  TRUE },
+        { 1258000000LL,  1259999999LL, "23CM FMN Point/Links",               NOBAND,  TRUE },
+        { 1260000000LL,  1269999999LL, "23CM Sat Uplinks/Wideband Exp",      NOBAND,  TRUE },
+        { 1270000000LL,  1275999999LL, "23CM Repeater Inputs",               NOBAND,  TRUE },
+        { 1276000000LL,  1281999999LL, "23CM ATV #3",                        NOBAND,  TRUE },
+        { 1282000000LL,  1287999999LL, "23CM Repeater Outputs",              NOBAND,  TRUE },
+        { 1288000000LL,  1293999999LL, "23CM Simplex ATV/Wideband Exp",      NOBAND,  TRUE },
+        { 1294000000LL,  1294499999LL, "23CM Simplex FMN",                   NOBAND,  TRUE },
+        { 1294500000LL,  1294500000LL, "23CM FM Simplex Calling",            NOBAND,  TRUE },
+        { 1294500001LL,  1294999999LL, "23CM Simplex FMN",                   NOBAND,  TRUE },
+        { 1295000000LL,  1295799999LL, "23CM SSTV/FAX/ACSSB/Exp",            NOBAND,  TRUE },
+        { 1295800000LL,  1295999999LL, "23CM EME/CW Expansion",              NOBAND,  TRUE },
+        { 1296000000LL,  1296049999LL, "23CM EME Exclusive",                 NOBAND,  TRUE },
+        { 1296050000LL,  1296069999LL, "23CM Weak Signal",                   NOBAND,  TRUE },
+        { 1296070000LL,  1296079999LL, "23CM CW Beacons",                    NOBAND,  TRUE },
+        { 1296080000LL,  1296099999LL, "23CM Weak Signal",                   NOBAND,  TRUE },
+        { 1296100000LL,  1296100000LL, "23CM CW/SSB Calling",                NOBAND,  TRUE },
+        { 1296100001LL,  1296399999LL, "23CM Weak Signal",                   NOBAND,  TRUE },
+        { 1296400000LL,  1296599999LL, "23CM X-Band Translator Input",       NOBAND,  TRUE },
+        { 1296600000LL,  1296799999LL, "23CM X-Band Translator Output",      NOBAND,  TRUE },
+        { 1296800000LL,  1296999999LL, "23CM Experimental Beacons",          NOBAND,  TRUE },
+        { 1297000000LL,  1300000000LL, "23CM Digital Modes",                 NOBAND,  TRUE },
+
+        { 2300000000LL,  2302999999LL, "2.3GHz High Data Rate",              NOBAND,  TRUE },
+        { 2303000000LL,  2303499999LL, "2.3GHz Packet",                      NOBAND,  TRUE },
+        { 2303500000LL,  2303800000LL, "2.3GHz TTY Packet",                  NOBAND,  TRUE },
+        { 2303800001LL,  2303899999LL, "2.3GHz General",                     NOBAND,  TRUE },
+        { 2303900000LL,  2303900000LL, "2.3GHz Packet/TTY/CW/EME",           NOBAND,  TRUE },
+        { 2303900001LL,  2304099999LL, "2.3GHz CW/EME",                      NOBAND,  TRUE },
+        { 2304100000LL,  2304100000LL, "2.3GHz Calling Frequency",           NOBAND,  TRUE },
+        { 2304100001LL,  2304199999LL, "2.3GHz CW/EME/SSB",                  NOBAND,  TRUE },
+        { 2304200000LL,  2304299999LL, "2.3GHz SSB/SSTV/FAX/Packet AM/Amtor",NOBAND,  TRUE },
+        { 2304300000LL,  2304319999LL, "2.3GHz Propagation Beacon Network",  NOBAND,  TRUE },
+        { 2304320000LL,  2304399999LL, "2.3GHz General Propagation Beacons", NOBAND,  TRUE },
+        { 2304400000LL,  2304499999LL, "2.3GHz SSB/SSTV/ACSSB/FAX/Packet AM",NOBAND,  TRUE },
+        { 2304500000LL,  2304699999LL, "2.3GHz X-Band Translator Input",     NOBAND,  TRUE },
+        { 2304700000LL,  2304899999LL, "2.3GHz X-Band Translator Output",    NOBAND,  TRUE },
+        { 2304900000LL,  2304999999LL, "2.3GHz Experimental Beacons",        NOBAND,  TRUE },
+        { 2305000000LL,  2305199999LL, "2.3GHz FM Simplex",                  NOBAND,  TRUE },
+        { 2305200000LL,  2305200000LL, "2.3GHz FM Simplex Calling",          NOBAND,  TRUE },
+        { 2305200001LL,  2305999999LL, "2.3GHz FM Simplex",                  NOBAND,  TRUE },
+        { 2306000000LL,  2308999999LL, "2.3GHz FM Repeaters",                NOBAND,  TRUE },
+        { 2309000000LL,  2310000000LL, "2.3GHz Control/Aux Links",           NOBAND,  TRUE },
+        { 2390000000LL,  2395999999LL, "2.3GHz Fast-Scan TV",                NOBAND,  TRUE },
+        { 2396000000LL,  2398999999LL, "2.3GHz High Rate Data",              NOBAND,  TRUE },
+        { 2399000000LL,  2399499999LL, "2.3GHz Packet",                      NOBAND,  TRUE },
+        { 2399500000LL,  2399999999LL, "2.3GHz Control/Aux Links",           NOBAND,  TRUE },
+        { 2400000000LL,  2402999999LL, "2.4GHz Satellite",                   NOBAND,  TRUE },
+        { 2403000000LL,  2407999999LL, "2.4GHz Satellite High-Rate Data",    NOBAND,  TRUE },
+        { 2408000000LL,  2409999999LL, "2.4GHz Satellite",                   NOBAND,  TRUE },
+        { 2410000000LL,  2412999999LL, "2.4GHz FM Repeaters",                NOBAND,  TRUE },
+        { 2413000000LL,  2417999999LL, "2.4GHz High-Rate Data",              NOBAND,  TRUE },
+        { 2418000000LL,  2429999999LL, "2.4GHz Fast-Scan TV",                NOBAND,  TRUE },
+        { 2430000000LL,  2432999999LL, "2.4GHz Satellite",                   NOBAND,  TRUE },
+        { 2433000000LL,  2437999999LL, "2.4GHz Sat High-Rate Data",          NOBAND,  TRUE },
+        { 2438000000LL,  2450000000LL, "2.4GHz Wideband FM/FSTV/FMTV",       NOBAND,  TRUE },
+
+        { 3456000000LL,  3456099999LL, "3.4GHz General",                     NOBAND,  TRUE },
+        { 3456100000LL,  3456100000LL, "3.4GHz Calling Frequency",           NOBAND,  TRUE },
+        { 3456100001LL,  3456299999LL, "3.4GHz General",                     NOBAND,  TRUE },
+        { 3456300000LL,  3456400000LL, "3.4GHz Propagation Beacons",         NOBAND,  TRUE },
+
+        { 5760000000LL,  5760099999LL, "5.7GHz General",                     NOBAND,  TRUE },
+        { 5760100000LL,  5760100000LL, "5.7GHz Calling Frequency",           NOBAND,  TRUE },
+        { 5760100001LL,  5760299999LL, "5.7GHz General",                     NOBAND,  TRUE },
+        { 5760300000LL,  5760400000LL, "5.7GHz Propagation Beacons",         NOBAND,  TRUE },
+
+        {10368000000LL, 10368099999LL, "10GHz General",                      NOBAND,  TRUE },
+        {10368100000LL, 10368100000LL, "10GHz Calling Frequency",            NOBAND,  TRUE },
+        {10368100001LL, 10368400000LL, "10GHz General",                      NOBAND,  TRUE },
+
+        {24192000000LL, 24192099999LL, "24GHz General",                      NOBAND,  TRUE },
+        {24192100000LL, 24192100000LL, "24GHz Calling Frequency",            NOBAND,  TRUE },
+        {24192100001LL, 24192400000LL, "24GHz General",                      NOBAND,  TRUE },
+
+        {47088000000LL, 47088099999LL, "47GHz General",                      NOBAND,  TRUE },
+        {47088100000LL, 47088100000LL, "47GHz Calling Frequency",            NOBAND,  TRUE },
+        {47088100001LL, 47088400000LL, "47GHz General",                      NOBAND,  TRUE },
+
+
+
+        {0LL,           0LL,           "",                                   0,       FALSE}
 
         
 
@@ -422,13 +427,28 @@ char* getFrequencyInfo(long long frequency,int filter_low,int filter_high) {
                 }
               }
               if(i>=channel_entries) {
-                info++;
+                info++;   // next entry is the whole 60m-Band with transmit = FALSE
               }
               break;
             } else {
               result=info->info;
             }
             break;
+        } else if ((info->maxFrequency +1) == ((info+1)->minFrequency) &&
+                   flow>=info->minFrequency && fhigh <= (info+1)->maxFrequency) {
+            // DL1YCF:
+           // Sometimes in DigiMode operation, the nominal USB TX channel crosses
+           // a sub-band boundary. Example: FT8 on 17m, VFO set to 18099 kHz because
+           // FT8 signal is generated at 18100.8 kHz with an AF signal of 1800 Hz.
+           // Here we allow transmit in this case. If we arrive at this point,
+           // we have two adjacent sub-bands, and parts of the TX signal fall into
+           // either sub-band. We can return the info for the lower sub-band if
+           // the band and transmit data is the same in both cases. If they are
+           // different, we have found no match so far.
+           if ((info->band == (info+1)->band) && (info->transmit == (info+1)->transmit)) {
+               result = info->info;
+               break;
+           }
         }
         info++;
     }
diff --git a/main.c b/main.c
index 4e3bcbca6c985e1c5b52a77f0b1345c916c3f533..ba908d4ec8ec6f2fbb19aaf270b75af169e8a8b1 100644 (file)
--- a/main.c
+++ b/main.c
 *
 */
 
-// DL1YCF
 // Define maximum window size. 
-// Original values 800 and 480, but if the screen is large, why not using it?
+// Standard values 800 and 480: suitable for RaspberryBi 7-inch screen
 
-#define MAX_DISPLAY_WIDTH 1020
-#define MAX_DISPLAY_HEIGHT 700
+#define MAX_DISPLAY_WIDTH  800
+#define MAX_DISPLAY_HEIGHT 480
 
 #include <gtk/gtk.h>
 #include <gdk/gdk.h>
diff --git a/radio.c b/radio.c
index 512687b224a783eec7480f7921b007f30332e5a5..121fddfc92d494fcae846e3e6222382789bdb30c 100644 (file)
--- a/radio.c
+++ b/radio.c
@@ -1545,17 +1545,27 @@ fprintf(stderr,"set_freedv: rx=%p state=%d\n",active_receiver,state);
 
 void radio_change_region(int r) {
   region=r;
-  if(region==REGION_UK) {
-    channel_entries=UK_CHANNEL_ENTRIES;
-    band_channels_60m=&band_channels_60m_UK[0];
-    bandstack60.entries=UK_CHANNEL_ENTRIES;
-    bandstack60.current_entry=0;
-    bandstack60.entry=bandstack_entries60_UK;
-  } else {
-    channel_entries=OTHER_CHANNEL_ENTRIES;
-    band_channels_60m=&band_channels_60m_OTHER[0];
-    bandstack60.entries=OTHER_CHANNEL_ENTRIES;
-    bandstack60.current_entry=0;
-    bandstack60.entry=bandstack_entries60_OTHER;
+  switch (region) {
+    case REGION_UK:
+      channel_entries=UK_CHANNEL_ENTRIES;
+      band_channels_60m=&band_channels_60m_UK[0];
+      bandstack60.entries=UK_CHANNEL_ENTRIES;
+      bandstack60.current_entry=0;
+      bandstack60.entry=bandstack_entries60_UK;
+      break;
+    case REGION_OTHER:
+      channel_entries=OTHER_CHANNEL_ENTRIES;
+      band_channels_60m=&band_channels_60m_OTHER[0];
+      bandstack60.entries=OTHER_CHANNEL_ENTRIES;
+      bandstack60.current_entry=0;
+      bandstack60.entry=bandstack_entries60_OTHER;
+      break;
+    case REGION_WRC15:
+      channel_entries=WRC15_CHANNEL_ENTRIES;
+      band_channels_60m=&band_channels_60m_WRC15[0];
+      bandstack60.entries=WRC15_CHANNEL_ENTRIES;
+      bandstack60.current_entry=0;
+      bandstack60.entry=bandstack_entries60_WRC15;
+      break;
   }
 }
diff --git a/radio.h b/radio.h
index 84d30eb362cf65270bcdd752488d76f115db1077..d8d6663d9df1f436645e15a8e875d5d0ece1cfa0 100644 (file)
--- a/radio.h
+++ b/radio.h
@@ -56,6 +56,7 @@ extern char property_path[];
 
 #define REGION_OTHER 0
 #define REGION_UK 1
+#define REGION_WRC15 2  // 60m band allocation for countries implementing WRC15
 
 extern int region;
 
index d27345191b6ad8d8f6ee8af51f3f89b64e8f1078..fb915d67e1173f13850f6709a3fb0eb0f4ae39a6 100644 (file)
@@ -215,6 +215,7 @@ void radio_menu(GtkWidget *parent) {
   GtkWidget *region_combo=gtk_combo_box_text_new();
   gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(region_combo),NULL,"Other");
   gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(region_combo),NULL,"UK");
+  gtk_combo_box_text_append(GTK_COMBO_BOX_TEXT(region_combo),NULL,"WRC15");
   gtk_combo_box_set_active(GTK_COMBO_BOX(region_combo),region);
   gtk_grid_attach(GTK_GRID(grid),region_combo,2,0,1,1);
   g_signal_connect(region_combo,"changed",G_CALLBACK(region_cb),NULL);