RLC-4 4 Port Communications Controller Software Version 1.30 Copyright 1995 All Rights Reserved Link Communications, Inc. 1035 Cerise Rd Billings, MT 59101 (406) 245-5002 Voice (406) 245-4889 Fax http://www.link-comm.com Introduction: Congratulations, you have purchased a very powerful tool for your group's repeater. The RLC-4 may seem complicated and intimidating at first, but don't worry. Setting it up and programming it are easy and straightforward, once you have read the manual. Please take the time to read it before you try to start programming. This will save you a lot of confusion and frustration, as it should answer most of your questions. The RLC-4 communications controller supports 4 radio ports 4 analog voltage inputs, 3 logical (dry contact) inputs, and 4 MOSFET output drivers. The radio ports can be configured to require one of several combinations of COR and PL inputs for access. The RLC-4 has a DTMF decoder per radio port, thereby supporting DTMF control from all ports of the controller. CW messages prompts the users in the programming of the controller's variables, provides ID's and alarms based on the inputs, etc. This manual consists of three main sections: setup and interfacing, programming and commands, and the appendices with commonly referenced tables and charts. A glossary has also been included at the end to explain some of the terms and abbreviations that are used throughout the manual. We have attempted to provide you with information that is easy to understand, but some questions are inevitable. If you have carefully read the manual and still have questions, please contact us. Link Communications, Inc 1035 Cerise Rd Billings, MT 59101 (406) 245-5002 (406) 245-4889 fax info@link-comm.com Table of Contents Limited Warranty . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 User Survey. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Setup and Interfacing. . . . . . . . . . . . . . . . . . . . . . . . . . .3 Serial Port Interfacing. . . . . . . . . . . . . . . . . . . . . . . . . .7 Inputs, Outputs and Analog . . . . . . . . . . . . . . . . . . . . . . . .8 Getting Started. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 Reset and Power Up. . . . . . . . . . . . . . . . . . . . . . . . . 10 The EOF key . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 When and Where do I use the EOF key?. . . . . . . . . . . 11 Autoexecution . . . . . . . . . . . . . . . . . . . . . . 12 '*' up Autopatch. . . . . . . . . . . . . . . . . . . . . 12 How do I change the EOF key?. . . . . . . . . . . . . . . 12 How to program your Beeps and Messages. . . . . . . . . . . . . . . 13 How Command Names and Command Numbers are Used . . . . . . . . . . 15 How to Configure a Port as a Repeater . . . . . . . . . . . . . . . 16 System Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 The Autopatch . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Command Reference Section. . . . . . . . . . . . . . . . . . . . . . . . 19 C000 Connect one Port to another Port. . . . . . . . . . . . . 20 C001 Monitor one Port from another Port. . . . . . . . . . . . 21 C002 Disconnect one Port from another Port . . . . . . . . . . 22 C003,C004 Recall a Port's Connections . . . . . . . . . . . . . . . 23 C005 Set Up a Port's Access Mode . . . . . . . . . . . . . . . 24 C006 Recall a Port's Access. . . . . . . . . . . . . . . . . . 25 C007, C008 Configure and Check DTMF Mute from a Selected Port . 26 C009 Recall Controller's Entire Crosspoint . . . . . . . . . . 27 C010 Re-Program Command Names. . . . . . . . . . . . . . . . . 28 C011, C012 Recall Information about a Command Name. . . . . . . 29 C013 Set COR and PL Active Levels. . . . . . . . . . . . . . . 30 C014..C019 Not Currently Used . . . . . . . . . . . . . . . . . 31 C020 Program a Selected Timer. . . . . . . . . . . . . . . . . 32 C021 Recall a Timer Value. . . . . . . . . . . . . . . . . . . 37 C022 Restart a Selected Timer. . . . . . . . . . . . . . . . . 38 C023 Reset a Selected Timer. . . . . . . . . . . . . . . . . . 39 C024 Not Currently Used. . . . . . . . . . . . . . . . . . . . 40 C025 Send DVR Message. . . . . . . . . . . . . . . . . . . . . 41 C027 Erase DVR Message . . . . . . . . . . . . . . . . . . . . 43 C028-C029 Not Currently Used . . . . . . . . . . . . . . . . . . . 45 C030 Send a CW Message . . . . . . . . . . . . . . . . . . . . 45 C031 Set CW Speed for a Selected Port. . . . . . . . . . . . . 46 C032 Set CW Tone Frequency for a Selected Port . . . . . . . . 47 C033 Send a DTMF Sequence. . . . . . . . . . . . . . . . . . . 48 C034 Set Up DTMF Regenerate Parameters . . . . . . . . . . . . 49 C035 Send a Serial Message out the RLC-4 Port. . . . . . . . . 50 C036 Set Up RS-232 Serial Baud Rate. . . . . . . . . . . . . . 51 C037 Remotely Reset the Controller . . . . . . . . . . . . . . 52 C038-C039 Not Currently Used. . . . . . . . . . . . . . . . . . . . 53 C040 Send a One Frequency Tone . . . . . . . . . . . . . . . . 54 Note about Courtesy Beeps . . . . . . . . . . . . . . . . 55 C042 Set Audio Routing Variable for Commands Inside a Macro . 57 C043 Kill All Responses Following This Command . . . . . . . . 58 C044 Recall the Ports in the Current Audio Routing Variable. . 59 C045 Set Up Default Audio Routing Variables. . . . . . . . . . 60 C046 Recall the Audio Routing Variable Defaults. . . . . . . . 61 C047 Start Tone Generator. . . . . . . . . . . . . . . . . . . 62 C048 Program Preaccess Tone Frequency. . . . . . . . . . . . . 63 C050 Program a Single Command Macro Sequence . . . . . . . . . 65 C051 Recall Macro Contents . . . . . . . . . . . . . . . . . . 66 C052 Delete Macro. . . . . . . . . . . . . . . . . . . . . . . 67 C053 Append a Command to a Macro . . . . . . . . . . . . . . . 68 C054 Copy a Macro. . . . . . . . . . . . . . . . . . . . . . . 69 C055 Delete a Command in a Macro . . . . . . . . . . . . . . . 70 C056 Insert a Command in a Macro . . . . . . . . . . . . . . . 71 C057 Event Macro Assign. . . . . . . . . . . . . . . . . . . . 72 C058 Event Macro Recall. . . . . . . . . . . . . . . . . . . . 75 C059 Event Macro Enable/Disable. . . . . . . . . . . . . . . . 76 C060 Set Serial Port's Case Sensitivity. . . . . . . . . . . . 77 C061 Disconnect all Ports from a Radio Port. . . . . . . . . . 78 C062 Change the Beginning of Command Names . . . . . . . . . . 79 C063..C069 Not Currently Used . . . . . . . . . . . . . . . . . 81 Preaccess Commands . . . . . . . . . . . . . . . . . . . . . . . . . . 82 What preaccess is . . . . . . . . . . . . . . . . . . . . . . . . . 82 What you need to know . . . . . . . . . . . . . . . . . . . . . . . 82 C070 Configure a Repeater for Preaccess. . . . . . . . . . . . 83 Setting up Repeater Preaccess Manually: . . . . . . . . . 84 Turning Off Preaccess for a Port: . . . . . . . . . . . . 84 C071 Configure a Link for Preaccess. . . . . . . . . . . . . . 85 Setting up Link Preaccess Manually: . . . . . . . . . . . 86 C072 Turn Off Preaccess for a Port . . . . . . . . . . . . . . 87 C073 Recall Ports with Preaccess Requirement . . . . . . . . . 88 C074 Allow Access To a Port that Requires Preaccess. . . . . . 89 C075 Set Stop Access Conditions. . . . . . . . . . . . . . . . 90 C076 Recall Stop Access Conditions . . . . . . . . . . . . . . 91 C077 Isolate a Port from the Rest of the System. . . . . . . . 92 C078 Set the EOF digit for a port. . . . . . . . . . . . . . . 93 C079 Recall the EOF Digit for a Port . . . . . . . . . . . . . 94 C080 Enable/Disable Automatic Execution Entry for a Port . . . 95 C081 Recall Automatic Force-Execution for a Port . . . . . . . 96 C082 Select EOF-Entered Command. . . . . . . . . . . . . . . . 97 C083 Do Nothing. . . . . . . . . . . . . . . . . . . . . . . . 98 C084 Not Currently Used. . . . . . . . . . . . . . . . . . . . 99 ID Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100 How the IDs Work. . . . . . . . . . . . . . . . . . . . . . . . . .100 C085 Enable/Disable IDing a Port . . . . . . . . . . . . . . .101 C086 Recall Which Ports have IDs Enabled . . . . . . . . . . .102 C087..C089 Not Currently Used. . . . . . . . . . . . . . . . .103 The I/O Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . .104 About the I/O System. . . . . . . . . . . . . . . . . . . . . . . .104 Logical Input Lines . . . . . . . . . . . . . . . . . . .104 Logical Output Lines. . . . . . . . . . . . . . . . . . .105 Analog Input Lines. . . . . . . . . . . . . . . . . . . .105 C090 Read Whether Input Line is High or Low. . . . . . . . . .107 C091 Execute Input Line High or Low Macro. . . . . . . . . . .108 C092 Enable/Disable Input Line Alarm . . . . . . . . . . . . .109 C093 Turn Output Line On . . . . . . . . . . . . . . . . . . .110 C094 Turn Output Line Off. . . . . . . . . . . . . . . . . . .111 C095 Recall Whether Output Line is On or Off . . . . . . . . .112 C100 Read Analog Input Line. . . . . . . . . . . . . . . . . .113 C101 Set Resolution For Analog Input . . . . . . . . . . . . .114 C102 Set Conversion Ratio For Analog Input . . . . . . . . . .116 C103 Calibrate an Analog Input . . . . . . . . . . . . . . . .119 C104 Set an Analog Alarm . . . . . . . . . . . . . . . . . . .120 C105 Set Analog Alarm Hysteresis . . . . . . . . . . . . . . .121 C106 Enable/Disable an Analog Alarm. . . . . . . . . . . . . .123 C107 Recall Analog Lines in Alarm. . . . . . . . . . . . . . .124 C108 Recall Analog Line Configuration. . . . . . . . . . . . .125 The Autopatch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126 Configuring the Autopatch . . . . . . . . . . . . . . . . . . . . .126 Autopatch Up Commands . . . . . . . . . . . . . . . . . . . . . . .126 Hanging Up. . . . . . . . . . . . . . . . . . . . . . . . . . . . .126 Connected Ports . . . . . . . . . . . . . . . . . . . . . . . . . .127 Predial Digits. . . . . . . . . . . . . . . . . . . . . . . . . . .127 The Autodialer. . . . . . . . . . . . . . . . . . . . . . . . . . .127 Limiting Call Length. . . . . . . . . . . . . . . . . . . . . . . .127 How the Dialing Tables Work:. . . . . . . . . . . . . . . . . . . .128 The Allowed-Prefixes Table. . . . . . . . . . . . . . . .128 Nuisance Number Disallow Table: . . . . . . . . . . . . .128 C109 Forward Dial with no Long Distance Checking . . . . . . .129 C110 Configure the Autopatch . . . . . . . . . . . . . . . . .130 C111 Manual Off Hook . . . . . . . . . . . . . . . . . . . . .131 C112 Normal Forward Dial . . . . . . . . . . . . . . . . . . .132 C113 Forward Dial with no Long Distance Checking . . . . . . .133 C114 Hang up the Autopatch . . . . . . . . . . . . . . . . . .134 C115 Set the Predial Digits and Timing . . . . . . . . . . . .135 C116 Recall the Predial Digits and Timing. . . . . . . . . . .136 C117 Set and Clear Allowed Prefix Slot . . . . . . . . . . . .137 C118 Recall Allowed Prefix Slot. . . . . . . . . . . . . . . .138 C119 Set Nuisance Number Slot. . . . . . . . . . . . . . . . .139 C120 Recall Nuisance Number Slot . . . . . . . . . . . . . . .140 C121, C122 Set and Recall Half-Duplex Mode for a Selected Port.141 C123 Reverse Autopatch Configuration . . . . . . . . . . . . .142 C124 Reverse Autopatch Logon . . . . . . . . . . . . . . . . .143 C125 Reverse Autopatch Over the Air Answer . . . . . . . . . .144 C126 Reverse Autopatch Ring and Frequency Program. . . . . . .145 Blocking Execution from Certain Ports. . . . . . . . . . . . . . . . . .146 C127 Block Command Execution From Port . . . . . . . . . . . .147 C128 Allow Command Execution From Port . . . . . . . . . . . .148 C129 Recall Blocked Ports. . . . . . . . . . . . . . . . . . .149 Doug Hall's RBI-1 Support. . . . . . . . . . . . . . . . . . . . . . . .150 What is the RBI-1 Interface . . . . . . . . . . . . . . . . . . . .150 Interfacing and Setup . . . . . . . . . . . . . . . . . . . . . . .150 Using the RBI-1 . . . . . . . . . . . . . . . . . . . . . . . . . .150 C130 Set Band Unit , Power Level and Offset Defaults for RBI-1155 C131 Set Frequency (and optionally offset) for RBI-1 . . . . .156 C132 Set PL Frequency for RBI-1, Encode and Decode Settings. .157 C133 Frequency and Offset Recall for the RBI-1 . . . . . . . .158 C134..C147 Error Messages . . . . . . . . . . . . . . . . . . .159 C148,C149 Not Currently Used. . . . . . . . . . . . . . . . . . . .160 Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .161 What a macro is . . . . . . . . . . . . . . . . . . . . . . . . . .161 C150..C249 Execute a User Macro . . . . . . . . . . . . . . . .162 Appendix A: The Audio Routing Variable System . . . . . . . . . . . . .163 Explanation of the System . . . . . . . . . . . . . . . . . . . . .163 Suppressing Command Responses in Macros:. . . . . . . . . . . . . .164 Appendix B: Using the LM335 Temperature Sensor. . . . . . . . . . . . .165 Appendix C: CW Code Table . . . . . . . . . . . . . . . . . . . . . . .166 Appendix D: Automatic Macro Explanations. . . . . . . . . . . . . . . .167 Appendix E: Reset and Initialization. . . . . . . . . . . . . . . . . .168 Appendix F: Programming with the Serial Port. . . . . . . . . . . . . .169 Appendix G: ASCII Chart . . . . . . . . . . . . . . . . . . . . . . . .172 Software Problem and Request Form. . . . . . . . . . . . . . . . . . . .173Limited Warranty COVERAGE: Link Communications Inc. warrants that its products will be free from defects in materials and workmanship for a period of one year from the date of shipment. During this time, Link Communications Inc. will cover parts, labor and return shipping. If failure is caused by instances other than manufacturing defects, Link Communications Inc. will repair the product and bill the customer for parts and labor. Contact Link Communications Inc. for more information. What Link Communications Inc. will not cover: 1. Too much voltage to the controller. The RLC-4 operates at +11V to +15V, negative ground. 2. Damage to the controller by lightning, accident, or incorrect power hook-up. 3. Incorrect unit installation. 4. Damage caused by shipment (damage claims are handled by the carrier). 6. Repairs by other than Link Communications Inc. THIS WARRANTY HOLDS ONLY TO THE ORIGINAL PURCHASER HOW TO GET SERVICE Please contact Link Communications Inc. for servicing information and authorization. SOFTWARE Link Communications Inc. holds the copyright on the RLC-3's software and hardware. Changes to the software, copying of the software is prohibited without the written consent of Link Communications, Inc. SOFTWARE UPDATES Link Communications Inc. will provide FREE Software updates for 6 months from the date of purchase. The owner must return replaced software chips to Link Communications Inc. in order to obtain further software updates. Software updates costs will be determined at the release of the update. Manual inserts and shipping are additional. User Survey (Optional) A knowledge of the user base will allow us to better serve you in the future by helping us develop more specialized software and hardware. Please take a few minutes and fill out this questionnaire. RLC-4 Serial Number ................. ________________ RLC-4 Purchase Date ................. ________________ Application: (Circle All That Apply) Ownership: - 1 - Privately Owned Repeater - 2 - Club Owned Repeater - 3 - Group Owned Repeater - 4 - Commercial Business Repeater - 5 - Other _______________________ Installation: - 1 - Wide Coverage Repeater with Chain Links - Port to Port Linking - 2 - Full Duplex Links - 3 - Half Duplex Links - 4 - VHF Repeater: Power _____ Make ____________ - 5 - UHF Repeater: Power _____ Make ____________ - 6 - Link Ports Used as Repeater Ports: Yes No - 7 - Serial Data Used to Control Repeater: Yes No - 8 - Other Amateur Repeaters At the Site: Yes No - 9 - Other Link Communication Inc. Products Used: Yes No Misc: - 1 - User Base: Technical Rag Chew Personal - 2 - Autopatch used on the System: Yes No - 3 - Frequency Adjustable Remotes: Yes No - 4 - Linking to Other Repeaters: Yes No - 5 - Linking Closed Access: Yes No - 6 - PL Required on Main Repeater: Yes No Varies - 7 - PL Required on Linking System: Yes No Varies Please Return to: Link Communications Inc. 1035 Cerise Rd Billings, MT 59101 Comments: Setup and Interfacing This section of the manual contains everything you should need to know to get your repeater controller up and running. The numbered steps cover the basics, through connecting your radios and adjusting the RLC-4. After that there is information concerning the other input and output features of the RLC-4: the serial interface, the logical output and input lines, and the analog input lines. Step #1: Check the Packing List Your package should contain the following items: (1) RLC-4 Repeater Controller (1) 2.50mm Power Connector (4) DB-9 Male Solder Connector for each radio port (1) DB-9 Male Solder Connector for the serial port (1) RLC-4 Manual If any of these parts are missing, contact Link Communications Inc. Step #2: Connect Power - The RLC-4 was designed to run off of 12V DC. 11V to 14V should work fine. - Locate the 2.50mm power connector included in your parts bag. - Unscrew the plastic outer shield and thread your power and ground wires through it (20 gauge suggested). - Solder the +12V wire to the center pin of the 2.50mm connector. - Solder the ground wire to the shield of the 2.50mm power connector. - Screw on the plastic outer shield. Step #3: Connecting Your Receivers to the RLC-4 The radios connect to the RLC-4 using a male DB-9 connector (included). The pin-outs are listed below. Radio Ports 1 - Ground 2 - PL Input (Active High/Low) 3 - PTT Out (Active Low) 4 - Audio Out (to the transmitter) 600 5 - Audio In (from the receiver) 10K 6 - Ground 7 - COR Input (Active High/Low) 8 - Ground 9 - Ground Connecting the Receiver COR The first step in connecting your receiver is to locate an active receiver signal. If the voltage goes from a voltage above 5 volts to ground when a signal is present, the signal is active low. The RLC-4 accepts active low COR signals by default, but this can be changed for one or both of the radio ports with command C013. The signal must be able to sink 4mA to ground. The input impedance of the RLC-4 COR input is 10K and it is diode clamped with internal pull-up resistors. This allows it to handle input voltages of up to 40 volts without damage to the controller. The COR input must not go below 0V (ground); this would damage the controller's COR/PL input. Using one of the supplied DB-9 Male connectors, connect your COR signal to pin #7. Connecting a PL Input (optional) If you wish to use a PL (CTCSS) decoder on any of the receivers, its detect line can be connected to pin #2 of the appropriate connector in the same fashion as the COR input. You will probably also want to use the audio filter on the PL decoder board to filter the PL signal out of the receiver's audio before it goes to the RLC-4. Connecting the Receiver Audio - 2 types of audio can be used on the RLC-4 controller: Type 1: De-emphasized audio (Speaker Audio) Type 2: Discriminator audio (Raw Unsquelched Audio) - If type 1 audio is used, remove the audio jumper for the radio port. This removes the de-emphasis filter from the circuit. If you are using discriminator audio, connect the jumper across the 2 pins. The filter will not allow PL to pass through the controller. Contact Link Communications Inc. if you need to pass PL through the controller. - The audio input is connected to pin #5 of the male DB-9 connector - The audio adjustments will be described in Step #4. Jumper J7 - Port 1 Audio Filter De-emphasized jumper Jumper J8 - Port 2 Audio Filter De-emphasized jumper Jumper J9 - Port 3 Audio Filter De-emphasized jumper Jumper J10 - Port 4 Audio Filter De-emphasized jumper Step #4: Connecting Your Transmitters to the RLC-4 Transmitter PTT - The RLC-4 produces an active low PTT signal (ground when PTT is active). This output is buffered with an open collector type driver capable of sinking 150mA. There is a built in 30V zener clamping diode to protect the PTT MOSFET from the high voltage spikes that can be caused by interfacing to a PTT relay coil. Your transmitter PTT input should be connected to pin #3 of the DB-9 connector. Transmitter Audio - The RLC-4 provides a 10K output impedance to your transmitter audio input. - The transmitter audio is connected to pin #4 of the DB-9 connector. - If it is not already, the DB-9 plug can now be plugged into the appropriate jack on the link card. The radio port is the lower DB-9 on the link card (with the DB-9s toward you). Step #5: Adjusting the RLC-4 Controller - Locate connector J1 on the RLC-4's main board. (It is the 10 pin female connector located near the tone level adjustments). This test bus will provide the signals that we need to adjust the audio inputs on the RLC-4. In order to maintain audio deviation during channel switching, all of the receiver inputs must be set to the same level. These signals can be measured with an oscilloscope or an AC voltmeter. If you are using an AC voltmeter, remember that it reads AC signals as RMS values. In order to obtain an audio signal on J1, a valid COR or PL must be received. Once a valid access signal is received, the RLC-4 will un-squelch the audio and be present on J1. Receiver Port Adjustment: - Connect the receiver port that is receiving a signal to all connected transmitter ports. Transmitter Port Adjustment: - Present a stable Tone or DTMF tone to the receiver that you are adjusting. - Adjust the 'RX' pot so that the signal on J1 is 1 volt peak-to-peak for the active receiver - Adjust the 'TX' pots on all other connected transmitters to obtain the desired deviation. - Your transmitters should not need any additional adjustments once 1 receiver is set up. Follow the above adjustment steps for all other connected receivers Tone Generators Adjustment: - Generate a tone test sequence using RLC-4 - Adjust "TN" pot on the RLC-4 port card to your requested deviation - 1.5Khz deviation is typical Serial Port Interfacing The RLC-4 has a full duplex serial terminal port for interfacing to any serial device, i.e. packet, modems and serial terminals. This allows you to monitor, control, and program all facets of the controller. RS-232 Signals and Interfacing The RLC-4 input and output is the RS-232 standard, 12V. The pinout is standard for a 9- pin serial connector. To connect to a terminal or computer's 9-pin serial connector, use a straight-through cable (not a null modem) with at least pins 2, 3, and 5 connected. To connect to a computer with a 25-pin serial connector, you can use a standard 9 to 25-pin converter or wire your own cable. To wire your own, connect the RLC-4's pins 2, 3, and 5 to the computer's 3, 2, and 7 respectively. Communications Parameters After connecting your terminal, computer, or modem (either packet or telephone) to the RLC-4, you need to make sure that the communications parameters match on both ends. The default settings for the RLC-4 are 9600 N81: Baud (Default) 9600 Start Bits 1 Stop Bits 1 Parity None Word Length 8 You can change the baud rate the RLC-4. Information about programming using the serial port can be found in Appendix F. Inputs, Outputs and Analo g The RLC-4 supports 3 Input lines, 4 Output lines and 4 Analog input lines. These lines are provided for alarming, monitoring and control of your remote site. Input Lines: There are 3 contact closure inputs on the RLC-4. Using the Input line alarming (See Command C057,8,9). These inputs are pulled to +5v and are zener clamped to prevent damage to the controller by over-voltage input. Connector P5 (DB-25 I/O Connector) Pin 9 - Input #1 Pin 8 - Input #2 Pin 7 - Input #3 Output Lines: There are 4 open drain output lines capable of sinking (providing a ground) to external circuits. If you are using a Doug Hall RBI-1 Kenwood interface the upper 3 output lines are used for communications. These lines can not sink more than 150mA without damage to the RLC-4 controller. Connector P5 (DB-25 I/O Connector) Pin 13 - Output #1 Pin 12 - Output #2 Shared with Doug Hall RBI-1 (Reset) Pin 11 - Output #3 Shared with Doug Hall RBI-1 (Data) Pin 10 - Output #4 Shared with Doug Hall RBI-1 (Clock/Strobe) Analog Inputs: There are 4 analog input lines. These lines can convert any DC analog input voltage into a real world value. Common uses include reading temperature, voltage and current levels. Voltage inputs can vary from 0.00V - 25.00V. External temperature sensor power is also provided at a flick of a switch. Connector P5 (DB-25 I/O Connector) Pin 5 - Analog #1 Temperature Power Switch #1 : Voltage Divider Switch # 5 Pin 4 - Analog #2 Temperature Power Switch #2 : Voltage Divider Switch # 6 Pin 3 - Analog #3 Temperature Power Switch #3 : Voltage Divider Switch # 7 Pin 2 - Analog #4 Temperature Power Switch #4 : Voltage Divider Switch # 8 Ground Reference Pins: All pins not mentioned provide ground reference for connection to your external sensors. These pins are: P5 pins 1,6,14,15,16,17,18,19,20,21,22,23,24,25 Getting Started This section contains general information that you will need to know to use the RLC-4. It does not contain very much information that you can't find elsewhere, but it is provided to help you get on the air without having to read the whole manual. It explains some basic things about how the controller works, how to enter commands, and provides some examples to get you started. If at any point you are confused, read the more lengthy descriptions of what each command does in the Command Reference section. Reset and Power Up When the RLC-4 resets (this occurs when the reset button is pressed and released, you power up the controller, or command C037 is executed), the reset macro is executed. This macro is user programmable and defaults to sending 'Reset ?' in CW. This message is the first message that you will hear. The message sent will only go out port 1 of the RLC-4. When this message is sent you know that one of the following events have occurred: 1) Power has just come back on 2) The user has pressed the "RESET" button 3) The Reset command has been executed by the controller or the user 4) The controller's watchdog timer has expired. This is an internal protection timer that resets the controller if it quits operating normally. Example: I want to reset the external Doug Hall RBI-1 and send a reset message on reset 1) Locate Command C057 slot 00 for the reset macro assign DTMF digits C057*00 ### (### is the command to be executed upon a reset) 2) For this example we will use macro 150 Enter C057*00150* Slot 00 with macro 150 3) Build macro 150 using the macro build Command C050 - Command C042*1* route response to port 1 only - Command C030*27 14 28 14 29 40 38* Sends the CW message Reset? - Command C043* kill all messages following this command - Command C093*2* turns on the Reset Doug Hall Line - Command C094*2* turns off the Reset Doug Hall Line Enter: - C052*150* deletes macro 150 - C053*150 042 1* command 1 - C053*150 030 27 14 28 14 29 40 38* command 2 - C053*150 043* command 3 - C053*150 093 2* command 4 - C053*150 094 2* command 5 4) Tell the RLC-4 to call the user macro on reset - C057*00 150* 5) On reset the controller will reset the RBI-1 and send the CW reset message The EOF key The EOF key is a name used to describe the digit that forces a command to be executed. This key defaults to the '*' key but can be changed to any digit. It is recommended that the assigned key be a digit not used by any other command names (*, A, B, and D work fine, # is usable, but not ideal). This is important so that commands are not executed when they are not intended to be executed. Other controllers may assign this digit as the 'D' key. When and Where do I use the EOF key? After you enter a command name, there are two ways you can cause it to execute. The first is to press the EOF key ('*'). The second is to unkey your transmitter. There are advantages and disadvantages to each method. For example, C009 can be executed two ways: Method #1: C009* Method #2: C009 Method #1 executes by forcing command execution with the '*'. When this is done the response begins immediately, and does not wait for the receiver access to drop. The advantage of this type of execution is the command executes immediately, allowing you to enter multiple commands without unkeying between them. The disadvantage is that you will probably miss part of the CW response. Method #2 executes when the receiver goes inactive. The advantage of this type of execution is the response is not sent until after the receiver goes inactive, therefore allowing you to hear the complete message. The disadvantage is that the command will wait on receiver activity before executing a command. This is a problem if your receiver's squelch is locked open and you need to shut down or enable PL on your system. With Method #2 the command would never execute because the receiver's access never went inactive. Both methods are always available, so you can use whichever one you choose at the time. If you want to enter a bunch of commands without unkeying and you don't care about the responses, use Method #1. If you want to hear the responses, use Method #2. Method #1 is always used in the manual. Another time that you may need to use the EOF key is if the command you are using requires data following the command name. An example of this type of command is C000, which connects two ports together. After you enter the command name, you must press the EOF key, then the two port numbers you wish to be connected together, then use either of the methods described above to make the command execute: C000*12 . In other words, the EOF key indicates the end of the command name and the beginning of the data for commands that require data after the command name. Autoexecution There is a way to make the controller enter the EOF key for you as soon as it recognizes that you have entered a valid command name. This is called "autoexecution". With autoexecution is turned on, the above example would become C000 12 , so all you have to enter is C00012*. If the command does not require data after the command name, it will be executed immediately when the controller automatically enters the EOF, just like Method #1 above. If you key and enter C009C009, command C009 will be executed twice, even if you don't unkey. See command C080 for more information. '*' up Autopatch Many people use '*' as their autopatch up code. Since the RLC-4 uses '*' as the default EOF digit, it can not be used as a command name without changing the EOF digit to something else. To avoid this problem, command C082 has been added to let you use the '*' as both the EOF key and the autopatch up code. How do I change the EOF key? You can change the EOF key using Command C080. All ports including the serial port default to using '*' as the EOF digit. Refer to the command for the correct format in changing and recalling the digits format. How to program your Beeps and Messages Courtesy Beeps: The RLC-4 supports separate courtesy beeps on each port. Courtesy beeps on the controller are referred to as "Courtesy Beep Slots". The word slot indicates that any type of beep, CW message, or command can be stored in these slots. In order to make the controller "beep" at you for a courtesy beep simply program the courtesy beep macro to generate a tone frequency for a given time. Multiple beeps are simply several of the tone generate commands in a sequence. If you want a CW message as a beep then in the courtesy beep slot generate a CW message. This flexibility allows anything in the controller to be generated when it is time to send a courtesy beep. For more information on courtesy beeps refer to Command C040 and the examples presented in that section. CW Messages: The RLC-4 has separate CW generators for each port. All features including speed, frequency and message types can be generated at the same time, on separate ports. The allows the RLC-4 to be ID'ing separate repeaters at the same time, with different ID messages, frequencies and speeds. Refer to Command C030 for the CW system. Example: I want to send the link on message out ports 1,2,3 then send a message out port 1 with a different CW frequency. 1) Audio Routing variable for the macro is C042 - C042* 1 2 3* Routes message to ports 1,2,3 2) Command C030 is the CW message send - C030*20 15 07 15 32 40 24 23* "K F 7 F W ON" 3) Command C043 kills all responses following this command - C043* Kill responses 4) Command C000 connects ports - C000*1 2* Connect port 1 to port 2 5) Command C000 connects ports - C000*1 3* Connect port 1 to port 3 6) Have Macro 170 call Macro 171 - C171* Call a Macro #171 7) Command C043 Kills all responses following this command - C043* Kill responses 8) Command C032 sets the CW frequency - C032*1 1500* Set port 1 CW frequency to 1500 Hz. 9) Audio Routing variable for the macro is C042 - C042* 1* Routes message to port 1 10) Command C030 is the CW message send - C030*17 18* "H I" 11) Command C043 Kills all responses following this command - C043* Kill responses 12) Command C032 sets the CW frequency - C032*1 0880* Change back port 1 CW frequency to 880 Hz. We will use 2 macros for this example, C170 and C171, because there is not enough room in one macro to hold all of the commands. Command C053 programs the macros Macro programming keystrokes: - C053*170 042 123* Command #1 - C053*170 030 20 15 07 15 32 40 24 23* Command #2 - C053*170 043* Command #3 - C053*170 000 12* Command #4 - C053*170 000 13* Command #5 - C053*170 171 Command #6 - C053*171 043* Command #7 - C053*171 032 1 1500* Command #8 - C053*171 042 1* Command #9 - C053*171 030 17 18* Command #10 - C053*171 043* Command #11 - C053*171 032 1 0880* Command #12 Now rename Command C170 to your Link ON command name. Refer to C010. When the macro C170 is executed you will hear: - KF7FW ON out Port 1,2,3 then - HI out Port 1 How Command Names and Command Numbers are Used The RLC-4 controller has 249 commands. These commands are executed by either DTMF over the air or RS-232 serial from the serial port. When the commands are executed they do a certain task. When you manipulate commands the controller requests a command number of only 3 digits. Command Names: The name that the user has assigned to a command is referred to as the "Command Name" This name can vary in length from 1 to 6 digits. The name can be composed of both DTMF data and ASCII data from the serial port. This flexibility allows the user determine access to commands solely by their command name. If you only want some commands to be executed from the RS-232 serial port, then assign a Command Name that contains ASCII (Keyboard) data. That command can not be executed from the DTMF keypad anymore. Remember: Command names are the commands the user executes Command Numbers: The command number refers to what the RLC-4 internally uses. Whenever the user programs anything in the controller that calls another command name, the command number must be entered. Default command name C000 is internally 000. Command C249 has a number of 249. A quick way of remembering what the command number assigned to a command is to refer to the manual. The command numbers are simply the command without the 'C' attached. Command Name <--> Command Number Command Name ---> Command number is accomplished with Command C012 Command Number ---> Command name is accomplished with Command C011 How to Configure a Port as a Repeater The RLC-4 controller supports a repeater on every port. This allows for multiple stand alone repeaters operating at the same time, on the same controller. We will describe how to configure and setup a port as a repeater. Simply follow our example to configure other ports as a repeater. Configure the ports connection:- C000 * 1 1* This command connects port 1 receiver to ports 1 transmitter. When you do this, Port 1's receiver will cause a PTT on Port 1's transmitter. Configure the port's Hang timer: - C020*08 200* This command set the hang timer to 200 * 10mS = 2 seconds Configure the ports ID'er: - C085*1 1* This command enables the CW ID'er for port 1. The ID timer defaults to 10 minutes. Programming in your ID: Macro 151,155 are set aside for your initial ID and your rotating ID. The ID's are CW based so they are programmed with Command C030 (CW Message send) and C053 (Macro Programming). Example: I want both the CW ID's to be "KF7FW/R" - Macro 151 is assigned as the Initial ID, Macro 155 is assigned as the rotating ID. - Erase the current contents of both macros: C052*151* and C052*155* - Macro programming --- C053*151 030 20 15 07 15 32 36 27* "KF7FW/R" --- C053*155 030 20 15 07 15 32 36 27* "KF7FW/R" The message routing is taken care of inside the controller. Configure the courtesy beep: The courtesy beep is already configured and stored in Macro 159. When you execute C159, you will get a "beep" at 500 Hz for 200mS (See Command C051 to recall macro 159). To program your own beeps, refer to the earlier section "Beeps and Messages" or take a look at Command C040. Configure the time-out timer: The time-out timer defaults to 3 minutes and is programmable with Command C020. The time-out timer messages are not programmed. Refer to Command C057 for reference to the macro assigned to the time-out timer message. Now your port is configured as a repeater port. System Timers The RLC-4 supports total user programming of all the system timers. This allows the user to define exactly how the RLC-4 works. The system timers are programmed using Command C020 and recalled with Command C021. Refer to Command C021 for timer definitions. Message Start Delay Timer: 00 - Message Start Delay Timer, Port 1 01 - Message Start Delay Timer, Port 2 02 - Message Start Delay Timer, Port 3 03 - Message Start Delay Timer, Port 4 Courtesy Beep Delay Timer: 04 - Courtesy Beep Delay Timer, Port 1 05 - Courtesy Beep Delay Timer, Port 2 06 - Courtesy Beep Delay Timer, Port 3 07 - Courtesy Beep Delay Timer, Port 4 Transmitter Hang Timer: 08 - Hang Timer, Port 1 09 - Hang Timer, Port 2 10 - Hang Timer, Port 3 11 - Hang Timer, Port 4 DTMF Mute Timer: 12 - DTMF Mute Timer, Port 1 13 - DTMF Mute Timer, Port 2 14 - DTMF Mute Timer, Port 3 15 - DTMF Mute Timer, Port 4 I/O Polling Timer: 16 - I/O Polling Timer (100) 1 second Reserved Timers: 17 .. 25 - Reserved for future enhancements Impolite ID Timer: 26 - Impolite ID Timer, Port 1 27 - Impolite ID Timer, Port 2 28 - Impolite ID Timer, Port 3 29 - Impolite ID Timer, Port 4 Initial ID Timer: 30 - Initial ID Timer, Port 1 31 - Initial ID Timer, Port 2 32 - Initial ID Timer, Port 3 33 - Initial ID Timer, Port 4 Pending ID Timer: 34 - Pending ID Timer, Port 1 35 - Pending ID Timer, Port 2 36 - Pending ID Timer, Port 3 37 - Pending ID Timer, Port 4 Timeout Timers: 38 - Time Out Timer, Port 1 39 - Time Out Timer, Port 2 40 - Time Out Timer, Port 3 41 - Time Out Timer, Port 4 Preaccess Tone Timers: 42 - Preaccess Tone Timer, Port 1 43 - Preaccess Tone Timer, Port 2 44 - Preaccess Tone Timer, Port 3 45 - Preaccess Tone Timer, Port 4 Preaccess Timers: 46 - Preaccess Timer, Port 1 47 - Preaccess Timer, Port 2 48 - Preaccess Timer, Port 3 49 - Preaccess Timer, Port 4 User Timers: 50 - User Timer 00 51 - User Timer 01 52 - User Timer 02 53 - User Timer 03 54 - User Timer 04 The Autopatch The RLC-4 supports a full/half duplex module that plugs into the large 30 pin connector on the controller. When the autopatch is used, port 4 can not be used. The autopatch uses port 4's audio input, output, cor and ptt logic. Your controller is configured with the autopatch when a FCC Type Registered DAA (Data Access Arrangement) board is connected to the 30 pin socket. RF remoting your patch is possible when using the RLC-3 patch interface module instead of the RLC-4 patch option. This is used when you can not get a phone line to the controller site and want to connect the patch through a radio link. Contact Link Communications Inc. for more information. Autopatch Adjustment: The audio adjustments on port 4 are used with the autopatch. Because the patch is treated as a radio port, normal radio port adjustments are used: Phone - Controller Level Port 4 "RX" pot Controller - Phone Level Port 4 "TX" pot DTMF - Phone Level Port 4 "DTMF" pot DTMF Level Adjustment: The most critical audio adjustment is the DTMF level the phone company sees. This level can range from 100mV up to 1000mV or 1 volt RMS. The procedure for adjusting the DTMF is to generate a DTMF sequence (See Command C033) and measure the voltage. Adjust the DTMF level until it is between the above levels. Usually no adjustment is needed when you receive your controller. Audio to Phone Line Adjustment: To adjust the audio out of the RLC-4 call a party on the phone and adjust the audio level to a point which is acceptable to the listening party. There is no exact level to set the audio because of the difference in line conditions. Audio from Phone Line Adjustment: To adjust the audio into the RLC-4 call a party on the phone and adjust the audio level to a point which is acceptable over the air. There is no exact level to set the audio because of the difference in line conditions. Audio level changes when the phone is active: If you use the autopatch in full duplex mode (see C121, default is half duplex), there will be a small increase in the repeater's receive audio level that is present on the repeater when the autopatch is active. This increase is caused by the hybrid transformer on the autopatch DAA board. This level "adds" to your repeat level when the autopatch is active. This only occurs when the autopatch is configured as full duplex (A mode when both the Phone and Repeater audio is heard, like a normal phone). When the autopatch is configured as half duplex the phone audio is muted when the repeater's receiver is active, and unmuted when the repeater's receiver is inactive. Command Reference Section This section contains in-depth descriptions of all of the commands in the controller. Most of them are organized by topic, so that related commands are next to each other. The commands you will need to get started are generally located closer to the front of the manual than commands you use less often. To quickly find a particular command, use the table of contents at the beginning of this manual. Command Description: C000 Connect one Port to another Port This command allows you to connect one radio port to another radio port. It is also used to put a port into "repeater mode", by connecting that port to itself. "Connecting a port" means that the audio in and keying source from each port become the audio out and PTT source for the other port. Connecting a port to itself makes the audio that comes in your repeater's receiver go out your repeater's transmitter, making it into a repeater. If you connect two different ports together, they will hear the activity from the other port. ͻ Description Command Response Ķ Connect Port C000* X Y X 'N' Y ͼ Note: If you want a one-way connection, where port A can monitor port B but port B can not hear port A, use command C001. Parameters: - C000 is the default command name - X is the first port to connect - Y is the second port to connect Default: - All port default as links Example: Connect Port 1 to Port 4 "C000 * 1 4" CW response "1 'N' 4 " Want Port 1 as a repeater port "C000 * 1 1" CW response "1 'N' 1" Command Descripti on: C001 Monitor one Port from another Port This command allows you to monitor one radio port from another radio port. ͻ Description Command Response Ķ Monitor Port C001* X Y X 'M' Y ͼ Parameters: - C001 is the default command name - X is the doing the monitoring of port Y - Y is the port being monitored Default: - All port default as links Example: Monitor Port 4 by Port 1 "C001 * 1 4" CW response "1 'M' 4" Command Descripti on: C002 Disconnect one Po rt from another Port This command allows you to disconnect one radio port from another radio port. ͻ Description Command Response Ķ Disconnect PortC002* X Y X 'F' Y ͼ Parameters: - C002 is the default command name - X is the first port to disconnect - Y is the second port to disconnect Default: - All port default as links Example: Disconnect Port 1 from Port 4 "C002 * 1 4" CW response "1 'F' 4" Port 1 is currently a repeater port and you want the port configured as a link port. "C002 * 1 1" CW response "1 'F' 1" Command Description: C003,C004 Recall a Port's Connections This command allows you to find out where Port X's receiver or transmitter is connected. ͻ Description Command Response Ķ Interrogate RX C003* X X 'C' 1 .. 4 Ķ Interrogate TX C004* X X 'C' 1 .. 4 ͼ Parameters: - C003 is the default command name. This command finds what transmitters receiver 'X' is routed to. - C004 is the default command name. This command finds what receivers are routed to transmitter 'X'. Default: - All port default as links Example: Port 1 is connected to ports 2 3 4 "C003 * 1" CW response "1 'C' 2 3 4" Ports 1,3, are connected to port 2 "C004 * 2" CW response "2 'C' 1 3" Command Descrip tion: C005 Set Up a Port's Access Mode This command allows you to set up a port's access mode. ͻ Description Command Response Ķ Access Mode C005* X Y See Below ͼ Parameters: - C005 is the default command name. - X is the port number (1..4) - Y is the port's access mode -- 0 ==> No Access -- 1 ==> COR Access -- 2 ==> PL Access -- 3 ==> COR and PL Access -- 4 ==> COR or PL Access Default: - All ports default to COR access CW Response: 0 - No 1 - C O R 2 - P L 3 - C A P 4 - C O P Example: You want to change port 2's mode to CAP (mode 3): C005 * 2 3 CW Response "2 3" Command Description: C006 Recall a Port's Access Mode This command allows you to recall a port's access mode. ͻ Description Command Response Ķ Access Mode C006* X See Below ͼ Parameters: - C006 is the default command name. - X is the port's access mode -- 0 ==> No Access -- 1 ==> COR Access -- 2 ==> PL Access -- 3 ==> COR and PL Access -- 4 ==> COR or PL Access Default: - All ports default to COR access CW Response: 0 - No 1 - C O R 2 - P L 3 - C A P 4 - C O P Command Description: C007, C008 Configure and Check DTMF Mute from a Selected Port These commands allow you to program and recall whether DTMF mute is turned on or off for a selected port. ͻ Description Command Response Ķ Set Mute C007* X Y X N/F Ķ Recall Mute C008* All Muted Ports ͼ Parameters: - C007 is the default command name. - X is the requested port (1..4) - Y is the Mute Enable/Disable flag -- 1 ==> Enable DTMF mute on the selected port -- 0 ==> Disable DTMF mute on the selected port Default: - DTMF Mute is Off DTMF mute recall is provided to allow you to check what ports are Enabled for DTMF muting. If the port number is read back the port is configured for DTMF mute. If the response is "C," no ports have DTMF muting enabled. Command Description: C009 Recall Controller's Entire Crosspoint This command allows you check the audio crosspoint conditions on all radio ports on the controller. This command will check the connected conditions and both show the crosspoint map on the RS-232 serial port, and will CW the conditions out the port that DTMF requested the conditions. ͻ Description Command Response Ķ Recall XPT C009* See Below ͼ Parameters: None CW Response: The CW response will only be sent if a receiver is connected on the selected port. If a receiver is connected to a port's transmitter, the controller will send RX "R" connect "C" TX "T" where RX and TX are the port numbers of the receiver and transmitter, respectively. CW Format: 1 'C' 2 'C' 3 'C' 4 'C' Serial Format: TX 1 2 3 4 RX 1 . . . . 2 . . . . 3 . . . . 4 . . . . Command Descript ion: C010 Re-Program Comma nd Names This command allows you to re-name the command names on the controller. The names can be from 1 to 6 digits in length. ͻ Description Command Response Ķ Re-name CommandC010* XXX YYYYYY See Below ͼ Parameters: - C010 is the default command name. - XXX is the command's number. It is the same as the last three digits of the command name as listed in the manual. Examples: The command number for this command (C010) is 010. For command C123, the command number is 123. The command number is always three digits. Renaming the command does not change the command number - you still use the command number as listed in the manual. - YYYYYY is the new command name. -- You only enter as many digits for the command name as the length you want the new name to be. You do not need to enter any leading digits for the command name. Acceptable entries: XXX Y - New command name is 1 digit in length XXX YY - New command name is 2 digits in length XXX YYY - New command name is 3 digits in length XXX YYYY - New command name is 4 digits in length XXX YYYYY - New command name is 5 digits in length XXX YYYYYY - New command name is 6 digits in length Default: - Command names begin with C000 and end with C299 The CW response is XXX 'IS' YYYYYY 'ED' (Number of Digits of Extra Data) - Extra data is the amount of additional data needed for that command. - If the letter 'V' is sent, the next number spoken is the minimum data accepted. - If the letter 'C' is sent, the command is not found. Example #1: Want to re-name command C013 to ABCD12 1) Command Number is 013 2) New command name is ABCD12 3) C010 * 013 ABCD12 4) CW response: 13 IS ABCD12 ED 0 Note that the current command name does not matter at all, only the command number (the last three digits of the command name in the manual) and the new name. Command Description: C011, C012 Recall Information about a Command Name This command allows you to recall certain attributes of the controller's command names. ͻ Description Command Response Ķ Name of Cmd C011*XXX See Below Ķ Number of Cmd C012*YYYYYY See Below ͼ Parameters: - C011 is the default command name. -- This command recalls the command name of the associated command number - XXX is the command number ranging from 000-299 command CW Response: The CW response is XXX 'IS' YYYYYY 'ED' (Number of Digits of Extra Data) - Extra data is the amount of additional data needed for that command. - If the letter 'V' is sent, the next number spoken is the minimum data accepted. - If the letter 'C' is sent, the command is not found. Parameters: - C012 is the default command name. -- This command recalls the command number for the associated command name - YYYYYY is the command name with default command name of C000-C999 CW Response: The CW response is "Command Number (000-299)" 'IS' YYYYYY. Command Description: C013 Set COR and PL Active Levels This command allows you to select whether the COR and PL inputs are active low or active high. The default is active low; when the controller sees a COR line go to ground, it thinks that the receiver is getting a signal. If you have a radio or PL detector that goes high when active, you can use this command to tell the RLC-4 to consider high to be the active level. ͻ Description Command Response Ķ Set Active LvlC013*P C L P C L Set To DefaultC013*P 0 0 P 0 0 ͼ Notes: This command does not affect the input circuits at all; it does not disable the built-in pullup resistors on the RLC-4's COR and PL inputs. If you are not able to enter commands using DTMF, you may need to temporarily fool the RLC-4 into thinking that your receiver's active level is different than it is. For example, if your receiver outputs an active high COR signal to the RLC-4, the RLC-4 will not accept DTMF commands from that receiver until its COR polarity is changed with this command. You could solve this problem by temporarily disconnecting the COR line from the receiver and manually attaching it to ground. This will cause the RLC-4 to think that the receiver is active (COR line is active low by default). You will have to disconnect that line from ground or press the '*' key to simulate unkeying after entering each command. Parameters: - C013 is the default command name. - P is the port to select the active levels for. - C is the COR polarity, 0 for active low, 1 for active high. - L is the PL polarity, 0 for active low, 1 for active high. Default: - All COR and PL inputs default to active low. Example: Change Port 2's COR input to active high: "C013 *210" CW response "2 1 0" Command Descript ion: C014..C019 Not Currently Us ed Command Descript ion: C020 Program a Select ed Timer This command allows you to program the controller's timer system. ͻ Description Command Response Ķ Program Timer C020*XX Y..Y See Below ͼ Parameters: - C020 is the default command name. - XX is the selected timer to be programmed. - Y..Y is the value to be programmed into the timer. (1 to 4 digits) CW Response: 'XX' 'IS' 'Y..Y' Timer Numbers: Message Start Delay Timer: This timer sets the minimum delay between when a PTT goes active and when tones will be sent out out that port. It is intended to give link systems time for all the links to come up so tones will not be sent too soon and be missed. It is not intended to delay command responses on a repeater until you unkey (to do that, unkey rather than pressing '*' after entering the command). - This timer is programmed in 10mS increments from 001-9999. - If a timer value of 000 is entered, the timer is disabled. - This timer defaults to 050. (500mS) 00 - Message Start Delay Timer, Transmitter 1 01 - Message Start Delay Timer, Transmitter 2 02 - Message Start Delay Timer, Transmitter 3 03 - Message Start Delay Timer, Transmitter 4 Courtesy Beep Delay Timer: This timer specifies the minimum time between when a reciever unkeys and when its courtesy beep will be sent out connected repeater ports. The courtesy beep can also be delayed by other tones in the tone queues and the message start delay timer. - This timer is programmed in 10mS increments from 001-9999. - If a timer value of 000 is entered, the transmitter will hang on the air forever. - This timer defaults to 100. (1 Sec.) 04 - Courtesy Beep Delay Timer, Receiver 1 05 - Courtesy Beep Delay Timer, Receiver 2 06 - Courtesy Beep Delay Timer, Receiver 3 07 - Courtesy Beep Delay Timer, Receiver 4 Transmitter Hang Timer: This timer holds the transmitter PTT active after the receiver goes inactive. - This timer is programmed in 10mS increments from 001-9999. - If a timer value of 000 is entered, the transmitter will hang on the air forever. - This timer defaults to 001. (10 ms = 1/100 Sec.) 08 - Hang Timer, Transmitter 1 09 - Hang Timer, Transmitter 2 10 - Hang Timer, Transmitter 3 11 - Hang Timer, Transmitter 4 DTMF Mute Timer: This timer controls the amount of time the receiver entering DTMF stays muted. This timer needs to be short so the instances of "Voice Falsing" does not mute the audio too long. Voice falsing is the phenomenon that occurs when your voice sounds like a DTMF digit. If you set this timer too long and the DTMF decoder falses, you will have a long gap in your voice (for the length of this timer). The mute timer begins to run after the release of the DTMF key. - This timer is programmed in 10mS Increments from 001-9999. - If a timer value of 000 is entered, your audio will be muted forever. Thus do not enter a value of 000, only 001..9999. - This timer defaults to 100. (1 Sec.) 12 - DTMF Mute Timer, Transmitter 1 13 - DTMF Mute Timer, Transmitter 2 14 - DTMF Mute Timer, Transmitter 3 15 - DTMF Mute Timer, Transmitter 4 I/O Polling Timer: This timer determines how often the controller checks to see if any of the input lines have changed from high to low or low to high or if any analog alarm conditions have changed. If you want quicker response to changes, shorten this timer. If you don't want to hear about changes that happen more often than every minute or so, lengthen it to a minute. The default is one second. - Defaults to (100) 1 second 16 - I/O Polling Timer (100) 1 second Reserved Timers: 17 .. 25 - Reserved for future enhancements Impolite ID Timer: This timer waits until either the timer expires or activity goes away before sending an ID. - This timer is programmed in 1Sec increments from 001-9999. - If a timer value of 000 is entered, the controller will not interrupt a conversation to send an ID. Note that in this case, the 10 minute ID requirement could be broken. - This timer defaults to 020 (20 Sec.) 26 - Impolite ID Timer, Transmitter 1 27 - Impolite ID Timer, Transmitter 2 28 - Impolite ID Timer, Transmitter 3 29 - Impolite ID Timer, Transmitter 4 Initial ID Timer: This timer times the amount of inactivity before an initial ID is sent. - This timer is programmed in 1Sec increments from 001-9999. - If a timer value of 000 is entered, the controller will never send an initial ID. Note that in this case, the 10 minute ID requirement could be broken. - This timer defaults to 600. (10 Minutes) 30 - Initial ID Timer, Transmitter 1 31 - Initial ID Timer, Transmitter 2 32 - Initial ID Timer, Transmitter 3 33 - Initial ID Timer, Transmitter 4 Pending ID Timer: This timer times inner activity ID timer so a proper Pending ID can be send during activity. - This timer is programmed in 1Sec increments from 001-9999. - If a timer value of 000 is entered, the controller will never send a rotating ID. Note that in this case, the 10 minute ID requirement could be broken. - If this timer is set to be longer or the same length as the initial id timer, the pending id will never be sent because the initial id takes priority. It should normally be set at least a minute shorter than the initial id to allow the pending id a chance to be sent, or the impolite id if there is activity, before the initial id timer expires. - This timer defaults to 540. (9 Minutes) 34 - Pending ID Timer, Transmitter 1 35 - Pending ID Timer, Transmitter 2 36 - Pending ID Timer, Transmitter 3 37 - Pending ID Timer, Transmitter 4 Timeout Timers: This timer times the how long each receiver has been active. If the receiver is active longer than the length of this timer, it is disabled until it goes inactive, and its time out event is executed (see command C057, events 39..46). It is reset and the time out clear event is executed when a timed out receiver goes inactive. - This timer is programmed in 1 second increments from 001-9999. - If a timer value of 000 is entered, the controller will never time-out. - This timer defaults to 180. (3 Minutes) 38 - Time Out Timer, Receiver 1 39 - Time Out Timer, Receiver 2 40 - Time Out Timer, Receiver 3 41 - Time Out Timer, Receiver 4 Preaccess Tone Timers: These timers are used to limit how long the preaccess tone will run. The tone can also be stopped by other things, such as a DTMF character being entered on the port the tone is being set out of or the preaccess timer expiring (since indicating that a link has been preaccessed is what dial tone is used for most). If you want to generate tone that can't be stopped by any of these things, use command C040 and generate the tone. - This timer is programmed in 1Sec increments from 001-9999. - If a timer value of 000 is entered, this timer will never stop the dial tone. - This timer defaults to 8 seconds. 42 - Preaccess Tone Timer, Transmitter 1 43 - Preaccess Tone Timer, Transmitter 2 44 - Preaccess Tone Timer, Transmitter 3 45 - Preaccess Tone Timer, Transmitter 4 Preaccess Timers: These timers control how long the "window" of access is between when you enter the preaccess code and when you have to enter a DTMF digit or be locked out. It starts running again as soon as each DTMF digit is released, and will lock you out if it expires. When it expires, it throws away whatever DTMF digits have been entered so far and won't accept any more commands until the controller is accessed again. It also stops the preaccess tone when it expires. - This timer is programmed in 1Sec increments from 001-9999. - If a timer value of 000 is entered, this timer will never expire. - This timer defaults to 8 seconds. 46 - Preaccess Timer, Port 1 47 - Preaccess Timer, Port 2 48 - Preaccess Timer, Port 3 49 - Preaccess Timer, Port 4 User Timers: These timers are not normally used by the controller. They are provided for your use. You can start them running by executing command C022 and stop them with C023 (or they will stop automatically when they expire). Also, when one of these timers expires, the corresponding special macro (see pAppendixD) is automatically executed. This allows you to start these timers when certain things in the controller happen, and do something when the timer expires. These timers are programmed in one second increments. 50 - User Timer 00 51 - User Timer 01 52 - User Timer 02 53 - User Timer 03 54 - User Timer 04 Command Description: C021 Recall a Timer Value This command allows you to recall the value of a programmed timer. ͻ Description Command Response Ķ Recall Timer C021*XX See Below ͼ Parameters: - C021 is the default command name. - XX is the selected timer to be programmed (See Command C020 for Timers) CW Response: XX 'IS' YYY - Where 'XX' is the timer number and 'YYY' is the timer value Advanced Command Description: C022 Restart a Selected Timer This command allows you to reset and restart a selected timer back to its original value. The timer will then begin to run again from its original value. ͻ Description Command Response Ķ Restart Timer C022*XX See Below ͼ Parameters: - C022 is the default command name. - XX is the selected timer to be programmed (See Command C020 for Timers) CW Response: 'I' - CW character 'I' which is "Beep-Beep" Advanced Command Description: C023 Reset a Selected Timer This command allows you to reset and cancel a timers operation. ͻ Description Command Response Ķ Reset Timer C023*XX See Below ͼ Parameters: - C023 is the default command name. - XX is the selected timer to be programmed (See Command C020 for Timers) CW Response: 'I' - CW character 'I' which is "Beep-Beep" Command Description: C024 Not Currently Used Command Description: C025 Send DVR Message(s) This command allows you to send one or more DVR messages. It will be sent to the ports that are in the audio routing variable at the time this command is executed (for more info, see Appendix A). ͻ Description Command Response Ķ Send Slot 0..9 C025* Y See Below Send 00..34 C025* YY See Below Send Multiple C025* YY..YY See Below ͼ Parameters: - C025 is the default command name. - YY is the DVR slot number, two digits per slot Notes: DVR messages can be intermixed with CW messages and other tones and the RLC-4 will make sure that they are sent in the right order. For example, you could write a macro that would send your call sign in CW, then use the DVR to speak "Link Up", then send a tone using command C040 and the messages would be sent in the right order. This also means that if a tone is being sent, the DVR will have to wait until it is finished to send its message, even if the messages are unrelated. Command Description: C026 Record a DVR Message This command allows you to record a DVR message. There are 35 message slots available. You can record a message that fits in one slot, or let a message overlap multiple (consecutive) slots. Slots 00..25 are about one second long. Slots 00..09 are often used to record the digits "zero," "one," etc. Slots 25..29 are often used to record IDs. The other slots are available for you to use in any way you wish. ͻ Description Command Response Ķ Record Slot YY C026* YY Rec YY..ZZ C026* YY ZZ ͼ Parameters: - C026 is the default command name. - YY is the DVR slot number, two digits per slot. - ZZ (optional). If ZZ is not included, the DVR will stop recording when slot YY is full. If ZZ is included, the DVR will record from the beginning of slot YY to the end of slot ZZ. Notes: There are two ways to start and stop the recording. It may be helpful to watch the "Record" LED until you get used to it. The easiest way is to enter the command as shown above, unkey, key and speak the message, then unkey. With this method, the DVR starts recording as soon as you key to speak the message and stops when you unkey or when it reaches the end of the slot, whichever comes first. The other method is useful for recording messages while using the reverse autopatch function. To use it, enter the command as shown above, then a '*'. As soon as you release the '*' digit, the DVR will begin recording. It will stop when you press another DTMF digit or when it reaches the end of the slot, whichever comes first. Either way, you must begin recording within several seconds of entering the command or you will have to enter the command again. When the DVR stops recording because you unkey or press a DTMF digit, it attempts to back up and erase the squelch tail or DTMF burst so that your message sound clean. When it stops recording because it reaches the end of a slot, it does not back up to avoid wasting record time. Co mmand Description: C027 Er ase DVR Message(s) This command allows you to delete one or a range of DVR messages. If an erased message is later played, it will sound like a short pause. There is no way to "un-erase" a message once it is erased. ͻ Description Command Response Ķ Del 00..34 C027* YY See Below Del Multiple C027* YY ZZ See Below ͼ Parameters: - C027 is the default command name. - YY is the DVR slot number to erase, two digits per slot - ZZ (optional). If ZZ is not included, only one slot will be erased. If ZZ is included, the DVR will delete slots YY through ZZ. Co mmand Description: C028-C029 No t Currently Used Co mmand Description: C030 Se nd a CW Message This command allows you to send a CW message. It will be sent to the ports that are in the audio routing variable at the time this command is executed (for more info, see Appendix A). The message will be sent at the speed and frequency that has been set up for the specific port with C031 and C032. ͻ Description Command Response Ķ Sends CW C030* YY..YY See Below ͼ Parameters: - C030 is the default command name. - YY is the CW data, two digits per character (See Below) CW Code Table ͻ 00 - 0 13 - D 26 - Q 39 - AR 01 - 1 14 - E 27 - R 40 - SPACE 02 - 2 15 - F 28 - S 41 - PAUSE 03 - 3 16 - G 29 - T 04 - 4 17 - H 30 - U 05 - 5 18 - I 31 - V 06 - 6 19 - J 32 - W 07 - 7 20 - K 33 - X 08 - 8 21 - L 34 - Y 09 - 9 22 - M 35 - Z 10 - A 23 - N 36 - / 11 - B 24 - O 37 - . 12 - C 25 - P 38 - ? ͼ Note: This table is duplicated in Appendix C for ease of reference. Advanced Command Description: C031 Set CW Speed for a Selected Port This command allows you to set up the CW systems speed in words per minute. The maximum CW speed the FCC allows is 20 WPM, but the controller will handle 05..50 words per minute. ͻ Description Command Response Ķ CW Speed C031*X YY None ͼ Parameters: - C031 is the default command name. - X is the selected port (1..4) - YY is the words per minute send value Default: All ports default to 20 words per minute Note: There is no CW response to this command to make it easier to change the CW speed in the middle of a CW message. For example, you can write a macro that sends a few CW characters, then changes the CW speed, then sends a few more characters, then changes the CW speed back. When the macro is executed, the CW speed changes will occur at the proper places in the message. Advanced Command Description: C032 Set CW Tone Frequency for a Selected Port This command allows you to set up the CW tone frequency used by the CW system. ͻ Description Command Response Ķ CW Frequencies C032*W XXXX None ͼ Parameters: - C032 is the default command name. - W is the selected port (1..4) - XXXX is the tone frequency (0000..9999) Hz Default: Tone is set to 1064 Hz. Note: There is no CW response to this command to make it easier to change the CW frequency in the middle of a CW message. For example, you can write a macro that sends a few CW characters, then changes the CW frequency, then sends a few more characters, then changes the CW frequency back. When the macro is executed, the CW frequency changes will occur at the proper places in the message. Command Description: C033 Send a DTMF Sequence Out Port 4 This command allows you to send DTMF tones out port 4. See Command C034 to set up the length of the tones and pauses between tones. ͻ Description Command Response Ķ Sends DTMF C033*YY..YY No Response ͼ Parameters: - C033 is the default command name. - YY is the DTMF data (See Below) DTMF Code Table 00 - DTMF Digit 0 01 - DTMF Digit 1 02 - DTMF Digit 2 03 - DTMF Digit 3 04 - DTMF Digit 4 05 - DTMF Digit 5 06 - DTMF Digit 6 07 - DTMF Digit 7 08 - DTMF Digit 8 09 - DTMF Digit 9 10 - DTMF Digit A 11 - DTMF Digit B 12 - DTMF Digit C 13 - DTMF Digit D 14 - DTMF Digit * 15 - DTMF Digit # 16 - Advanced Command Description: C034 Set Up DTMF Regenerate Parameters This command allows you to set up the DTMF regenerate parameters for port 4. You may need to use this command to slow your DTMF tones down if a scanning DTMF decoder is on any of the attached systems that you want the RLC-4 to control. ͻ Description Command Response Ķ DTMF Parameters C034*XXXX YYYY See Below ͼ Parameters: - C034 is the default command name. - XXXX is the length of the DTMF sequence in 10mS steps (0000..9999) - YYYY is the pause between DTMF digits in 10mS steps (0000..9999) Default: Both length and pause set to 100mS lengths - 'XXXX' => 0010 (100mS) - 'YYYY' => 0010 (100mS) CW Response: 'XXXX' 'YYYY' Advanced Command Description: C035 Send a Serial Message out the RLC-4 Port This command allows you to send a custom message out the controller's serial port. If the message is entered with DTMF, the serial message will only contain DTMF digits. If the message is entered using the RS-232 port, then the message will contain whatever characters you enter. This command can be used to output logging information, to make a modem dial a phone number, to output error messages, etc. ͻ Description Command Response Ķ Sends Message C035* Y .. Y None ͼ Parameters: C035 is the default command name. Y is the data to be sent over the RS-232 port The message length is limited to the maximum command length (about 50 characters) or if used in a macro, by the space left in a macro. If you need a longer message, split it up between several macros and use one macro to call the next macro in the sequence. Notes: To change the baud rate, see command C036. Serial generated by this command is sent regardless of what caused this command to execute. Some other serial messages in the controller are only sent if you are executing commands from the serial port. You should not make the controller send a lot of serial really often (more than one message every couple of seconds or so), because it can cause the CW to sound uneven. A dvanced Command Description: C036 S et Up RS-232 Serial Baud Rate This command allows you to set up the baud rate for the RLC-4's main serial port that is typically connected to a serial terminal or computer. See commands C035 for more information about sending serial messages. ͻ Description Command Response Ķ Baud Rate C036* XXXX See Below ͼ Parameters: - C036 is the default command name. - XXXX is the actual baud rate (leading 0s are optional) You can enter any baud rate from 300-9600 including non-standard rates. The baud rate you enter will be rounded slightly to the nearest available rate, but should always be compatible with the actual rate selected. Default: 9600 Baud rate selected CW Response: There is no response for this command Command Description: C037 Remotely Reset the Controller This command allows you to remotely reset the RLC-4 controller. This does exactly the same thing as turning the power off and back on or pressing the reset switch on the board. It will not cause you to lose any of your programming - that is only possible by being at the site of the controller and following one of the initialization procedures described in Appendix E. ͻ Description Command Response Ķ Remote Reset C037* None ͼ Parameters: - C037 is the default command name. CW Response: The user will hear the contents of the reset macro sent. This message defaults to "RESET ?". To delete this message, disable the reset macro. See Command C057, C058, C059 for macro definitions. Command Description: C038-C039 Not Currently Used Command Description: C040 Send a One Frequency Tone This command causes a tone to be sent out the ports specified by the routing variable (see Appendix A for information about the routing variable). Most courtesy beeps use only one tone at a time, although many have several tones in sequence. This type of courtesy beep would be generated by calling this command several times from a macro, sending a one-tone chord each time (see examples on the following pages). ͻ Description Command Response Ķ Tone Generate C040* (See Below) No Response ͼ Parameters: - C040 is the default command name. 1 tone sequence C040 * LLL DDD Tone 1 - LLL is a 3 digit number representing the length of the tone in 10mS increments - DDD is a 3 digit number representing the delay between sequences in 10mS increments - Tone 1 is the frequency of the tone. 4 digits needed: 350Hz = 0350 CW Response: There is no response for this command Note about Courtesy Beeps The RLC-4 courtesy beeps are not simply a programmable beep. When it is time to send a courtesy beep, the RLC-4 decides which ports should receive the courtesy beep, sets the audio routing variable to those ports (see Appendix A), and calls that port's courtesy beep automatic macro (see Appendix D). This makes it possible for you to make your courtesy beep do a lot more than just beep. If you call command C040 (send One Tone Chord), it will beep. If you call C040 more than once in the courtesy beep macro, it will beep more than once (examples below). If you call C030, it will send CW. If you call C033, it will send DTMF (Only on port 4). If you really want to, you could do several of the above. Since most people want a sequence of beeps for their courtesy beep, we will provide some examples. Note that to get a single-beep courtesy beep, you just call C040 once from the courtesy beep macro. To get a three tone sequence, you call C040 three times within that macro. Below are some widely used courtesy beep sequences. All Frequencies are in Hertz and times are in milliseconds Seq#1 Seq#2 Seq#3 Frq A: Dur Freq A: Dur Freq A: Dur 1) 0330 100 0500 100 0660 100 2) 0330 050 0500 050 0660 050 3) 0800 100 0800 100 0540 100 4) 0500 100 0500 100 0750 100 5) 0750 120 0880 080 1200 080 6) 0440 200 0440 200 0000 000 7) 0660 100 0000 000 0000 000 8) 0440 100 0000 000 0000 000 9) 0880 100 0000 000 0000 000 Example: I want port 1's courtesy beep to be number 5 as listed above. 1) Locate the courtesy beep macro for port 1 in Appendix D. - Slot 159 is Port 1's courtesy beep macro 2) C052 deletes the old contents of a macro C052*159* 3) C053 appends a command onto the end of a macro - we will do the first tone C053*159 040 012 001 0750* 012 is the duration of the beep in 10 millisecond increments 001 is the delay between beeps in 10 millisecond increments 0750 is the frequency of the tone in hertz 4) C053 appends a command onto the end of a macro - the second tone C053*159 040 008 001 0880* 008 is the duration of the beep in 10 millisecond increments 001 is the delay between beeps in 10 millisecond increments 0880 is the frequency of the tone in hertz 5) C053 appends a command onto the end of a macro - the third tone C053*159 040 008 001 1200 * 008 is the duration of the beep in 10 millisecond increments 001 is the delay between beeps in 10 millisecond increments 1200 is the frequency of one tone in hertz 6) Now when port 1's courtesy beep needs to be sent, the courtesy beep macro will call C040 three times to generate the three beeps. Example: Want to send out a CW message 'EP' to indicate emergency power out port 2's repeater port. 1) Locate the courtesy beep macro for port 1 in Appendix D. - Slot 160 is Port 2's courtesy beep macro 2) C052 deletes the old contents of a macro C052*160* 3) C053 appends a command onto the end of a macro, C030 sends a CW message C053*160 030 14 25 * 14 is the CW character 'E' 25 is the CW character 'P' Advanced Command Description: C042 Set Audio Routing Variable for Commands Inside a Macro This command allows you to override the default message routing variable within a macro. The default message routing variable changes to match the current situation as the program runs. For example, when you execute a command by DTMF, this variable is set so that the CW response for the command is sent out of the port that the DTMF was entered from. When it is time to send a courtesy beep, this variable is set so that the tones that are sent by the send-courtesy-beep macro go to the right places (Appendix A has more information about the audio routing variable). This command allows you to override the routing variable, changing it to any combination of the controller's eight ports. The most common use of this command is to send an audio response to a different combination of ports than it is normally sent to. An example of this is provided below. ͻ Description Command Response Ķ Sets Routing C042* X..X No Response ͼ Parameters: - C042 is the default command name. - X..X is the combination of ports the message is to be routed to -- Each 'X' corresponds to the port which the audio response will be routed Note: When this command is executed in a macro, the changes it makes to the audio routing variable last until the first of the following events: This command or C043 is executed again in the same macro. The end of the macro is reached. When the end of a macro is reached, the audio routing variable is restored to whatever it was before the macro was executed. Example: You want to connect port 1 to ports 2,3,4. You want to route a response to all these ports. The command for connecting ports is C000. You want to use macro 170 to store all the keystrokes for this example. C053*170 042 1 2 3 4 * Sets the routing variable to all ports C053*170 030 21 20 01 40 23* Send the CW message "LK1 N" C053*170 043* Kill all the responses following this command C053*170 000 1 2* Connect port 1 to port 2 C053*170 000 1 3* Connect port 1 to port 3 C053*170 000 1 4* Connect port 1 to port 4 *** Note if port 4 is an autopatch port, then port 1 can be connected to port 4 *** Advanced Command Descriptio n: C043 Kill All Responses Followin g This Command This command kills all CW responses for commands that are executed after it in a macro. This command designed for use within a macro. When commands are executed by a macro, they normally send CW responses just as they would if you executed those commands one at a time. To avoid this, simply call this command at the beginning of the macro. All the responses from the commands that follow this command will be silent. If you want a CW response to be sent when the macro is executed, make the macro send the message, execute this command, then do the reset of the commands. ͻ Description Command Response Ķ Cancel Response C043* No Response ͼ Parameters: - C043 is the default command name. Note: When this command is executed in a macro, the changes it makes to the audio routing variable last until the first of the following events: This command or C042 is executed again in the same macro. The end of the macro is reached. When the end of a macro is reached, the audio routing variable is restored to whatever it was before the macro was executed. Adv anced Command Description: C044 Rec all the Ports in the Current Audio Routing Variable This command allows you to determine what ports audio is being sent out of without having a radio tuned to each of the transmitters. It sends a list of numbers which represent the ports that are included in the audio routing variable at the time it is executed (see Appendix A for more information about audio routing variables). If it is executed directly, it will tell you what port you are executing commands from. ͻ Description Command Response Ķ Recall ARV C044* See Below ͼ Example: You want to know what transmitters are hearing the courtesy beep that is generated when port 3's receiver unkeys. Solution: append this command to the end of the courtesy beep macro (159) for port three so it will send the number of the ports that just heard the courtesy beep: C053*159 044 To delete command C044 from the courtesy beep macro when you are tired of hearing it, use command C055 and you will not have to delete the whole macro and program it again. CW Response: The response for this command will list all the ports in the routing variable. Advanced Command Description: C045 Set Up Default Audio Routing Variables This command allows you to configure where the CW is routed during serial programming, scheduler events, etc. By using this command, you can specify which of the 4 radio ports tone responses will be routed to when commands are executed by one of the several sources listed. See Appendix A for more information about audio routing variables. Command C046 allows you to recall these settings. ͻ Description Command Response Ķ Audio Route C045*X Y..Y See Below ͼ Parameters: - C045 is the default command name. - X is the default audio routing variable to change 0 - commands entered from the serial port 1 - commands executed by the auto execution macros - Y is a list of the ports that the audio will be sent out of If no digits are entered for Y, the audio will not be sent anywhere CW Response: 'X' 'IS' 'Y..Y' where 'Y' are the ports programmed to respond in CW to events. Advanced Command Description: C046 Recall the Audio Routing Variable Defaults This command allows you to determine what the audio routing variable will default to when commands are executed from the serial port, scheduler, etc. It is the companion command to C045. ͻ Description Command Response Ķ Recall ARV C046*X See Below ͼ Parameters: - X is the default audio routing variable to recall 0 - commands entered from the serial port 1 - commands executed by the scheduler 2 - commands executed by the reset macro (Event table #00 See C057) CW Response: 'X' 'IS' 'Y..Y' where 'Y' are the ports programmed to respond in CW to events. Command Description: C047 Start Tone Generator This command allows you to generate a tone down for a given time down the port that requested this command. This command is used to give you an indication that access to the controller has been accomplished. This is not pre-access, simply a tone generation. The tone is routed to the port that DTMF requested the command. This command is used in conjunction with the pre- access macros. ͻ Description Command Response Ķ Start Tone Gen. C047* See Below ͼ Parameters: - C047 is the default command name. Killing the tone once it is running: 1) You can kill the tone with a DTMF digit on the port dial tone is present. 2) When the tone timer expires (See Command C020) CW response: There is no response for this command Command Description: C048 Program Preaccess Tone Frequency This command allows the user to change the frequency of the tone response for preaccess when tone generation is enabled (See Command C071). The tone generator will generate a tone when either a port is accesses, or Command C047 is executed. The tone frequency will correspond to the port which you come in from. The tone length is controlled by one of the system timers. ͻ Description Command Response Ķ Set Tone Freq. C048*X YYYY See Below ͼ Parameters: - C048 is the default command name. - X is the port you are requesting (1..4) - YYYY is the frequency of the tone to be generated Default: All tones set to 1064 Hz. CW Response: 'X' 'IS' 'YYYY' Timer Numbers (See Command C020, C021) 42 - Preaccess Tone Timer, Port 1 - Controls the length of port 1 tone 43 - Preaccess Tone Timer, Port 2 - Controls the length of port 2 tone 44 - Preaccess Tone Timer, Port 3 - Controls the length of port 3 tone 45 - Preaccess Tone Timer, Port 4 - Controls the length of port 4 tone Command Description: C049 Not Currently Used Command Description: C050 Program a Single Command Macro Sequence This command allows you to program a macro to contain one command. It does exactly the same thing as deleting the macro with command C052, then appending it with C053. If you want a macro to contain more than one command, you can program the first command in the macro with this command, but you will have to use another command like C053 to append the rest of the commands in the macro onto the end. ͻ Description Command Response Ķ Macro PGM C050* WWW XXX Z..Z* OK ͼ Parameters: - C050 is the default command name. - WWW is the macro number for this sequence to be stored in - XXX is the command number to be executed by the macro - Z..Z is the additional data associated with command XXX Example: Want to execute command C031 using macro 180 - C030 with 20 additional digits (01,02,03,04,05,06,07,08,09,00) C050 * 180 030 01020304050607080900 * Notes: If you get error 10 when you execute this command, you are probably trying to put more in a macro than it has room to hold. Macros 150..199 are about 50 characters long; 200..249 are about 20 characters long. CW Response: 'I' - CW character 'I' which is "Beep-Beep" Command Description: C051 Recall Macro Contents This command recalls the contents of a macro so that you can find out what the macro is programmed to do. It does not execute the commands in the macro, only recalls them to the serial screen or send them to the CW generator. The format of the response is explained below. ͻ Description Command Response Ķ Recall Macro C051*XXX OK ͼ Parameters: - C051 is the default command name. - XXX is the macro number to recall Format of the CW Response: "M" [macro number] "N" [number of commands in the macro] "C" [which command in the macro] [command number] "D" [number of digits of data] repeat last two lines until all commands in macro have been recalled ? "P" how many percent full the macro is Example: Recall Default Contents of Macro 200 (Command length not matched error handling macro): You enter the command "C051*200" The serial response is: Macro 200 contains 2 commands: #1 Command #032 with 31 digits of data: Command name length not matched #2 Command #036 with 09 digits of data: The CW response is: "M200" macro number 200 "N2" number of commands in the macro is 2 "C1 32" the first command in the macro is command number 032 (send serial message) "D31" this command has 31 digits of data which are: "C2 36" the second command in the macro is command number 9 "D9" this command has 9 digits of data: "P XXX" Command Description: C052 Delete Macro This command deletes a macro. If it is executed after it has been deleted, nothing will happen. There is no way to "undelete" a macro that has been deleted. ͻ Description Command Response Ķ Delete Macro C052*XXX See Below ͼ Parameters: - C052 is the default command name. Format: C052 * XXX - XXX is the command number of the macro to delete. CW Response: 'I' - CW character 'I' which is "Beep-Beep" Command Description: C053 Append a Command to a Macro This command allows you to add a command to a macro. If the macro was empty (contained no commands), it becomes the first command in the macro. ͻ Description Command Response Ķ Macro Append C053* (See Below) OK ͼ Parameters: - C053 is the default command name. Format: C053 * WWW XXX Z..Z ... - WWW is the macro number for this sequence to be stored in - XXX is the command number within a macro - Z..Z is the additional data associated with command XXX Example: Want to execute command C031 using macro 223 - Delete the old contents of macro 223 -- C052*223 - C030 with 20 additional digits (01,02,03,04,05,06,07,08,09,00) -- C053 * 223 030 01020304050607080900 * Notes: If you get error 10 when you execute this command, you are probably trying to put more in a macro than it has room to hold. Macros 150..199 are about 50 characters long; 200..249 are about 20 characters long. CW Response: 'I' - CW character 'I' which is "Beep-Beep" Command Description: C054 Copy a Macro This command allows you to copy a macro. It deletes whatever used to be in the destination macro and replaces it with a copy of whatever is in the source macro. ͻ Description Command Response Ķ Macro Copy C054*XXX YYY See Below ͼ Parameters: - C054 is the default command name. - XXX is the number of the source macro - YYY is the number of the destination macro Notes: You can use this command to copy between macros of different lengths, provided that there is room for the contents of the source macro in the destination macro. If there is not room, you will get an error 11. Macros 150..199 are about 50 characters long; 200..249 are about 20 characters long. CW Response: 'XXX' 'C' 'YYY' : 'C'opy Advanced Command Description: C055 Delete a Command in a Macro This command allows you to delete a command in a macro without deleting the whole macro. The commands inside of the macro are numbered 00, 01, 02... so the first command is numbered 00. It may be helpful to execute command C051 to recall the contents of the macro so that you know which command to delete. ͻ Description Command Response Ķ Delete CMD C055*XXX YY OK ͼ Parameters: - C055 is the default command name. - XXX is the number of the macro - YY is the number of command inside of the macro to delete (00, 01, 02...) CW Response: 'XXX' 'D' 'YY' : 'D'elete Advanced Command Description: C056 Insert a Command in a Macro This command allows you to insert a command in a macro without deleting the following commands. This is useful for adding a command to the beginning or middle of a macro. The commands inside of the macro are numbered 00, 01, 02... so the first command is numbered 00. It may be helpful to execute command C051 to recall the contents of the macro so that you know where you want to insert the new command. ͻ Description Command Response Ķ Insert CMD C056*XXX YY ZZZ DDD... OK ͼ Parameters: - C056 is the default command name. - XXX is the number of the macro - YY is the where inside of the macro to insert the new command (00, 01, 02...) If YY is larger than the number of commands in the macro, the new command will be appended to the macro. - ZZZ is the command number of the command to insert - DDD is the data for the above command Notes: If you get error 10 when you execute this command, you are probably trying to put more in a macro than it has room to hold. Macros 150..199 are about 50 characters long; 200..249 are about 20 characters long. CW Response: 'I' - CW character 'I' which is "Beep-Beep" Command Description: C057 Event Macro Assign This command allows the user to assign a macro or command call when an event occurs in order to get response or action to occur. These are useful for alarming, and interrogating events that occur. ͻ Description Command Response Ķ Event Table C057*YY ZZZ See Below ͼ Parameters: - C057 is the default command name - YY is the Event Number - ZZZ is the command number to call when an event occurs Default: - All events are disabled - When an event is programmed, the event is enabled CW Response: "XX 'N/F' ###" - XX is the event number - N indicates the event is enabled, F indicates the event is disabled - ### is the command number the event calls Event Table: 00 - Reset Macro 01 - Port 1 Initial ID (Macro 151) 02 - Port 2 Initial ID (Macro 152) 03 - Port 3 Initial ID (Macro 153) 04 - Port 4 Initial ID (Macro 154) 05 - Port 1 Pending ID (Macro 155) 06 - Port 2 Pending ID (Macro 156) 07 - Port 3 Pending ID (Macro 157) 08 - Port 4 Pending ID (Macro 158) 09 - Port 1 Courtesy Beep (Macro 159) 10 - Port 2 Courtesy Beep (Macro 160) 11 - Port 3 Courtesy Beep (Macro 161) 12 - Port 4 Courtesy Beep (Macro 162) 13 - Input 1 Low 14 - Input 2 Low 15 - Input 3 Low 16 - Input 1 High 17 - Input 2 High 18 - Input 3 High 19 - Analog 1 Low Alarm 20 - Analog 2 Low Alarm 21- Analog 3 Low Alarm 22 - Analog 4 Low Alarm 23 - Analog 1 High Alarm 24 - Analog 2 High Alarm 25 - Analog 3 High Alarm 26 - Analog 4 High Alarm 27 - Analog 1 Alarm to Normal 28 - Analog 2 Alarm to Normal 29 - Analog 3 Alarm to Normal 30 - Analog 4 Alarm to Normal 31 - Output 1 ON 32 - Output 2 ON 33 - Output 3 ON 34 - Output 4 ON 35 - Output 1 OFF 36 - Output 2 OFF 37 - Output 3 OFF 38 - Output 4 OFF 39 - Port 1 Timed Out 40 - Port 2 Timed Out 41 - Port 3 Timed Out 42 - Port 4 Timed Out 43 - Port 1 Time Out Clear 44 - Port 2 Time Out Clear 45 - Port 3 Time Out Clear 46 - Port 4 Time Out Clear 47 - User Timer #1 48 - User Timer #2 49 - User Timer #3 50 - User Timer #4 51 - User Timer #5 52 - Port 1 COR just went active 53 - Port 2 COR just went active 54 - Port 3 COR just went active 55 - Port 4 COR just went active 56 - Port 1 COR just went inactive 57 - Port 2 COR just went inactive 58 - Port 3 COR just went inactive 59 - Port 4 COR just went inactive 60 - Port 1 PL just went active 61 - Port 2 PL just went active 62 - Port 3 PL just went active 63 - Port 4 PL just went active 64 - Port 1 PL just went inactive 65 - Port 2 PL just went inactive 66 - Port 3 PL just went inactive 67 - Port 4 PL just went inactive 68 - Port 1 Port just went active 69 - Port 2 Port just went active 70 - Port 3 Port just went active 71 - Port 4 Port just went active 72 - Port 1 Port just went inactive 73 - Port 2 Port just went inactive 74 - Port 3 Port just went inactive 75 - Port 4 Port just went inactive 76 - Error Code 00 77 - Error Code 01 78 - Error Code 02 79 - Error Code 03 80 - Error Code 04 81 - Error Code 05 82 - Error Code 06 83 - Error Code 07 84 - Error Code 08 85 - Error Code 09 86 - Error Code 10 87 - Error Code 11 88 - Error Code 12 89 - Error Code 13 (Bad Autopatch #) 90 - Any RX Connected to Port 1 Active 91 - Any RX Connected to Port 2 Active 92 - Any RX Connected to Port 3 Active 93 - Any RX Connected to Port 4 Active 94 - All RX Connected to Port 1 Inactive 95 - All RX Connected to Port 2 Inactive 96 - All RX Connected to Port 3 Inactive 97 - All RX Connected to Port 4 Inactive 98 - Before Autopatch Off Hook 99 - After Patch On Hook Co mmand Description: C058 Ev ent Macro Recall This command allows the recall of what macro or command an event will jump to when a change occurs. ͻ Description Command Response Ķ Event Table C058*XX See Below ͼ Parameters: - C058 is the default command name - XX is the Event Number Default: All events are disabled CW Response: "XX 'N/F' ###" - XX is the event number - N indicates the event is enabled, F indicates the event is disabled - ### is the command number the event calls Co mmand Description: C059 Ev ent Macro Enable/Disable This command allows the enable/disable control of the automatic event calling. ͻ Description Command Response Ķ Event Control C059*XX 1 (Enable) See Below Event Control C059*XX 0 (Disable) See Below ͼ Parameters: - C059 is the default command name - XX is the Event Number Default: "XX 'N/F' ###" - XX is the event number - N indicates the event is enabled, F indicates the event is disabled - ### is the command number the event calls All events are disabled CW Response: "XX 'N/F' ###" - XX is the event number - N indicates the event is enabled, F indicates the event is disabled - ### is the command number the event calls Ad vanced Command Description: C060 Se t Serial Port's Case Sensitivity This command allows you to select whether or not the serial port converts all characters that you type to upper case or not. The default is to convert them, because all of the default command names are in upper case (they must be to be executed by DTMF). Converting all of the characters makes it impossible to do a few things, however, such as programming serial messages that contain lower case letters. ͻ Description Command Response Ķ Case Sensit. C060*X Y See Below ͼ Parameters: - C060 is the default command name. - X is 1 to make the serial port case sensitive (no automatic conversion to upper case) 0 to make the serial port convert all characters entered to upper case - Y is 1 to send line feeds (the default), 0 not to send them. Sometimes not sending line feeds avoids problems with modems. They can be added back in when carriage returns are received by most communications programs. CW Response: There is no response for this command Command Description: C061 Disconnect all Ports from a Radio Port This command allows you to disconnect all of the other radio ports from one radio port with one command. Please note that if you execute this command for a repeater port, it will disconnect it from itself, breaking it out of repeater mode. To make it a repeater again, you will have to use command C000. If you only want to break some of the connections to a port, see commands C001 and C002. ͻ Description Command Response Ķ Disconnect PortC061*X..X See Below ͼ Shortcut: If you want to break all of the connections to several ports, list all of them. For example: C061*12345678* breaks every connection in the whole crosspoint. Parameters: - C061 is the default command name - X is the port to disconnect all other ports from Example: Disconnect all other ports from Port 4 "C061 * 4" CW Response: 'X' 'C': Where 'C' indicates Clear Advanced Command Description: C062 Change the Beginning of Command Names This command allows you to change the first one, two or three digits of the names of a range of commands. If you specify one digit, all of the command names in the range you specified will become four digits long. If you specify 2, they will be 5 long (and 3, 6). The last three digits of a command's name can not be changed with this command (see command C010). This is to avoid accidently assigning the same name to multiple commands. ͻ Description Command Response Ķ Start of Name C062*XXX YYY Z See Below Start of Name C062*XXX YYY ZZ See Below Start of Name C062*XXX YYY ZZZ See Below ͼ Parameters: - C062 is the default command name. - XXX is the number of the first command in the range that you want to change (000..249) - YYY is the number of the last command in the range that you want to change (000..249). YYY must be greater than XXX. - ZZZ are the new first digits of the command names CW Response: 'XXX' 'TO' 'YYY' 'IS' Z or ZZ or ZZZ Note: Any commands in the range that have names shorter than three digits long will have zeros added before their names to make them three digits long before this command changes the other digits. For example: C062*010 050 D changes: C010 to D010, 123 to D123, A1 to D0A1, # to D00#. Example: You want to change the names of all of the commands in the controller to start with '#' instead of 'C' so that they can be executed from a 12-key touch tone pad: C062*000 249 # You want to make the names of commands 010 through 050 more difficult to guess by making them 6 digits long, starting with the digits 96C: C062*010 050 96C Advanced Command Description: C063..C069 Not Currently Used Preaccess Commands What preaccess is: Preaccess is a method of specifying which controller you are trying to DTMF command that is used by several linking systems. A common configuration would be to enter the "*" key before commanding the local repeater, "#99" before commanding a distant controller via a link, and "#98" before commanding a different controller on the linking system. The advantage of requiring the user to "preaccess" a controller before commanding it is that you can use the same command names on each controller without confusion as to which one you are talking to. This was a very simplified description, but it should give you the idea. What you need to know: Because the preaccess system works quite differently from the way the RLC-4 normally works, there is a lot involved with changing back and forth. Commands C070 and C071 have been provided to make the conversion to preaccess easy and painless. You can convert a port back to non-preaccess mode with C072. The rest of the commands in this section are used to make preaccess work, but you do not need to access them directly, so just ignore them if you want to. You always configure one port at a time for preaccess, so you can set up one port for preaccess and leave another port alone. This allows you to have a mixed system. This might be useful if you want to try out preaccess on one port without forcing all of the users of a repeater on a different port to change the way they do things. It also allows you to use the RLC-4 to interface between linking systems that do things differently. Command Description: C070 Configure a Repeater for Preaccess This command sets up a port as a repeater on a preaccess style system. It does not do anything that you can not do with other commands, it just does a lot of things in one step to make things easier for you. After executing this command for a port, that port will still be connected to other ports according to the crosspoint settings (see commands C000, C001 and C002). It will mute all touch tones from its own receiver and all connected receivers. Touch tones entered from that port will go out all connected transmitters that do not have DTMF muting turned on, as normal. The force-execution (EOF) digit will be "D" instead of the default "*". The "*" key will cause the preaccess command to be executed which will isolate this port from all connected ports and allow local control commands (commands intended to be executed on this controller) to be entered. This "local control mode" will end when the preaccess timer (see command C020 for more info) expires. This timer is reset when DTMF tones are entered. ͻ Description Command Response Ķ Rep Preaccess C070*X YYY See Below ͼ Format: - C070 is the default command name. - X is the port to make a preaccess repeater (1..4) - YYY is the macro assigned to preaccess (162.199). You can choose any unused macro in this range. The controller will automatically program it and change its name. You can check to make sure that a macro is empty with C151. Notes: It is possible to do exactly what this command does by entering a list of other commands. That list and another list describing how to reverse the effects of this command without using C172 are on the next page. CW Response: 'X' 'IS RPT' 'YYY' Where 'X' is the Port # and 'YYY' is the preaccess macro. Setting up Repeater Preaccess Manually: You could do exactly what command C070 does by executing the following list of commands from port X. It is included for your information, not because we recommend doing it this way. If it already works the way you want it to, there is no reason to read this section. Note: X is the port number to change to a preaccess repeater and YYY is the preaccess macro number as listed below): if X = 1, and YYY = 170 (Macro 170 used for this example) if X = 2, and YYY = 171 (Macro 171 used for this example) if X = 3, and YYY = 172 (Macro 172 used for this example) if X = 4, and YYY = 173 (Macro 173 used for this example) C000*XX* make port X into a repeater C052*YYY* delete the old contents of the preaccess macro C053*YYY077X* append to preaccess macro the command to isolate the port when preaccessed C053*YYY074* append to preaccess macro the command to preaccess the port so you can execute all of the commands C072*X1* require preaccess on that port C080*X1* turn on autoexecution C078D* change force-execution key from '*' to 'D' C010YYY*D change name of preaccess macro to '*' Turning Off Preaccess for a Port: C072 is the easy way to turn off preaccess for a port. This explaination is included only for your information. There is no reason you need to read this, unless you want to understand how the controller does preaccess. Here is a list of commands to change the things that C070 does back to factory defaults. You can modify them to change things to what you like. Note that X and YYY are the port and macro numbers as defined above. C078*D change the force-execution key from 'D' to '*' C080X0* turn autoexecution off C072*X0* turn off the preaccess requirement for port X C002*11* turn the port into a link C052*YYY* delete the old contents of the preaccess macro C010*YYYCYYY name the command back to CYYY Command Descri ption: C071 Configure a Li nk for Preaccess This command sets up a port as a link on a preaccess style system. It does not do anything that you can not do with other commands, it just does a lot of things in one step to make things easier for you. After executing this command for a port, that port will still be linked to all connected ports (see commands C000, C001 and C002). The difference is that all commands entered from that port will be ignored except for the preaccess macro. This allows DTMF tones to be passed through the link without it trying to execute them and sending out a lot of error messages. To make the controller accept commands entered from that link port, you must execute the preaccess macro by entering #99 (or whatever your site access code is - you set it with this command). The preaccess macro will execute several commands including C074 which allows you to enter other commands until the preaccess timer (see C020) expires. This is useful for linking systems because all of the controllers on the system can use the same command names, and you can select which controller you want to execute your commands by entering that site's preaccess code (like #99) then the commands you want it to execute. If you desire (and specify it with this command), the preaccess macro will also start dial tone to signal that the site has been accessed. ͻ Description Command Response Ķ Link Preaccess C071*X Y ZZ MMM See Below ͼ Format: - C071 is the default command name. - X is the port to set up as a preaccess link - Y is 0 for no preaccess tone when accessed, 1 for preaccess tone - ZZ is the last two digits of the site access code For example if ZZ is 99, the site access code will be #99. The site access code can be changed to anything up to six digits long by renaming the preaccess macro to that access code. - MMM is the macro assigned for your preaccess data (150..199) Notes: To do what this command does manually, you could execute the list of commands on the following page. To reverse the effects of this command, use C072. Notes on MMM: You must assign a macro that contains the preaccess information. The macro number must be between 150..199 in order to be large enough for all the needed commands. It is important to keep in mind where your ID and Courtesy beep slots are located (Default slots 150..162). CW Response: 'X' 'IS LNK' 'MMM' N/F ## where 'X' is the Port # and 'MMM' is the preaccess macro, 'N/F' is the tone indication, and ## is the 2 digit site code. Setting up Link Preaccess Manually: You could do exactly what command C071 does by executing the following list of commands from port X. It is included for your information, not because we recommend doing it this way. If it already works the way you want it to, there is no reason to read this section. Note: X is the port number to change to a preaccess link and YYY is the preaccess macro number as listed below): if X = 1, and YYY = 170 (Macro 170 used for this example) if X = 2, and YYY = 171 (Macro 171 used for this example) if X = 3, and YYY = 172 (Macro 172 used for this example) if X = 4, and YYY = 173 (Macro 173 used for this example) C002*XX* make port X into a link C052*YYY* delete the old contents of the preaccess macro C053*YYY047* append to preaccess macro the command to preaccess tone (if desired) C053*YYY074* append to preaccess macro the command to preaccess the port so you can execute all of the commands C010*YYY#99* change name of preaccess macro to '#99' C072*X1* require preaccess on that port C080*X1* turn on autoexecution C078D* change force-execution key from '*' to 'D' Advanced Comman d Description: C072 Turn Off Preacc ess for a Port This command allows undoes what C070 and C071 do. It changes a repeater or link port that is set up for preaccess back to a non-preaccess link port, the way it comes from the factory or is after re-initializing. ͻ Description Command Response Ķ Preaccess Off C072*X See Below ͼ Format: - C072 is the default command name. - X is the port for which to turn preaccess off (1..4) CW Response: 'X' 'IS' 'N/F' Advanced Command Description: C073 Recall Ports with Preaccess Requirement This command allows you to determine which ports require preaccess. ͻ Description Command Response Ķ Preaccess C073* See Below ͼ Format: - C073 is the default command name. CW Response: - The response will correspond with the ports requiring preaccess - 'C' indicates no ports are preaccessed Advanced Command Description: C074 Allow Access To a Port that Requires Preaccess This command allows commands to be executed on the port the command is executed from until the preaccess timer which it starts (see command C020 for more info on timers) runs out. It is usually called from the preaccess macro (see Appendix D) for that port, so that when that preaccess macro is executed, it temporarily allows access to the rest of the commands in the controller. ͻ Description Command Response Ķ Allow Access C074* See Below ͼ Format: - C074 is the default command name. CW Response: There is no response for this command Advanced Command Description: C075 Set Stop Access Conditions A port that requires preaccess is said to be "accessed" when an access code has been received. Typically this access code is "*" for a repeater port or "#" and two digits for a link. There are four things that can stop access to a port that requires preaccess after you have entered the access code. When any of them occur, you must enter the access code before that port will accept commands again. The first is the preaccess timer. It starts running when you enter the access code and is re-started whenever you release a DTMF digit. It will never expire while you are holding down a DTMF digit. When no digits have been entered for the length of the timer, it locks up that port. The other three conditions are optional - you can choose whether or not they will cause a ports access to be closed. A command is executed or tries to execute and causes an error. If this condition is enabled, you will not be able to execute the access code once, then multiple commands. You will be able to enter the access code, one command, access code, one command... An error occurs because the digits entered are not a valid command name. If you make a mistake and this condition is enabled, you will have to enter the access code before you can try again. DTMF digits have been entered since the access code was entered and you unkey. This condition doesn't care how many commands you enter or whether they were valid or not; if you enter anything and unkey, you will be forced to enter the access code again. This command allows you to choose whether these optional conditions will cause the ports to be locked up or not. Please note that the timer will always lock up the port after a period of no DTMF tones, these conditions just provide extra security if you want it. ͻ Description Command Response Ķ Allow Access C075*PXYZ See Below ͼ Format: - C075 is the default command name. - P is the port for which to set the stop access conditions (1..4) - X is 1 to enable / 0 to disable stopping access when a command is executed - Y is 1 to enable / 0 to disable stopping access when an invalid command is entered - Z is 1 to enable / 0 to disable stopping access when the COR drops after a DTMF tone has been entered CW Response: 'P'ort number (X) 'N/F' (Y) 'N/F' (Z) 'N/F' Advanced Command Description: C076 Recall Stop Access Conditions This command allows you to recall the conditions that will stop access on a port. See Command C075 for descriptions of the conditions. ͻ Description Command Response Ķ Allow Access C076*P See Below ͼ Format: - C076 is the default command name. - P is the port for which to recall the stop access conditions (1..4) CW Response: 'P'ort number (X) 'N/F' (Y) 'N/F' (Z) 'N/F' Where: - P is the port for which to set the stop access conditions (1..4) Advanced Command Description: C077 Isolate a Port from the Rest of the System This command breaks the audio and ptt links between the specified port and all other ports in the system until the preaccess timer (which it starts) runs out. It temporarily overrides but does not change the crosspoint connections you may have set with command C000 and C001. It is useful for isolating a port while you enter local control commands without the tones going down any connected links. It is usually called from the preaccess macro of a port configured as a repeater. This macro is usually named '*', the local control key. ͻ Description Command Response Ķ Allow Access C077*X See Below ͼ Format: - C077 is the default command name. - X is the port for which to allow access (1..4) CW Response: There is no response for this command Advanced Command Description: C078 Set the EOF digit for a port This command allows you to specify which DTMF digit will be used to force a command to be executed without unkeying. It will also be used to separate the command name from the data you provide. It defaults to '*' for all ports. ͻ Description Command Response Ķ Change EOF C078*X Y See Below ͼ Format: - C078 is the default command name. - X is the port for which to change the force-execution digit (EOF) - 1..4 indicate the corresponding port - 5 indicates the serial port - Y is the new digit to use Notes: Trying to change the current state of the EOF digit to what it currently is will cause an "extra data too short" error message because when you enter it, the command will execute too soon. This error message can be ignored, because the digit is already what you were trying to change it to. When changing the digit from the serial port, any key on the keyboard can be used. If you set the digit for one of the ports to a non-DTMF digit, that port will be forced to unkey to execute commands. This is not recommended. Program the force-execution digits for 1..4 to a valid DTMF character. CW Response: 'X' 'IS' 'Y' Advanced Command Description: C079 Recall the EOF Digit for a Port This command allows you to recall which DTMF digit will be used to force a command to be executed without unkeying. It will also be used to separate the command name from the data you provide. It defaults to '*' for all ports. ͻ Description Command Response Ķ Recall EOF C079*X See Below ͼ Format: - C079 is the default command name. - X is the port for which to change the force-execution digit - 1..4 indicate the corresponding port - 5 indicates the serial port CW Response: 'X' 'IS' 'Y' where 'Y' is the EOF digit. Advanced Command Description: C080 Enable/Disable Automatic Execution Entry for a Port This command allows you to turn on and off the requirement that a command name be followed by a "*" (or other digit if it the force-execution digit has been changed). When automatic "*" entry is turned off (the default), commands that do not need any data (C009 such as recall whole crosspoint) must be followed by a "*" or you must unkey to make them execute. When this command is used to enable automatic entry of the "*" key, the command will be executed as soon as the last digit of the command name is entered. Commands that require data after the command name (such as this one) normally require you to press the "*" key after the command name before the data. When automatic "*" entry is turned on, this is unnecessary. It is still necessary, however, to press the "*" key or unkey your radio after the data has been entered. This is necessary because many commands that require data will accept variable amounts of data and the controller needs some way to know when it has all been entered. It should be noted that when automatic "*" entry is turned on, there are some limitations in what command names can be accessed. If one command name is the same as the first few digits of another command name, you will not be able to access the longer one. For example, if you have renamed the recall time of day command to "1" and the recall date command to "12", when you try to recall the date by pressing "12" the controller will see the "1", notice that is matches the name of the read time of day command and execute it. When it sees the "2", it will not know that it belongs with the "1" to form the command "12", so it will not recall the date. This limitation is the reason that the controller defaults to requiring you to manually enter the "*" key. ͻ Description Command Response Ķ EOF Required? C080*X Y See Below ͼ Format: - C080 is the default command name. - X is the port for which to set the automatic "*" entry (1..4) - Y is 0 to turn the feature off (the default), 1 to turn it on CW Response: 'X' 'IS' 'N/F' Advanced Command Description: C081 Recall Automatic Force-Execution for a Port This command allows you to recall whether or not the requirement that a command name be followed by a "*" (or other digit if it the force-execution digit has been changed) is turned on. See C080 for more information. ͻ Description Command Response Ķ EOF Required C081* See Below ͼ Format: - C081 is the default command name. CW Response: The response will list all the ports set-up for auto-execution Command Description: C082 Select EOF-Entered Command Commands that take data after the command name (like C000) are usually entered as '*' , where the '*' is the EOF digit that indicates that you are done entering the name and are now entering the data. Another example of this type of command is C112, the forward dial autopatch command. Using it, you would normally enter C112* to dial a number. To accommodate the many users that are used to just pressing '*' and the phone number, this command can enter the name for them. When the EOF digit (usually '*') is the first digit pressed after keying a receiver, the controller will automatically enter the name of a command. Which command's name gets entered is what you specify with this command. It defaults to a command that does nothing, but can be set to enter the name of any command. ͻ Description Command Response Ķ Set EOF Cmd C082*XXX See Below Default Cmd C082*083 See Below ͼ Parameters: - C082 is the default command name - XXX is the number of the command to be entered automatically (000..249) Example: To make the '*' key automatically enter the forward dial autopatch command (command number 112), enter C082*112*. Now to dial a number, you can simply key up and enter '*' . Of course you can still dial a number the normal way with C112* . Command Description: C083 Do Nothing This command does nothing. After executing, it returns an OK error code like most other commands do. It is used as the default command to execute for commands like C082 and C057.. ͻ Description Command Response Ķ Do Nothing C083 See Below ͼ Parameters: - C083 is the default command name Command Description: C084 Not Currently Used ID Control How the IDs Work: Whenever an ID needs to be sent, the appropriate automatic macro is called. You program your IDs by programming those macros (see Appendix D for macro definitions). The following group of commands allow you to disable IDing for a port or change how the periodic IDs are sent. Advanced Command Description: C085 Enable/Disable IDing a Port This command allows you to enable or disable the IDing functions for a port. Normally all ports are IDed, including link ports. Often this is not desired. This command allows you to turn off the IDing functions. ͻ Description Command Response Ķ En/Disable C085*X Y See Below ͼ Format: - C085 is the default command name. - X is the port for which to enable or disable the IDs (1..4) - Y is 1 to enable IDs, 0 to disable them The default is enabled Note: if you only want to disable some of the IDs for a port, keeping the pending IDs but not the initial ID, for example, just delete the ID macro that you don't want to do anything. Refer to command C057 for ID event assign. CW Response: 'X' 'IS' 'N/F' Advanced Command Description: C086 Recall Which Ports have IDs Enabled This command lists the ports that have IDing enabled. If all ports do, it send "1234". ͻ Description Command Response Ķ En/Disabled? C086* See Below ͼ Format: - C086 is the default command name. CW Response: The response lists the ports that have ID's enabled Command Description: C087..C089 Not Currently Used The I/O Interface About the I/O System: The RLC-4 provides 3 logical inputs, 4 logical outputs and 4 analog input lines. They are all handled totally separately in software; each command applies to only one of the three types of lines. Each type will be described below. Please note that you can control how often the RLC-4 checks the input line and analog alarms by using C020 to change the reset value of timer 16. The default is to check the alarms once per second. Logical Input Lines: The logical input lines are used to detect whether a line is "high" or "low". High means that the voltage read by that line is above approximately 2.5 volts. Low means that the voltage is below about 1 volt. The range between 1 volt and 2.5 volts is indeterminate. If the line is not connected, a 10K internal pullup resistor to 5 volts will make the line read high. This pullup allows you to easily read whether a switch is open or closed. Simply connect the switch between the input line and ground. If the switch is closed, the input will read low. If the switch is open, the pullup resistor will make the input line read high. The input line can handle voltages up to +40 volts. Do not apply negative voltage to an input line. Input lines can be used in three ways. Command C090 can read an input line and tell you whether it is high or low. There is also a way to assign a custom CW message to each state of an input line, such as "door open" and "door shut" (instead of high and low). To do this, program the CW messages you want to be spoken for the high and low states into the input line macros (See Command C057 for input line macro assign). You can then cause the appropriate message to be sent by executing command C091. If you want a message to be sent whenever an input line changes from high to low or low to high, you can cause the macros you programmed in the step above to automatically be executed at those times by enabling an "input line alarm" with command C092. You could use this feature along with a door switch to tell you when someone opens or closes a door. Logical Output Lines: The logical outputs are "open collector" outputs. That means that they can connect the output line to ground (turn it on) or disconnect it (turn it off). The output lines never output any voltage. The way they are commonly used is to connect one lead of the coil of a relay (or whatever else you want to control) to 12 volts and the other lead to an output line. When the output is turned on and applies a ground, the coil of the relay will be energized and will turn the relay on. The output line can "sink" (apply a ground) of about 150 milliamps. Connecting an output line directly to a power supply and turning it on will destroy the output driver IC. Make sure that whatever you are turning on and off draws less than 150mA. The output lines can be turned on and off with C093 and C094. You can recall whether a line is currently on or off with command C095. If you want to send a custom message when you turn an output on or off, program one of the user macros to speak the message you want, execute C043 (to suppress the rest of the CW responses), and then turn the output line on or off. Analog Input Lines: The analog input lines are designed to read a voltage on one of two ranges: 0 to 5 volts, or 0 to 25 volts. You can select which range is used with the DIP switch labeled "Divider" located near the "Options" connector. If the switch is on, you will be using the 0 to 25 volt scale, because it "divides" the input voltage by 5. No matter which way the switch is set, most of the discussions about the analog inputs will send the voltage input as being 0 to 5 volts since the voltage divider is in hardware and the software doesn't know whether the divider is turned on or not. If you do have the divider turned on, just remember that 5 volts to the software means 25 volts to you. The RLC-4 provides a lot of flexibility in how it reads the analog input lines. Unfortunately, this also makes things a little bit complicated. Charts have been provided so that you can use the input lines without understanding how all of the math works, but if you have a unusual application, the RLC-4 can handle that as well. The following paragraphs explain what some of the options are when reading analog lines. The way you select from those options is described with the commands themselves. "Resolution" refers to how many digits after the decimal place you want to know about. Temperature is usually read to the nearest degree, zero digits after the decimal. When reading a battery or power supply's voltage, you probably want to hear more than "thirteen volts" or "fourteen volts", something like "thirteen point six volts". To obtain this kind of reading, you would specify one digit after the decimal point. The "conversion ratio" specifies how the controller interprets the voltage it detects. It could also be called the "scale" or "meter faceplate". If you are measuring wind speed, you may want a reading that varies from zero to 100 MPH. If wind direction, zero to 360 degrees. If pH, zero to 14. If temperature, way below zero to a hundred degrees or more. No matter what scale you want the reading to use, the voltage going into the analog line must be between 0 volts and 5 volts (or 0 and 25 with the voltage divider on). If you have a sensor to measure something in the physical world that can provide a voltage that varies between 0 volts and 5 volts (or 25...), you can set up the conversion ratio to handle it. The point of this discussion is to make it clear that the controller does not care what the real-world quantity is, it just needs a variable voltage and the proper conversion ratio, and it can handle it. You tell the RLC-4 what the conversion ratio is by specifying two points: The first is what real world quantity would cause the sensor to output 0 volts. In many cases this is zero. For example, if you are using a small motor with a propeller to detect wind speed and the wind is not blowing, you will get 0 volts. But what about temperature? If our sensor outputs 0 volts for zero degrees, how would we get negative temperature readings? The analog lines can only accept positive voltages. The answer is that we use a temperature sensor that outputs about 2.73 volts at zero degrees, less than that when below zero and more than that when above zero. So our first conversion point for temperature says that it would have to be 460 degrees below zero to get 0 volts out of the sensor. The second point we set specifies what real world quantity would cause the sensor to output 5 volts (or 25 with the voltage divider turned on). If your wind speed detector outputs 5 volts when the wind is blowing 150 MPH, this point would be 150. For the temperature sensor (we use the National Semiconductor LM335Z), it would have to be 440 degrees out to get 5 volts out of the sensor. "Calibration" refers to correcting for small errors in a reading. If your the controller tells you it is 85 degrees when it is 88, you can calibrate it to correct for the small error. If it is way off, you probably have the conversion set wrong. You can also set "analog alarms". These will cause a macro to be executed whenever the value read on one of the analog lines goes above or below a preset value. See commands C104..C07 for more information. If you want to use an analog input to control a rotor, see Appendix F. C ommand Description: C090 R ead Whether Input Line is High or Low This command allows you to read the input lines. If they are not hooked up they will read high (they have internal pullups). ͻ Description Command Response Ķ Read Input C090*X See Below Read Inputs C090*X..X See Below ͼ Note: to provide customized messages for the input lines, see command C091. Format: - C090 is the default command name. - X is the input line number (1..3) Note: Multiple input lines can be read with one call to this command by entering more than one port number here. CW Response: 'X' 'IS' 'N/F' Where 'N' is On and 'F' is Off Command Description: C091 Execute Input Line High or Low Macro This command is similar to C090. The difference is that instead of sending CW "H" or "L", the high or low internal macro for that input line will be executed. This allows you to program custom messages such as "door open" and "door shut". See Appendix D for to find the macro numbers for each input line. ͻ Description Command Response Ķ Read Input C091*X See Below Read Inputs C091*X..X See Below ͼ Format: - C091 is the default command name. - X is the input line number (1..3) Note: Multiple input lines can be read with one call to this command by entering more than one port number here. CW Response: There is no response for this command. If response is desired, simply put it inside your input line macros that are assigned using Command C057. Command Description: C092 Enable/Disable Input Line Alarm This command allows you to turn on input line alarms that will occur whenever an input line goes high or low. When the alarm occurs, it will execute the input line high or low macro. Note that these are the same macros that get executed by C091 whenever the input line is read. The high and low alarms can be enabled or disabled separately. ͻ Description Command Response Ķ Input Alarms C092*Y Z Q See Below ͼ Format: - C092 is the default command name. - Y is the input line number (1..3) - Z is 1 for the high alarm, 0 for the low alarm - Q is 1 to enable the alarm, 0 to disable it Note: There is currently no command recall whether the input line alarm is turned on or off. CW Response: 'Y' 'IS' 'H/L' 'N/F' Where 'H' is High Alarm and 'L' is Low Alarm and 'N' is Alarm enabled and 'F' is Alarm disabled. Command Description: C093 Turn Output Line On This command allows you to turn an output line on. The outputs are active low open collector drivers, so on means that they apply a ground to that output. Off means that the output is open, or not hooked to anything. ͻ Description Command Response Ķ Output On C093*Y See Below Outputs On C093*Y..Y See Below ͼ Note: to provide customized messages when turning output lines on or off, use a macro that both executes this command and the send a CW message command (C030). Format: - C093 is the default command name. - Y is the output line number (1..4) Note: Multiple output lines can be turned on with one call to this command by entering more than one port number here. CW Response: 'Y' 'IS' 'N' Where 'N' is On Command Description: C094 Turn Output Line Off This command allows you to turn an output line off. The outputs are active low open collector drivers, so on means that they apply a ground to that output. Off means that the output is open, or not hooked to anything. ͻ Description Command Response Ķ Output Off C094*Y See Below Outputs Off C094*Y..Y See Below ͼ Note: to provide customized messages when turning output lines on or off, use a macro that both executes this command and the send a CW message command (C030). Format: - C094 is the default command name. - Y is the output line number (1..4) Note: Multiple output lines can be turned off with one call to this command by entering more than one port number here. CW Response: 'Y' 'IS' 'F' Where 'F' is Off Command Description: C095 Recall Whether Output Line is On or Off This command allows you to read the output lines. This command will tell you whether the output line is turned on or off. ͻ Description Command Response Ķ Recall Output C095*Y See Below Recall Outputs C095*Y..Y See Below ͼ Format: - C095 is the default command name. - Y is the input line number (1..4) Note: Multiple output lines can be recalled with one call to this command by entering more than one port number here. Note: To provide a customized message when an output line is turned on or off, call C093 or C094 from a macro that also speaks a CW message. There is no easy way to get a customized message to recall whether a line is on or off at the current time without turning it on or off again. If you really need custom recall messages and you are very familiar with macro programming, read the following, otherwise don't bother. The idea is to use a macro to call the output line on and off commands. Also in that on/off macro, call the program-single-command-macro command and program another macro (we will call it the recall macro) to speak the appropriate recall message. That recall macro could then be executed to find out whether the output line was turned on or off last. In other words, we would use the on and off macros to program the recall macro. Whichever on/off macro was executed last would have programmed the recall macro last, making it contain the appropriate message. If you didn't understand all of this, don't worry about it, use this command, and wait for a later software version that will make all of this easier. CW Response: 'Y' 'IS' 'N/F' Where 'N' is On and 'F' is Off Command Description: C100 Read Analog Input Line This command allows you to read the analog input lines. The number that is read back will depend on three other things: the precision used (set with command C101), the conversion scale (set with command C102), and the calibration (set with command C103). When you want to read the analog lines as part of a custom message such as "The temperature is ??? degrees fahrenheit" you should use the read-analog-input special words (see words numbered XXX and higher in Appendix B). They will allow you to read the input without all of the extra Line ?" words that you won't want in your messages. ͻ Description Command Response Ķ Read Analog C100*Y See Below Read Analogs C100*Y..Y See Below ͼ Format: - C100 is the default command name. - Y is the analog input line number (1..4) Note: Multiple input lines can be read with one call to this command by entering more than one port number here. CW Response: The analog line(s) will be read and its value will be sent in CW. Example: You want to make macro 199 send "TEMP" and then read analog line 1: C050*199 030 29 14 22 25* Send "TEMP" in CW C053*199 100 1* Read Analog 1 Command Description: C101 Set Resolution For Analog Input This command allows you to specify how many digits after the decimal point will be used when reading each analog input line. If you want to read voltage to 1/10 of a volt, you specify one digit after the decimal point. This decimal point is assumed in the other analog commands since there is no good way to enter a decimal point on a DTMF pad. If you specify one decimal place with this command, the other analog commands will assume that the numbers you enter have an assumed decimal point one digit from the end. In other words, if you want to specify a value of 12 volts and you are using one digit after the decimal point, you must enter 120. The descriptions of those commands will explain this in more detail. ͻ Description Command Response Ķ Set Precision C101*Y Z See Below ͼ Format: - C101 is the default command name. - Y is the analog input line number (1..4) - Z is the number of digits after the decimal point (0..3) CW Response: 'Y' 'IS' 'Z' If you don't care what happens if you exceed the resolution of the converter, skip all of the following information and ignore this command. Please note that although you can specify as many as 3 decimal places, that doesn't mean that the analog to digital converter has that much resolution. It accepts a voltage between 0 and 5 volts (at the processor, voltage dividers and external to the RLC-4 can both affect the maximum voltage that can be handled) and can differentiate 255 levels within that range, about 20mV per level. LM335 temperature sensors output a voltage of 10mV per degree Kelvin (celsius - 273). This corresponds to about 5mV (10mV * 5/9) per degree fahrenheit. If a temperature sensor is hooked up with no voltage divider (the recommended way since it outputs less than 5 volts), this gives approximately one degree resolution (it is actually slightly better than a degree). There is no reason to try to read temperature with two decimal places when the actual resolution of the conversion is only to the even degree (0 decimal places), it would just add meaningless digits. Even one digit after the decimal point is pushing it - it would sound like you were getting 1/10 degree resolution even though you would really only be getting about 1/2 degree resolution. We recommend reading temperature to the nearest degree (0 digits after the decimal point). Another example: reading battery voltage. Since your battery probably supplies between 12 and 14 volts, it can be read with the voltage divider on the I/O board switched on to provide a range of 0..25 volts. This is 5 times the range (25/5=5) that is presented to that processor, so your precision is reduced to 1/5 of what it was (from 5mV to 25mV). You can therefore read your battery voltage with one digit after the decimal point (100mV resolution) and waste a little resolution, or use two digits after the decimal point (10mV) and exceed the resolution of the converter. Let us suppose that we are trying to read the voltage supplied by a 3 volt battery pack with 3 digits after the decimal point (1mV resolution). Remember that the converter has only 20mV resolution (let us suppose it is exactly 5mV for this example). If the battery voltage is 3.021 volts, the converter will round it to 3.020. If the voltage is 3.025 volts, the converter will round it to 3.030. No matter what you do, the last digit read will always be 0 or 5. The number read back by the controller will sound like it has 10mV resolution, but the reading will only have 20mV resolution. If all of this has confused you, ignore it and select 0 digits after the decimal point (or leave it alone if you haven't changed it - 0 digits is the default). Command Description: C102 Set Conversion Ratio For Analog Input This command allows you to select what scale the analog inputs are read on. This allows you to use the analog inputs to read temperature on a scale from hundreds of degrees below zero to hundreds above, battery voltage on a scale from 0 to 25 volts or wind direction from 0 to 360 degrees. Anything that can generate an analog voltage can be read on a scale appropriate to the measurement. Unfortunately, this flexibility brings with it a little complexity. To make it easy, we provide a chart of the common conversions you might use. If you want to use a conversion that is not listed, read the explanations after the chart and study the examples on the chart. Once you see the pattern, the calculations are not difficult. Please note that regardless of the conversion used, the voltage entering must be between 0 and 5 volts when the voltage divider is not used, and 0 and 25 volts when it is used. ͻ Description Command Resolution Ķ General Form C102* Y N WWWW M ZZZZ Temperature C102* Y 1 0460 0 0440 1 degree F (0) Temperature C102* Y 1 0273 0 0227 1 degree C (0) 0 to 5 volts C102* Y 0 0000 0 0005 1 volt (0) 0 to 5 volts C102* Y 0 0000 0 0050 1/10 volt (1) 0 to 5 volts C102* Y 0 0000 0 0500 1/100 volt (2) 0 to 25 volts C102* Y 0 0000 0 0025 1 volt (0) 0 to 25 volts C102* Y 0 0000 0 0250 1/10 volt (1) 0 to 25 volts C102* Y 0 0000 0 2500 1/100 volt (2) 0 to 100 % C102* Y 0 0000 0 0100 1 percent (0) 0 to 360 deg C102* Y 0 0000 0 0360 1 degree (0) ͼ Notes: The numbers in parenthesis in the resolution column indicate the number of digits after the decimal point (see command C101). Format: - C101 is the default command name. - Y is the analog input line number (1..4) - N is 1 for negative, 0 for positive for the following number - WWWW is the reading with a 0 volt input with leading 0s if necessary - M is 1 for negative, 0 for positive for the following number - ZZZZ is the reading with a 5 volt input to the processor with leading 0s if necessary. If the voltage divider is turned on, this is the reading with a 25 volt input. CW Response: The response depends on what digits you enter. If the conversions provided in the chart are what you need, don't bother reading this section. It describes how to come up with your own conversions. The conversion is simply a linear ratio. You provide a reading that corresponds with 0 volts at the processor and another number that corresponds with 5 volts at the processor, and the controller just does a linear interpolation. First we will describe some of the conversions in the table, then illustrate how to come up with your own: 0 to 5 volt, 1 volt resolution, no voltage dividers: This is about as straightforward as it can get. When it reads 0, it converts it to zero. When the processor reads 5 volts, it converts it to 5 volts. 0 to 5 volt, 1/10 volt resolution, no voltage dividers: When it reads 0, it converts it to zero. To get 1/10 volt resolution, we need to use one digit after the decimal point. Because of this we have to assume one decimal point when we enter the conversion points. When the processor reads 5 volts, we need to convert to 50, which with one assumed decimal place, is 5.0 volts. 0 to 5 volt, 1/100 volt resolution, no voltage dividers: When it reads 0, it converts it to zero. To get 1/100 volt resolution, we need to use two digits after the decimal point. When the processor reads 5 volts, we tell it to convert it to 500, which with one assumed decimal place, is 5.00 volts. Temperature in Celsius, 1 degree resolution, no voltage dividers: The key to figuring this one out is knowing how the LM335 temperature sensor works. It provides an output voltage of 10mV per degree kelvin. It should therefore output zero volts at zero degrees kelvin. Zero degrees kelvin is minus 273 degrees celsius, so that is our first conversion point, -273. The 5 volt conversion point would be reached at 5V/10mV per degree = 500 degrees kelvin, or 227 degrees celsius (above zero). This is our other conversion point. Temperature in Fahrenheit, 1 degree resolution, no voltage dividers: This conversion is very similar to the one for celsius temperature. 0 degrees kelvin is -460 degrees fahrenheit. 500 degrees kelvin is 440 degrees fahrenheit. 0 to 25 volt, 1 volt resolution, with the voltage divider: The difference between this and the 5 volt conversion is the voltage divider. The divider cuts the received voltage to 1/5 before passing it on to the processor. In other words, the zero point does not change, but the full-scale reading is now 25 rather than 5 volts. Since we want it to read 25 volts when we give it 25 volts, the zero point is 0 and the full scale point is 25. Seems too easy, doesn't it? The other resolutions of the 0 to 25 volt conversions are left to a comparison with the 5 volt conversions. One more example will illustrate how to develop a conversion that is not listed in the chart. Let us assume that we want to read the wind speed at our site and that we have an anemometer (wind speed detector) that reads 10 volts at 100 MPH. Since the maximum voltage is between 5 and 25 volts, it will work nicely with the voltage divider in the circuit. We will assume that 0 volts are produced when the wind is not blowing and that it increases linearly from there. That sets our zero point to be zero. We must calculate our full scale reading as if it will occur at 25 volts, even though the sensor will never put out that much voltage, because that is the 5 volt full scale reading at the processor times the 5:1 voltage divider ratio. What we need to know is how fast the wind would have to blow to give us a 25 volt signal. A simple ratio will give us the answer: 100 MPH = X MPH 10 volts 25 volts Cross Multiplying: 100 * 25 = 10 * X, 2500 = 10 * X, X = 250 MPH We now know that the low point is 0, the high point is 250, and that we need to use the voltage divider. Command Description: C103 Calibrate an Analog Input This command allows you to correct for small amounts of error in reading analog sources. It should not be used until the resolution and conversion ratios are set (with commands C101 and C102). It is not intended to fix readings that are way off (more that 20 percent or so). If you are getting a reading that is a long way off, go back to C102 and correct the conversion ratio. This command accepts as input the correct value for an analog input line and adds or subtracts the right amount from the reading it is receiving to make it equal what you say it is. To get rid of this correction factor, execute the reset calibration form of this command shown in the table below. Note that the value you enter will have as many assumed decimal places as you set with command C101. ͻ Description Command Response Ķ Calibrate C103*Y N WWWW See Below Reset Calib. C103*Y 2 ͼ Format: - C103 is the default command name. - Y is the analog input line number (1..4) - N is 1 for negative, 0 for positive for the following number - WWWW is the actual value that should be read by the sensor. CW Response: The response will depend on your entered digits. Advanced Command Description: C104 Set an Analog Alarm This command allows you to set an alarm that will occur when an analog reading goes below a low alarm point or above a high alarm point. When the alarm occurs, it will execute an internal macro (see Appendix D for internal macro definitions). You can program this internal macro to do anything, turn output lines on or off, send a response, change your courtesy beep, etc. The alarm point will be checked at intervals determined by the length of the input alarm timer (see command C020). When the analog reading comes out of alarm by the "hysteresis" amount (set with command C105), the analog alarm clear macro will be executed. You might want to program this macro to change an output line and/or speak an alarm clear message. Note that the value you enter will have as many assumed decimal places as you set with command C101. ͻ Description Command Response Ķ Set Alarm C104*Y L N WWWW See Below ͼ Format: - C104 is the default command name. - Y is the analog input line number (1..8) - L is 0 for a low alarm, 1 for a high alarm - N is 1 for negative, 0 for positive for the following number - WWWW is the alarm point with leading 0s if necessary CW Response: The response will depend on your entered digits. Advanced Command Description: C105 Set Analog Alarm Hysteresis Hysteresis is a concept not everyone is familiar with, so let me illustrate it before I try to explain how to use it. Let us suppose that you are using one of the analog lines to read the temperature inside of your building. In the winter, you want the controller to automatically turn the heater on and off to keep the temperature above 40 degrees. To do this you decide to control the heater with a relay that you can switch with one of the output lines. Next you set a low alarm at 40 degrees and program the low alarm macro for that analog line to turn the heater on and speak the message "low alarm". Now you need a way to turn the heater back off. To do this you use the analog alarm to normal macro to turn the heater off and speak the message "low alarm clear". This is where hysteresis comes in. Do you want the heater to turn off at 41 degrees? This would probably make the heater turn on and off really often. It might be better if it warmed up to 45 degrees before the heater turned off, so it would turn on and off less often. The amount that it has to warm up past where the low alarm point was is the amount of hysteresis, in this case 5 degrees. In the case of a high alarm (such as would be used to run an air conditioner, the amount of hysteresis is how much the temperature would have to drop below the high alarm point before the alarm to normal macro would be executed. The amount of hysteresis is the same for the high and low alarms (if this is not acceptable for your application, let us know). This command lets you set how much hysteresis each analog line uses when determining whether the alarm is clear yet. Note that the value you enter will always be positive and will have as many assumed decimal places as you set with command C101. ͻ Description Command Response Ķ Set Hysteresis C105*Y WWWW See Below ͼ Format: - C105 is the default command name. - Y is the analog input line number (1..4) - WWWW is the alarm point with leading 0s if necessary CW Response: The response will depend on your entered digits. Advanced Command Description: C106 Enable/Disable an Analog Alarm This command allows you control whether or not the analog alarms will occur without having to mess with the alarm points. This might be used to turn off a low temperature alarm while you are working at a site and have the door open or to disable turning a heater on when you are running on battery power. If an alarm is disabled, command C107 will still tell you whether or not the line is in alarm, but the alarm macro will never execute. ͻ Description Command Response Ķ Enable/Disable C106*Y L N See Below ͼ Format: - C106 is the default command name. - Y is the analog input line number (1..4) - L is 0 for a low alarm, 1 for a high alarm - N is 1 to enable the alarm, 0 to disable it CW Response: 'Y' 'IS' 'H/L' 'N/F' Where 'H' is High Alarm and 'L' is Low Alarm and 'N' is Alarm enabled and 'F' is Alarm disabled. Advanced Command Description: C107 Recall Analog Lines in Alarm This command lists all of the ports in high alarm, then all of the ports in low alarm. It is helpful when trying to find out whether you have set the alarm points correctly. ͻ Description Command Response Ķ Recall Alarms C107* See Below ͼ Format: - C107 is the default command name. CW Response: - If the response reads 'H' 'C' then the High analog alarms are clear - If the response reads 'L' 'C' then the Low analog alarms are clear - The response will list all channels in alarm: - 'H' XXXX Where 'XXXX' are the channels in high alarm - 'L' XXXX Where 'XXXX' are the channels in low alarm Ad vanced Command Description: C108 Re call Analog Line Configuration This command recalls all kinds of information about an analog line's conversion, resolution, calibration, alarm points, hysteresis, alarm enabled/disabled status, etc. It intended to aid in setting up the analog subsystem, not as a user command. ͻ Description Command Response Ķ Recall Config C108*Y See Below ͼ Format: - C108 is the default command name. - Y is the analog input line number (1..4) Description of the CW response: "A #" - which analog input referred to (1..4) "### V" - the lower calibration point "### V" - the upper calibration point "C ###" - how many units the calibration changes the reading "L ###" - the low alarm point "H ###" - the high alarm point "Y ###" - the amount of hysteresis "L N/F" - whether alarm is on or off "H N/F" - whether alarm is on or off The Autopatch Configuring the Autopatch: Port 4 is the only port that can be used as the autopatch port. C110 allows you to specify whether or not you want the autopatch to read back the number it is about to dial. If you select to have the number read back, you can choose whether it should read it back "politely" (so it can be interrupted by kerchunking) or "impolitely" (it always reads back the whole number). Autopatch Up Commands: There are three different commands that can be used to access the autopatch but none of them can be executed from the serial port. Manual Off Hook: C111. This command connects the radio port to the phone line without dialing any numbers. You can dial phone numbers without DTMF regeneration by executing this command, waiting for dial tone, and entering the number on your DTMF pad. Since the tones are not captured and regenerated but go out directly onto the phone line, there is no long distance checking, etc. Normal Forward Dial: C112. This command is the one you would usually make available to users. Two digit numbers will access autodial slots, 4 through 11 digit numbers will be checked against the dialing tables (explained later), then regenerated over the phone line. If you have specified pre-dial digits (such as a '9' to get out of a local PBX) with command C115, they will be dialed first. Special Forward Dial: C113. This command is similar to the normal forward dial but it bypasses the dialing table checks. It is the most convenient way to bypass all of the long distance checking. It will dial any predial digits that you have programmed with C115. Special Forward Dial without Predial Digits: C109. This command is the same as the above command except that the predial digits are not dialed before the rest of the number. Hanging Up: No matter which command was used to bring up the autopatch, command C114 will hang it up. If you want to have more than one hang up command, just make several different macros call C114. Connected Ports: Any ports that are connected to or monitoring the port you make the autopatch call from will also be included in the autopatch call. For example, if you have connected repeaters and someone wants to make a call from one of them, you can bring the patch up for them from the other one. Predial Digits: Autopatches that are on a PBX often have to dial a '9' or some other combination of digits to reach the outside world. The RLC-4 has the ability to dial these digits for you. You can tell it what digits to dial and how long of delays to use before and after these "predial digits" with command C115. These digits will be dialed before every number that is dialed with the forward dial commands. You can chose whether or not they should be dialed before each autodial number. This allows you to dial numbers that do not require the predial digits by putting them in an autodial slot. The Autodialer: There are 100 user macros, the upper 50 macros are 20 digits in length. These macros can be used as autodial slots. The macros can support up to a 16 digit number. With a total of 100 macros, the user can decide how many or how few slots needed. Limiting Call Length: The time out timer for the autopatch port is the total length of the call. When the timer expires, it initially hangs up the autopatch, then it executes the autopatch port's time out event (See Commands C057,58,59) If you would like a message sent when this happens, have the macro assignment in Command C057 call a macro. This macro should be programmed to send the CW message or other indication that the patch has timed out. Thirty seconds before the patch times out, three beeps will be sent both out the radio port and to the telephone to warn the users that the patch is about to time out. Twenty seconds before time out, two beeps are sent, and at ten seconds before, one beep is sent. The CW characters 'S', 'I', and 'E' are used for these warning beeps. If you want to reset the patch time out timer during a call, use command C023 to reset the time out timer for the autopatch port (timer 41): C023*41. Of course you can write a macro to do this. How the Dialing Tables Work: The Allowed-Prefixes Table: The RLC-4 supports 5 (Area Code) + (Prefix) number filter slots. These slots can contain a "wildcard" digit which the controller sets as the '#' digit. The user can enable all prefixes within an area code by entering: (ACD) ### - where the "ACD" is the allowed area code, and the ### says to ignore the prefix following the area code. Nuisance Number Disallow Table: The RLC-4 supports a 5 nuisance number dis-allow table. If the user enters a number that is found in the nuisance table, the controller will throw away the entered number. The number can vary from 1..11 digits in length. Advanced Command Description: C109 Forward Dial with no Long Distance Checking or Predial This command is the same as C113, except that the predial digits (see C115) are not dialed before the number. One of the times this would be useful is when you need to dial an internal extension on a PBX, but you have the predial digits set to dial out. You would not normally make this command available to the average user, because it would allow them to dial any number, including long distance numbers. This command can be called from a macro to make "autodial numbers". ͻ Description Command Response Ķ Dial Number C109*Y..Y See Below ͼ Format: - C109 is the default command name. - Y..Y is the phone number you want to dial Note: if you want to get rid of the '*' between the command name and the phone number, look into command C082. CW Response: The response depends on the configuration of the autopatch readback (see C110). If the response is 'AP F', the patch needs to be configured with C110. Examples: You want to dial the number 1 (406) 482-7515: C113*14064827515 You want to dial the above number as an autodial number using macro 200: C050*20011314064827515 . Now executing macro 200 will dial the number. You can rename macro 200 to A00 (for "Autodial 00") or any other name with C010 like this: C010*200A00 . Com mand Description: C110 Con figure the Autopatch This command allows you to choose whether and how the number is read back before it is dialed. ͻ Description Command Response Ķ Config Patch C110*X Y See Below ͼ Format: - C110 is the default command name. - X is the Enable/Disable autopatch Bit 1 - Enables the autopatch 0 - Disables the autopatch - CW response is 'C' Note: when the patch is disabled, port 4 is set up as a link radio port. - Y is the readback style, described below: 0 - do not read the numbers back before dialing them 1 - read them back 2 - read back w/ DVR Note: When you make an autopatch call, command execution from the telephone will be disabled. The only time commands will be allowed from the telephone is when you use reverse patch mode 2. CW Response: If the patch is disabled: 'C'. Otherwise: 'N/F' 'Y' Where 'N/F' is controlled by the 'X' variable and 'Y' is the readback style Ad vanced Command Description: C111 Ma nual Off Hook This command connects the port from which the command is executed to the autopatch without dialing any numbers. Touch tones from your radio can be used to dial numbers without DTMF regeneration. Command C114 can be used to hang up the patch. ͻ Description Command Response Ķ Manual O.H. C111* See Below ͼ Format: - C111 is the default command name. CW Response: There is no response for this command if it is successful. If the patch needs to be configured with C110, it sends 'AP F'. Command Description: C112 Normal Forward Dial This is the normal autopatch up command you would make available to your users if you want an open autopatch. It will only dial numbers 5 to 11 digits long, and those numbers only if they are enabled with command C117 and not blocked with C119. The combination of these three commands should give you the ability to block all long distance numbers. If you wish to dial numbers shorter than 5 digits, longer than 11 digits, or numbers that are not allowed by C117 or C119, use command C113. Command C114 can be used to hang up the patch. ͻ Description Command Response Ķ Dial Number C112*Y..Y See Below ͼ Format: - C112 is the default command name. - Y..Y is the phone number you want to dial Notes: If you want to get rid of the '*' between the command name and the phone number, look into command C082. CW Response: The response depends on the configuration of the autopatch readback (See C110). If the response is 'AP F', the patch needs to be configured with C110. Advanced Command Description: C113 Forward Dial with no Long Distance Checking This is the autopatch up command you would use if you wanted to dial a number without worrying about whether or not it is allowed by the dialing tables. You would not normally make this command available to the average user, because it would allow them to dial any number, including long distance numbers. This command can be called from a macro to make "autodial numbers". ͻ Description Command Response Ķ Dial Number C113*Y..Y See Below ͼ Format: - C113 is the default command name. - Y..Y is the phone number you want to dial Note: if you want to get rid of the '*' between the command name and the phone number, look into command C082. CW Response: The response depends on the configuration of the autopatch readback (see C110). If the response is 'AP F', the patch needs to be configured with C110. Examples: You want to dial the number 1 (406) 482-7515: C113*14064827515 You want to dial the above number as an autodial number using macro 200: C050*20011314064827515 . Now executing macro 200 will dial the number. You can rename macro 200 to A00 (for "Autodial 00") or any other name with C010 like this: C010*200A00 . Com mand Description: C114 Han g up the Autopatch This is the command to use to hang up the autopatch, no matter which of the three autopatch up commands you used to take it off-hook. ͻ Description Command Response Ķ Hang Up C114* See Below ͼ Format: - C114 is the default command name. CW Response: Normally 'AP F'. If you want to change this message, use a macro to hang up the patch. Program that macro to send the message you want, then call C043 to silence all further messages, then call this command. Advanced User Note: If you have changed the way error 0 and error 1 are handled (with C057), you may notice an error 0 or error 1 message being sent by CW or out the serial port when the patch is hung up. This is because the number that was dialed (sent down the phone line) was echoed by the imperfect hybrid in the autopatch and decoded by the autopatch port's DTMF decoder. Since the telephone is not allowed to execute commands during a forward patch call, these digits cause an error. The default error handlers (commands 134..147) which are called by C057 when these errors occur, will not be seen or heard in this case, so it will only affect you if you have changed these error handlers. Advanced Command Description: C115 Set the Predial Digits and Timing When either of the forward dial commands are used, several things must take place before the number is actually dialed: If number readback is turned on, speak the number. Take the phone line off-hook. This is the same as you picking up your phone at home. Since the controller cannot listen to see if it gets dial tone from the phone line, it just delays for a little bit and assumes that dial tone is there. We will call this delay the "initial delay". If you must dial '9' or some other digits to get out of a local switchboard or PBX, those digits should be dialed here. We will call those "predial digits". You can also use these predial digits to dial special codes to turn on or off call waiting, caller ID, and other special features that your phone company may offer. They can be omitted if you are not on a PBX. After dialing the predial digits, you may need to delay again while the PBX hooks you up to an outside telephone line. We will call this delay the "after-predial delay". This delay can be set to zero if you are not using predial digits. Now we can dial the actual number. This command lets you set the initial delay, predial digits (if any), and after-predial delay. ͻ Description Command Response Ķ Setup Predial C115*III AAA D.D See Below ͼ Format: - C115 is the default command name. - III is the length of the initial delay in 10mS increments - AAA the length of the after-predial delay in 10mS increments - D.D are the predial digits. They can be omitted. The maximum number of predial digits is 3. Any of the 16 DTMF digits can be used. Defaults: Initial delay = 100 (1 second) After-predial delay = 100 (1 second) Predial digits = none CW Response: The response follows the data entered. Advanced Command Description: C116 Recall the Predial Digits and Timing This command allows you to recall the settings that were programmed with C115. ͻ Description Command Response Ķ Recall Predial C116* See Below ͼ Format: - C116 is the default command name. CW Response: 'III AAA D.D' Where: - III is the length of the initial delay in 10mS increments - AAA the length of the after-predial delay in 10mS increments - D.D are the predial digits. They can be omitted. The maximum number of predial digits is 3. Any of the 16 DTMF digits can be used. Ad vanced Command Description: C117 Se t and Clear Allowed Prefix Slots This command allows you to set one of the slots in the allowed prefix table. For a description of this table and how to use it, see the autopatch section before command C110. ͻ Description Command Response Ķ Clear Allowed C117*S See Below Set Allowed C117*S N..N ͼ Format: - C117 is the default command name. - S is the slot number (0..4) - N..N is the area code/prefix (do not include the last four digits of the phone number). The '#' digit is a wildcard that matches any digit. Clear a Slot: To clear one of the allowed number slots, enter only the slot number as the additional data. This will erase the information within the requested slot. CW Response: 'S' 'IS' 'N..N' Where 'N' is the masked number and 'S' is the slot number or... 'S' 'C' Where 'C' cleared slot number 'S' Advan ced Command Description: C118 Recal l Allowed Prefix Slot This command allows you to recall the contents of one of the slots in the allowed prefix table. For a description of this table and how to use it, see the autopatch section before command C110. ͻ Description Command Response Ķ Recall Allowed C118*S See Below ͼ Format: - C118 is the default command name. - S is the slot number (0..4) CW Response: 'S' 'IS' 'N..N' Where 'N' is the masked number and 'S' is the slot number or... 'S' 'C' Where 'C' indicates the slot number 'S' is cleared Advan ced Command Description: C119 Set N uisance Number Slot This command allows you to set one of the slots in the allowed prefix table. For a description of this table and how to use it, see the autopatch section before command C110. ͻ Description Command Response Ķ Set Nuisance C119*S N..N See Below ͼ Format: - C119 is the default command name. - S is the slot number (0..4) - N..N is the whole number to be blocked (do include the last four digits of the phone number). The '#' digit is a wildcard that matches any digit. CW Response: 'S' 'IS' 'N..N' Where 'N' is the masked number Advanced Command Description: C120 Recall Nuisance Number Slot This command allows you to recall the contents of one of the slots in the nuisance number table. For a description of this table and how to use it, see the autopatch section before command C110. ͻ Description Command Response Ķ Recall Nuisanc C120*S See Below ͼ Format: - C120 is the default command name. - S is the slot number (0..4) CW Response: 'S' 'IS' 'N..N' Where 'N' is the masked number Command Description: C121, C122 Set and Recall Half-Duplex Mode for a Selected Port These commands allow you to program and recall whether the specified port will be treated as a half or full duplex port. The default is half duplex. Currently the setting is only used for the autopatch. In full-duplex mode, audio from the phone is sent regardless of whether the port that is using the patch is keyed or not. In half-duplex mode, the phone audio is muted whenever the radio port is keyed. This setting may also be used for other things later. ͻ Description Command Response Ķ Set Half-Duplex C121* X Y 'X' 'IS' 'N'or'F' Ķ Recall C122* All Half-Dup Ports ͼ Parameters: - C121 is the default command name. - X is the requested port (1..4) - Y is the Half-Duplex on/off setting. It is set for the ports that use the autopatch, not for the autopatch port itself. In other words, if your repeater is on port 1 and you want to make it use the autopatch in full duplex mode, enter C121*10*. -- 1 => make the selected port half duplex -- 0 => make the selected port full duplex Default: - half duplex Note: When the patch is used in full duplex mode, the repeat audio from the person using the autopatch will sometimes be louder than normal. This is caused by a combination of the characteristics of the telephone line and of the autopatch hybrid. This will not occur when the patch is in half-duplex mode. Advanced Command Description: C123 Reverse Autopatch Configuration This command allows the configuration of the reverse autopatch on port 4. There are 2 types of reverse autopatch available. Type 1 will directly ring over the transmitters that are enabled. Type 2 will answer the phone and allow the user to log-on to the controller for manual on-air and programming control. ͻ Description Command Response Ķ Disabled C123* 0 '0' Ring Over Air C123* 1 XX Y..Y '1 XX Y..Y' Control Mode C123* 2 XX Z..Z '2 XX Z..Z' ͼ Parameters: - C123 is the default command name. - The first digit: the requested reverse patch mode -- 0 - Reverse Patch Disabled -- 1 - Reverse Patch Over-Air ring (See Command C126 for Ringing Prms.) -- 2 - Reverse Patch Manual/Control entry - XX is the number of rings to count before answering or ringing over the air - Y..Y are the ports you want the reverse patch to ring over. At least one port must be entered or you will get an error 4. 1- Port 1 2 - Port 2 3 - Port 3 4 - Cannot be entered - Z..Z is the reverse patch access code that you must enter after the controller answers the phone or it will not let you enter any commands and it will hang up on you in 9 seconds. The logon code must be followed by a '*' (or whatever the EOF digit is for the autopatch port). At least one digit must be entered or you will get an error 4. The maximum length of this code is six digits. You should not use the digits 'A', 'B', 'C' or 'D' in this code because you will not be able to enter them from a normal telephone. You should also not use '*', because that is usually the EOF digit. See C124 for more information on using reverse patch mode 2. Default: - Reverse Patch Off - Number of rings =1 Command Description: C124 Reverse Autopatch Logon When you have the reverse patch set up for control mode (mode 2) with C123 and you call the controller, it will answer and give you 9 seconds to enter the reverse patch logon code followed by a '*'. That logon code is actually the name of this command. C123 automatically renames this command to the logon code for you. Information is given below to help you understand how to use the reverse patch in control mode. ͻ Description Command Response Ķ Reverse Answer C124* 'ACS' ͼ Parameters: - C124 is the default command name. How to use reverse patch mode 2: Set it up with C123. Change the names of any commands that you want to be able to execute from the phone so that they do not contain the characters 'A', 'B', 'C' or 'D', because these digits are not available on most telephone keypads. Call the controller. When the controller answers, enter the reverse patch logon code followed by a '*' (or whatever the EOF digit is for the autopatch port). You can now enter any of the commands just as you would from a radio port, except that since you can't unkey to force them to execute, you must press a '*' after entering each command. Before hanging up, you should tell the controller to hang up so that it does not remain on the phone line. Do this by executing C114. If you do not hang up the phone, it will time out and hang itself up. If you do not tell the controller to hang up and someone calls the controller before it times out, they will not have to enter the access code to enter commands. C ommand Description: C125 R everse Autopatch Over the Air Answer This command allows the user on the air to answer the ringing phone. This command is the same as Command C111, Manual Off Hook except it requires that the phone is ringing before the controller takes the phone off hook. ͻ Description Command Response Ķ Reverse Answer C125* See Below ͼ Parameters: - C125 is the default command name. CW Response: There is no response for this command. Command Description: C126 Reverse Autopatch Ring and Frequency Program This command allows the user to setup the over the air ringing tone and length. ͻ Description Command Response Ķ Ring Set-up C126*XXX YYYY See Below ͼ Parameters: - C126 is the default command name. - XXX is the length of the ring tone -- Defaults to 1 Second (100) - YYYY is the Frequency of the ring tone -- Defaults to 1064 Hz. Suggestions: Do not make the length of the ring tone too long. The controller will stack up tone requests and could still be ringing over the air after the phone has answered if the length of the tone is longer than the delay between rings from your phone company. CW Response: 'XXX' 'YYYY' Blocking Execution from Certain Ports Purpose of these commands: The following three commands allow you to mark certain commands so that they can not be executed from certain ports. You might want to use this command to make it so your autopatch cannot be accessed from the link ports. If you are using one of the ports as a control port, you could make all of the commands in the controller so they could only be executed from that control port. You could call these commands from the scheduler to disable some or all of the commands at night. This adds a lot of security to your controller. Caution: Because these commands can keep you from executing commands, they can lock you out of your own controller. If you have a terminal or computer hooked up to the serial port, these commands cannot lock you out, so you don't have to worry about it. Also, you can always re-initialize the controller (see Appendix E), but that erases all of your programming and you have to be at the site to do it. In other words, be careful what commands you block and what ports you block their execution from. If you don't want to use these functions and you want to erase their names so that they cannot be entered accidently, enter the following commands: C010*127* C010*128* C010*129* These commands erase the names of command numbers 127, 128 and 129 so that they cannot be executed without renaming them to a valid name. If you think you have locked yourself out, execute the following sequence of commands from every port you can get touch tones to, or just from the serial port (where it will always work). If they are executed they will allow access to every command from every port. C128*1000XXX* C128*2000XXX* C128*3000XXX* C128*4000XXX* Advanced Command Description: C127 Block Command Execution From Port This command allows you to block execution of a command or a range of commands by a port. Before using it, please read the cautions on the previous page. ͻ Description Command Notes Ķ Block Execution C127*P CCC Single Command Block Execution C127*P CCC DDD Range Of Commands ͼ Format: - C127 is the default command name. - P is the port to block access by - CCC is the first command number to block - DDD is the last command number in the range of commands to block CW Response: 'P' 'IS' 'CCC' or 'P' 'IS' 'CCC' 'DDD' Ad vanced Command Description: C128 Al low Command Execution From Port This command allows you to reverse the effects of C128 and allow the specified port to execute a command or range of commands again. This command is not dangerous - it cannot lock you out of your own controller. ͻ Description Command Notes Ķ Allow Execution C128*P CCC Single Command Allow Execution C128*P CCC DDD Range Of Commands ͼ Format: - C128 is the default command name. - P is the port to allow access by - CCC is the first command number to block - DDD is the last command number in the range of commands to block CW Response: 'P' 'IS' 'CCC' or 'P' 'IS' 'CCC' 'DDD' Ad vanced Command Description: C129 Re call Blocked Ports This command allows you to recall which ports are blocked from executing a command. ͻ Description Command Notes Ķ Recall Blocked C129*CCC See Below ͼ Format: - C129 is the default command name. - CCC is the first command number to block CW Response: 'CCC' where 'CCC' is the first command to be blocked Doug Hall's RBI-1 Support What is the RBI-1 Interface: Doug Hall Electronics' Remote Base Interface (RBI-1) allows the RLC-4 to control the Kenwood series TM-X21 and TM-X31 mobile radios. The RBI-1 converts the data output by the RLC-4 into a format that the radios can use. Up to four bands can be supported by one RBI-1 interface, which plugs into one of the RLC-4's radio cards. The audio, COR and PTT interface is made through the RLC-4 card's radio port (the bottom DB-9) and the signals that control the RBI-1 and ultimately the radio come from the serial port on the radio card (the top DB-9 connector). More information about the RBI-1, including the address and phone number for Doug Hall Electronics, is included on the following pages. Link Communications Inc. does not sell the RBI-1 interface. Interfacing and Setup: It is very easy to interface the RBI-1 to the RLC-4. A schematic of the needed cable is provided on one of the following pages. You can build it yourself or order one from Link Communications Inc. The radio is connected to the RBI-1's microphone connector with a cable supplied with the RBI-1. The only other connections are power, ground and antenna to the radio. The RBI-1 gets its power from the radio. Configuring the RLC-4 to control the RBI-1 consists of a single command. You need to tell the RLC-4 which band unit you want to use (command C130). Using the RBI-1: Using the RBI-1 is very straightforward. There are separate commands to do each of the following tasks: C130 - select the band unit, set the power level, set the format used to set the offset C131 - set the frequency (and optionally the offset) C132 - set the PL (CTCSS) frequency, turn the PL encoder on or off, turn the PL decoder on or off C133 - recall the frequency and offset If there are combinations of settings that you use often, you may want to program user macros to select those settings. This is the easiest way to get "memories" or "presets". Doug Hall Electronics 815 E. Hudson St. Columbus, Ohio 43211 (614)261-8871 FAX 261-8805 INTRODUCTION The DHE Remote Base Interface (RBI-1) Adapts the Kenwood series TM-X21 and TM-X31 mobile radios to several brands of Repeater Controllers. The RBI model 1 converts the serial data stream from the controller and directly controls the Kenwood Mobile radio. All connections to the Kenwood radio are made through the microphone jack. In the maximum configuration using a Kenwood TM- 701 Dual Band Mobile you can control Frequency, CTCSS encode On/Off, RF power level, Offset, Power On/Off, and Band. This is all accomplished through the microphone jack. The RLC-4 Format supports the following functions: Full frequency control, 4 ports/radios, and 4 bands. Transmitter power HI/MED/LOW CTCSS Frequency select, Encode on/off, Decode on/off. 20 and -12 Mhz offsets on 1200. The Supported Kenwood Mobile Radios are as follows: 140 220 440 1200 Dual Band TM-221 TM-421 TM-421 TM-521 TM-621+ TM-721+ TM-231 TM-431 TM-431 TM-531 TM-631+ TM-731+ TM-241 TM-441 TM-541 TM-701+ + Dual Banders SUPPORT CROSS REFERENCE CTCSS CTCSS CTCSS MULTI RF PWR FUNCTION ENCODE SELECT DECODE BAND POWER GENERIC Y Y Y Y Y TM-X21 Y N N N TM-X31 Y Y Y Y TM-X41 Y Y Y Y TM-621/721 Y N N Y N TM-631/731 Y N N Y N TM-701 Y Y Y Y Y Copyright (c) 1994 Doug Hall Electronics. All Rights reserved Specifications subject to change without notice SPECIFICATIONS Microprocessor: INTEL 87C51 Series 12MHz Connections: Power: RCA Phono + center pin. Controller: 9 Pin female "D" Connector Expansion: 9 Pin male "D" connector. Radios: 4 8 Pin Modular Compatible with Kenwood PG-4H cable. 1 PG-4H provided. Additional cables available from Kenwood or DHE. Adjustments: "T" (VR1) Radio transmit audio level adjust. "R" (VR2) Radio receive audio level adjust. Audio: Radio Transmit 0.050V to 2.5V Input. (response controlled by capacitor removal). Impedance 15K. Radio Receive 0.020V to 2.5V Output. (response controlled by capacitor removal). Impedance 5K. "S" Meter output: 0 to +5V 0V = no signal, 5V = > "S" 9. Output impedance approx 5K. Expansion output: 8 outputs, ground active, Sink 500mA each, 1A maximum total. Power Requirements: +10 to +14 Vdc @ 23mA. Size: 1.5" X 5.1" X 5.5" Copyright (c) 1994 Doug Hall Electronics. All Rights reserved Specifications subject to change without notice. INSTALLATION Place or mount the RBI-1 in close proximity to the Kenwood mobile radio to be used. Connect the RBI-1 with the provided PG-4H Cable from the 8 pin modular jack marked "RADIO" to the Kenwood Microphone jack. Only Port 1 (140/DUAL) will support a Dual Band radio. Port 1 is the only Port the 140 Mhz radio can be connected to. The RBI will support all 4 bands (140/220/440/1200) as follows: If Port one is filled, Port 2 is for 220 only, Port 3 is for 440 only, Port 4 is for 1200 only. Basically, if the selected band is unavailable on Port 1 it will go to the port hard assigned to that band. RBI-1 Connector J2 RLC-4 Connections Pin# - Line Name Pin# - Line Name ________________________________________________ ___________________________________________________________________________ 1 - RBI-1 RESET Output #2, P5 pin 12 on the I/O Connector 2 - "S" Meter output (optional) connect to analog input 3 - Data Output #3, P5 pin 11 on the I/O Connector 4 - Clock/Strobe Output #4, P5 pin 10 on the I/O Connector Connections to the radio port (bottom DB-9) 5 - Kenwood TX Audio (T Pot) 4 - RLC-4 audio out 6 - Kenwood RX Audio (R Pot) 5 - RLC-4 audio in 7 - COS from Kenwood RX 7 - RLC-4 COR input (Must invert the COR to active low) 8 - PTT to Kenwood TX 3 - RLC-4 PTT output 9 - Ground 1 - RLC-4 ground connection In case it wasn't clear, there is only one connector on the RBI-1 that goes to the RLC-4. It is connected to two different connectors on the RLC-4. The DB-9 connector provides the audio, COR and PTT connections. The DB-25 connector provides the control signals. This is not the main serial port the RLC-4 motherboard. A schematic showing the above connections is on one of the following pages. Audio receive level from the Kenwood to the Controller is controlled by VR2 (R). The audio level from the Controller to the Kenwood is adjusted by VR1 (T). Refer to your manuals for additional adjustments in your controller. Capacitor C5 (10uF) Inside the RBI-1 Interface must be removed and replaced with a 1uF/25V Tantalum Capacitor for the Audio to sound correct. Copyright (c) 1994 Doug Hall Electronics. All Rights reserved Specifications subject to change without notice RADIO SETUP The Kenwood radios need certain parameters set up before they can be controlled from the RBI-1, such as STEP. Since the memory channels in the radio aren't used, you should reset the radio to make sure all of the settings are set to the factory defaults. Instructions about how to do this can be found in your Kenwood operating guide or in the list below. TM-701 Hold the MR key down during power on to reset. TM-X21 Hold the VFO/M and M.IN keys down during power on to reset. TM-621/721 Hold the F key down during power on to reset. TM-631/731 Hold the MR key down during power on to reset. TM-X31 Hold the MR key down during power on to reset. TM-X41 Hold the VFO key down during power on to reset. Set the step size to 5KHz. (25Khz on 1200 Mhz units) Set dual band radio's to single band. Set power to desired setting. Remember, remote base transmitters can have a high duty cycle because it will be transmitting during all activity on the Repeater side. The mobile radio's used in a remote base configuration should be set to low power in most cases. Set VFO/MEM to VFO for external frequency input. Set CTCSS for desired frequencies. When using TM-X31/X41 series it will be set by the controller and will override your initial setting. Set CTCSS Decode to off. Set ABC and AL to off on models that support it. Turn off Repeat functions. Once these have been set, connect the Mike jack to the RBI. Reset the RBI to initialize the radio to the controller and get them in sync. Any time there are manual changes from the radio front panel, the RBI and the Radio can get out of sync. This will require a RBI reset to correct. We recommend hooking the reset line from the RBI to an output from the controller. To reset the RBI-1, turn the output line on and back off. If you do not turn the line back off, the reset line will be held low, disabling the RBI-1. A macro can be used to let you toggle the output line with a single command. Copyright (c) 1994 Doug Hall Electronics. All Rights reserved Specifications subject to change without notice. Advanced Command Description: C130 Set Band Unit , Power Level and Offset Defaults for RBI-1 This command allows you to tell the Doug Hall RBI-1 which band unit you want to use, what the power level will be and the offset style to use. The valid band units are listed in the table below. Of course, you must have a radio that supports that band unit connected to the RBI-1 for this command to work. ͻ Description Command Response Ķ Set RBI-1 Band C130*BB P O See Below ͼ Format: - C130 is the default command name. - BB is the band unit you want to select BB Band Unit 02 140 MHz 03 220 MHz 04 440 MHz 00 1240 MHz 01 1250 MHz 08 1260 MHz 05 1270 MHz 06 1280 MHz 07 1290 MHz 09 430 MHz (RBI-1 Version 6.0 and later) 10 28 MHz (planned for possible future releases of the RBI-1) 11 52 MHz (planned for possible future releases of the RBI-1) 12 900 MHz (planned for possible future releases of the RBI-1) - P is the power level requested - Low Power - 0 - Medium Power - 1 - High Power - 2 - O is the offset format (0..1) Offset Format 0 Format 1 0 Minus Minus 20 (1200 band only) 1 Plus Minus 2 Simplex Simplex 3 Minus 20 Plus CW Response: 'B' 'BB' 'P''L/M/H' 'O''O' where 'B' is band, 'P' is Power, 'O' is offset Advanced Command Descriptio n: C131 Set Frequency (and optionally offset) for RBI-1 This command allows you change the frequency within the current band (set with C130) on the radio connected to the Doug Hall RBI-1. The frequency is always entered as four digits. The first digit represents the one MHz digit of the new frequency, the second digit the 100 KHz digit, etc. If a fifth digit is entered, it is used to specify the offset. ͻ Description Command Response Ķ Set RBI-1 Freq C131*XXXX Y see command C133 ͼ Format: - C131 is the default command name. - XXXX is the new frequency - Y (optional) is the new offset (see command C131 for the format) CW Response: 'XXXX' 'S/M/P' where 'XXXX' is the frequency and offset is 'S'implex 'M'inus, 'P'lus Advanced Command Description: C132 Set PL Frequency for RBI-1, Encode and Decode Settings This command allows you set-up how the 'PL' system works. ͻ Description Command Response Ķ Set PL Freq C132*FF E D See Below ͼ Format: - C132 is the default command name. - valid values for FF are listed after each PL frequency - E is the Encode PL ON\OFF Bit 1 - Encode On, 0 -Encode Off - D is the PL Decode Access Bit 1 - Decode Access On, 0 - COR Access On CW Response: 'PL' FF 'E' 'N\F' 'D' N\F' where 'PL' is the frequency, 'E' is encode, 'D' is decode PL Frequency Table: 01 67.0 Hz 02 71.9 Hz 03 74.4 Hz 04 77.0 Hz 05 79.7 Hz 06 82.5 Hz 07 85.4 Hz 08 88.5 Hz 09 91.5 Hz 10 94.8 Hz 11 97.4 Hz 12 100.0 Hz 13 103.5 Hz 14 107.2 Hz 15 110.9 Hz 16 114.8 Hz 17 118.8 Hz 18 123.0 Hz 19 127.3 Hz 20 131.8 Hz 21 136.5 Hz 22 141.3 Hz 23 146.2 Hz 24 151.4 Hz 25 156.7 Hz 26 162.2 Hz 27 167.9 Hz 28 173.8 Hz 29 179.9 Hz 30 188.2 Hz 31 192.8 Hz 32 203.5 Hz 33 210.7 Hz 34 218.1 Hz 35 225.7 Hz 36 233.6 Hz 37 241.8 Hz 38 250.3 Hz Advance d Command Description: C133 Frequen cy and Offset Recall for the RBI-1 This command allows you recall the frequency and offset settings of the radio connected to the Doug Hall RBI-1. The format of the response is given below. ͻ Description Command Response Ķ Short Recall C133* See Below ͼ Format: - C133 is the default command name. CW Response: 'XXXX' 'S\M\P' Where: 'XXXX' is the frequency in MHz. Determined by both the band (set with command C130) and the frequency within the band (set with command C131). 'O' is the offset "M" minus offset "S" simplex "P" plus offset "M2" minus 20 MHz offset (1200 radios only) Command D escription: C134..C147 Error Mes sages These commands are used by the RLC-4 to send your error codes and responses. The controller calls these commands when a specific error occurs. C134 - Error #0 Command Length not Matched: CW Response ER0 C135 - Error #1 Command Name not found: CW Response ER1 C136 - Error #2 Execution Blocked: CW Response ER2 C137 - Error #3 Extra Data too Long: CW Response ER3 C138 - Error #4 Extra Data too Short: CW Response ER4 C139 - Error #5 Command Name Decoded OK: CW Response ER5 C140 - Error #6 Command Executed OK: CW Response ER6 C141 - Error #7 Internal Error, Null Macro Pointer: CW Response ER7 C142 - Error #8 Internal Error, Null Function Pointer: CW Response ER8 C143 - Error #9 Nested Macro Depth Limit Reached: CW Response ER9 C144 - Error #10 Invalid Variable Length Data Length: CW Response ER10 C145 - Error #11 Invalid Value Entered: CW Response ER11 C146 - Error #12 Command Doesn't Exist: CW Response ER12 C147 - Error #13 Bad Autopatch Number: CW Response ER13 On re-initialization of the RLC-4 controller, the system will automatically write the above commands into the macro assign table. Refer to Command C057 for the macro assign programming. If you do not want an error message to be spoken, simply disable the error number in the macro assign table (See Command C059). Command Descript ion: C148,C149 Not Currently Us ed Macros What a macro is: There are at least two common understandings of what a macro is. The RLC-4 currently supports the more flexible of the two types; eventually it may support both. The kind the RLC-4 supports could be called a "multiple command macro" because it provides a way to execute a sequence of internal commands in response to one command from the user. In other words, this kind of macro contains a list of commands that are executed in order when the macro is executed. If you commonly want to connect your repeater port to a couple of link ports and turn DTMF muting on and change your courtesy beep, you could program a macro to execute the appropriate commands. This type of macro is very similar to the macros that many word processors and other computer programs allow you to make to automate things that you do often. The other commonly used kind of macro (that the RLC-4 does not currently support) could be called a "snapshot macro". It allows you to set up the controller the way you like it, take a snapshot of it, and restore the controller to that configuration at any time by recalling the snapshot. While this may be convenient, it is also limiting. Consider an example: you and a buddy have two standalone repeaters running off of one RLC-4 controller. You are setting up one repeater and he is setting up the other. There are also two links running on the controller; we will call them Link A and Link B. You set up your repeater to be connected to Link A and take a snapshot. You then disconnect your repeater from Link A and connect it to Link B and take another snapshot. Now you can easily switch back and forth between the two configurations just by recalling the appropriate snapshot. The next day your buddy sets up his repeater port in a similar way. Now we start having problems. You want your repeater port to be connected to Link A, so you recall your snapshot. He wants to connect his repeater port to Link B so he recalls his snapshot. When he recalls his snapshot, it messes up your repeater port, changing it to whatever configuration it was in when he saved his snapshot. Neither of you can control your repeater ports independently of the other because the snapshots you saved don't just save the way one or two ports are set up, they save the way the whole controller is set up. This isn't a big problem with a simple controller with only one repeater port, but it gets very complicated when you start dealing with multiple repeaters and links. The solution to the dilemma illustrated above is to use multiple command macros that do exactly what you want them to and nothing else. If you want a macro to connect you to Link A and not to Link B, make a multiple command macro to disconnect your repeater from Link B and connect it to Link A. Executing this macro will not interfere with anything else that is going on in the controller like a snapshot would. Command Descript ion: C150..C249 Execute a User M acro These commands allow you to execute user macro sequences. These macro are not used by the controller for any specific purpose, so you can use them for any purpose. ͻ Description Command Response Ķ Macro RCL C150..C249 See Below ͼ Parameters: - C150..C249 is the default command name. Macro Numbers: Users simply execute Commands C150..C249 to execute a macro sequence. Macros 150..199 are 50 characters long. Macros 200..249 are 20 characters long. If you run out of space within a macro, simply call another macro that contains the additional data. Special Case Macros: On re-initialization, the RLC-4 will automatically program macro slots to contain certain data. The ports ID's, and Courtesy beeps will be built in the first few spaces. Macro 150 - Do not use - used by the controller for temporary storage. Macro 151 - Port 1 Initial ID Macro 152 - Port 2 Initial ID Macro 153 - Port 3 Initial ID Macro 154 - Port 4 Initial ID Macro 155 - Port 1 Pending ID Macro 156 - Port 2 Pending ID Macro 157 - Port 3 Pending ID Macro 158 - Port 4 Pending ID Macro 159 - Port 1 Courtesy Beep Macro 160 - Port 2 Courtesy Beep Macro 161 - Port 3 Courtesy Beep Macro 162 - Port 4 Courtesy Beep These macros are only affected on initialization. If the user wants to use these slots for other purposes, simply re-program the macro slots with other information. CW Response: There is no CW response for the macro commands. If a response if desired, simply program one into your macro as a command. Command C030 sends a CW message. Appendix A The Audio Routing Variable System Explanation of the System The key to controlling messages on the RLC-4 is understanding what the audio routing variable needs to be in each different situation. Fortunately, the RLC-4 does most of the work for you. When any command is executed by the user (either by DTMF or the serial port) or by the controller itself (to send an ID, courtesy beep, etc.), the audio routing variable is automatically set to send the audio to the logical place. You only need to concern yourself with this information if you wish to change the way the audio is routed. The value of the audio routing variable in several situations is listed below: When a command is executed by DTMF, the audio routing variable is set to send all of the responses to the port that the DTMF input came from. Before a time out, time out clear, or any ID macro is executed, the audio routing variable is set to send the message to the relevant port. Before a courtesy beep is sent, the audio routing variable is set to send the beeps to the right ports (repeater ports connected to the receiver that just unkeyed). You probably noticed in the list above that the audio routing variable automatically sends the audio where you would normally want it to go. The only reason you need to know about it is because there a few situations where the controller cannot know where you want the audio to go. A situation exists for commands entered from the serial port. Since the controller sends serial responses to the commands that you execute, you don't have to worry about CW responses if you don't want to. There are times, however, when you want to hear the CW messages that are generated. You can use C045 to specify which ports get the audio that is caused by the serial port. The RLC-4 defaults to sending these messages out of port one, but you can send them to any ports you want to, or to no ports at all (they will be thrown away). C045 can also be used to control where the audio that is generated by the reset macro goes, although this same functionality could be achieved by just making C042 the first command in the reset macro. Suppressing Command Responses in Macros: There is one other time when you will often want to change the audio routing variable. Suppose that you have programmed macro 33 to connect ports 2 and 3 to the main repeater on port 1. Your macro would probably execute C000*12* and C000*13* to do this. The CW responses from these commands would be "1 'N' 2 and 1 'N' 3" . It wouldn't take very long to get tired of hearing that long message. To replace it with a nice short message like "link on", do the following: Insert command C043 (suppress audio) as the first command in the macro: C056*183 00 043 If you executed the macro at this point, it would be silent. Insert the new CW response message even before that: "LK ON" C056*183 00 030 21 20 40 24 23 * Now the macro will do the following: Send the CW message "LK ON" (command number 030) Suppress the audio (set the audio routing variable to no ports, command number 043) Connect ports 1 and 2 (throws the responses away) Connect ports 1 and 3 (throws the responses away) The same process can be used to suppress or change the response from any macro. Any commands that are executed after command C043 in a macro will be silent. Appendix B Using the LM335 Temperature Sensor The RLC-4 supports the National Semiconductor LM335Z temperature sensor. The sensor converts temperature into voltage. This voltage is read by the controllers ADC (Analog-Digital Convertor) which allows the controller to read a voltage. When using the LM335Z sensor, the sensor needs to be powered in order for the temperature to be read. Powering the sensor is accomplished by turning the appropriate dip switch 'ON'. The dip switch contains 8 switches, 4 for power and 4 for the voltage dividers. Follow the below chart when connecting an LM335Z temperature sensor. Analog Input #1 Switch 1 ON Switch 5 OFF I/O Pin #5 (IN), Pin #17 (GND) Analog Input #2 Switch 2 ON Switch 6 OFF I/O Pin #4 (IN), Pin #16 (GND) Analog Input #3 Switch 3 ON Switch 7 OFF I/O Pin #3 (IN), Pin #15 (GND) Analog Input #4 Switch 4 ON Switch 8 OFF I/O Pin #2 (IN), Pin #14 (GND) RLC-4 Analog Input LM335Z Temperature Probe Connections Diagram Appendix C CW Code Table CW Code Table ͻ 00 - 0 13 - D 26 - Q 39 - AR 01 - 1 14 - E 27 - R 40 - SPACE 02 - 2 15 - F 28 - S 41 - PAUSE 03 - 3 16 - G 29 - T 04 - 4 17 - H 30 - U 05 - 5 18 - I 31 - V 06 - 6 19 - J 32 - W 07 - 7 20 - K 33 - X 08 - 8 21 - L 34 - Y 09 - 9 22 - M 35 - Z 10 - A 23 - N 36 - / 11 - B 24 - O 37 - . 12 - C 25 - P 38 - ? ͼ Appendix D Automatic Macro Explanations, See Command C057 The following is a list of the macros that are automatically executed by the controller at certain times. Because they are executed automatically when something happens they are called "automatic" macros. The only difference between automatic and user macros is who (or what) decides that they should be executed. They are named according to the function that they usually perform. If you want to change how something works, you can change what commands the macro executes to suit your own desires. An example of this would be changing a pending ID macro to send your repeater's ID rather than the example ID that is programmed in at the factory. You can execute any of these macros by entering its name, which is "C" and then the macro's number and a "*" (example C150*). This is useful for finding out what is already in the macros. You find out even more about what is in a macro by recalling its contents with command C051* then the macro's number. If you do this from a serial terminal, it will be relatively easy to understand. If you do it from a DTMF pad, the CW message may seem long and complicated. You can learn a lot about how the controller works by looking at what is inside of the macros with C051. C051 also tells you how many percent full a macro is. Macro 150..199 can store 50 keystrokes of information, and Macro 200..249 can store 20 keystrokes of information. Macro 150. This macro is not programmed. Users can use this macro for any purpose. Common uses for the first macro is Power On Reset macro calling. Macros 151..158. These macros are automatically called when it is time to send an ID. You will want to erase (with command C052) what is in these macros when you get the controller and put your own ID messages in these macros. It would be worth your time to study the way these IDs are programmed at the factory (see command C051) so that you can make yours work the same way. Macros 159..162 are executed when it is time to send a courtesy beep. You would normally call command C040 from this macro to generate the tones of your courtesy beep. If you want your courtesy beep to contain several beeps in sequence, you can call C040 multiple times within one macro, once for each beep. In case you were wondering, before this macro is automatically called after you unkey, the audio routing variable is set to make the tones go to the proper ports, so you do not have to worry about that at all. Just call the commands you want to be executed when it is time for a courtesy beep (you could send beeps, DTMF digits, CW messages...) and the audio will automatically be sent to the correct ports. To change the courtesy beep timers, see command C020. Appendix E Reset and Initialization The terms "reset" and "initialization" refer to totally different things on the RLC-4. The controller is "reset" when any of the following things happen: the power is turned off and back on the reset button on the motherboard is pressed and released command C037 is executed Resetting the controller does not cause you to lose any of your programming. It does restart all of the timers and a lot of other internal variables. If the controller is not doing what you think it should, try resetting it and see if things straighten out. "Initialization" (sometimes called "re-initialization") resets all of the controller's internal settings back to the factory defaults. It does cause you to lose all of your programming. You will almost always have to initialize the controller when you install a new version of software, but rarely otherwise. If you are trying to learn to program the RLC-4 and you mess things up, you can use this to put everything back the way it is supposed to be. Initialization does not hurt the RLC-4 in any way - there is no EEPROM or anything to wear out. To reinitialize the RLC-4, follow one of the two methods below: Method #1: Press and hold the INIT button on the motherboard. Turn on the power. Wait for about 3 seconds (or longer). Release the INIT button. Method #2: Turn the power on. Press and hold the INIT button. Press and release the RESET button. Wait at least 3 seconds. Release the INIT button. If you are successful you will hear the message "I-N-I-T" out of the transmitter that is hooked to port 1 and see the message "All settings have been reset to factory defaults" on the serial terminal. Appendix F Programming with the Serial Port Entering commands from the serial port works almost exactly the same way as with DTMF tones from a radio. The characters you enter on the keyboard are treated the same way as the digits on your radio keypad. Of course you can enter digits on the keyboard that you can not enter from a keypad, which gives you a little additional flexibility. Some of the things you can do from the keyboard that you cannot do from a DTMF pad are: Back up. If you type a digit you did not mean to type, simply press the backspace key and delete it. Press the Enter key. This tells the controller to try to execute whatever you have typed so far. This is exactly the same as unkeying your radio to force a command to execute. Store a bunch of commands in a file on your computer that you can upload them without typing them again. See the section on using a serial upload file later in this Appendix.. Note: Do not put any spaces in the commands you enter from the serial port. The only exception to this if you are programming a serial message with command C032 and you want a space in your serial message. Example: I want to execute Command C009 to see which ports are connected together: Over the air: C009 From the serial port: You will see the serial port prompt "DTMF>". This indicates that the characters you enter are being treated just as if they were entered by DTMF from a radio port C009 Example: I want to execute Command C000 to connect ports 1 and 3 together: Over the air: C000*13 From the serial port: C000*13 Now try C009 (the first example) again. The crosspoint will show that ports 1 and 3 are not connected. CW responses to commands entered serially: By now you may have noticed that most commands provide both a CW and a serial response. Every command that is executed from the serial port or a radio port by DTMF will always provide a serial response. You can control whether or not you get responses to the commands you enter serially with command C045. Using that command you can tell the RLC-4 to send the responses out any port, more than one port, or nowhere at all. Normally it sends them out port one, so if you haven't heard the CW yet, you can hook up and transmitter to port 1, enter serial commands, and hear the CW responses. Using a serial upload file: A very convenient way to set up your controller if you have a computer is to type all of the commands that you use to set up your controller in a file using a word processor. Save the file in ASCII format. Load your communications program and make sure you are talking to the RLC-4 by hitting return and making sure you get the "DTMF>" prompt. Now do an ASCII upload of the file that you saved all of your commands in. Test the stuff you uploaded and if you want to make a change, go back to your editor and change it in the file. Now upload it again. By setting up your controller this way, you have a permanent record of everything you have done. If something ever gets messed up on the controller, all you have to do is initialize it (see Appendix E) and re-upload your file. Also, when you get a new version of software (which will almost always require you initialize), you will probably only have to make minor changes to your file to make it work with the new software version. This will definitely save you time in the long run. An example will illustrate the idea: Using your favorite editor, enter the following (including the comments): C045*0* Turn off the CW responses to serial commands C000*12* Connect ports one and two C007*11* Turn DTMF muting on for port 1 C045*01* Turn on CW responses to serial commands to port 1 C030*24 20* Send the CW 'OK' Save the file as SETUP or some other name of your choice. Make sure you save the file in ASCII format if you are using a word processor that embeds control codes. Load your communications program. Hit and watch for the "DTMF>" prompt from the RLC-4. If you do not get it, check your cable and setup in your communications software. You may want to tell your communications program to open a log file at this point. It will come in handy for checking if any of the commands caused errors. Find the setup screen for "ASCII Transfers" and set the end of line delay to at least one second. If you do not do this, the RLC-4 will not have enough time to send its serial command responses back and it will miss data. This delay may have to be longer if you use very slow baud rates (below 2400 baud). If you can not find this setting, try double or triple spacing your upload file. Start an ASCII upload of your file. Close the log file if you opened one. Try out your new settings. C009 will check the crosspoint and C008 will check the DTMF muting. Go back to your editor, make the required changes, and repeat the cycle. Note about comments in serial upload files: If you always end your commands with a star, you can space or tab over to the right and add comments. You can also put comments on a line without a command by using a space or semicolon (";") as the first character on the line. Note about capital letters: By default the RLC-4 converts everything you type to capital letters. This is because DTMF characters are always treated as capital letters and it avoids confusion. However, there may be a time when you would like to enter lower case letters, such as when you send serial messages with command C035. At those times you can turn off the conversion to all capital letters with command C060, program the serial messages, then turn the conversion back on. A ppendix G A SCII Chart This chart may be helpful when programming serial messages with C035. Not all of the codes are included because not all of them are universally used and some don't print well. 032 033 ! 034 " 035 # 036 $ 037 % 038 & 039 ' 040 ( 041 ) 042 * 043 + 044 , 045 - 046 . 047 / 048 0 049 1 050 2 051 3 052 4 053 5 054 6 055 7 056 8 057 9 058 : 059 ; 060 < 061 = 062 > 063 ? 064 @ 065 A 066 B 067 C 068 D 069 E 070 F 071 G 072 H 073 I 074 J 075 K 076 L 077 M 078 N 079 O 080 P 081 Q 082 R 083 S 084 T 085 U 086 V 087 W 088 X 089 Y 090 Z 091 [ 092 \ 093 ] 094 ^ 095 _ 096 ` 097 a 098 b 099 c 100 d 101 e 102 f 103 g 104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o 112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w 120 x 121 y 122 z 123 { 124 | 125 } 126 ~ 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 Software Problem and Request Form Link Communications Inc. Numbers: 406 - 482 - 7547 (Fax) 406 - 482 - 7515 (Voice) Name _________________________________________________________________________________ Serial # _____________________________________________________________________________________ Phone # ________________________ Fax # __________________________________ Request: __________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ Attention Allan or SteveNumber of Pages: ______________Software Problem and Request Form Software Problem and Request Form Link Communications Inc. Numbers: 406 - 482 - 7547 (Fax) 406 - 482 - 7515 (Voice) Name _________________________________________________________________________________ Serial # _____________________________________________________________________________________ Phone # ________________________ Fax # __________________________________ Request: __________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ Attention Allan or Steve Number of Pages: ______________