Skip to content

Commit 01c3114

Browse files
committed
Minor symbol table correction & tweaks.
1 parent 1924999 commit 01c3114

1 file changed

Lines changed: 119 additions & 107 deletions

File tree

src/symbols.c

Lines changed: 119 additions & 107 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,12 @@ static const struct {
6060

6161
/* 00 */ { "~~", "--no-symbol--" },
6262
/* ! 01 */ { "BB", "Police, Sheriff" },
63-
/* " 02 */ { "BC", "reserved (was rain)" },
64-
/* # 03 */ { "BD", "DIGI (white center)" },
65-
/* $ 04 */ { "BE", "PHONE" },
66-
/* % 05 */ { "BF", "DX CLUSTER" },
67-
/* & 06 */ { "BG", "HF GATEway" },
68-
/* ' 07 */ { "BH", "Small AIRCRAFT" },
63+
/* " 02 */ { "BC", "" },
64+
/* # 03 */ { "BD", "Digipeater (white center)" },
65+
/* $ 04 */ { "BE", "Phone" },
66+
/* % 05 */ { "BF", "DX Cluster" },
67+
/* & 06 */ { "BG", "HF Gateway" },
68+
/* ' 07 */ { "BH", "Small Aircraft" },
6969
/* ( 08 */ { "BI", "Mobile Satellite Station" },
7070
/* ) 09 */ { "BJ", "Wheelchair (handicapped)" },
7171
/* * 10 */ { "BK", "SnowMobile" },
@@ -74,85 +74,85 @@ static const struct {
7474
/* - 13 */ { "BN", "House QTH (VHF)" },
7575
/* . 14 */ { "BO", "X" },
7676
/* / 15 */ { "BP", "Red Dot" },
77-
/* 0 16 */ { "P0", "# circle (obsolete)" },
78-
/* 1 17 */ { "P1", "TBD" },
79-
/* 2 18 */ { "P2", "TBD" },
80-
/* 3 19 */ { "P3", "TBD" },
81-
/* 4 20 */ { "P4", "TBD" },
82-
/* 5 21 */ { "P5", "TBD" },
83-
/* 6 22 */ { "P6", "TBD" },
84-
/* 7 23 */ { "P7", "TBD" },
85-
/* 8 24 */ { "P8", "TBD" },
86-
/* 9 25 */ { "P9", "TBD" },
87-
/* : 26 */ { "MR", "FIRE" },
77+
/* 0 16 */ { "P0", "0 Circle" },
78+
/* 1 17 */ { "P1", "1 Circle" },
79+
/* 2 18 */ { "P2", "2 Circle" },
80+
/* 3 19 */ { "P3", "3 Circle" },
81+
/* 4 20 */ { "P4", "4 Circle" },
82+
/* 5 21 */ { "P5", "5 Circle" },
83+
/* 6 22 */ { "P6", "6 Circle" },
84+
/* 7 23 */ { "P7", "7 Circle" },
85+
/* 8 24 */ { "P8", "8 Circle" },
86+
/* 9 25 */ { "P9", "9 Circle" },
87+
/* : 26 */ { "MR", "Fire" },
8888
/* ; 27 */ { "MS", "Campground (Portable ops)" },
8989
/* < 28 */ { "MT", "Motorcycle" },
90-
/* = 29 */ { "MU", "RAILROAD ENGINE" },
91-
/* > 30 */ { "MV", "CAR" },
92-
/* ? 31 */ { "MW", "SERVER for Files" },
93-
/* @ 32 */ { "MX", "HC FUTURE predict (dot)" },
90+
/* = 29 */ { "MU", "Railroad Engine" },
91+
/* > 30 */ { "MV", "Car" },
92+
/* ? 31 */ { "MW", "File Server" },
93+
/* @ 32 */ { "MX", "Hurricane Future Prediction" },
9494
/* A 33 */ { "PA", "Aid Station" },
9595
/* B 34 */ { "PB", "BBS or PBBS" },
9696
/* C 35 */ { "PC", "Canoe" },
9797
/* D 36 */ { "PD", "" },
98-
/* E 37 */ { "PE", "EYEBALL (Eye catcher!)" },
99-
/* F 38 */ { "PF", "Farm Vehicle (tractor)" },
98+
/* E 37 */ { "PE", "Eyeball (events, etc.)" },
99+
/* F 38 */ { "PF", "Farm Vehicle (Tractor)" },
100100
/* G 39 */ { "PG", "Grid Square (6 digit)" },
101-
/* H 40 */ { "PH", "HOTEL (blue bed symbol)" },
102-
/* I 41 */ { "PI", "TcpIp on air network stn" },
101+
/* H 40 */ { "PH", "Hotel (blue bed symbol)" },
102+
/* I 41 */ { "PI", "TCP/IP on air network stn" },
103103
/* J 42 */ { "PJ", "" },
104104
/* K 43 */ { "PK", "School" },
105105
/* L 44 */ { "PL", "PC user" },
106106
/* M 45 */ { "PM", "MacAPRS" },
107107
/* N 46 */ { "PN", "NTS Station" },
108-
/* O 47 */ { "PO", "BALLOON" },
108+
/* O 47 */ { "PO", "Balloon" },
109109
/* P 48 */ { "PP", "Police" },
110110
/* Q 49 */ { "PQ", "TBD" },
111-
/* R 50 */ { "PR", "REC. VEHICLE" },
112-
/* S 51 */ { "PS", "SHUTTLE" },
111+
/* R 50 */ { "PR", "Recreational Vehicle" },
112+
/* S 51 */ { "PS", "Space Shuttle" },
113113
/* T 52 */ { "PT", "SSTV" },
114-
/* U 53 */ { "PU", "BUS" },
115-
/* V 54 */ { "PV", "ATV" },
116-
/* W 55 */ { "PW", "National WX Service Site" },
117-
/* X 56 */ { "PX", "HELO" },
118-
/* Y 57 */ { "PY", "YACHT (sail)" },
114+
/* U 53 */ { "PU", "Bus" },
115+
/* V 54 */ { "PV", "Amateur TV" },
116+
/* W 55 */ { "PW", "National Weather Service Site" },
117+
/* X 56 */ { "PX", "Helicopter" },
118+
/* Y 57 */ { "PY", "Yacht (sail)" },
119119
/* Z 58 */ { "PZ", "WinAPRS" },
120-
/* [ 59 */ { "HS", "Human/Person (HT)" },
121-
/* \ 60 */ { "HT", "TRIANGLE(DF station)" },
122-
/* ] 61 */ { "HU", "MAIL/PostOffice(was PBBS)" },
123-
/* ^ 62 */ { "HV", "LARGE AIRCRAFT" },
124-
/* _ 63 */ { "HW", "WEATHER Station (blue)" },
120+
/* [ 59 */ { "HS", "Jogger, Human/Person (HT)" },
121+
/* \ 60 */ { "HT", "Triangle (DF station)" },
122+
/* ] 61 */ { "HU", "Mail/Post Office" },
123+
/* ^ 62 */ { "HV", "Large Aircraft" },
124+
/* _ 63 */ { "HW", "Weather Station (blue)" },
125125
/* ` 64 */ { "HX", "Dish Antenna" },
126-
/* a 65 */ { "LA", "AMBULANCE" },
127-
/* b 66 */ { "LB", "BIKE" },
126+
/* a 65 */ { "LA", "Ambulance" },
127+
/* b 66 */ { "LB", "Bike / Bicycle" },
128128
/* c 67 */ { "LC", "Incident Command Post" },
129129
/* d 68 */ { "LD", "Fire dept" },
130-
/* e 69 */ { "LE", "HORSE (equestrian)" },
131-
/* f 70 */ { "LF", "FIRE TRUCK" },
130+
/* e 69 */ { "LE", "Horse (equestrian)" },
131+
/* f 70 */ { "LF", "Fire Truck" },
132132
/* g 71 */ { "LG", "Glider" },
133-
/* h 72 */ { "LH", "HOSPITAL" },
133+
/* h 72 */ { "LH", "Hospital" },
134134
/* i 73 */ { "LI", "IOTA (islands on the air)" },
135-
/* j 74 */ { "LJ", "JEEP" },
136-
/* k 75 */ { "LK", "TRUCK" },
135+
/* j 74 */ { "LJ", "Jeep" },
136+
/* k 75 */ { "LK", "Truck" },
137137
/* l 76 */ { "LL", "Laptop" },
138138
/* m 77 */ { "LM", "Mic-E Repeater" },
139139
/* n 78 */ { "LN", "Node (black bulls-eye)" },
140-
/* o 79 */ { "LO", "EOC" },
141-
/* p 80 */ { "LP", "ROVER (puppy, or dog)" },
142-
/* q 81 */ { "LQ", "GRID SQ shown above 128 m" },
140+
/* o 79 */ { "LO", "Emergency Operations Center (EOC)" },
141+
/* p 80 */ { "LP", "Rover (puppy, or dog)" },
142+
/* q 81 */ { "LQ", "Grid Square shown above 128 m" },
143143
/* r 82 */ { "LR", "Repeater" },
144-
/* s 83 */ { "LS", "SHIP (pwr boat)" },
145-
/* t 84 */ { "LT", "TRUCK STOP" },
146-
/* u 85 */ { "LU", "TRUCK (18 wheeler)" },
147-
/* v 86 */ { "LV", "VAN" },
148-
/* w 87 */ { "LW", "WATER station" },
149-
/* x 88 */ { "LX", "xAPRS (Unix)" },
150-
/* y 89 */ { "LY", "YAGI @ QTH" },
144+
/* s 83 */ { "LS", "Ship (power boat)" },
145+
/* t 84 */ { "LT", "Truck Stop" },
146+
/* u 85 */ { "LU", "Truck (18 wheeler)" },
147+
/* v 86 */ { "LV", "Van" },
148+
/* w 87 */ { "LW", "Water Station" },
149+
/* x 88 */ { "LX", "X-APRS (Unix)" },
150+
/* y 89 */ { "LY", "Yagi at QTH" },
151151
/* z 90 */ { "LZ", "TBD" },
152152
/* { 91 */ { "J1", "" },
153-
/* | 92 */ { "J2", "TNC Stream Switch" },
153+
/* | 92 */ { "J2", "" },
154154
/* } 93 */ { "J3", "" },
155-
/* ~ 94 */ { "J3", "TNC Stream Switch" } };
155+
/* ~ 94 */ { "J4", "" } };
156156

