Replies: 2 comments 5 replies
-
Hi Jan, these are the pybind11 bindings, which are required for every C++ block starting with GNU Radio 3.9. Usually running This topic is not specific to gr-satellites. It applies to GNU Radio >= 3.9 C++ blocks in general. I took a quick look at the GNU Radio Wiki and I couldn't find something that explains pybind11 in enough detail. The C++ block tutorial assumes that you create the block with |
Beta Was this translation helpful? Give feedback.
-
@daniestevez Hello again, I had some time to work on this, and managed to implement an OOT block for encoding and framing for the GomSpace AX100. Testing against the decoder it seems to be working. All the changes currently reside in my fork (https://github.com/vzlu/gr-satellites/tree/ax100_encode), not ready for PR yet (sorry). I tried to follow the implementation logic of the decoding chain, so now there's a couple new blocks:
However, I'm unsure where exactly should we make the cut between the ax100_framer block and the next modulation steps. For example, before the FSK modulation, you still need to unpack the bytes into bits and convert to float. I think it makes sense to have that as a different hierarchical block from the ax100_framer, because it could be reused for other framing protocols. On the other hand, the original ax100_deframer block already contains the digital slicer, so its input is floats. See the flowchart below. Another question is do you think it makes sense to implement a new FSK Modulator block, analogous to the currently implemented FSK Demodulator? If so, then I'm afraid it's a bit out of my area of expertise. Right now I'm doing FSK modulation using the the builtin gnuradio blocks which I sort of just stitched together until I arrived at a configuration that demodulates afterward. |
Beta Was this translation helpful? Give feedback.
-
Hello everyone,
I'm looking into developing for GNURadio using gr-satellites as the starting point - I'm mainly interesting in writing some encoder counterparts for the existing decoder blocks. I'm using gr-satellites as the starting point becuase the decoders here are known to be working (and because I have very little idea about developing for gnuradio).
Perhaps somewhat naively, I though that I could e.g. add an AX.100 encoder by just copying the relevant files, renaming them to "ax100_encoder_*", changing the internals, editing all realted CMake files and rebuilding gr-satellites from source.
This however seems to have failed at some point, because I now get the following error (with PYTHONPATH set to
/usr/local/lib/python3/dist-packages/
):I think that it's related to generating Python bindings for the C code, but I don't really know how to do that (and was hoping CMake would take care of it). On a whim, I tried running
python/bindings/bind_oot_file.py
, but that produces rather strange errors (and don't know if I'm even using it correctly):I searched the documentation, as well as the issues/discussions but didn't find much info on how to develop for gr-satellites. Is there some sort of "development guide"? Though perhaps what I'm actually looking for is a development guide for GNURadio in general, so if anyone has any pointers, that would be really appreciated.
Thanks!
Beta Was this translation helpful? Give feedback.
All reactions