Strong Signals

Feature Review

Home
Contents

Feature

 
Introduction
Mike's indepth look at a lesser known software offering proves that you just might find a gem when you least expect it.

RadioCtl With The BC245 & BC895

by Mike Agner, KA3JJZ

While taking a look through my listings of BC895 software, I came across a package that boasted that you could set up 100 search ranges and 1000 channels. Knowing full well that the 895 doesn't provide anywhere near that level of flexibility, I decided to download RadioCtl and see what I could make of it.

To start, I should mention that I have been working and testing fairly closely with Lydia Rosa (who is the software author) for almost a year. There have been a great many significant changes between the old .91 version and the newer .92 version, and I'll refer to the changes as we go along.

Setup
After downloading the software, I expanded it into a temporary directory and let the install process take over. A log is created that shows that several DLLs are installed or copied (if you are upgrading), so if you ever decide to remove RadioCtl from your system, you will need a good uninstall program to make sure the right DLLs are removed.

You will immediately notice that one file you get from the installation is a .dbf file called freqlist.dbf. This file is used for the alpha-tag lookups that will be used in RadioCtl (referred to as 'Service Text'). Examination of the file shows that it is set up with very general frequencies and Ids - for Taxis, cordless phones, the maritime frequencies, and so on. You should clone this file and add the text that you want to appear for each frequency.

Figure 1 shows the database as I began to build my data. It should be noted that, according to the documentation, only the frequency, action and description are actually necessary for RadioCtl to use the file for lookups. I did later reduce the database to these 3 fields to test it, and it worked just fine. As I used Microsoft Works to create the clone, I had to select the correct file type so RadioCtl will recognize it, so be sure to save it as a Dbase III+ file. You can have multiple databases defined, and since you can have up to 8 radios defined to RadioCtl, this is a very handy feature.

Next, bring up RadioCtl by clicking on the icon. You will see a number of screens come up - the main panel, a messages panel and a search panel, along with VFOs. During the setup phase, just concentrate on the main panel. Figure 2 shows an example of the panel for the 895, while Figure 3 shows the panel for the 245. They are very slightly different, due to the different features available from the radio. In the older .91 version, a spectrum display screen came up that you couldn't close down or move; this problem has been corrected in version .92. You can safely close all other screens for the time being.

Click on 'Parms/Global Parms', and you will see a panel like that shown in Figure 4. You should change the 'resume' parameter- this is the parm used by RadioCtl for the programmable delays (which will be covered later). The display settings control the font that's used for the frequency and step data. Next to it is a box labeled 'display unused aux'.

This arcane little box controls whether you would see controls that aren't part of your radio's command set (such as selecting antennas for the BC895). You are better off to leave this box unchecked. If you want your database that contains your lookup information to be loaded automatically, check the 'Load Frequency DBF' box. If you are going to set up a priority channel, place the number of seconds you want to wait to check for activity in the 'priority' box. Click the 'OK' box.

Next, each radio must be defined to RadioCtl. Click on 'Parms/Radio 1' and you'll be taken to Figure 5. There's a button called 'Locate Radio' at the bottom of the panel. As long as your radio is connected and in remote mode, click on this and see if the correct selections come up. When I tried this (testing both radios), it didn't work, so I had to select the COM port, model and Protocol manually. Evidently, you can't change the 'name' field- at least, nothing I did saved the change when I attempted it.

There is one very important box which you must change before going any further. RadioCtl uses one of the radio's memories as a workplace; many functions, such as downloading data from the radio, actually happen here. Make sure that you pick an unused channel, and select that number from the pull down menu. Keep that channel in mind; when you're finished using RadioCtl, it's a very good idea to zero out or otherwise turn that channel off, otherwise all sorts of weird frequency information might appear there.

When you're all done with this panel, click 'OK'. RadioCtl will attempt to connect with the radio you have defined here.

The next step is to build a frequency file. On the main panel, you will find a 'Load/Set' radio buttons, along with channel numbers. Adjust the channel numbers as needed, then hit 'Load'. A file will be created (initially stored in c:\My Documents, but you can change this). Make sure you also give it a name that identifies the radio from which these frequencies were loaded. As shown in Figure 6, the file must be saved with a .frq extension; however, this file is Notepad compatible, so make sure that if you want to look or edit this file to make this association in Explorer. The documentation describes the format of the .frq file in great detail, as many pieces and functions are stored here.

It should be noted that writing a .frq file is not really required, as you can load frequencies directly into RadioCtl or you can Load them from the radio. Loading them from the radio is probably easiest, as the data formats RadioCtl needs are rather complex; if you want to write your own files, be sure to read the appendix information completely before proceeding.