157157
/*
158158
* Alternate symbol table.
@@ -164,16 +164,16 @@ static const struct {
164164
} alternate_symtab[SYMTAB_SIZE] = {
165165

166166
/* 00 */ { "~~", "--no-symbol--" },
167-
/* ! 01 */ { "OB", "EMERGENCY (!)" },
168-
/* " 02 */ { "OC", "reserved" },
169-
/* # 03 */ { "OD", "OVERLAY DIGI (green star)" },
167+
/* ! 01 */ { "OB", "Emergency (!)" },
168+
/* " 02 */ { "OC", "" },
169+
/* # 03 */ { "OD", "Overlay Digi (green star)" },
170170
/* $ 04 */ { "OE", "Bank or ATM (green box)" },
171-
/* % 05 */ { "OF", "Power Plant with overlay" },
172-
/* & 06 */ { "OG", "I=Igte IGate R=RX T=1hopTX 2=2hopTX" },
173-
/* ' 07 */ { "OH", "Crash (& now Incident sites)" },
174-
/* ( 08 */ { "OI", "CLOUDY (other clouds w ovrly)" },
171+
/* % 05 */ { "OF", "Power Plant" },
172+
/* & 06 */ { "OG", "I=IGate R=RX T=1hopTX 2=2hopTX" },
173+
/* ' 07 */ { "OH", "Crash (& Incident sites)" },
174+
/* ( 08 */ { "OI", "Cloudy" },
175175
/* ) 09 */ { "OJ", "Firenet MEO, MODIS Earth Obs." },
176-
/* * 10 */ { "OK", "SNOW (& future ovrly codes)" },
176+
/* * 10 */ { "OK", "Snow" },
177177
/* + 11 */ { "OL", "Church" },
178178
/* , 12 */ { "OM", "Girl Scouts" },
179179
/* - 13 */ { "ON", "House (H=HF) (O = Op Present)" },
@@ -189,75 +189,75 @@ static const struct {
189189
/* 7 23 */ { "A7", "" },
190190
/* 8 24 */ { "A8", "802.11 or other network node" },
191191
/* 9 25 */ { "A9", "Gas Station (blue pump)" },
192-
/* : 26 */ { "NR", "Hail (& future ovrly codes)" },
192+
/* : 26 */ { "NR", "Hail" },
193193
/* ; 27 */ { "NS", "Park/Picnic area" },
194-
/* < 28 */ { "NT", "ADVISORY (one WX flag)" },
194+
/* < 28 */ { "NT", "Advisory (one WX flag)" },
195195
/* = 29 */ { "NU", "APRStt Touchtone (DTMF users)" },
196-
/* > 30 */ { "NV", "OVERLAID CAR" },
197-
/* ? 31 */ { "NW", "INFO Kiosk (Blue box with ?)" },
198-
/* @ 32 */ { "NX", "HURRICANE/Trop-Storm" },
199-
/* A 33 */ { "AA", "overlayBOX DTMF & RFID & XO" },
200-
/* B 34 */ { "AB", "Blwng Snow (& future codes)" },
196+
/* > 30 */ { "NV", "Cars & Vehicles" },
197+
/* ? 31 */ { "NW", "Information Kiosk (Blue box with ?)" },
198+
/* @ 32 */ { "NX", "Hurricane/Tropical-Storm" },
199+
/* A 33 */ { "AA", "Box: DTMF, RFID, XO" },
200+
/* B 34 */ { "AB", "Blowing Snow" },
201201
/* C 35 */ { "AC", "Coast Guard" },
202-
/* D 36 */ { "AD", "Drizzle (proposed APRStt)" },
202+
/* D 36 */ { "AD", "Drizzle" },
203203
/* E 37 */ { "AE", "Smoke (& other vis codes)" },
204-
/* F 38 */ { "AF", "Freezng rain (&future codes)" },
205-
/* G 39 */ { "AG", "Snow Shwr (& future ovrlys)" },
206-
/* H 40 */ { "AH", "Haze (& Overlay Hazards)" },
204+
/* F 38 */ { "AF", "Freezng Rain" },
205+
/* G 39 */ { "AG", "Snow Shower" },
206+
/* H 40 */ { "AH", "Haze" },
207207
/* I 41 */ { "AI", "Rain Shower" },
208-
/* J 42 */ { "AJ", "Lightning (& future ovrlys)" },
208+
/* J 42 */ { "AJ", "Lightning" },
209209
/* K 43 */ { "AK", "Kenwood HT (W)" },
210210
/* L 44 */ { "AL", "Lighthouse" },
211211
/* M 45 */ { "AM", "MARS (A=Army,N=Navy,F=AF)" },
212212
/* N 46 */ { "AN", "Navigation Buoy" },
213213
/* O 47 */ { "AO", "Rocket" },
214214
/* P 48 */ { "AP", "Parking" },
215-
/* Q 49 */ { "AQ", "QUAKE" },
215+
/* Q 49 */ { "AQ", "Earthquake" },
216216
/* R 50 */ { "AR", "Restaurant" },
217-
/* S 51 */ { "AS", "Satellite/Pacsat" },
217+
/* S 51 */ { "AS", "Satellite" },
218218
/* T 52 */ { "AT", "Thunderstorm" },
219-
/* U 53 */ { "AU", "SUNNY" },
219+
/* U 53 */ { "AU", "Sunny" },
220220
/* V 54 */ { "AV", "VORTAC Nav Aid" },
221-
/* W 55 */ { "AW", "# NWS site (NWS options)" },
221+
/* W 55 */ { "AW", "NWS site" },
222222
/* X 56 */ { "AX", "Pharmacy Rx (Apothicary)" },
223223
/* Y 57 */ { "AY", "Radios and devices" },
224224
/* Z 58 */ { "AZ", "" },
225-
/* [ 59 */ { "DS", "W.Cloud (& humans w Ovrly)" },
226-
/* \ 60 */ { "DT", "New overlayable GPS symbol" },
225+
/* [ 59 */ { "DS", "Wall Cloud" },
226+
/* \ 60 */ { "DT", "" },
227227
/* ] 61 */ { "DU", "" },
228-
/* ^ 62 */ { "DV", "# Aircraft (shows heading)" },
229-
/* _ 63 */ { "DW", "# WX site (green digi)" },
230-
/* ` 64 */ { "DX", "Rain (all types w ovrly)" },
231-
/* a 65 */ { "SA", "ARRL, ARES, WinLINK" },
232-
/* b 66 */ { "SB", "Blwng Dst/Snd (& others)" },
233-
/* c 67 */ { "SC", "CD triangle RACES/SATERN/etc" },
234-
/* d 68 */ { "SD", "DX spot by callsign" },
235-
/* e 69 */ { "SE", "Sleet (& future ovrly codes)" },
228+
/* ^ 62 */ { "DV", "Aircraft (shows heading)" },
229+
/* _ 63 */ { "DW", "WX Station with digi (green)" },
230+
/* ` 64 */ { "DX", "Rain" },
231+
/* a 65 */ { "SA", "ARRL, ARES, WinLINK, Dstar, LoRa, etc" },
232+
/* b 66 */ { "SB", "Blowing Dust/Sand" },
233+
/* c 67 */ { "SC", "CD triangle RACES/SATERN/etc." },
234+
/* d 68 */ { "SD", "DX spot (from callsign prefix)" },
235+
/* e 69 */ { "SE", "Sleet" },
236236
/* f 70 */ { "SF", "Funnel Cloud" },
237237
/* g 71 */ { "SG", "Gale Flags" },
238-
/* h 72 */ { "SH", "Store. or HAMFST Hh=HAM store" },
238+
/* h 72 */ { "SH", "Store or Hamfest" },
239239
/* i 73 */ { "SI", "BOX or points of Interest" },
240-
/* j 74 */ { "SJ", "WorkZone (Steam Shovel)" },
240+
/* j 74 */ { "SJ", "Work Zone (Steam Shovel)" },
241241
/* k 75 */ { "SK", "Special Vehicle SUV,ATV,4x4" },
242-
/* l 76 */ { "SL", "Areas (box,circles,etc)" },
242+
/* l 76 */ { "SL", "Areas Symbols (box, circle, etc.)" },
243243
/* m 77 */ { "SM", "Value Sign (3 digit display)" },
244-
/* n 78 */ { "SN", "OVERLAY TRIANGLE" },
245-
/* o 79 */ { "SO", "small circle" },
246-
/* p 80 */ { "SP", "Prtly Cldy (& future ovrlys)" },
244+
/* n 78 */ { "SN", "Triangle" },
245+
/* o 79 */ { "SO", "Small Circle" },
246+
/* p 80 */ { "SP", "Partly Cloudy" },
247247
/* q 81 */ { "SQ", "" },
248248
/* r 82 */ { "SR", "Restrooms" },
249-
/* s 83 */ { "SS", "OVERLAY SHIP/boat (top view)" },
249+
/* s 83 */ { "SS", "Ship/Boat (top view)" },
250250
/* t 84 */ { "ST", "Tornado" },
251-
/* u 85 */ { "SU", "OVERLAID TRUCK" },
252-
/* v 86 */ { "SV", "OVERLAID Van" },
253-
/* w 87 */ { "SW", "Flooding" },
254-
/* x 88 */ { "SX", "Wreck or Obstruction ->X<-" },
251+
/* u 85 */ { "SU", "Truck" },
252+
/* v 86 */ { "SV", "Van" },
253+
/* w 87 */ { "SW", "Flooding (Avalanches/Slides)" },
254+
/* x 88 */ { "SX", "Wreck or Obstruction" },
255255
/* y 89 */ { "SY", "Skywarn" },
256-
/* z 90 */ { "SZ", "OVERLAID Shelter" },
257-
/* { 91 */ { "Q1", "Fog (& future ovrly codes)" },
258-
/* | 92 */ { "Q2", "TNC Stream Switch" },
256+
/* z 90 */ { "SZ", "Overlayed Shelter" },
257+
/* { 91 */ { "Q1", "Fog" },
258+
/* | 92 */ { "Q2", "" },
259259
/* } 93 */ { "Q3", "" },
260-
/* ~ 94 */ { "Q4", "TNC Stream Switch" } };
260+
/* ~ 94 */ { "Q4", "" } };
261261

