kopia lustrzana https://github.com/bristol-seds/pico-tracker
[geofence] Add support for multiple APRS callsigns. Defined in 'aprs.h', keep your callsign on a local branch. Add UHF in US, Japan
rodzic
038b16367a
commit
890a4e2871
|
@ -34,11 +34,19 @@
|
|||
#ifdef APRS_FLIGHT_PARAMS /* ----------- Parameters for flight */
|
||||
|
||||
/**
|
||||
* This should be a full licensed callsign you own. Not mine plz k thx bai
|
||||
* This should return a full licensed callsign you own.
|
||||
*
|
||||
* Max. 6 characters
|
||||
*/
|
||||
#define APRS_CALLSIGN "M0SBU"
|
||||
static inline char* aprs_callsign(char* call) {
|
||||
(void)call;
|
||||
|
||||
return "QQQ";
|
||||
}
|
||||
|
||||
/**
|
||||
* SSID. Usually 11 for balloons
|
||||
*/
|
||||
#define APRS_SSID 11
|
||||
|
||||
/**
|
||||
|
@ -50,7 +58,11 @@
|
|||
|
||||
#warning Using APRS test parameters
|
||||
|
||||
#define APRS_CALLSIGN "M0SBU"
|
||||
static inline char* aprs_callsign(char* call) {
|
||||
(void)call;
|
||||
|
||||
return "QQQ";
|
||||
}
|
||||
#define APRS_SSID 2
|
||||
#define APRS_SYMBOL "/2"
|
||||
|
||||
|
@ -61,6 +73,7 @@ void encode_backlog(char* str, tracker_datapoint* dp, char* prefix);
|
|||
void aprs_set_datapoint(tracker_datapoint* dp);
|
||||
void aprs_set_comment(char* comment);
|
||||
void aprs_set_backlog_comment(tracker_datapoint* log_dp, char* prefix);
|
||||
void aprs_set_callsign(char* call);
|
||||
|
||||
uint8_t aprs_start(void);
|
||||
uint8_t aprs_tick(void);
|
||||
|
|
|
@ -18,11 +18,13 @@ struct aprs_zone_t {
|
|||
const int32_t** outlines;
|
||||
const uint32_t outline_count;
|
||||
const uint32_t* outline_lengths;
|
||||
int32_t frequency, deviation;
|
||||
int32_t frequency;
|
||||
int32_t deviation;
|
||||
char* name;
|
||||
char* call;
|
||||
};
|
||||
|
||||
|
||||
const struct aprs_zone_t aprs_zones[11];
|
||||
const struct aprs_zone_t aprs_zones[12];
|
||||
|
||||
#endif /* GEOFENCE_APRS_ZONES_H */
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
#include "samd20.h"
|
||||
|
||||
const int32_t* no_aprs_outlines[49];
|
||||
const uint32_t no_aprs_outline_lengths[49];
|
||||
const int32_t* no_aprs_outlines[35];
|
||||
const uint32_t no_aprs_outline_lengths[35];
|
||||
|
||||
#endif /* GEOFENCE_NO_APRS_H */
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
#include "samd20.h"
|
||||
|
||||
const int32_t* telemetry_outlines[8];
|
||||
const uint32_t telemetry_outline_lengths[8];
|
||||
const int32_t* telemetry_outlines[10];
|
||||
const uint32_t telemetry_outline_lengths[10];
|
||||
|
||||
#endif /* GEOFENCE_TELEMETRY_H */
|
||||
|
|
|
@ -39,6 +39,7 @@ void location_prefix_update(int32_t lon_hn, int32_t lat_hn);
|
|||
bool location_telemetry_active(void);
|
||||
bool location_aprs_active(void);
|
||||
int32_t location_aprs_frequency(void);
|
||||
char* location_aprs_call(void);
|
||||
char* location_prefix(void);
|
||||
|
||||
#endif /* LOCATION_H */
|
||||
|
|
|
@ -145,6 +145,7 @@ void encode_backlog(char* str, tracker_datapoint* dp, char* prefix)
|
|||
|
||||
struct tracker_datapoint* _dp = NULL;
|
||||
char* _comment = NULL;
|
||||
char* _callsign = NULL;
|
||||
char backlog_comment[BACKLOG_COMMENT_LEN+100]; /* TEMP */
|
||||
void aprs_set_datapoint(tracker_datapoint* dp) {
|
||||
_dp = dp;
|
||||
|
@ -156,7 +157,9 @@ void aprs_set_backlog_comment(tracker_datapoint* log_dp, char* prefix) {
|
|||
encode_backlog(backlog_comment, log_dp, prefix);
|
||||
_comment = backlog_comment;
|
||||
}
|
||||
|
||||
void aprs_set_callsign(char* call) {
|
||||
_callsign = aprs_callsign(call);
|
||||
}
|
||||
|
||||
/**
|
||||
* START / TICK
|
||||
|
@ -183,10 +186,15 @@ uint8_t aprs_start(void)
|
|||
float lon = (float)_dp->longitude / 10000000.0; /* degrees */
|
||||
uint32_t altitude = _dp->altitude / 1000; /* meters */
|
||||
|
||||
/* Ensure callsign is set */
|
||||
if (!_callsign) {
|
||||
_callsign = aprs_callsign("xxxxxx");
|
||||
}
|
||||
|
||||
/* Encode the destination / source / path addresses */
|
||||
uint32_t addresses_len = sprintf(addresses, "%-6s%c%-6s%c%-6s%c",
|
||||
"APRS", 0,
|
||||
APRS_CALLSIGN, APRS_SSID,
|
||||
_callsign, APRS_SSID,
|
||||
"WIDE2", 1);
|
||||
|
||||
/* Prepare the aprs position report */
|
||||
|
|
Plik diff jest za duży
Load Diff
Plik diff jest za duży
Load Diff
|
@ -78,29 +78,35 @@ const int32_t telemetry_outline_1[] = {
|
|||
const int32_t telemetry_outline_2[] = {
|
||||
};
|
||||
const int32_t telemetry_outline_3[] = {
|
||||
-81795783, 19252483,
|
||||
-78367939, 19870667,
|
||||
-76707096, 20650512,
|
||||
-75542831, 21558460,
|
||||
-74286427, 23148148,
|
||||
-73664835, 24986170,
|
||||
-73517433, 26959418,
|
||||
-92315063, 9537271,
|
||||
-89929285, 9846787,
|
||||
-87799516, 10848263,
|
||||
-85018966, 13699125,
|
||||
-83535877, 14445742,
|
||||
-82417790, 15417399,
|
||||
-80378696, 19384345,
|
||||
-77962129, 20034693,
|
||||
-75599871, 21501286,
|
||||
-74300436, 23122766,
|
||||
-73668470, 24967586,
|
||||
-73516571, 26949868,
|
||||
-74052152, 29277173,
|
||||
-70694090, 31307724,
|
||||
-69508173, 32943824,
|
||||
-71706217, 30515260,
|
||||
-70347780, 31665766,
|
||||
-69416866, 33152292,
|
||||
-68933933, 35109421,
|
||||
-67090495, 35642698,
|
||||
-65534158, 36642393,
|
||||
-67182935, 35602084,
|
||||
-65702266, 36499262,
|
||||
-63858600, 39008306,
|
||||
-61826858, 40718206,
|
||||
-60877252, 42450068,
|
||||
-62330642, 40155292,
|
||||
-61272399, 41560452,
|
||||
-60463270, 44350941,
|
||||
-60601025, 46328692,
|
||||
-62686277, 51150986,
|
||||
-63776015, 52610741,
|
||||
-65228523, 53805494,
|
||||
-68433274, 54855798,
|
||||
-71174178, 54526118,
|
||||
-60862943, 47269621,
|
||||
-62994840, 51641729,
|
||||
-65556380, 54006704,
|
||||
-67576949, 54740678,
|
||||
-70481579, 54762674,
|
||||
-72247509, 53928908,
|
||||
-73808998, 52447620,
|
||||
-75860636, 52121920,
|
||||
-78591249, 50745833,
|
||||
|
@ -120,29 +126,30 @@ const int32_t telemetry_outline_3[] = {
|
|||
-136767701, 86000000,
|
||||
-138300135, 86000000,
|
||||
-142732422, 86000000,
|
||||
-156485736, 86000000,
|
||||
-162658782, 86000000,
|
||||
-167811404, 86000000,
|
||||
-170281594, 86000000,
|
||||
-156394730, 86000000,
|
||||
-162647484, 86000000,
|
||||
-167789369, 86000000,
|
||||
-170271937, 86000000,
|
||||
-171930205, 79188237,
|
||||
-174969299, 76166400,
|
||||
-176645293, 72387237,
|
||||
-178622841, 66311611,
|
||||
-179288565, 63665648,
|
||||
-174869476, 76338552,
|
||||
-176607899, 72493773,
|
||||
-178604886, 66365850,
|
||||
-179285325, 63684088,
|
||||
-179608510, 60709440,
|
||||
-180000000, 60407020,
|
||||
-180000000, 44302386,
|
||||
-178346966, 44302386,
|
||||
-172092291, 44756942,
|
||||
-180000000, 60497701,
|
||||
-180000000, 44347118,
|
||||
-178754179, 44347118,
|
||||
-172114824, 44753618,
|
||||
-167725548, 45487301,
|
||||
-163513768, 46731606,
|
||||
-161718513, 46736549,
|
||||
-158042240, 47307924,
|
||||
-156472849, 47914050,
|
||||
-154363434, 47985119,
|
||||
-150355763, 49566954,
|
||||
-154419228, 47972740,
|
||||
-150366220, 49561779,
|
||||
-147983007, 51154909,
|
||||
-142974340, 51364187,
|
||||
-146175789, 51375776,
|
||||
-142426340, 51327255,
|
||||
-140315741, 50880307,
|
||||
-135028998, 47369064,
|
||||
-133390574, 46967258,
|
||||
|
@ -150,41 +157,41 @@ const int32_t telemetry_outline_3[] = {
|
|||
-130669514, 45155079,
|
||||
-131075262, 43106392,
|
||||
-130884517, 40010018,
|
||||
-130355135, 37805218,
|
||||
-129343683, 35784677,
|
||||
-126667980, 32285548,
|
||||
-125780794, 30676318,
|
||||
-122877379, 28312563,
|
||||
-118436286, 26994924,
|
||||
-115584470, 27026149,
|
||||
-112174404, 26083584,
|
||||
-108989663, 26000552,
|
||||
-106344937, 24455500,
|
||||
-104519744, 23888670,
|
||||
-102353227, 22070689,
|
||||
-98205319, 20628250,
|
||||
-96166993, 20632877,
|
||||
-94249610, 21161066,
|
||||
-92481935, 22193591,
|
||||
-91233797, 23666113,
|
||||
-88216760, 23596015,
|
||||
-87487775, 21894544,
|
||||
-86072048, 20521280,
|
||||
-83978282, 19562295,
|
||||
-81806489, 19252466,
|
||||
-130346247, 37785339,
|
||||
-129261731, 35658540,
|
||||
-124883587, 29795620,
|
||||
-124744181, 27758211,
|
||||
-123660361, 25756355,
|
||||
-121794421, 24287750,
|
||||
-119195883, 23489655,
|
||||
-118423732, 22917235,
|
||||
-116968712, 21009594,
|
||||
-117533732, 19522726,
|
||||
-117539484, 18059200,
|
||||
-116921226, 16524018,
|
||||
-115913345, 15337499,
|
||||
-114241453, 14316033,
|
||||
-111907253, 13664418,
|
||||
-109714359, 13709153,
|
||||
-107558080, 14354223,
|
||||
-100225909, 11291467,
|
||||
-96304312, 10614822,
|
||||
-94066133, 9725918,
|
||||
-92326433, 9537263,
|
||||
};
|
||||
const int32_t telemetry_outline_4[] = {
|
||||
180000000, 60407020,
|
||||
180000000, 60407020,
|
||||
180000000, 59191376,
|
||||
180000000, 57258486,
|
||||
180000000, 54913150,
|
||||
180000000, 52881017,
|
||||
180000000, 50592221,
|
||||
180000000, 48779591,
|
||||
180000000, 47224705,
|
||||
180000000, 45283001,
|
||||
180000000, 44302386,
|
||||
180000000, 60497701,
|
||||
180000000, 60497701,
|
||||
180000000, 59555141,
|
||||
180000000, 58022280,
|
||||
180000000, 56079946,
|
||||
180000000, 53842570,
|
||||
180000000, 51468835,
|
||||
180000000, 49496312,
|
||||
180000000, 47761556,
|
||||
180000000, 46419865,
|
||||
180000000, 45449155,
|
||||
180000000, 44347118,
|
||||
};
|
||||
const int32_t telemetry_outline_5[] = {
|
||||
179297495, 44073758,
|
||||
|
@ -218,6 +225,59 @@ const int32_t telemetry_outline_6[] = {
|
|||
-180000000, 60861330,
|
||||
};
|
||||
const int32_t telemetry_outline_7[] = {
|
||||
123843277, 18986192,
|
||||
125491265, 19165631,
|
||||
128214806, 19953309,
|
||||
131574904, 21759615,
|
||||
132983320, 22858668,
|
||||
135610881, 26074956,
|
||||
136072195, 24648262,
|
||||
137108850, 23188421,
|
||||
138436613, 22197629,
|
||||
140130114, 21522541,
|
||||
141877769, 21251328,
|
||||
143652494, 21389255,
|
||||
145469785, 21974010,
|
||||
146889644, 22859750,
|
||||
148290968, 24705883,
|
||||
148719966, 27121005,
|
||||
147805075, 29494914,
|
||||
146042748, 31224410,
|
||||
147194033, 34180464,
|
||||
147408081, 35780405,
|
||||
148157231, 37297199,
|
||||
150389626, 38716219,
|
||||
151779070, 40686114,
|
||||
152344889, 42762057,
|
||||
152188951, 44970018,
|
||||
150660080, 48512523,
|
||||
148386865, 50780025,
|
||||
143116748, 52894970,
|
||||
139298950, 52696757,
|
||||
137305847, 51605024,
|
||||
135743445, 49797759,
|
||||
133398071, 44809434,
|
||||
132894100, 42691470,
|
||||
131000175, 42264829,
|
||||
128714572, 40856144,
|
||||
126434037, 40156341,
|
||||
124887336, 39094191,
|
||||
123802571, 37867097,
|
||||
122158384, 33280814,
|
||||
122203929, 31668969,
|
||||
122775542, 30152428,
|
||||
120263649, 29018544,
|
||||
118581435, 27739458,
|
||||
117539848, 26156497,
|
||||
117140361, 24257617,
|
||||
117646918, 22252339,
|
||||
119152831, 20463023,
|
||||
121209952, 19398018,
|
||||
123831906, 18986175,
|
||||
};
|
||||
const int32_t telemetry_outline_8[] = {
|
||||
};
|
||||
const int32_t telemetry_outline_9[] = {
|
||||
-155611011, 13847486,
|
||||
-153998775, 14013737,
|
||||
-152370777, 14524177,
|
||||
|
@ -242,7 +302,7 @@ const int32_t telemetry_outline_7[] = {
|
|||
-157611819, 14099023,
|
||||
-155622381, 13847478,
|
||||
};
|
||||
const int32_t telemetry_outline_8[] = {
|
||||
const int32_t telemetry_outline_10[] = {
|
||||
};
|
||||
|
||||
const int32_t* telemetry_outlines[] = {
|
||||
|
@ -254,14 +314,18 @@ const int32_t* telemetry_outlines[] = {
|
|||
telemetry_outline_6,
|
||||
telemetry_outline_7,
|
||||
telemetry_outline_8,
|
||||
telemetry_outline_9,
|
||||
telemetry_outline_10,
|
||||
};
|
||||
const uint32_t telemetry_outline_lengths[] = {
|
||||
62,
|
||||
0,
|
||||
94,
|
||||
11,
|
||||
100,
|
||||
12,
|
||||
15,
|
||||
12,
|
||||
49,
|
||||
0,
|
||||
23,
|
||||
0,
|
||||
};
|
||||
|
|
|
@ -367,7 +367,18 @@ int32_t location_aprs_frequency(void)
|
|||
return 144800000;
|
||||
}
|
||||
|
||||
char blankk[] = "";
|
||||
char blank_string[] = "";
|
||||
/**
|
||||
* Returns the call to use in the current zone
|
||||
*/
|
||||
char* location_aprs_call(void) {
|
||||
if (current_aprs_zone >= 0) {
|
||||
return aprs_zones[current_aprs_zone].call;
|
||||
}
|
||||
|
||||
return blank_string;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Returns the current prefix
|
||||
|
@ -377,5 +388,5 @@ char* location_prefix(void) {
|
|||
return prefixes[current_prefix].prefix;
|
||||
}
|
||||
|
||||
return blankk;
|
||||
return blank_string;
|
||||
}
|
||||
|
|
|
@ -173,10 +173,14 @@ void aprs_telemetry(struct tracker_datapoint* dp)
|
|||
if (gps_is_locked() == GPS_NO_LOCK) return; /* Don't bother with no GPS */
|
||||
|
||||
char* prefix = location_prefix();
|
||||
char* call = location_aprs_call();
|
||||
|
||||
/* Set location */
|
||||
aprs_set_datapoint(dp);
|
||||
|
||||
/* Set callsign */
|
||||
aprs_set_callsign(call);
|
||||
|
||||
/* Set comment */
|
||||
backlog_dp_ptr = get_backlog();
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
"cell_type": "code",
|
||||
"collapsed": false,
|
||||
"input": [
|
||||
"# North Korea, Yemen are totally excluded\n",
|
||||
"# North Korea, Yemen are totally excluded. Not members of ITU etc.\n",
|
||||
"tx_exclude = ['KP', 'YE']\n",
|
||||
"\n",
|
||||
"# ?? Maybe China\n",
|
||||
|
@ -28,10 +28,11 @@
|
|||
"# Belgium, Luxembourg, Portugal, France, Albania, Bosnia & H, Croatia, Finland (Aland), \n",
|
||||
"# Hungary, Italy, Macedonia, Moldova, Kaliningradskaya??, Montenegro, Norway, Romania, Slovakia, Sweden\n",
|
||||
"# US with UK license under https://www.gpo.gov/fdsys/pkg/CFR-2013-title47-vol5/xml/CFR-2013-title47-vol5-sec97-107.xml 97.107(b)(2)\n",
|
||||
"# Mexico, not member of CEPT\n",
|
||||
"aprs_tx_exclude = ['GB', \"IM\", \"JE\", \"GG\",\n",
|
||||
" 'BE', 'LU', 'PT', 'FR', 'AL', 'BA', 'HR', 'FI', 'A?',\n",
|
||||
" 'HU', 'IT', 'MK', 'MD', 'ME', 'NO', 'RO', 'SK', 'SE',\n",
|
||||
" 'US'] + tx_exclude"
|
||||
" 'MX'] + tx_exclude"
|
||||
],
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 24
|
||||
"prompt_number": 3
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
|
@ -53,7 +53,7 @@
|
|||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 25
|
||||
"prompt_number": 4
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
|
@ -106,7 +106,7 @@
|
|||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 26
|
||||
"prompt_number": 5
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
|
@ -125,7 +125,7 @@
|
|||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 27
|
||||
"prompt_number": 6
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
|
@ -150,14 +150,14 @@
|
|||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 28
|
||||
"prompt_number": 7
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"collapsed": false,
|
||||
"input": [
|
||||
"for c in countries:\n",
|
||||
" print c['name']#, c['isocode'], len(c['outlines'])"
|
||||
" print c['name'], c['isocode'], len(c['outlines'])"
|
||||
],
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
|
@ -166,243 +166,243 @@
|
|||
"output_type": "stream",
|
||||
"stream": "stdout",
|
||||
"text": [
|
||||
"Aruba\n",
|
||||
"Afghanistan\n",
|
||||
"Angola\n",
|
||||
"Anguilla\n",
|
||||
"Albania\n",
|
||||
"Aland\n",
|
||||
"Andorra\n",
|
||||
"United Arab Emirates\n",
|
||||
"Argentina\n",
|
||||
"Armenia\n",
|
||||
"American Samoa\n",
|
||||
"Ashmore and Cartier Is.\n",
|
||||
"Antigua and Barb.\n",
|
||||
"Australia\n",
|
||||
"Austria\n",
|
||||
"Azerbaijan\n",
|
||||
"Burundi\n",
|
||||
"Belgium\n",
|
||||
"Benin\n",
|
||||
"Burkina Faso\n",
|
||||
"Bangladesh\n",
|
||||
"Bulgaria\n",
|
||||
"Bahrain\n",
|
||||
"Bahamas\n",
|
||||
"Bosnia and Herz.\n",
|
||||
"St. Barthelemy\n",
|
||||
"Belarus\n",
|
||||
"Belize\n",
|
||||
"Bermuda\n",
|
||||
"Bolivia\n",
|
||||
"Brazil\n",
|
||||
"Barbados\n",
|
||||
"Brunei\n",
|
||||
"Bhutan\n",
|
||||
"Botswana\n",
|
||||
"Central African Rep.\n",
|
||||
"Canada\n",
|
||||
"Switzerland\n",
|
||||
"Chile\n",
|
||||
"China\n",
|
||||
"Ivory Coast\n",
|
||||
"Cameroon\n",
|
||||
"Congo (Kinshasa)\n",
|
||||
"Congo (Brazzaville)\n",
|
||||
"Cook Is.\n",
|
||||
"Colombia\n",
|
||||
"Comoros\n",
|
||||
"Cape Verde\n",
|
||||
"Costa Rica\n",
|
||||
"Cuba\n",
|
||||
"Cura\ufffdao\n",
|
||||
"Cayman Is.\n",
|
||||
"Cyprus\n",
|
||||
"Czech Rep.\n",
|
||||
"Germany\n",
|
||||
"Djibouti\n",
|
||||
"Dominica\n",
|
||||
"Denmark\n",
|
||||
"Dominican Rep.\n",
|
||||
"Algeria\n",
|
||||
"Ecuador\n",
|
||||
"Egypt\n",
|
||||
"Eritrea\n",
|
||||
"Spain\n",
|
||||
"Estonia\n",
|
||||
"Ethiopia\n",
|
||||
"Finland\n",
|
||||
"Fiji\n",
|
||||
"Falkland Is.\n",
|
||||
"France\n",
|
||||
"Faroe Is.\n",
|
||||
"Micronesia\n",
|
||||
"Gabon\n",
|
||||
"Gaza\n",
|
||||
"United Kingdom\n",
|
||||
"Georgia\n",
|
||||
"Guernsey\n",
|
||||
"Ghana\n",
|
||||
"Guinea\n",
|
||||
"Gambia\n",
|
||||
"Guinea Bissau\n",
|
||||
"Eq. Guinea\n",
|
||||
"Greece\n",
|
||||
"Grenada\n",
|
||||
"Greenland\n",
|
||||
"Guatemala\n",
|
||||
"Guam\n",
|
||||
"Guyana\n",
|
||||
"Hong Kong\n",
|
||||
"Honduras\n",
|
||||
"Croatia\n",
|
||||
"Haiti\n",
|
||||
"Hungary\n",
|
||||
"Indonesia\n",
|
||||
"Isle of Man\n",
|
||||
"India\n",
|
||||
"Ireland\n",
|
||||
"Iran\n",
|
||||
"Iraq\n",
|
||||
"Iceland\n",
|
||||
"Israel\n",
|
||||
"Italy\n",
|
||||
"Jamaica\n",
|
||||
"Jersey\n",
|
||||
"Jordan\n",
|
||||
"Japan\n",
|
||||
"Kazakhstan\n",
|
||||
"Kenya\n",
|
||||
"Kyrgyzstan\n",
|
||||
"Cambodia\n",
|
||||
"Kiribati\n",
|
||||
"St. Kitts and Nevis\n",
|
||||
"S. Korea\n",
|
||||
"Kosovo\n",
|
||||
"Kuwait\n",
|
||||
"Laos\n",
|
||||
"Lebanon\n",
|
||||
"Liberia\n",
|
||||
"Libya\n",
|
||||
"Saint Lucia\n",
|
||||
"Liechtenstein\n",
|
||||
"Sri Lanka\n",
|
||||
"Lesotho\n",
|
||||
"Lithuania\n",
|
||||
"Luxembourg\n",
|
||||
"Latvia\n",
|
||||
"Macau\n",
|
||||
"St. Martin\n",
|
||||
"Morocco\n",
|
||||
"Monaco\n",
|
||||
"Moldova\n",
|
||||
"Madagascar\n",
|
||||
"Maldives\n",
|
||||
"Mexico\n",
|
||||
"Marshall Is.\n",
|
||||
"Macedonia\n",
|
||||
"Mali\n",
|
||||
"Malta\n",
|
||||
"Myanmar\n",
|
||||
"Montenegro\n",
|
||||
"Mongolia\n",
|
||||
"N. Mariana Is.\n",
|
||||
"Mozambique\n",
|
||||
"Mauritania\n",
|
||||
"Montserrat\n",
|
||||
"Mauritius\n",
|
||||
"Malawi\n",
|
||||
"Malaysia\n",
|
||||
"Namibia\n",
|
||||
"New Caledonia\n",
|
||||
"Niger\n",
|
||||
"Norfolk Island\n",
|
||||
"Nigeria\n",
|
||||
"Nicaragua\n",
|
||||
"Niue\n",
|
||||
"Netherlands\n",
|
||||
"Norway\n",
|
||||
"Nepal\n",
|
||||
"Nauru\n",
|
||||
"New Zealand\n",
|
||||
"Oman\n",
|
||||
"Pakistan\n",
|
||||
"Panama\n",
|
||||
"Pitcairn Is.\n",
|
||||
"Peru\n",
|
||||
"Philippines\n",
|
||||
"Palau\n",
|
||||
"Papua New Guinea\n",
|
||||
"Poland\n",
|
||||
"Puerto Rico\n",
|
||||
"N. Korea\n",
|
||||
"Portugal\n",
|
||||
"Paraguay\n",
|
||||
"Fr. Polynesia\n",
|
||||
"Qatar\n",
|
||||
"Romania\n",
|
||||
"Russia\n",
|
||||
"Rwanda\n",
|
||||
"W. Sahara\n",
|
||||
"Saudi Arabia\n",
|
||||
"Sudan\n",
|
||||
"S. Sudan\n",
|
||||
"Senegal\n",
|
||||
"Singapore\n",
|
||||
"Saint Helena\n",
|
||||
"Solomon Is.\n",
|
||||
"Sierra Leone\n",
|
||||
"El Salvador\n",
|
||||
"San Marino\n",
|
||||
"Somaliland\n",
|
||||
"Somalia\n",
|
||||
"St. Pierre and Miquelon\n",
|
||||
"Serbia\n",
|
||||
"Sao Tome and Principe\n",
|
||||
"Suriname\n",
|
||||
"Slovakia\n",
|
||||
"Slovenia\n",
|
||||
"Sweden\n",
|
||||
"Swaziland\n",
|
||||
"Sint Maarten\n",
|
||||
"Seychelles\n",
|
||||
"Syria\n",
|
||||
"Turks and Caicos Is.\n",
|
||||
"Chad\n",
|
||||
"Togo\n",
|
||||
"Thailand\n",
|
||||
"Tajikistan\n",
|
||||
"Turkmenistan\n",
|
||||
"East Timor\n",
|
||||
"Tonga\n",
|
||||
"Trinidad and Tobago\n",
|
||||
"Tunisia\n",
|
||||
"Turkey\n",
|
||||
"Tanzania\n",
|
||||
"Uganda\n",
|
||||
"Ukraine\n",
|
||||
"Uruguay\n",
|
||||
"United States\n",
|
||||
"Uzbekistan\n",
|
||||
"Vatican\n",
|
||||
"St. Vin. and Gren.\n",
|
||||
"Venezuela\n",
|
||||
"British Virgin Is.\n",
|
||||
"U.S. Virgin Is.\n",
|
||||
"Vietnam\n",
|
||||
"Vanuatu\n",
|
||||
"West Bank\n",
|
||||
"Wallis and Futuna\n",
|
||||
"Samoa\n",
|
||||
"Yemen\n",
|
||||
"South Africa\n",
|
||||
"Zambia\n",
|
||||
"Zimbabwe\n"
|
||||
"Aruba AW 1\n",
|
||||
"Afghanistan AF 1\n",
|
||||
"Angola AO 2\n",
|
||||
"Anguilla AI 1\n",
|
||||
"Albania AL 1\n",
|
||||
"Aland A0 3\n",
|
||||
"Andorra AD 1\n",
|
||||
"United Arab Emirates AE 10\n",
|
||||
"Argentina AR 4\n",
|
||||
"Armenia AM 4\n",
|
||||
"American Samoa AS 1\n",
|
||||
"Ashmore and Cartier Is. A1 1\n",
|
||||
"Antigua and Barb. AG 2\n",
|
||||
"Australia AU 42\n",
|
||||
"Austria AT 1\n",
|
||||
"Azerbaijan AZ 6\n",
|
||||
"Burundi BI 1\n",
|
||||
"Belgium BE 1\n",
|
||||
"Benin BJ 1\n",
|
||||
"Burkina Faso BF 1\n",
|
||||
"Bangladesh BD 7\n",
|
||||
"Bulgaria BG 1\n",
|
||||
"Bahrain BH 1\n",
|
||||
"Bahamas BS 15\n",
|
||||
"Bosnia and Herz. BA 1\n",
|
||||
"St. Barthelemy BL 1\n",
|
||||
"Belarus BY 1\n",
|
||||
"Belize BZ 3\n",
|
||||
"Bermuda BM 1\n",
|
||||
"Bolivia BO 1\n",
|
||||
"Brazil BR 17\n",
|
||||
"Barbados BB 1\n",
|
||||
"Brunei BN 2\n",
|
||||
"Bhutan BT 1\n",
|
||||
"Botswana BW 1\n",
|
||||
"Central African Rep. CF 1\n",
|
||||
"Canada CA 141\n",
|
||||
"Switzerland CH 1\n",
|
||||
"Chile CL 31\n",
|
||||
"China CN 13\n",
|
||||
"Ivory Coast CI 2\n",
|
||||
"Cameroon CM 1\n",
|
||||
"Congo (Kinshasa) CD 1\n",
|
||||
"Congo (Brazzaville) CG 1\n",
|
||||
"Cook Is. CK 1\n",
|
||||
"Colombia CO 2\n",
|
||||
"Comoros KM 3\n",
|
||||
"Cape Verde CV 8\n",
|
||||
"Costa Rica CR 1\n",
|
||||
"Cuba CU 7\n",
|
||||
"Cura\ufffdao CW 1\n",
|
||||
"Cayman Is. KY 3\n",
|
||||
"Cyprus CY 1\n",
|
||||
"Czech Rep. CZ 1\n",
|
||||
"Germany DE 6\n",
|
||||
"Djibouti DJ 1\n",
|
||||
"Dominica DM 1\n",
|
||||
"Denmark DK 12\n",
|
||||
"Dominican Rep. DO 1\n",
|
||||
"Algeria DZ 1\n",
|
||||
"Ecuador EC 9\n",
|
||||
"Egypt EG 1\n",
|
||||
"Eritrea ER 3\n",
|
||||
"Spain ES 12\n",
|
||||
"Estonia EE 4\n",
|
||||
"Ethiopia ET 1\n",
|
||||
"Finland FI 8\n",
|
||||
"Fiji FJ 21\n",
|
||||
"Falkland Is. FK 6\n",
|
||||
"France FR 10\n",
|
||||
"Faroe Is. FO 5\n",
|
||||
"Micronesia FM 5\n",
|
||||
"Gabon GA 1\n",
|
||||
"Gaza G1 1\n",
|
||||
"United Kingdom GB 23\n",
|
||||
"Georgia GE 1\n",
|
||||
"Guernsey GG 1\n",
|
||||
"Ghana GH 1\n",
|
||||
"Guinea GN 1\n",
|
||||
"Gambia GM 1\n",
|
||||
"Guinea Bissau GW 7\n",
|
||||
"Eq. Guinea GQ 2\n",
|
||||
"Greece GR 40\n",
|
||||
"Grenada GD 1\n",
|
||||
"Greenland GL 17\n",
|
||||
"Guatemala GT 1\n",
|
||||
"Guam GU 1\n",
|
||||
"Guyana GY 1\n",
|
||||
"Hong Kong HK 3\n",
|
||||
"Honduras HN 3\n",
|
||||
"Croatia HR 13\n",
|
||||
"Haiti HT 3\n",
|
||||
"Hungary HU 1\n",
|
||||
"Indonesia ID 133\n",
|
||||
"Isle of Man IM 1\n",
|
||||
"India IN 14\n",
|
||||
"Ireland IE 2\n",
|
||||
"Iran IR 2\n",
|
||||
"Iraq IQ 1\n",
|
||||
"Iceland IS 1\n",
|
||||
"Israel IL 1\n",
|
||||
"Italy IT 16\n",
|
||||
"Jamaica JM 1\n",
|
||||
"Jersey JE 1\n",
|
||||
"Jordan JO 1\n",
|
||||
"Japan JP 34\n",
|
||||
"Kazakhstan KZ 4\n",
|
||||
"Kenya KE 2\n",
|
||||
"Kyrgyzstan KG 4\n",
|
||||
"Cambodia KH 3\n",
|
||||
"Kiribati KI 19\n",
|
||||
"St. Kitts and Nevis KN 2\n",
|
||||
"S. Korea KR 11\n",
|
||||
"Kosovo K0 1\n",
|
||||
"Kuwait KW 2\n",
|
||||
"Laos LA 1\n",
|
||||
"Lebanon LB 1\n",
|
||||
"Liberia LR 1\n",
|
||||
"Libya LY 1\n",
|
||||
"Saint Lucia LC 1\n",
|
||||
"Liechtenstein LI 1\n",
|
||||
"Sri Lanka LK 3\n",
|
||||
"Lesotho LS 1\n",
|
||||
"Lithuania LT 2\n",
|
||||
"Luxembourg LU 1\n",
|
||||
"Latvia LV 1\n",
|
||||
"Macau MO 1\n",
|
||||
"St. Martin MF 1\n",
|
||||
"Morocco MA 1\n",
|
||||
"Monaco MC 1\n",
|
||||
"Moldova MD 1\n",
|
||||
"Madagascar MG 3\n",
|
||||
"Maldives MV 2\n",
|
||||
"Mexico MX 16\n",
|
||||
"Marshall Is. MH 5\n",
|
||||
"Macedonia MK 1\n",
|
||||
"Mali ML 1\n",
|
||||
"Malta MT 2\n",
|
||||
"Myanmar MM 19\n",
|
||||
"Montenegro ME 1\n",
|
||||
"Mongolia MN 1\n",
|
||||
"N. Mariana Is. MP 6\n",
|
||||
"Mozambique MZ 3\n",
|
||||
"Mauritania MR 2\n",
|
||||
"Montserrat MS 1\n",
|
||||
"Mauritius MU 1\n",
|
||||
"Malawi MW 3\n",
|
||||
"Malaysia MY 9\n",
|
||||
"Namibia NA 1\n",
|
||||
"New Caledonia NC 6\n",
|
||||
"Niger NE 1\n",
|
||||
"Norfolk Island NF 1\n",
|
||||
"Nigeria NG 2\n",
|
||||
"Nicaragua NI 1\n",
|
||||
"Niue NU 1\n",
|
||||
"Netherlands NL 12\n",
|
||||
"Norway NO 32\n",
|
||||
"Nepal NP 1\n",
|
||||
"Nauru NR 1\n",
|
||||
"New Zealand NZ 13\n",
|
||||
"Oman OM 4\n",
|
||||
"Pakistan PK 1\n",
|
||||
"Panama PA 5\n",
|
||||
"Pitcairn Is. PN 1\n",
|
||||
"Peru PE 1\n",
|
||||
"Philippines PH 48\n",
|
||||
"Palau PW 2\n",
|
||||
"Papua New Guinea PG 26\n",
|
||||
"Poland PL 1\n",
|
||||
"Puerto Rico PR 3\n",
|
||||
"N. Korea KP 2\n",
|
||||
"Portugal PT 9\n",
|
||||
"Paraguay PY 1\n",
|
||||
"Fr. Polynesia PF 21\n",
|
||||
"Qatar QA 1\n",
|
||||
"Romania RO 1\n",
|
||||
"Russia RU 100\n",
|
||||
"Rwanda RW 1\n",
|
||||
"W. Sahara W0 1\n",
|
||||
"Saudi Arabia SA 4\n",
|
||||
"Sudan SD 1\n",
|
||||
"S. Sudan S0 1\n",
|
||||
"Senegal SN 1\n",
|
||||
"Singapore SG 1\n",
|
||||
"Saint Helena SH 2\n",
|
||||
"Solomon Is. SB 21\n",
|
||||
"Sierra Leone SL 2\n",
|
||||
"El Salvador SV 1\n",
|
||||
"San Marino SM 1\n",
|
||||
"Somaliland S1 1\n",
|
||||
"Somalia SO 1\n",
|
||||
"St. Pierre and Miquelon PM 2\n",
|
||||
"Serbia RS 1\n",
|
||||
"Sao Tome and Principe ST 2\n",
|
||||
"Suriname SR 1\n",
|
||||
"Slovakia SK 1\n",
|
||||
"Slovenia SI 1\n",
|
||||
"Sweden SE 6\n",
|
||||
"Swaziland SZ 1\n",
|
||||
"Sint Maarten SX 1\n",
|
||||
"Seychelles SC 1\n",
|
||||
"Syria SY 1\n",
|
||||
"Turks and Caicos Is. TC 3\n",
|
||||
"Chad TD 1\n",
|
||||
"Togo TG 1\n",
|
||||
"Thailand TH 10\n",
|
||||
"Tajikistan TJ 3\n",
|
||||
"Turkmenistan TM 2\n",
|
||||
"East Timor TL 3\n",
|
||||
"Tonga TO 3\n",
|
||||
"Trinidad and Tobago TT 2\n",
|
||||
"Tunisia TN 3\n",
|
||||
"Turkey TR 3\n",
|
||||
"Tanzania TZ 4\n",
|
||||
"Uganda UG 1\n",
|
||||
"Ukraine UA 2\n",
|
||||
"Uruguay UY 1\n",
|
||||
"United States US 127\n",
|
||||
"Uzbekistan UZ 6\n",
|
||||
"Vatican VA 1\n",
|
||||
"St. Vin. and Gren. VC 3\n",
|
||||
"Venezuela VE 5\n",
|
||||
"British Virgin Is. VG 3\n",
|
||||
"U.S. Virgin Is. VI 3\n",
|
||||
"Vietnam VN 8\n",
|
||||
"Vanuatu VU 14\n",
|
||||
"West Bank PS 1\n",
|
||||
"Wallis and Futuna WF 2\n",
|
||||
"Samoa WS 2\n",
|
||||
"Yemen YE 5\n",
|
||||
"South Africa ZA 4\n",
|
||||
"Zambia ZM 1\n",
|
||||
"Zimbabwe ZW 1\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 29
|
||||
"prompt_number": 8
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -41,8 +41,10 @@
|
|||
" print >>header, \" const int32_t** outlines;\"\n",
|
||||
" print >>header, \" const uint32_t outline_count;\"\n",
|
||||
" print >>header, \" const uint32_t* outline_lengths;\"\n",
|
||||
" print >>header, \" int32_t frequency, deviation;\"\n",
|
||||
" print >>header, \" int32_t frequency;\"\n",
|
||||
" print >>header, \" int32_t deviation;\"\n",
|
||||
" print >>header, \" char* name;\"\n",
|
||||
" print >>header, \" char* call;\"\n",
|
||||
" print >>header, \"};\"\n",
|
||||
" print >>header, \"\"\n",
|
||||
" print >>header, \"\"\n",
|
||||
|
@ -53,7 +55,7 @@
|
|||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 41
|
||||
"prompt_number": 19
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
|
@ -97,7 +99,7 @@
|
|||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 42
|
||||
"prompt_number": 20
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
|
@ -113,7 +115,7 @@
|
|||
" print >>f, u\" \\\n",
|
||||
" /* {name:->24} */\".format(**zone).encode('utf8')\n",
|
||||
" print >>f, u\" {{ .outlines = {outline_n}, .outline_count = {outline_c}, .outline_lengths = {outline_l},\\n\\\n",
|
||||
" .frequency = {frequency}, .deviation = {deviation}, .name = \\\"{name}\\\" }},\".format(**zone).encode('utf8')\n",
|
||||
" .frequency = {frequency}, .deviation = {deviation}, .name = \\\"{name}\\\", .call = \\\"{call}\\\" }},\".format(**zone).encode('utf8')\n",
|
||||
" \n",
|
||||
"def print_aprs_zones(f, zones):\n",
|
||||
" print >>f, \"const struct aprs_zone_t aprs_zones[] = {\"\n",
|
||||
|
@ -123,7 +125,7 @@
|
|||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 43
|
||||
"prompt_number": 21
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
|
@ -158,7 +160,7 @@
|
|||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 44
|
||||
"prompt_number": 22
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
|
@ -205,7 +207,7 @@
|
|||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 59
|
||||
"prompt_number": 23
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
|
@ -251,7 +253,7 @@
|
|||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 46
|
||||
"prompt_number": 24
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
|
@ -279,7 +281,7 @@
|
|||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 47
|
||||
"prompt_number": 25
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
|
@ -314,7 +316,7 @@
|
|||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 48
|
||||
"prompt_number": 26
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
|
@ -350,7 +352,7 @@
|
|||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 49
|
||||
"prompt_number": 27
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
|
@ -392,7 +394,7 @@
|
|||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 50
|
||||
"prompt_number": 28
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
|
@ -426,7 +428,7 @@
|
|||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 51
|
||||
"prompt_number": 29
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
|
@ -462,7 +464,7 @@
|
|||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 52
|
||||
"prompt_number": 30
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
|
@ -504,7 +506,7 @@
|
|||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 53
|
||||
"prompt_number": 31
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
|
@ -538,7 +540,7 @@
|
|||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 54
|
||||
"prompt_number": 32
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
|
@ -587,7 +589,7 @@
|
|||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 55
|
||||
"prompt_number": 33
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
|
@ -629,7 +631,7 @@
|
|||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 56
|
||||
"prompt_number": 34
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
|
@ -657,7 +659,7 @@
|
|||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 57
|
||||
"prompt_number": 35
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
|
@ -694,7 +696,7 @@
|
|||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 58
|
||||
"prompt_number": 36
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
|
@ -703,7 +705,7 @@
|
|||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 58
|
||||
"prompt_number": 36
|
||||
}
|
||||
],
|
||||
"metadata": {}
|
||||
|
|
Ładowanie…
Reference in New Issue