This article is copyrighted (c) 1998 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 <F10>
                  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.  <F2 - Misc> 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.7875nfm  SrUp12.5970921123810000000

,OUTSW, INSW , OUTBYTE,  INBYTE
Extended Log Data  01001001110110000011011101

 Current Ext Data  01001010100110100011000101

 AutoLogger Path: D:\HBOPS\LOG\ 
Lookup File Name: D:\HBOPS\APF\SDG400.APF 
Reject File Name: birdies.rej       
Script File Name: -none-  

F1F2F3F4F5F6F7F8F9F10
 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
             ^^^^^^^^
             ||||||||
             |||||||\---<Bit 0
             ||||||\----<Bit 1
             |||||\-----<Bit 2
             ||||\------<Bit 3
             |||\-------<Bit 4
             ||\--------<Bit 5
             |\---------<Bit 6
             \----------<Bit 7

   where n = 0, 1, or X and
             0 means off or low
             1 means on or high
             X means don't change it (leaves the bit set unchanged)


   Example:  Say the current state of the OUTBYTE is:  00110011
             and you want to change it to 11001100, then the Script
             command should be:

             OUTBYTE = 11001100

             However, suppose you don't care about bits 0,3,and 7,
             then:

             OUTBYTE = 1X001X0X

The OUTBYTES can source a couple of milliamps, if pressed to do so,
but you should remember that these are not power supplies and should
not be tasked with powering anything.  The OUTBYTES are logic gates
controlled by the CE-232's CPU and you don't want to risk blowing it
up.  At $35 or so a pop, CPU's are expensive.  Use the OUTBYTES as
control signals all you want, but if you're smart, make them feed high
impedance loads, at least 5000 ohms or greater, preferably greater.
Under no circumstances, even for a moment, let the OUTBYTES feed
impedances lower than 4000 ohms. 10-k and up is preferred.

There is another slick application for the OUTBYTES since they can be
controlled by a Script and since Scripts can be used to make logical,
intelligent decisions.  MEMORY!  Sure, why not?  A Script can "read"
or test for OUTBYTE settings as well as change them, so therein is a
wonderful source of 8-bits of memory or 256 possibilities. A running
Script using IF - THEN - ELSE logic could temporarily store numbers or
codes into the OUTBYTES and then retrieve or change them later, or
make other decisions based on the contents. One example that comes to
mind is as a COUNTER for how many times a given frequency is active.
There are many possibilities, limited only by the imagination. I'll
leave it to your ingenuity to find other uses for the OUTBYTES.


CE-232 USER FACILITIES SUMMARY & CONCLUSION
===========================================

The four User Switches, eight OUTBYTES, eight INBYTES and six STATUS
INPUTS offer the CE-232 User an immense array of generic tools and
resources by which to automate, simplify, and expand on the arts and
sciences of radio monitoring.  In a sense, these "extras" offer the
User a variety of ways to attach external and unrelated devices to the
CE-232 and the scanner for unattended operation and control.  Anything
that outputs a digital code.....from DTMF and CTCSS decoders to pager
decoders to other esoteric devices.....can be controlled by or accept
input to the CE-232 User Facilities.

Four bits of the OUTBYTES can control the 16 Block 6400 channel
Extended Memory mods; six bits of the OUTBYTES can control the 64
Block 25600 channel Extended Memory mod.  Five bits of the OUTBYTE can
control the Communications Specialists' TS-32P CTCSS Decoder.  The
INBYTES and STATUS INPUTS can accept inputs from these devices and
much more.  A Script can be written to decode the binary data and make
decisions accordingly.

Possibilities are absolutely endless, limited only by the User's
imagination and experience in electronic hacking.

On the other hand, even the greenest neophyte can benefit from the
CE-232's standard features and never employ the enhanced User
Facilities.  They are simply there for use as desired....or not, and
in no way do they get in the way of the powerful basic/standard
functions.  The CE-232 enhanced User Facilities just add to the power
of scanning if and when the User has an "idea".........

------------------------------------------------        --
Bill Cheek - President/CEO/Publisher            \      /
COMMtronics Engineering/World Scanner Report     \    /
Box 262478 ~ San Diego ~ CA ~ 92196-2478          \  / 
Voice: 619-578-9247 (1:30-5:30pm, PST, weekdays    \/
  Fax: 619-578-9247 (any time)                     /\ 
E-mail:  bcheek@cts.com                           /  \
ftp://ftp.cts.com/pub/bcheek                     /    \
http://ourworld.compuserve.com/homepages/bcheek /      \
------------------------------------------------        --

Copyright (c) 1998 by Bill Cheek, December 6, 1998
=====================[End of Article]===============================

