Closed ReacherMiao closed 1 month ago
First of all, receiving AFSK-modulated AX.25 frames is not possible, see #569. From the code you have shown, you are not using AFSK, but I just wanted to get this limitation out of the way. More generically, receiving AX.25 is not tested. It can be possible in some cases, but most likely not with SX126x.
The primary issue you have is that the SX126x (as well as all the other sub-GHz FSK modules) packets follow the common preamble-syncword-length-payload format. AX.25 does not, it has a specific frame structure made of flags that denote packet start/end and the length is implicit. So you will have to disable the SX126x internal FSK packet engine and do all the decoding yourself. And here you will hit the final problem - to do this, you would need to use the receiveDirect
API. In this mode, the radio outputs demodulated data directly on one of its pins, which allows you to bypass the packet engine (see the SX127x example for that) As you have observed, it is not implemented on SX126x. There are a few reason for that, the two biggest ones are:
TL;DR Currently this is not possible using SX126x. Your best shot is using SX127x, but even then, this is not something that's directly supported - that's why there is no example for it.
Closed due to inactivity.
Hi, I would like to ask for help for one of our project.
We are trying to write a decoder for ax.25 frames on our SX1268 chip. We have tried a lot of things, but the reception still does not work properly.
There are mainly two functions for reception from the radiolib, from what we read: receive() and receiveDirect(). But it seems that receiveDirect() was not implemented for SX1268. After successful initialization, we were unable to capture anything meaningful using either of these two functions. Most of the things we printed out did not make any sense.
Here is the function we wrote for receive. It would be very great if it was just that we made some mistakes.
And this is our initialization:
As of setup we are using 9600 Baude rate and (434.0, 4.8, 5.0, 156.2) for input of beginFSK()
Thanks in advance!