Finally, returning to the main panel [Figure 2], you must choose how the program will scan and under which control. There is a button right underneath the channel number that will either say 'Use Computer's Memories' or 'Use Radio's Memories'. These 2 settings work very differently; if you use the computer's memories, it will use the .frq file you just created (or opened, if this is not your first session) to control scanning. As such, scanning tends to be a bit slower, particularly if you are listening with the CTCSS option turned on (found in the far right hand side of the panel). This is understandable, as more information is being passed back and forth.

In addition, it will use the work channel that was selected in the radio parms box. If you use the radio's memories, scanning tends to be faster and it will scan using the radio's memories. In addition, the work channel is not used when using the radio's memories; if you're kinda short on free space in your radio, or are using the CTCSS option with the 895, using the radio's memories is highly recommended.

You will find a bar, representing the speed at which scanning takes place, down at the bottom of the screen. To allow for CTCSS scanning, I found (with my 895) that setting it at about 95% worked very reliably. Of course, with the 245, 100% worked fine, since CTCSS scanning isn't available with this radio.

Lastly, there are a number of global switches on the far right hand side of the panel. If you want RadioCtl to insert service text into the scanning, check the 'Memory Sync' option. If you want RadioCtl to write a log file, check the 'log to file' option. Since the 895 doesn't trunk on 400 Mhz (and I have a small 400 MHz system here), I checked the 'Scan Trunk Frequencies' box. This will cause RadioCtl to scan these frequencies conventionally.

In order to indicate which frequencies are trunked, you must mark these frequencies with a trunked tag. You can do this by using the memory channels panel. From the main panel, hit 'view/memory channels', and you will see a panel like Figure 9. Use the bar at the left to scroll down to the frequencies you want to mark, and check the 'trunked freq' box. This data is stored in the .frq file, so be sure to 'save' it when you're finished. To scan these frequencies, check the 'Scan Trunked Freq' box.

I also have several frequencies with CTCSS information which I wanted to be used, so I checked the 'CTCSS Enable' box. This is a major change from version .91, as this option was not available at that time.

Notice the 'Light on Signal' box. It's greyed out in the 895 version of the main panel, but active in the 245 version. This is for the autolight function, and it works just for the 245.

Remember those numerous scan and search banks I mentioned earlier? You can easily set them up before scanning. Click on 'view/scan banks', and you will be taken to Figure 7. As you can see, I have set up the first 20 channels as my first scan bank (notice that RadioCtl starts everything at selection 00; this takes a bit of getting used to, particularly when Uniden starts everything at 1). Put your beginning channel in 'start', the ending channel in 'stop'. Check the 'valid' box, and put something into the service text so you can remember what this is used for.

Make sure you hit 'enter' or 'tab' so that RadioCtl will store this information correctly. This can be real handy for that special event (like, say a Presidential visit) where you want to only scan a few channels for activity. You have 100 of these scan banks available, so naming them is very important. This information is stored in the .frq file, so make sure you 'save' it (in the file pulldown on the main screen) when you are finished defining your banks.

Setting up your search banks is very similar. Click on 'view/search banks' in the main panel, and you will be taken to Figure 8. You will notice I have set up an aero search in the ARINC section of the VHF air band. The only thing to watch out for is the step; it's read as MHz, not kHz as one might expect. So entering 12.5 would attempt to scan at 12.5 MHz steps (which the 895 won't support anyway). As mentioned before, there are 100 of these available, so make sure you give it some unique name. Like the scan banks, this data is also stored in the .frq file, so you must 'save' it when you're done.

Scanning
We're finally ready to start scanning. Return to the main screen and press the 'scan' radio button.

To set a channel as a Priority, check the 'priority' box in the global switches, and put the priority channel in the priority box at the bottom. Then place that channel number in the priority box on the bottom right. As you scan, the priority channel will be checked every number of seconds that you set in the global parms pulldown. As it does, the priority box turns red. It also seems that the priority channel's information is stored in position 00 of the memory channels panel (which isn't stored in the .frq file, interestingly enough).

If you want to see the service lookups that RadioCtl will post, from the main panel, press 'view' then select 'memory channels' from the pull down. You will immediately notice that a lot of screen area is taken up by both panels being active; you may resize them as you wish.

Notice that the memory panel is also slightly different, depending on what radio is being used. Figure 9 shows a memory panel for the 895, while Figure 10 shows one for the 245. There is one little glitch with the 245 version; although the 'attenuator' function is shown on this panel, it's really a global attenuator, not one that works on a per-channel basis. It's easy to make this mistake, so remember, if you turn it on here it's on for all channels in the 245.

