Good day everyone! I hope you are doing well.

I am an EE undergrad intern at an RF design company's software department, currently tasked with controlling a HackRF One SDR with a touchscreen display and a Raspberry Pi Zero (flashed with PiSDR because it has gnuradio3.9) running Python 3.9. I am a total beginner in GNU Radio, but I have intermediate knowledge of writing various interfaces in Python.

The RPI runs a threaded script that receives UART a command from the display, parses it, and sends a {"parameter": value} PMT pair through ZMQ PUB socket. It also runs a GNU Radio flowchart script in parallel that receives the packet through ZMQ SUB Message source and passes it onto a Message to Variable block. This setup works great for modifying a single variable that's specified in the MesgToVar block, but it breaks down for multiple variables, since the <name> from the message pair is ignored.

My current idea is to write an Embedded Python Block that would act as a "message multiplexer": it would parse the <name> part and issue a message from an according output port. This would mean updating the EPB code for every new variable, but that doesn't sound problematic.

Does this sound like a nice approach? Are there any better alternatives already present? Let me know what you think. Stay safe!

Bogdan

Reply via email to