Commit Graph

125 Commits

Author SHA1 Message Date
Walter A. Boring IV 687d472d0b
Merge 63ce7e8d4d into c2a0f18ce0 2022-09-21 15:40:58 +02:00
Rossen Georgiev ef88e3493a bump to v0.7.2 2022-07-10 13:35:26 +01:00
Rossen Georgiev 2a27dc4416 parse_position: fix data ext and weather parsing
Fix #72
2022-07-10 13:33:45 +01:00
Rossen Georgiev 2b139d1857 bump to v0.7.1 2022-03-12 14:29:26 +00:00
Rossen Georgiev 6b80e9e3ef parse: remove left over print
fix #69
2022-03-12 14:28:35 +00:00
Rossen Georgiev 5e79c81035 prase: weather: use raw string for regex 2022-03-12 14:27:29 +00:00
Rossen Georgiev c9f4b4f779 parse: fix weather_data mangling comments
fix #71
2022-03-12 14:24:28 +00:00
Rossen Georgiev 1b7da6566c parse: fix weather h00 = 100% humidity
fix #70
2022-03-12 13:54:40 +00:00
Rossen Georgiev 8674bbd143 do not log 'Resource temporarily unavailable' when blocking=False
Related #57
2021-12-20 18:05:17 +00:00
Rossen Georgiev d40d7a48a1 bump to v0.7.0 2021-11-27 19:36:15 +00:00
Rossen Georgiev 303fe826bd parse: rework message rejack parsing + update tests 2021-11-27 19:31:07 +00:00
Joerg Schultze-Lutter bee37df76d Fixed final msg parser bug when no msgno was present 2021-11-27 16:10:55 +00:00
Joerg Schultze-Lutter a1deb2ffa3 ackMsgNo support (http://www.aprs.org/aprs11/replyacks.txt)
Decode the 'new' ackMsgNo for ack/rej responses and standard
APRS messages while still honoring the original format from aprs101.pdf

The following assumptions apply when handling APRS messages in general:

Option 1: no message ID present:
    send no ACK
    outgoing messages have no msg number attachment
        Example data exchange 1:
        DF1JSL-4>APRS,TCPIP*,qAC,T2PRT::WXBOT    :94043
        WXBOT>APRS,qAS,KI6WJP::DF1JSL-4 :Mountain View CA. Today,Sunny High 60

        Example data exchange 2:
        DF1JSL-4>APRS,TCPIP*,qAC,T2SPAIN::EMAIL-2  :blah@gmail.com Hallo
        EMAIL-2>APJIE4,TCPIP*,qAC,AE5PL-JF::DF1JSL-4 :Email sent to blah@gmail.com

Option 2: old message number format is present: (example: msg{12345)
    Send ack with message number from original message (ack12345)
    All outgoing messages have trailing msg number ( {abcde ); can be numeric or
    slphanumeric counter. See aprs101.pdf chapter 14
        Example data exchange 1:
        DF1JSL-4>APRS,TCPIP*,qAC,T2SP::EMAIL-2  :blah@gmail.com Hallo{12345
        EMAIL-2>APJIE4,TCPIP*,qAC,AE5PL-JF::DF1JSL-4 :ack12345
        EMAIL-2>APJIE4,TCPIP*,qAC,AE5PL-JF::DF1JSL-4 :Email sent to blah@gmail.com{891
        DF1JSL-4>APOSB,TCPIP*,qAS,DF1JSL::EMAIL-2  :ack891

        Example data exchange 2:
        DF1JSL-4>APRS,TCPIP*,qAC,T2CSNGRAD::EMAIL-2  :blah@gmail.com{ABCDE
        EMAIL-2>APJIE4,TCPIP*,qAC,AE5PL-JF::DF1JSL-4 :ackABCDE
        EMAIL-2>APJIE4,TCPIP*,qAC,AE5PL-JF::DF1JSL-4 :Email sent to blah@gmail.com{893
        DF1JSL-4>APOSB,TCPIP*,qAS,DF1JSL::EMAIL-2  :ack893

Option 3: new messages with message ID but without trailing retry msg ids: msg{AB}
    Do NOT send extra ack
    All outgoing messages have 2-character msg id, followed by message ID from original message
    Example:
    User sends message "Hello{AB}" to MPAD
    MPAD responds "Message content line 1{DE}AB" to user
    MPAD responds "Message content line 2{DF}AB" to user

    AB -> original message
    DE, DF -> message IDs generated by MPAD

        Example data exchange 1:
        DF1JSL-4>APRS,TCPIP*,qAC,T2NUERNBG::WXBOT    :99801{AB}
        WXBOT>APRS,qAS,KI6WJP::DF1JSL-4 :Lemon Creek AK. Today,Scattered Rain/Snow and Patchy Fog 50% {QL}AB
        DF1JSL-4>APOSB,TCPIP*,qAS,DF1JSL::WXBOT    :ackQL}AB
        WXBOT>APRS,qAS,KI6WJP::DF1JSL-4 :High 40{QM}AB
        DF1JSL-4>APOSB,TCPIP*,qAS,DF1JSL::WXBOT    :ackQM}AB

        Example data exchange 2:
        DF1JSL-4>APRS,TCPIP*,qAC,T2SPAIN::EMAIL-2  :blah@gmail.com Hallo{AB}
        EMAIL-2>APJIE4,TCPIP*,qAC,AE5PL-JF::DF1JSL-4 :Email sent to blah@gmail.com{OQ}AB
        DF1JSL-4>APOSB,TCPIP*,qAS,DF1JSL::EMAIL-2  :ackOQ}AB

Option 4: new messages with message ID and with trailing retry msg ids: msg{AB}CD
    Follow the instructions as per http://www.aprs.org/aprs11/replyacks.txt

        Example data exchange 1:
        DF1JSL-4>APRS,TCPIP*,qAC,T2CZECH::WXBOT    :99801{LM}AA
        WXBOT>APRS,qAS,KI6WJP::DF1JSL-4 :Lemon Creek AK. Today,Scattered Rain/Snow and Patchy Fog 50% {QP}LM
        DF1JSL-4>APOSB,TCPIP*,qAS,DF1JSL::WXBOT    :ackQP}LM
        WXBOT>APRS,qAS,KI6WJP::DF1JSL-4 :High 40{QQ}LM
        DF1JSL-4>APOSB,TCPIP*,qAS,DF1JSL::WXBOT    :ackQQ}LM
        Example data exchange 2:
        DF1JSL-4>APRS,TCPIP*,qAC,T2SP::EMAIL-2  :blah@gmail.com Welt{DE}FG
        EMAIL-2>APJIE4,TCPIP*,qAC,AE5PL-JF::DF1JSL-4 :Email sent to blah@gmail.com{OS}DE
        DF1JSL-4>APOSB,TCPIP*,qAS,DF1JSL::EMAIL-2  :ackOS}DE
2021-11-27 16:10:55 +00:00
Rossen Georgiev 8d1822ec2d fix phg_gain calculation being incorrect on py2 2021-11-27 15:33:16 +00:00
Rossen Georgiev 71a97f3438 parsing: calculate power,height,gain,range for PHG 2021-11-27 15:28:55 +00:00
Rossen Georgiev 2e9c4a9c56 parsing: refine PHGR code and update tests 2021-11-27 14:51:11 +00:00
TheCranston dc90983cb6 Update common.py
This comprehends the PHGR custom message that MUST be terminated by "/" and the standard PHG message of 4 chars.  The math "Should" be done for the "R" in terms of direction but that has been omitted.
2021-11-27 14:14:19 +00:00
Rossen Georgiev 09db998143 refine unsupported packet type message 2021-11-27 13:43:38 +00:00
Bill Mitchell 3c82d6463e Moved unsupported format list to larger scope, use the dictionary keys
to test if a packet is in the unsupported list.
2021-11-27 13:22:46 +00:00
Bill Mitchell e79aafe29a Roll back previous commit 2021-11-27 13:20:56 +00:00
Bill Mitchell 3a12e45342 If parsing fails on body after succeeding on head, return the
partially-parsed packet as part of the error.
2021-11-27 13:20:56 +00:00
Bill Mitchell a14da1d78d When packet type is unsupported, give error message which specifies
the packet type.
2021-11-27 13:20:56 +00:00
Rossen Georgiev 4557e44e02 remove 3rd-party from unsupport list in the comment 2021-11-27 13:19:40 +00:00
Bill Mitchell 6b96f01db2 Added ParseError to third-party packet error handling 2021-11-27 12:10:20 +00:00
Bill Mitchell 3659faa509 Added third-party packet support 2021-11-27 12:10:20 +00:00
Hemna 63ce7e8d4d Added support for consumer kwargs
I have an app that uses consumer, but needs to pass in some kwargs
for consumption at consumer function call time.  This patch adds
kwargs support to consumer creation as well as passing those kwargs
at consumer callback time.
2020-12-22 12:37:00 -05:00
Rossen Georgiev 097ba853c4 bump v0.6.37 2019-10-26 20:17:21 +01:00
Rossen Georgiev 2f0f74a06d fix SyntaxWarning for py38 and remove py33 on travis 2019-10-08 19:42:53 +01:00
Rossen Georgiev c3c886e5c6 fix #54; getting a float instead of integer 2019-10-08 19:38:17 +01:00
Rossen Georgiev 94b89a6da4 parsing: fix incorrect parsing of msgNo
msgNo should accept alphanumeric characters

fix #36
2018-01-20 14:55:23 +00:00
Rossen Georgiev acb4c66ff9 fix #39; typos 2018-01-20 14:38:23 +00:00
Rossen Georgiev 39a9c0a1a4 fix #35 #lines not being filtered on python3 2017-09-28 21:15:14 +01:00
Bryce Salmi 96d914b29d Initial telemetry packet report (#27) 2017-03-19 11:48:09 +00:00
Rossen Georgiev 7d5dafa649 PositionReport: validate lat and long
added input validation for latitude and longitude
2017-03-12 12:33:13 +02:00
Rossen Georgiev f6a952a109 bump to v0.6.46 2017-01-28 23:24:20 +02:00
Rossen Georgiev 8a3a677c07 fix parsing of message ACK/REJ; #23 2017-01-28 23:22:21 +02:00
Rossen Georgiev 5563a6d8c7 refactor total_seconds() for py2.6 comp 2016-08-16 22:28:00 +01:00
Rossen Georgiev 566446bfd7 fix skip_login check being reversed 2016-08-16 22:22:24 +01:00
Rossen Georgiev 2d0560ce16 bump to v0.6.45 2016-08-16 22:08:50 +01:00
Rossen Georgiev 0964d83097 added parameter 'skip_login', #19
doesn't attempt to login, useful when using software such as xastir
2016-08-16 22:07:32 +01:00
Rossen Georgiev 9e6c292422 fix incorrect caputation of timestamp in some cases 2016-08-16 21:50:21 +01:00
Rossen Georgiev 8abcc85761 fix aprs.inet.IS logger name 2016-03-17 21:42:41 +00:00
Rossen Georgiev 202dc8fa0e fix value error when parsing course & speed 2016-03-17 21:22:55 +00:00
Rossen Georgiev 0ea9f1dede fix undefined packet reference in parsing.position 2016-03-17 20:54:49 +00:00
Rossen Georgiev 20e35f018c fix setup.py not including subpackages 2016-03-04 09:34:29 +00:00
Rossen Georgiev 2724d6682a fix fail to parse telem config with end whitespace 2016-03-04 07:42:07 +00:00
Rossen Georgiev 44dd7da2ed added tests for parsing.common #15 2016-01-27 13:55:10 +00:00
Rossen Georgiev 68190860b7 removed _ prefix from most parse functions 2016-01-27 07:47:53 +00:00
Rossen Georgiev a27c6f3ffe made sendall accept APRSPacket instances 2016-01-26 17:44:11 +00:00
Rossen Georgiev 3a83822674 tiny reorganization in parsing.weather 2016-01-25 11:57:40 +00:00