UNPKG

aprs-parser

Version:

JavaScript library for parsing APRS packets

207 lines (203 loc) 5.35 kB
'use strict'; const symbolDict = { //Primary symbols (/) '47': { '33': 'Police Stn', '34': 'No Symbol', '35': 'Digi', '36': 'Phone', '37': 'DX Cluster', '38': 'HF Gateway', '39': 'Plane sm', '40': 'Mob Sat Stn', '41': 'WheelChair', '42': 'Snowmobile', '43': 'Red Cross', '44': 'Boy Scout', '45': 'Home', '46': 'X', '47': 'Red Dot', '48': 'Circle (0)', '49': 'Circle (1)', '50': 'Circle (2)', '51': 'Circle (3)', '52': 'Circle (4)', '53': 'Circle (5)', '54': 'Circle (6)', '55': 'Circle (7)', '56': 'Circle (8)', '57': 'Circle (9)', '58': 'Fire', '59': 'Campground', '60': 'Motorcycle', '61': 'Rail Eng.', '62': 'Car', '63': 'File svr', '64': 'HC Future', '65': 'Aid Stn', '66': 'BBS', '67': 'Canoe', '68': 'No Symbol', '69': 'Eyeball', '70': 'Tractor', '71': 'Grid Squ.', '72': 'Hotel', '73': 'Tcp/ip', '74': 'No Symbol', '75': 'School', '76': 'Usr Log-ON', '77': 'MacAPRS', '78': 'NTS Stn', '79': 'Balloon', '80': 'Police', '81': 'TBD', '82': 'Rec Vehicle', '83': 'Shuttle', '84': 'SSTV', '85': 'Bus', '86': 'ATV', '87': 'WX Service', '88': 'Helo', '89': 'Yacht', '90': 'WinAPRS', '91': 'Jogger', '92': 'Triangle', '93': 'PBBS', '94': 'Plane lrge', '95': 'WX Station', '96': 'Dish Ant.', '97': 'Ambulance', '98': 'Bike', '99': 'ICP', '100': 'Fire Station', '101': 'Horse', '102': 'Fire Truck', '103': 'Glider', '104': 'Hospital', '105': 'IOTA', '106': 'Jeep', '107': 'Truck', '108': 'Laptop', '109': 'Mic-E Rptr', '110': 'Node', '111': 'EOC', '112': 'Rover', '113': 'Grid squ.', '114': 'Antenna', '115': 'Power Boat', '116': 'Truck Stop', '117': 'Truck 18wh', '118': 'Van', '119': 'Water Stn', '120': 'XAPRS', '121': 'Yagi', '122': 'Shelter', '123': 'No Symbol', '124': 'TNC Stream Sw', '125': 'No Symbol', '126': 'TNC Stream Sw' }, //Alternate symbols (\) '92': { '33': 'Emergency', '34': 'No Symbol', '35': 'No. Digi', '36': 'Bank', '37': 'No Symbol', '38': 'No. Diamond', '39': 'Crash site', '40': 'Cloudy', '41': 'MEO', '42': 'Snow', '43': 'Church', '44': 'Girl Scout', '45': 'Home (HF)', '46': 'UnknownPos', '47': 'Destination', '48': 'No. Circle', '49': 'No Symbol', '50': 'No Symbol', '51': 'No Symbol', '52': 'No Symbol', '53': 'No Symbol', '54': 'No Symbol', '55': 'No Symbol', '56': 'No Symbol', '57': 'Petrol Stn', '58': 'Hail', '59': 'Park', '60': 'Gale Fl', '61': 'No Symbol', '62': 'No. Car', '63': 'Info Kiosk', '64': 'Hurricane', '65': 'No. Box', '66': 'Snow blwng', '67': 'Coast Guard', '68': 'Drizzle', '69': 'Smoke', '70': 'Freezing Rain', '71': 'Snow Shwr', '72': 'Haze', '73': 'Rain Shwr', '74': 'Lightning', '75': 'Kenwood', '76': 'Lighthouse', '77': 'No Symbol', '78': 'Nav Buoy', '79': 'Rocket', '80': 'Parking ', '81': 'Quake', '82': 'Restaurant', '83': 'Sat/Pacsat', '84': 'Thunderstorm', '85': 'Sunny', '86': 'VORTAC', '87': 'No. WXS', '88': 'Pharmacy', '89': 'No Symbol', '90': 'No Symbol', '91': 'Wall Cloud', '92': 'No Symbol', '93': 'No Symbol', '94': 'No. Plane', '95': 'No. WX Stn', '96': 'Rain', '97': 'No. Diamond', '98': 'Dust blwng', '99': 'No. CivDef', '100': 'DX Spot', '101': 'Sleet', '102': 'Funnel Cld', '103': 'Gale', '104': 'HAM store', '105': 'No. Blk Box', '106': 'WorkZone', '107': 'SUV', '108': 'Area Locns', '109': 'Milepost', '110': 'No. Triang', '111': 'Circle sm', '112': 'Part Cloud', '113': 'No Symbol', '114': 'Restrooms', '115': 'No. Boat', '116': 'Tornado', '117': 'No. Truck', '118': 'No. Van', '119': 'Flooding', '120': 'No Symbol', '121': 'Sky Warn', '122': 'No. Shelter', '123': 'Fog', '124': 'TNC Stream SW', '125': 'No Symbol', '126': 'TNC Stream SW' } }; module.exports = { //table + symbol id getSymbolMeaning: function (symbol) { return symbolDict[symbol.charCodeAt(0)] && symbolDict[symbol.charCodeAt(0)][symbol.charCodeAt(1)] || symbolDict[symbol.charCodeAt(1)] && symbolDict[symbol.charCodeAt(0)][symbol.charCodeAt(0)]; } };