Comments (7)
Added - thank you very much, you really helped me a lot. Now RadioLib can send AX.25 via most of the supported radio modules. Onwards to APRS then I guess ;)
from ax25.
It's pretty hard to find the low-level implementation details for AX.25. I got most of the info from the two pdfs in the docs folder of the repo. I tested it against the AX.25 decoder in GQRX. You can find their decoder code here. Happy to help out since I'd love to have a library like yours with AX.25 support. BTW, have you considered a CircuitPython port?
from ax25.
Thanks for the response, I'll definitely give GQRX a shot (once I get it running on VM, as I'm working on Windows).
I haven't considered CircuitPython port - to be honest, I never used it (and it's been a few years since I did anything in Python). I'm not sure it would be easy, as RadioLib is using some C++ features that might not be available in Python, like pure virtual methods, or converting constructors.
from ax25.
Hi again, I managed to decode AX.25 frames using SDR Console (to get the AFSK output) + SoundModem (to decode the audio) on Windows, since GQRX on VM was far too slow.
I noticed that the frames are quite long, the following seems to be cause:
Lines 186 to 194 in fe6b92d
If my understanding of your implementation is correct, that loop will add the 0x7E flag 64 times. Was there a particular reason for this? I tried it with only one flag and SoundModem decodes it just fine.
from ax25.
That's the preamble. Most decoders expect some minimum number of 0x7E bytes, but it varies by implementation. You can definitely use fewer than 64, but one is probably risky as some decoders may fail.
from ax25.
Can't seem to find any recommended number of preamble bytes in the specification... Will leave it up to the user then ;)
Thank you very much for the help, support for AX.25 will be added to RadioLib shortly. Is it OK to use your CCITT CRC implementation (appropriately licensed, of course)?
from ax25.
Yup, of course. If you're curious what's up with the preamble thing, it's there to give the receiver PLL lots of edges to synchronize on at the beginning of the packet.
from ax25.
Related Issues (2)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ax25.