262262

263263
// Make sure the array is null terminated.
@@ -471,6 +471,7 @@ void symbols_list (void)
471471

472472
dw_printf ("\n");
473473
dw_printf ("\tNEW SYMBOLS from symbols-new.txt\n");
474+
dw_printf ("\tThese are not widely adopted.\n");
474475
dw_printf ("\n");
475476
dw_printf ("sym GPSxyz GPSxnn APRStt Icon\n");
476477
dw_printf ("--- ------ ------ ------ ----\n");
@@ -507,7 +508,7 @@ void symbols_list (void)
507508
}
508509
}
509510
dw_printf ("\n");
510-
dw_printf ("More information here: http://www.aprs.org/symbols.html\n");
511+
dw_printf ("Symbol Tables with icons: https://github.com/wb2osz/aprsspec/raw/main/APRS-Symbols.pdf\n");
511512

512513
} /* end symbols_list */
513514

@@ -542,10 +543,18 @@ void symbols_list (void)
542543
* for our purposes.
543544
* (Not for MIC-E where destination has a special use.)
544545
*
546+
* This is obsolete. It was a short lived hack for the first
547+
* trackers that did not have enough memory to parse the
548+
* GPS NMEA semtemce amd construct a Position Report.
549+
* They sent the raw GPS sentence and used the AX.25 destination
550+
* field to convey a symbol.
551+
*
545552
* If all else fails,
546553
*
547554
* - SSID of the source address.
548555
*
556+
* This is obsolete and produces confusing results.
557+
*
549558
*
550559
*------------------------------------------------------------------*/
551560

@@ -641,6 +650,9 @@ void symbols_from_dest_or_src (char dti, char *src, char *dest, char *symtab, ch
641650
* Next, search the alternate table.
642651
* This time, we can have the format ...xyz, where z is an overlay character.
643652
* Only upper case letters and digits are valid overlay characters.
653+
*
654+
* This is now obsolete but the code is still active because
655+
* it has no ill effects.
644656
*/
645657

646658
if (strncmp(dest, "GPS", 3) == 0 ||

0 commit comments

Comments
 (0)