cbs228 / ardop_interface Goto Github PK
View Code? Open in Web Editor NEWInterface to the Amateur Radio Digital Open Protocol (ARDOP)
License: Apache License 2.0
Interface to the Amateur Radio Digital Open Protocol (ARDOP)
License: Apache License 2.0
There should be some mechanism which enables the discovery of remote peers. Specifically, we should add a monitoring mode to ArdopTnc
which listens for callsigns and grid squares from:
IDF
)PING
requestsThe monitoring mode should also optionally LISTEN
for incoming connections.
We should also consider whether or not to cache this information as a "heard list" and make it available to clients. But I believe that this functionality is better suited for higher-level applications.
Enable support for sending ping requests. The TNC does not send "ping timeout" notifications to the client, so we will have to put a timeout on that call ourselves.
Remove our home-grown Framer
and replace it with futures_codec
. This is an API-breaking change, but it is for the better.
Clients must monitor the BUSY TRUE|FALSE
state of the TNC in order to avoid transmitting over other parties. These messages need to be consumed and time-tagged. Logic must be written to determine how much inactivity constitutes a clear channel.
In 0.2.0-alpha.1, it was suggested that the caller could chain timeouts onto TNC futures. This is not safe to do for connect()
, as the timeout might expire after dialing has begun but before it finishes. The busy detection logic needs an internal timeout, which should be adjustable. It may be worth adding timeouts to listen()
et. al. as well. These changes might be implemented in a breaking manner.
We should add a FecSocket
for ARDOP's unconnected, forward error-correction mode of operation. FEC is very similar to UDP, except that packets may be repeated. FEC frames may also be co-mingled with ID frames.
The biggest hurdle is the need to specify the FECMODE
. The available modulation modes change with every major release of ARDOP. We can either:
In general, (1) is the choice with the simpler implementation, and it is probably the correct one.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.