From 3fc5e5ef015f71e7bb911deef57fbd54873e334f Mon Sep 17 00:00:00 2001 From: John Melton g0orx/n6lyt Date: Wed, 6 Apr 2016 07:15:17 +0000 Subject: [PATCH] added frquency information --- frequency.c | 448 ++++++++++++++++++++++++++++++++++++++++++++++++++++ frequency.h | 46 ++++++ 2 files changed, 494 insertions(+) create mode 100644 frequency.c create mode 100644 frequency.h diff --git a/frequency.c b/frequency.c new file mode 100644 index 0000000..9b309d3 --- /dev/null +++ b/frequency.c @@ -0,0 +1,448 @@ +/** +* @file frequency.c +* @brief Frequency functions +* @author John Melton, G0ORX/N6LYT, Doxygen Comments Dave Larsen, KV0S +* @version 0.1 +* @date 2009-04-11 +*/ + +/* Copyright (C) +* 2009 - John Melton, G0ORX/N6LYT, Doxygen Comments Dave Larsen, KV0S +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License +* as published by the Free Software Foundation; either version 2 +* of the License, or (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +* +*/ + + +// +// frequency.c +// + +#include +#include "xvtr.h" +#include "band.h" +#include "frequency.h" + +char* outOfBand="Out of band"; +struct frequency_info* info; + +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}, + {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, 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}, + + {5330500LL, 5330500LL, "60M Channel 1", band60, TRUE}, + {5346500LL, 5346500LL, "60M Channel 2", band60, TRUE}, + {5366500LL, 5366500LL, "60M Channel 3", band60, TRUE}, + {5371500LL, 5371500LL, "60M Channel 4", band60, TRUE}, + {5403500LL, 5403500LL, "60M Channel 5", band60, TRUE}, + + {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, 14230000LL, "20M SSTV", band20, TRUE}, + {14230000LL, 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}, + + {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} + + + + }; + +/* --------------------------------------------------------------------------*/ +/** +* @brief iGet the frequency information +* +* @param frequency +* +* @return +*/ +char* getFrequencyInfo(long long frequency) { + + char* result=outOfBand; + + info=frequencyInfo; + + while(info->minFrequency!=0) { + if(frequencyminFrequency) { + info=0; + break; + } else if(frequency>=info->minFrequency && frequency<=info->maxFrequency) { + result=info->info; + break; + } + info++; + } + + return result; +} + +/* --------------------------------------------------------------------------*/ +/** +* @brief Get Band information +* +* @param frequency +* +* @return +*/ +int getBand(long long frequency) { + int result=bandGen; + + info=frequencyInfo; + + while(info->minFrequency!=0) { + if(frequencyminFrequency) { + info=0; + break; + } else if(frequency>=info->minFrequency && frequency<=info->maxFrequency) { + result=info->band; + break; + } + info++; + } + + return result; +} + +int canTransmit() { + int result=0; + if(info!=0) { + result=info->transmit; + } + return result; +} + diff --git a/frequency.h b/frequency.h new file mode 100644 index 0000000..2aa1007 --- /dev/null +++ b/frequency.h @@ -0,0 +1,46 @@ +/** +* @file frequency.h +* @brief Header files for the frequency +* @author John Melton, G0ORX/N6LYT, Doxygen Comments Dave Larsen, KV0S +* @version 0.1 +* @date 2009-04-11 +*/ + +/* Copyright (C) +* 2009 - John Melton, G0ORX/N6LYT, Doxygen Comments Dave Larsen, KV0S +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License +* as published by the Free Software Foundation; either version 2 +* of the License, or (at your option) any later version. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +* +* You should have received a copy of the GNU General Public License +* along with this program; if not, write to the Free Software +* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +* +*/ + +// +// frequency.h +// + +/* --------------------------------------------------------------------------*/ +/** +* @brief Frequency information +*/ +struct frequency_info { + long long minFrequency; + long long maxFrequency; + char* info; + int band; + int transmit; + }; + + +char* getFrequencyInfo(long long frequency); +int getBand(long long frequency); +int canTransmit(); -- 2.45.2