Commit Graph

186 Commits

Author SHA1 Message Date
Jordan Sherer
2cb1665e2e Added background thread to compute message frames 2018-10-02 14:38:14 -04:00
Jordan Sherer
2f6ed1b89c Working through compression implementation for data frames 2018-10-02 14:37:12 -04:00
Jordan Sherer
25e7631c09 Added automatic BEACON acknowledgment and BEACON REQ commands 2018-09-21 01:47:21 -04:00
Jordan Sherer
8b94c01ff6 Added methods to grab default huff tables 2018-09-20 10:04:18 -04:00
Jordan Sherer
4e094b791c Added new CQ parsing to be more intuitive 2018-09-18 10:53:43 -04:00
Jordan Sherer
8b9042e2d6 Added a huff escape for the ' DE ' sequence
Allows for better efficiency for multi-hop relay paths.
2018-09-09 15:38:35 -04:00
Jordan Sherer
e0c3592868 Added relay actions and relay via menu. Removed retransmit and alert actions as they are superseded by relay/reply dialog 2018-09-09 12:40:02 -04:00
Jordan Sherer
15ee95360f Initial cut of relay 2018-09-08 23:36:12 -04:00
Jordan Sherer
dfdf23315b Added ability to send CQ QRP/CQ DX/CQ TEST along with customization for the message that the CQ button sends 2018-09-06 15:22:24 -04:00
Jordan Sherer
5c313af3ab Removed PWR. Added APRS SSID 2018-09-01 10:34:12 -04:00
Jordan Sherer
e861308d70 Added auto-prefix messages with directed callsigns 2018-08-31 21:30:34 -04:00
Jordan Sherer
712580d08c Added QSO query for finding a remote station 2018-08-29 12:08:22 -04:00
Jordan Sherer
83b05df312 Added APRS payload sends to APRS-IS 2018-08-28 15:13:38 -04:00
Jordan Sherer
565bdb5690 Added function to determine the checksum size needed for a buffered command 2018-08-27 22:04:17 -04:00
Jordan Sherer
adcc728492 Added spotting to APRS-IS for grids larger than 4 characters. Added supporting commands for QTH QTC and GRID 2018-08-27 21:19:38 -04:00
Jordan Sherer
e6f83e999b Added a few additional directed message short commands 2018-08-24 09:21:17 -04:00
Jordan Sherer
b10ccc370f Added a few additional optional directeds 2018-08-24 00:20:10 -04:00
Jordan Sherer
8c8ddb533c Fixed issue with grid length. Fixed back-to-back CQs 2018-08-11 10:31:28 -04:00
Jordan Sherer
c042a72d0d Fixed bug causing compound calls not to send when a grid locator larger than 4 characters was set in the configuration 2018-08-11 10:06:50 -04:00
Jordan Sherer
3e67f4ef1f Updated directed frames to take advantage of the extra numerical bits so we don't have to delineate between positive and negative frame types 2018-08-06 10:29:57 -04:00
Jordan Sherer
ba0a2fe52d Updated varicode to support 72 bit message lengths 2018-08-06 10:16:20 -04:00
Jordan Sherer
e2f06a629d Added 72-bit packing 2018-08-06 09:37:43 -04:00
Jordan Sherer
c1b374b858 Send compound frames for stations heard to be more efficient in delivery. Added FT8CallFirst to flush the buffers of incomplete transmissions. 2018-08-05 11:48:19 -04:00
Jordan Sherer
883cb99c0f Fixed issue with compound directed calls with numerical values 2018-08-05 11:48:19 -04:00
Jordan Sherer
c2bda71da5 Added QSL commands 2018-08-05 11:48:19 -04:00
Jordan Sherer
627367223b Cleanup compound call display 2018-08-05 11:48:19 -04:00
Jordan Sherer
7a155a4820 Refactor compound call structure for directed messaging by using a new frame type FrameCompoundDirected. This allows us to send only two frames when each station has a compound callsign. No aliasing, full calls are sent with each transmission. 2018-08-05 11:42:02 -04:00
Jordan Sherer
5f3ca913b7 Added large checksum message processing 2018-08-05 11:42:02 -04:00
Jordan Sherer
e649a375cf Split beacon packing from compound packing 2018-08-05 11:42:02 -04:00
Jordan Sherer
eb7882e253 Restructuring beacons to be more like standard allcalls 2018-08-05 11:42:02 -04:00
Jordan Sherer
96f7b9fd66 Refactoring for better compound message display 2018-08-05 11:42:02 -04:00
Jordan Sherer
479d647456 Refactored callsign packing to use 21 bits instead of 22, reducing our dependence on Prefix/Suffix flags added to our frame type enum 2018-08-05 11:42:01 -04:00
Jordan Sherer
e316554b68 Removed BCN command... it's parsed separately 2018-08-05 11:42:01 -04:00
Jordan Sherer
0a7c4a68de Reordered varicode escapes for better efficiency 2018-08-05 11:38:08 -04:00
Jordan Sherer
e1530c147c Reorder a few of the special escapes 2018-08-05 11:38:08 -04:00
Jordan Sherer
ff77effb3e Varicode packing of trigram and quadgrams 2018-08-05 11:38:08 -04:00
Jordan Sherer
5238e1ade8 Added some comments about trigrams and quadgrams 2018-08-05 11:38:08 -04:00
Jordan Sherer
5d64ac37c5 Restructured building frames and decoding for better support of compound callsigns 2018-08-05 11:38:08 -04:00
Jordan Sherer
1df975f274 Varicode packing without a 5-bit pad integer 2018-08-05 11:38:08 -04:00
Jordan Sherer
565f4d9321 Starting compound call refactoring 2018-08-05 11:38:08 -04:00
Jordan Sherer
bf57a67c43 Encoding of beacon messages that consist of compound call + (grid or arbitrary 15 bit number) + a flag (isCQ) 2018-07-27 16:11:11 -04:00
Jordan Sherer
17033f1044 Automatic reply to AGN queries. Restore last message in the text area menu 2018-07-27 13:53:07 -04:00
Jordan Sherer
7c656fac71 Updated compound callsign parsing in directed messages (use base callsign instead) 2018-07-27 11:28:31 -04:00
Jordan Sherer
2158722ebc Fixed bug in checksuming of buffered messages 2018-07-27 01:24:38 -04:00
Jordan Sherer
371aa1e20c Fixed callsign parsing expression 2018-07-26 20:46:08 -04:00
Jordan Sherer
571aa6446d Added message alerts 2018-07-26 15:57:19 -04:00
Jordan Sherer
4290dd6e2f Extended charset via escapes. DE added to retransmits 2018-07-26 14:31:28 -04:00
Jordan Sherer
de66664635 Added extended alphabet for special characters 2018-07-26 12:47:03 -04:00
Jordan Sherer
9e9c996813 Refactor message buffering for relay 2018-07-25 22:49:19 -04:00
Jordan Sherer
f67ea3803d Changed to a better callsign validator expression 2018-07-25 20:24:22 -04:00
Jordan Sherer
d611d83bb9 Fixed J1Y callsign bug. Added power reporting command 2018-07-25 14:46:21 -04:00
Jordan Sherer
253b60217f Added station power to configuration 2018-07-25 11:30:44 -04:00
Jordan Sherer
115a9d65f7 Send data frames after directed. Fix bug with enter key double sending 2018-07-24 23:10:47 -04:00
Jordan Sherer
246d53201c Updated compound call parsing and aliasing 2018-07-24 17:31:06 -04:00
Jordan Sherer
706a9b1ebd Allow stations heard query 2018-07-24 11:11:04 -04:00
Jordan Sherer
4a17062487 Added packing of compound callsigns into a dedicated message 2018-07-24 02:47:14 -04:00
Jordan Sherer
07a29c7f1d Refactoring directed frame packing 2018-07-23 17:20:03 -04:00
Jordan Sherer
adecb88c29 Added callsign prefix packing 2018-07-23 15:28:36 -04:00
Jordan Sherer
c0833aa753 Added checksum generation and ACK 2018-07-23 08:51:29 -04:00
Jordan Sherer
fe405cfba8 Added ability to encode power into dbm 2018-07-21 02:18:15 -04:00
Jordan Sherer
92117aa791 Added SNR directed command 2018-07-20 23:17:49 -04:00
Jordan Sherer
fa864c50cd Removed CQ DX from allcall 2018-07-20 16:23:48 -04:00
Jordan Sherer
28eb082655 Further fix format of SNR 2018-07-20 16:04:14 -04:00
Jordan Sherer
9a945c156d Proper SNR formatting +00 +30 -09 2018-07-20 11:40:55 -04:00
Jordan Sherer
7b409a6ff4 Fix varicode bug with empty messages 2018-07-20 09:38:34 -04:00
Jordan Sherer
553f2400e5 Updated text decoding to support more commands as well as numerical options for those commands 2018-07-19 23:14:11 -04:00
Jordan Sherer
052b81ec8f Added 73 action and more appropriate all call responses. Added better handling of end of transmissions. 2018-07-19 10:35:00 -04:00
Jordan Sherer
b8267372e4 Added varicode encoding of messages
What this does is allow us to pack more than 13 characters in a single
transmission frame. Optimized using a Huffman encoding using weights of
alphabetical frequency, this will often allow us to send less than 5 bits
per character.
2018-07-19 03:44:08 -04:00
Jordan Sherer
512dffabf4 Added station message command processing 2018-07-19 02:09:19 -04:00
Jordan Sherer
77eb65d6b3 Display callsign prefix for transmitted directed messages 2018-07-16 09:14:28 -04:00
Jordan Sherer
3260bb7b89 Use standard FT8 packing for standard FT8 messages, but apply a directed header for those messages that _can_ be directed 2018-07-15 15:43:29 -04:00
Jordan Sherer
2832572741 Process directed free text messages. Bump beacon on transmit. 2018-07-15 13:03:16 -04:00
Jordan Sherer
2c73ccde9b Huffman frame packing 2018-07-15 09:40:46 -04:00
Jordan Sherer
90ce372081 Added CRC-5 to directed messages to confirm message is valid 2018-07-14 22:05:08 -04:00
Jordan Sherer
15d75f7397 Try not to allocate every time... 2018-07-14 18:10:07 -04:00
Jordan Sherer
f77f139abb Fix typo 2018-07-13 22:13:18 -04:00
Jordan Sherer
2ae74d8cde Added grid packing to varicode 2018-07-13 21:59:54 -04:00
Jordan Sherer
d00eee440c Fixed accesses of invalid memory 2018-07-13 15:44:48 -04:00
Jordan Sherer
a96216e2f8 Refactored directed code into decoded text so the rest of the app can use it as is. 2018-07-13 10:32:58 -04:00
Jordan Sherer
43b65d5ca9 Pack and unpack directed message commands naively 2018-07-13 04:42:23 -04:00
Jordan Sherer
4e0326ad6d Added callsign packing 2018-07-13 00:55:48 -04:00
Jordan Sherer
808782b965 Working through huffman interface 2018-07-12 20:31:45 -04:00
Jordan Sherer
707f577f31 Added huffman encoding utility 2018-07-12 18:02:54 -04:00
Jordan Sherer
05257d287f Parse callsigns in QSO and add to call panel 2018-07-12 15:14:41 -04:00
Jordan Sherer
dd3613b214 Added bit packing to varicode 2018-07-12 09:54:56 -04:00
Jordan Sherer
c96522c11b Added the start of varicode 2018-07-11 23:09:22 -04:00