When Lydia saw my comments on the 'attenuator' box, this is what she wrote back: "If you turn the Attenuator on for an individual channel, it should only be on when scanning that particular channel [not for the 245]. However, if you are using the radio's memories, then the attenuator is set by the setting on the active VFO. If it happens to be on when you switch to radio's memories, then it will be on for all channels." So it appears that RadioCtl attempts to implement this function somewhat differently than Uniden intended. So be careful with this function.

With the 895's version of the panel, you see a box marked 'recorder'. This is used to activate the tape recorder ('Aux' in 895 terms) switch. To use this, check the box for 'recorder' for those channels you want to record. Then return to the main panel, and put these channels in the 'start' and 'stop' area, then press the radio button marked 'Set'. These channels should now show 'line' in the 895's display.

If you are using the computer's memories to scan, the count, time, signal and date stamp will be updated. If you are using the radio's memories, only the time and signal fields are updated. These can be cleared at any time by simply double-clicking on the desired item; if you want to clear all these fields, select 'database/clear everything' from the pull down menu.

Look at the boxes to the left. The 'valid' box is really an indication of whether the channel has been locked out. The 'delay' box is self explanatory. If you had marked this frequency as a trunked frequency, then a check should appear in the 'trunked freq' box - but I found this doesn't work. Fortunately, the global switch for scanning trunk frequencies as conventional works just fine, so this is a minor nit.

The 'rsm' (resume) box is really a programmable delay. If you check this box, it goes to the resume time that was posted in the global parms pull down. For each frequency scanned and traffic detected, it will remain that number of seconds. This is a good way to sample frequencies just to see if they are active or not.

The 'database' selection presents some limited control over your database. You can sort it by frequency (recommended for speed), or perform a lookup based on service data. You may even clear fields out. It's really not very useful and I personally prefer to use a dedicated program for this purpose. In fact, what you are really editing is the .frq file, which can be edited with Notepad or any other text-compatible editor. You should be aware that these functions just change RadioCtl's memories; they won't be saved unless you use the 'file/save' pull down.

The 'edit' selection [Figure 16] allows you to copy or move records within the database. Again, it's much too limited to be really useful; you should use a dedicated program to perform editing functions.

VFO Control
RadioCtl defines 2 VFOs, designated 'A' [Figure 11] and 'B' [Figure 12]. One VFO is active at all times, even if it's not being used. The work channel (defined in the radio parms) will be used as the VFO. To access this, you need to do 2 things.

First, load the VFO with the contents of a memory by pressing the 'Mem->VFO' button on the main panel. Then click 'View/VFO-A' from the pull down. You will notice that the VFO is marked active with a little red button under the frequency. You must specify the correct step before tuning, and once again, it's defined in MHz, not kHz.

You can either click on the digit of the frequency or use the up/down buttons next to the frequency display. VFO-B is accessed in a similar manner; to make this one active, simply click on the 'Make This VFO Active' box.

You can transfer the VFO frequency to memory (actually the .frq file) by clicking the 'VFO->Mem' button on the main panel- but note that you need to 'Set' it to actually send it to the radio as a channel.

Scan and Search Banks
To access these functions, go to the main panel and click on the 'banks on' box. If you want to use your scan banks, then press 'scan' on the left, and RadioCtl will use the scan banks (starting with bank 0) you have defined. You can still use the memory channels panel to look at the service lookups, if you wish, but keep in mind that it takes up a great deal of screen space to do this. Notice that CTCSS is available here as well; this is also new with version .92.

The search banks work somewhat similarly. Instead of pressing 'scan', press 'search' and RadioCtl will start searching with bank 0.

The 'database' and 'edit' functions that were briefly discussed above are duplicated here; though I might quibble a little with 'database', since what you are really working with is the data stored in RadioCtl's memories, as noted earlier.

Spectrum Display
There's even a resizable spectrum display. To access this function, click on 'View/Spectrum Display' and you will be taken to Figure 13. It's resizable, and each tic's representation changes as you resize the display. As was mentioned before, version .91 had a bug where this screen could not be closed down; version .92 corrects this fault.

Messages and Logs
If you're curious about what is happening behind the scenes, or want to see what RadioCtl is recording while scanning, click on 'View/Messages', and Figure 14 will pop up. It should be noted that the signal strengths the program is recording is whatever the radio is reporting as a value, and is not calibrated against some known source; but as you can see, date, time, mode and channel are all recorded, as well as any key presses and actions RadioCtl takes as a result.

