This article is copyrighted (c) 1997 by Bill Cheek. Permission to reprint for FREE access and FREE use by others is automatically granted so long as this entire article, including signature box at the end are retained intact and unaltered. A TUTORIAL ON THE CE-232 SCANNER/COMPUTER INTERFACE'S ENHANCED USER FEATURES & FACILITIES INTRODUCTION ============ The CE-232 Scanner/Computer Interface is a 2.5" x 3" electronic board that goes between an IBM-PC/compatible computer and a VHF-UHF scanning receiver for a host of powerful capabilities. The CE-232 is a -smart- RS-232 Interface controller and data acquisition system for some scanners and at least a drudgery-free automatic programmer and remote controller for all supported scanners. The CE-232 eliminates a lot of the drudgery and labor in scanning by its ability to "AutoProgram" up to 999 memory channels from a plain ASCII text file in a short time, error-free and exactly the way you want the scanner configured. The CE-232 also allows REMOTE control of the scanner from the computer keyboard; a strong +plus+ for handheld scanners and those with hard-to- operate keyboards like the PRO-43, PRO-2035 and PRO-2042! The CE-232 is a one-way controller and AutoProgrammer like described above for MANY scanners, including the PRO-2042, PRO-2035, PRO-2022, PRO-43, PRO-39, PRO-37, PRO-34, PRO-26, etc. The CE-232 is a TWO-WAY controller, AutoProgrammer and data acquisition system for the time-honored PRO-2004, PRO-2005, and PRO-2006 scanners which have unique circuitry that allows the CE-232 to do MUCH more than just AutoProgram and Remote Control, including AutoLog data on "hits", AUTO-REJECT undesired signals, AUTO-LOOKUP data about a certain frequency, and much more. The CE-232 also has a number of non-specific, user-definable features and facilities that can be used to greatly enhance the rewards of scanning, monitoring, and processing the data used in and acquired from radio activities. CE-232 USER FACILITIES OVERVIEW =============================== The CE-232 offers some very powerful resources in addition to the more or less "standard" features of AutoProgramming, AutoLogging, AutoReject, AutoLookUp, Scripting, and Remote Keyboard Control. These standard features are extremely powerful in their own right, but the CE-232 goes the extra mile with some non-standard features to keep scanner life interesting and right up there on the bleeding edge. These special features are "user" definable; that is, they don't do anything until the operator has a use for them and makes the necessary connections and motions to use them. These User Facilities include: User Switches: a CMOS 74HC4066 Quad Bilateral Switch chip on the CE-232 board with accessible "contacts" at Points AA-DD. Otherwise referred to as SW1, SW2, SW3, and SW4, the function of these solid-state switches is identical to that of four individual SPST switches. The CE-232 User can apply these switches however he wants, from turning the BEEP on and off, to control of tape recorders, DTMF and CTCSS decoders, to.... limitless possibilities. The CE-232 software can also control these switches via automation. Status Inputs: six ports on the CPU of the CE-232 are available to the User much like "idiot lights" in a car. These ports are seen as the INPUT STATUS on the main operating screen of the CE-232 program, and are useful for displaying binary information, 1's and 0's, just like six "lights" in a row, on or off. ________ | INPUT | | STATUS | | 100110 | |________| The information to be displayed here is strictly up to the User and does not have to be used. These ports are on the CE-232 board as Points EE-JJ. The User can apply 0v and +5v signals to these ports for display on screen of the results and other uses as described later. InBytes: eight more ports on the CPU of the CE-232 are available to the User in exactly the same fashion as the STATUS INPUTS described above with the sole difference that they are not displayed on the main operating screen. These eight INBYTE ports are on the CE-232 board as Points KK-RR. OutBytes: eight ports on the CPU of the CE-232 are available to the User as output signals or controls. Vaguely similar to the User Switches described above, the OUTBYTES are logic level ports with 0v (low) and +5v (high) available to control user-defined external devices or circuits that can work with CMOS logic. See ahead for a more detailed description. The OUTBYTES are available on the CE-232 board as Points SS-ZZ. Program Screens: If you run the CE-232 with its supplied control program, there are four viewing screens, selectable with the right/left cursor keys and/or the pulldown menu: +---------------------------------+ | *** Page Selection Menu *** | | Keypad display | | Status display | | script Msg display | | Lookup display | +---------------------------------+ These screens are self-evident and little else needs said about them in this section. CE-232 USER FACILITIES DETAILS ============================== USER SWITCHES _____________ A 74HC4066 CMOS Quad Bilateral Switch (IC-7)controlled by the CPU on the CE-232 board is dedicated to User definable applications. The four bilateral (either way) switches are SPST and completely independent from each other. Points AA-DD on the CE-232 board are the switch "contacts" for SW-1, SW2, SW3, and SW4, respectively. Status of these switches (open = 0, closed = 1) is indicated on the main screen. The User Switches are controllable by any of three means: 1. Keyboard control from the PC: CTRL+F1 through CTRL+F4 for SW1-SW4, respectively. AA BB CC DD o o o o | | | | This diagram is | | | | symbolic of the SW1 \ SW2 \ SW3 \ SW4 \ four User Switches. \ \ \ \ The "contacts" are | | | | non-polarized. The | | | | switches are SPST. o o o o AA BB CC DD 2. Pulldown Menu Control from the PC keyboard: +-----------------------+ | *** Misc Menu *** | | SW1 ..Ctrl+F1 | | SW2 ..Ctrl+F2 | | SW3 ..Ctrl+F3 | | SW4 ..Ctrl+F4 | | Quit | +-----------------------+ 3. Program (automated) control via a Script using either of two commands: OUTSW = NNNN where N = 0|1|X 0 = off 1 = on X = don't care/leave as is SWx = ON|OFF where (x) is a number, 1-4. Please see the Script Tutorial for details of these two Script commands that control the User Switches. The User Switches are true bilateral switches in the sense that the "contacts" of each switch are non-polarized, and can pass either DC or AC or both. Unlike electromechanical switches, CMOS switches are solid-state and have certain limitations. See CAVEAT next. CAVEAT: CMOS switches have their limitations: maximum current that can be passed through a single switch is about 25-mA, and the maximum applied voltage to either contact is roughly 10% more than the Vcc (power supply voltage), or in this case, 5.5 volts. The 4066 chip will definitely destruct if you apply signals that exceed these limits. This may seem a serious limitation, but it isn't. A User Switch can be used to bias the base of a transistor switch to turn it on and off. If the transistor can't handle the load, then it can control a relay to do the heavy duty switching. Following is a graphic example: +5v +--|<----> +8v ^ | LED | 5 volt | +-----------> | Relay C | | Coil C o Relay AA o CE-232 C - - - - \ Contacts \ User | o \ for heavy AA o \ Switch | | duty switching | SW1 / | | 10k |/ NPN +-----------> +-----------/\/\/\-------|\ Transistor | \ 2N2222A, etc | | Gnd The above example of how a CE-232 User Switch can be used for heavy duty switching needs is not designed for consumption as shown - it certainly needs a few refinements like a suppressor diode across the coil of the relay, and the 10-k resistor might need to be "tweaked" for a more desirable value. But you get the idea now...... SUMMARY AND CONCLUSION OF THE CE-232 USER SWITCHES ================================================== Four low power SPST CMOS switches are provided on the CE-232 board with contacts at Points AA-DD for the User to do with as he sees fit. The status or states of the User Switches are Autologgable. These switches can be manually controlled by the operator from the PC keyboard or by automated means from a Script. The User Switches are capable of directly controlling CMOS and other low power circuits including Extended Memory modifications, DTMF and CTCSS decoders; and a host of other possibilities. Where higher current is needed, like for tape recorders, etc, a simple transistor switch can be controlled by a User Switch for the same effect or result. The User Switches are for the User's purposes and are not limited to any particular role or function. STATUS INPUTS OR INPUT STATUS _____________________________ The INPUT STATUS registers are among the least understood and utilized features of the CE-232, probably because we have not touted or pushed them to any serious extent. For that, we apologize, because the Status Inputs are a very powerful feature, indeed! Say you're driving along the highway and your car's oil or temperature light comes on? If you see it in time, you might avert disaster. Well, the INPUT STATUS registers are a little like "idiot lights" in your car. They come ON and go OFF. You can make them come ON and OFF. All it takes for OFF is no signal at all; i.e. a logic low or 0-volts. ON requires something over +3 volts, and not over +5.5 volts. Any voltage in this range will make a Status Input bit go from 0 to 1. There are 6 Status Input bits for you to allocate at your discretion. The six Status Input bits are physically located on the CE-232 board as Points EE, FF, GG, HH, II, and JJ. And they are displayed on the main operating screen by the CE-232 program as six binary bits: ________ 100110 | INPUT | The location and ^^^^^^ | STATUS | significance of each |||||| | 100110 | bit can be determined JJ-+||||| |________| by the figure to the HH--+|||| right. The actual GG---+||| display is similar to FF----+|| that shown on the left. EE-----+| II------+ Here is an example use of a Status Input bit. See the left-most bit? That comes from the status at Point JJ on the CE-232 board. Now suppose we connected a Squelch signal to Point JJ, where the voltage was 0-volts when Squelch is set and about 5 volts when Squelch breaks? If we can do that, then whenever you see a "0" in the first bit, the scanner's Squelch is set (no signals coming in). When that bit shows as a "1", then a signal is coming in to break the Squelch. No problem if your Volume is turned up, but what if it's down? Then you can still tell when a signal comes in, see? It's easy. Let's take the PRO-2006 for example. If you solder a wire to Pin 1 of IC-3 (+5v Squelch signal) and the other end of the wire to Point JJ on the CE-232 board, presto! There's your Squelch Indicator! The INPUT STATUS bits are not related to each other. That is, what ever goes on with one bit does not affect the other five. Therefore, each of the six bits can serve different purposes, just like a row of "idiot lights". Or....you can combine two or more to a source of binary signals for a combinational display.....say an S-METER, for instance! Take my LED S-Meter modification featured in Vol-2 of my SCANNER MODIFICTION HANDBOOK, as an example. Up to ten LED's light up to offer eleven total levels of signal strength: 0 through 10. A slight adaptation of the LED S-Meter circuit makes a great source of signal for the CE-232's STATUS INPUT registers. Suppose we used the right four STATUS bits....(The left most one is for Squelch, remember.) Okay, like I said, my LED S-METER circuit can be slightly modified to produce its eleven indications in BINARY form like this: BINARY S-METER STATUS INPUT OUTPUTS DISPLAY 0 = 0 0 0 0 0 = 100000 1 = 0 0 0 1 1 = 100001 2 = 0 0 1 0 2 = 100010 3 = 0 0 1 1 3 = 100011 4 = 0 1 0 0 4 = 100100 5 = 0 1 0 1 5 = 100101 6 = 0 1 1 0 6 = 100110 7 = 0 1 1 1 7 = 100111 8 = 1 0 0 0 8 = 101000 9 = 1 0 0 1 9 = 101001 10 = 1 0 1 0 10 = 101010 So when the modified LED S-Meter mod's four binary outputs are connected to the STATUS INPUTS at Points GG, FF, EE, and II, then we instantly have a visible S-Meter in the CE-232's Display and also an S-Meter signal that can be logged with other important data by the AutoLogger! Remember, we tied the Squelch to the left bit (JJ) and haven't allocated anything to the one right of it (HH). It can still be used for something else. One of the hottest and most powerful aspects of the STATUS INPUTS is that they're AutoLoggable! If you have an S-Meter hooked up as described above, then you can choose Extended AutoLogging to acquire and store that data, as well. Signal strength is a very potent parameter of signal identification and analysis. In many areas, frequencies are shared among a variety of users, so strength is a strong tool for identifying who's who and what's where. Following are a few lines of a recent AutoLog file that shows S-meter readings: START DURATION BANK FREQ MODE STEP DATE TIME OF SIGNL S-METER , 2, 862.5250,nfm, , ,SrUp,12.5,970921,123646,000008, 0000,100011, 3 , 2, 856.0500,nfm, , ,SrUp,12.5,970921,124728,000004, 0000,101010,10 , 2, 856.6000,nfm, , ,SrUp,12.5,970921,124739,000010, 0000,101010,10 , 2, 856.8250,nfm, , ,SrUp,12.5,970921,124754,000005, 0000,101000, 8 , 2, 857.3875,nfm, , ,SrUp,12.5,970921,124804,000009, 0000,100101, 5 , 2, 857.4625,nfm, , ,SrUp,12.5,970921,124814,000004, 0000,100010, 2 , 2, 857.5250,nfm, , ,SrUp,12.5,970921,124819,000023, 0000,100001, 1 , 2, 857.7375,nfm, , ,SrUp,12.5,970921,124843,000007, 0000,101000, 8 , 2, 857.7750,nfm, , ,SrUp,12.5,970921,124851,000021, 0000,101000, 8 , 2, 857.7875,nfm, , ,SrUp,12.5,970921,124913,000008, 0000,100111, 7 I added the decimal equivalent of the binary S-meter readins to the far right column just to make it easier for you to see how signal strengths can be important in computerized monitoring. Suppose, for instance, that I was a DX hunter. Well, I could write a Script or adjust my database to disregard signal strengths greater than "5", thereby affording me the luxury of not having to sort through a bunch of strong local signals. SUMMARY AND CONCLUSION OF THE STATUS INPUT BITS =============================================== The Status Inputs are undefined, unallocated input ports for the User to do with as he pleases (within reason). These inputs require 0v and +5v logic with 0 being 0v +/-0.5v and 5v being +5v +/-0.5v, except that high indications (1) may display with as little as +3.5v. Anything more than about +5.5v is likely to destroy the CE-232's CPU so caution is advised. These ports will sink 1.0 to 2.5-mA so take that into accout when picking the logic signals to be displayed/logged. If you know Ohm's Law, you can use this information to calculate a dropping resistor so that other voltages can be plugged into the Status Inputs. For example, say you wanted to display an 8-volt status. Well, you'd need a resistor to drop 3 volts leaving 5 volts to the Status bit. Ohms Law says R = E/I, so we calculate: 3v/.0025 = 1200 ohms. But let's calculate for the lower current range, too: R = 3v/.001 = 3000 ohms. Therefore, start with a 4700-ohm resistor in series between the 8v source and the Status Input bit. Be sure to measure the voltage at the Status bit point to ensure less than +5.5v, and preferably a trifle under +5.0v. The INPUT STATUS bits will indicate whatever you want them to, and the results are AutoLoggable for great power in signal and results analysis. Now do you see the light? If so, read on, because it gets better. If not, read on anyway, because the next discussion might bring it all together for you. INBYTES _______ There are eight INBYTE registers that do exactly the same thing as described above for the INPUT STATUS bits. There is no difference between them other than the STATUS INPUTS are displayed on the main program screen while the INBYTES are not. THAT is the ONLY difference. Therefore, if the six STATUS INPUT bits aren't enough for your needs, relax....eight more exist as the INBYTE bits. The INBYTES are AutoLoggable, and may be viewed from the Status Screen of the CE-232 program. It appears something like this: ======================================================================= ======= -CE-232 SCANNER INTERFACE PROGRAM- ІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІ ІІІІІІІ ІІІІІІІІІ Search Monitor 1 2 3 4 5 6 7 8 9 10 ІІІІІІІІІ ІOUTPUTІІ ІІINPUT І ІSTATUSІІ 2 860.0250 Mhz ІІSTATUSІ І 0100ІІ nfm 12.5 khz ІІ101010І ІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІ ІІІІІІІ ІІІІІІІІІІІІІІІІІІІІІІІІІІІІІ Last Log Entry ІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІ ІІІІ,CH , FREQ ,MODE,DELAY,LK-OUT,OP MODE,STEP, DATE , TIME ,DURATIONІІІІІІ ІІІІІ 2І 857.7875ІІnfmІІІ ІІІІІ ІІІІІІSrUpІІ12.5І970921І123810ІІ000000ІІІІІІІ ІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІ ІІІІІІІ ІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІ,OUTSW, INSW , OUTBYTE, INBYTEІІІІІІІІІІІІІІ ІІІІІІІІІІІІExtended Log Data ІІІ 0100І100111І01100000І11011101ІІІІІІІІІІІІІІІ ІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІ ІІІІІІІ ІІІІІІІІІІІІ Current Ext Data ІІІ 0100І101010І01101000І11000101ІІІІІІІІІІІІІІІ ІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІ ІІІІІІІ І AutoLogger Path: D:\HBOPS\LOG\ ІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІ ІLookup File Name: D:\HBOPS\APF\SDG400.APF ІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІ ІReject File Name: birdies.rej ІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІ ІScript File Name: -none- ІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІ ІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІІ ІІІІІІІ ЬЬF1ЬЬЬЬЬF2ЬЬЬЬЬЬF3ЬЬЬЬЬЬF4ЬЬЬЬЬЬЬF5ЬЬЬЬЬЬЬF6ЬЬЬЬЬЬЬF7ЬЬЬЬЬЬF8ЬЬЬЬЬF9ЬЬ ЬЬЬF10Ь HELP Ю MISC Ю LOOKUP Ю APRGM Ю SCRIPT Ю CONFIG Ю REJECT Ю TOOL Ю ALOG Ю PAGE on on on ======================================================================= ======= So, with a little getting used to the several CE-232 viewing screens, you can view your Extended data, even if the AutoLogger isn't on at the time. It's really a no-brainer, even if the above screen doesn't make any sense at the moment. The INBYTES are available to the user as Points KK, LL, MM, NN, OO, PP, QQ, and RR on the CE-232 board. OUTBYTES ________ I said above somewhere that the OUTBYTES were similar to the User Switches. That isn't really "right" except that in some applications, you really can't tell the difference. But first and foremost, the User Switches really are switches. The OUTBYTES, however, are logic level outputs of 0v and +5v, controllable from the Script function. In the case of my Extended Memory mods of 1600, 3200, 6400 and 25600 channels that require Address Block switching using 0v and +5v, it doesn't matter whether you use a switch or logic signals for control. In my books, I called for toggle or DIP switches to control the memory Blocks by applying low and high logic as needed to switch the Blocks. The OUTBYTES can do that, too. Whereas the User Switches have several methods of control, one from the PC keyboard, the OUTBYTES can be controlled only from within a running Script, so see the Script Tutorial for exactly how to make them work for you. In a word, the OUTBYTE Script command is: OUTBYTE = nnnnnnnn ^^^^^^^^ |||||||| |||||||\---