bastibl / gr-rds

FM RDS/TMC Transceiver
http://en.wikipedia.org/wiki/Radio_Data_System
GNU General Public License v3.0
219 stars 73 forks source link

Added North American PTY Option #7

Closed SpinStabilized closed 8 years ago

SpinStabilized commented 8 years ago

Created updates to make it easier to utilize the North American PTY codes translations. The code can be complied as-is with no modifications and the results will be exactly as expected previously. If the developer wishes to use the North American PTY codes, modify the variable pty_locale in lib/constants.h to PTY_NORTH_AMERICA. The could be automated in the future based on the decoded Program Information.

bastibl commented 8 years ago

hi, thanks for the patch. would be great if it could be configured during run-time (through the message port). But anyways, it's a good starting point. Thanks!

SpinStabilized commented 8 years ago

I agree, I made the update I needed for a STEM education project I've been working on and thought I would provide it back. If I get a chance I will add it as an option to the parser block and send it back in. I could use a QT version of the widget but I haven't had a chance to look into how to create a new QT widget in GNU Radio. I would also like to add an the code to translate the US station callsigns from the Program Information.

bastibl commented 8 years ago

Having custom QT widgets would certainly be nice, but also quite some work, I guess. I only thought of adding it to the remote command interface, which is accessible by connecting to the flow graph with netcat.

SpinStabilized commented 8 years ago

Right now I am using the ZeroMQ interface to get the messages from the Parser block and subscribing to the ZeroMQ bus in a separate python program. That is actually working great. This is a part of some larger work I am doing to create some STEM education projects on communications. FM Stereo and RDS is great since I can drop the RF gain in the GUI and see the constellation form as I bring the gain back up. Couldn't get the data messages coming accross out of PMT format easily (pmt.to_python() kept throwing errors) but the format for these simple packets were easy enough to reverse engineer.

bastibl commented 8 years ago

Arg, I just realized that I mixed up sender and transmitter. I implemented live reconfiguration only for the transmitter... so the previous comment did make much sense.

I think the current version is cool, since it's very intuitive; the user only has to press play in GRC. It's very hard to get this wrong :-) But another ZMQ-based GUI could provide additional / optional configurations (like your pty_locale). Creating a separate GUI would also avoids the hassle of encapsulating the widget in a GNU Radio block.

Keep me updated!

SpinStabilized commented 8 years ago

I would actually like to use it within GNURadio but I've build my whole application around Qt GUI. Just confirmed with GNU Radio that WX goes away at version 3.8 and would have to use WX as an OOT. I will work with them and see if I can't get a good port of your panel produced and also update to have the locale a setting in the parser.

Cheers, Brian

bastibl commented 8 years ago

Sounds great! ...and yes, you're right, the WX stuff should be replaced by QT at some point in the, not too far, future :-)