@@ -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