Friday, January 25, 2013

Programming WiNRADiO RBASIC

RBASIC (Radio BASIC) is a plug-in for WiNRADiO SDRs.  It implements a small version of the old BASIC programming language, with a number of high-level commands that hook directly into real-time receiver control.

Radio BASIC does not completely resolve the issue of software availability vs the Perseus, but it's a start.  It's a little language, thank goodness.  It is completely procedural.  Like people, it starts at the beginning of a task, does things, and finishes when there's nothing left to do.

Its rudimentary instruction and function sets can be mastered in a day's time by anyone who ever programmed in BASIC.  Those who learned to hate this language, myself included, will be pleased to know that it has no line numbers  at all, anywhere, ever. 

The first program I wrote was a hack of one available on the Radio BASIC home page. The result was a perfectly decent scanner for the low-VHF repeater channels used by the California Highway Patrol.  (The G33DDR goes to 50 MHz.)

The radio functions make this a snap.  Set the squelch, read its state, loop through frequencies, then pause if it's open.

Now, I need another CHP scanner like a fish needs a bicycle, but hey, it works.  It kept up with the general mass chaos of a rainy day on L.A. freeways as well as anything else would have, in this non-demanding application.

What I really needed was an ALE scanner for the WiNRADiO.  Work continues on one.  I've got it so it will read in frequencies from a text file (QRG.TXT), and scan them.  It does not use the squelch.  Obviously, the resulting audio has to be decoded by another program, in this case MultiPSK.  The "would be nice" list includes better checking that the signal is indeed ALE,  and a way to manually pause the scan.

Ahhh, so little time.