I am interested in being able to recover from UHD Error conditions such
as not finding a USRP on startup or an Ethernet cable getting knocked
loose (USRP N200). I implemented an uhd_async_message source but all I
can do with that is read error codes corresponding to sequence errors,
late packets, underruns, etc. It’s nice to have the ability to take
action based on these messages, but if an Ethernet cable gets knocked
loose, nothing gets sent to the message queue (at least, not that I
could find). Instead, UHD prints to stdout using some other thread and
then my script hangs.
I hacked UHD’s error printing code to do an exit after it prints
whatever error occurred, and then a bash script handles restarting the
Python program that’s controlling GNU Radio behavior. I’m aware that
there is a way to register a message handler function with UHD so that
it won’t just print to the screen and hang. Is there any way to
implement this handler in Python and register the function with UHD? I
don’t normally post to both lists to avoid redundant spamming, but I’ll
take a leap of faith here.
P.S. - I’ll sneak this question in with the technical one above: is the
GNU Radio conference free to attend? Is there any registration required?
Didn’t see any such thing on the site, so I’m assuming it’s free and the
public can just show up and enjoy some awesomeness.