If you want to keep a permanent record of these actions, go to the main panel and insure that the 'Log to File' option is checked. The log file is written in RadioCtl's directory, and if it's small enough, is Notepad compatible (so you may need to build an association in Explorer for it); if not, make sure you edit it as a standard text file (for example, in Word). An example of the log can be found in Figure 15. This too is new in version .92.

Terminex Time
No software is without bugs, and RadioCtl is no exception. Perhaps the most serious of these has to do with some interaction between the global switches on the main panel and the service lookups. If you decide to change the settings on some switches while in a session where lookups were being performed, the lookups suddenly quit and the last service text found begins to be propagated to other channels where it doesn't belong. The switches that seem to be the worst offenders include the 'Log to File' and 'Banks On' switches. In addition, if the 'Don't Update Memory' switch is not turned on, RadioCtl will attempt to write the invalid service data to all channels that had hits during that session.

There is a workaround, though it is very clumsy. If you decide to change the global switches, you must exit RadioCtl completely, come back in, and before scanning, set the switches to the way you want them, then resume scanning. It's klunky, but it works.

There is something that locks up the database where the service lookups take place. If you try to edit it, make some changes then save it, Windows reports that the database is in use by another application or is marked read-only. A quick check of the properties showed, at least in my case, that the database was not marked read-only, so RadioCtl must be locking it up. The only way around it is to save your changes under another name, then use the 'File/open another database' pulldown to retrieve it.

There is evidently a bug in the way RadioCtl maps out the names you assign to the scan and search banks. They are correctly stored in the .frq file, but the mapping tends to be erratic - sometimes the first entry shows up, but not the others. Sometimes they don't show up at all. Another mapping error appears to exist between the .frq file and the memory channels panel. This has to do with the tag used to indicate that a frequency is part of a trunked system.

If you use RadioCtl in disconnect mode to edit your .frq file, the box that is used for marking a trunked frequency shows up correctly- but it doesn't during scanning. The documentation is very extensive- and you get it in both Word and text format. Unfortunately, there's no help available on the main screen; it tries to open the text file using Notepad, and it's much too big.

It would be very helpful to have this file available on line, with hypertext and indexing so you can find what you want easily. In fact. Lydia wrote that in her original version (under OS/2, no less!) the help file got so big that it took more time to write it than to write the RC code! Additonally, there are a few errors in the documentation. If you have Microsoft Word, you can make these changes rather easily:

  • Table 1 - The maximum frequency range of the BC895 is 1.2 Ghz, not 955 MHz
  • Page 45 - The Tone field may well be used for future enhancement, but in reality this is where RadioCtl stores the Uniden code for a PL when used with the 895.
  • Table 3 - The tone function is model dependent on the Uniden radios. The 895 supports it, the 245 doesn't. Both models handle trunked frequencies.
  • Table 5 - The codes for the tones go beyond 15, as was discovered when 895 tone decoding was implemented
  • Uniden uses a very esoteric coding scheme to communicate with other programs when PL tones are being sent to/from a PC. For those people who want to try to write their own frequency file, this information should be included. Fortunately, this data can be found on the web.
  • Examining the .dbf file, I found a field called 'Locale'. It's not described anywhere in the documentation. Lydia wrote back that it's a field from her own personal database, and should be removed in the next release. Indeed, I didn't use that field in my database, and the lookups worked just fine.
Some people may find the number of screens opened during a session to be a bit daunting; too, it takes up a huge amount of screen space. I ran my tests at 800x600 on a 17-inch Samsung, and I ended up having to resize screens to make them fit. I suspect it would be a bit better at 1024x768.

Is It Worth Registering?
Most definitely. The program's flexible scan and search banks are a real help to someone doing research in an area s/he may not be familiar with. The service lookups and logging functions are, for the most part, very accurate and stable (with the exceptions noted above). Too, you are able to scan trunked frequencies as conventional (with service lookups); for the 895 users who have 400 Mhz trunked systems in their area, this can work well enough to just get an idea of activity on a system. The CTCSS tone functions work very well, and it's apparent a good deal of thought went into the panel design.

On the minus side, it's tricky to set up the first time; you really do need to read the manual and just experiment to try different settings to see what they do. The screens do take up quite a bit of space; you may need to increase your screen resolution and resize them to make them fit.

Lydia has been very responsive and patient throughout the year with my questions, problem reports and suggestions. With that, I think this software is just a hair better than Softrol's offering; and if she does tackle the trunking functions, this program will be even better. At just over USD $3 for each radio (up to 8) that you can define to RadioCtl, it's a bargain.

Mike Agner, KA3JJZ
ka3jjz@erols.com

Related link: RadioCtl web site


Copyright © 2002 by Richard J. Wells Return to Home Page