-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sending message packet with msg number #13
Comments
This is how the packet is being sent https://github.com/craigerl/aprsd/blob/master/aprsd/clients/kiss.py#L89-L93 |
The message code actually manages the Is there a requirement in your application to manage the |
Two ideas come to mind:
|
so aprsd uses aprslib for client connections to aprsis servers as well. i have to manage message numbers and ack counts and replies manually with it. i have abstracted out a client object that uses aprslib or tcpkiss or serialkiss underneath it. so i pack the message mumber as part of the message itself according to the aprs spec. aprslib can exctract that and creates an aprs "packet" dict with all the particulars. So yes i need to be able to send a message packet that includes the msg number. |
What's handling the retransmissions in the case of a dropped packet? Does |
in the case of aprsd it will detect that it hasnt gotten an ack and will retransmit the message itself via another one shot message |
Right, so we just really need a dumb UI frame transmit with no real smarts behind the scenes, since the APRS message itself is already constructed and https://github.com/sjlongland/aioax25/blob/master/aioax25/aprs/aprs.py#L163-L170 is basically what You might be able to do what you're after with something like this: self.aprsint.transmit(APRSFrame(
destination=msg.tocall,
source=self.mycall,
payload=(':%-9s:%s' % (
msg.tocall,
payload
)).encode('US-ASCII'),
repeaters=["WIDE1-1", "WIDE2-1"]
)) |
Ok thanks for the help. I have a modified version of that that seems to get received on the other side. Now I'm running into replies getting dropped because they are all Third-party packets.
And the RX
|
The latest test code here: https://github.com/craigerl/aprsd/blob/small_refactor/aprsd/clients/kiss.py#L107-L131 |
Yeah, third party packets is a whole area of APRS I'm unfamiliar with. |
I am seeing a problem with sending a message that includes a message number. It looks like the message number is being stripped off the packet, resulting in incorrect acks coming back.
Here is an example from aprsd.
The direwolf log
The recieving APRSD instance view of the packet
As you can see the original message was sent to tcpkiss with a message number of 4, so I can get acks for message 4 back from the destination.
The destination didn't get a message number as part of the packet as it was stripped out, so it sent an ack with message number of 0.
The text was updated successfully, but these errors were encountered: