RLC-4 4 Port Communications Controller Software Version 1.77 Copyright 1997, 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 four radio ports, four analog voltage inputs, three logical (dry contact) inputs, and four 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 for each radio port, thereby supporting DTMF control from all ports of the controller. CW messages prompt the users in the programming of the controller's variables. The messages also provide ID's and alarms based on the inputs. 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 explain everything in a way 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 Command List by Number . . . . . . . . . . . . . . . . . . . . . . . XI Limited Warranty . . . . . . . . . . . . . . . . . . . . . . . . . . XV User Survey. . . . . . . . . . . . . . . . . . . . . . . . . . . . XVII Chapter 1: Getting Started. . . . . . . . . . . . . . . . . . . . .1-1 Setup, Interfacing and Adjustment . . . . . . . . . . . . . . . .1-1 Serial Port Interfacing . . . . . . . . . . . . . . . . . . . . .1-5 Reset and Power Up. . . . . . . . . . . . . . . . . . . . . . . .1-9 Entering Commands . . . . . . . . . . . . . . . . . . . . . . . .1-9 Error Messages. . . . . . . . . . . . . . . . . . . . . . . . . 1-11 How to Configure a Port as a Repeater . . . . . . . . . . . . . 1-13 Example 1-1: Configuring a Port as a Repeater or Link . . . . . 1-14 Example 1-2: Configuring a Port's COR/PL Polarity . . . . . . . 1-15 How to program your Beeps and Messages. . . . . . . . . . . . . 1-16 System Timers . . . . . . . . . . . . . . . . . . . . . . . . . 1-17 The Autopatch . . . . . . . . . . . . . . . . . . . . . . . . . 1-19 Troubleshooting the Controller. . . . . . . . . . . . . . . . . 1-20 Chapter 2: Port Connection Commands . . . . . . . . . . . . . . . .2-1 "Connected Ports" . . . . . . . . . . . . . . . . . . . . . . . .2-1 Turning a Repeater Off. . . . . . . . . . . . . . . . . . . . . .2-1 000: Connect one Port to another Port . . . . . . . . . . . . . .2-3 001: Monitor one Port from another Port . . . . . . . . . . . . .2-4 002: Disconnect one Port from another Port. . . . . . . . . . . .2-5 003,004: Recall a Port's Connections. . . . . . . . . . . . . . .2-6 005: Set Receiver and DTMF Decoder Conditions . . . . . . . . . .2-7 006: Recall Receiver and DTMF Decoder Conditions. . . . . . . . .2-9 009: Recall Entire Controller's Audio Crosspoint. . . . . . . . 2-10 013: Set COR and PL Active Levels . . . . . . . . . . . . . . . 2-11 061: Disconnect all Ports from a Radio Port. . . . . . . . . . 2-12 033: Enable or Disable PTT for a Port. . . . . . . . . . . . . 2-13 034: Recall Which PTT are Enabled. . . . . . . . . . . . . . . 2-13 Chapter 3: Audio and DTMF Configurations . . . . . . . . . . . . . .3-1 007: Configure DTMF Mute/Cover Tone/Bypass. . . . . . . . . . . .3-3 Chapter 4: Timers. . . . . . . . . . . . . . . . . . . . . . . . . .4-1 020: Program a Selected Timer . . . . . . . . . . . . . . . . . .4-2 021: Recall a Timer Value . . . . . . . . . . . . . . . . . . . 4-11 022: Start a Timer. . . . . . . . . . . . . . . . . . . . . . . 4-11 023: Stop a Timer . . . . . . . . . . . . . . . . . . . . . . . 4-11 Chapter 5: Command Names. . . . . . . . . . . . . . . . . . . . . .5-1 How Command Names and Command Numbers are Used: . . . . . . . . .5-1 010: Re-Program Command Names . . . . . . . . . . . . . . . . . .5-5 011: Recall Command Name. . . . . . . . . . . . . . . . . . . . .5-9 012: Find Commands Named ... . . . . . . . . . . . . . . . . . .5-9 Blocking Execution from Certain Ports . . . . . . . . . . . . . 5-10 130: Block Command Execution From Port . . . . . . . . . . . . 5-11 131: Allow Command Execution From Port . . . . . . . . . . . . 5-11 132: Recall Blocked Ports. . . . . . . . . . . . . . . . . . . 5-12 Chapter 6: CW, DTMF, and DVR Messages . . . . . . . . . . . . . . .6-1 030: Send a CW Message. . . . . . . . . . . . . . . . . . . . . .6-2 031: Send a DTMF Sequence Out Port 4. . . . . . . . . . . . . . .6-3 040: Send a Tone . . . . . . . . . . . . . . . . . . . . . . . .6-4 Note about Courtesy Beeps . . . . . . . . . . . . . . . . . . . .6-5 041: Courtesy Beep Enable/Disable for a Selected Transmitter. . .6-7 042: Set CW Speed for a Selected Port. . . . . . . . . . . . . .6-8 043: Set CW Tone Frequencies for a Selected Port . . . . . . . .6-9 044: Set Up DTMF Regenerate Parameters: . . . . . . . . . . . 6-10 051: Start Preaccess Tone . . . . . . . . . . . . . . . . . . 6-11 The Digital Voice Recorder. . . . . . . . . . . . . . . . . . . 6-12 What the DVR is:. . . . . . . . . . . . . . . . . . . . . . . . 6-12 Interfacing:. . . . . . . . . . . . . . . . . . . . . . . . . . 6-12 Recording Time: . . . . . . . . . . . . . . . . . . . . . . . . 6-12 Adjusting the DVR:. . . . . . . . . . . . . . . . . . . . . . . 6-12 Recording DVR Tracks: . . . . . . . . . . . . . . . . . . . . . 6-12 Erasing Tracks: . . . . . . . . . . . . . . . . . . . . . . . . 6-13 025: Record a Message on the Small DVR . . . . . . . . . . . . 6-14 026: Playback Small DVR Message(s) . . . . . . . . . . . . . . 6-15 027: Erase Small DVR Message(s). . . . . . . . . . . . . . . . 6-15 Chapter 7: Serial Port Commands . . . . . . . . . . . . . . . . . .7-1 024: Set Up RS-232 Serial Baud Rate . . . . . . . . . . . . . . .7-2 060: Set Up Serial Port Options. . . . . . . . . . . . . . . . .7-3 032: Send Serial Message out the Serial Port. . . . . . . . . . .7-4 Chapter 8: Macros . . . . . . . . . . . . . . . . . . . . . . . . .8-1 How Macros Get Executed:. . . . . . . . . . . . . . . . . . . . .8-1 What a macro is:. . . . . . . . . . . . . . . . . . . . . . . . .8-1 Limits on Macros: . . . . . . . . . . . . . . . . . . . . . . . .8-2 150..162: Execute an Automatic Macro . . . . . . . . . . . . . .8-4 163..166: Preaccess / User Macro. . . . . . . . . . . . . . . . .8-5 167..249: Execute a User Macro . . . . . . . . . . . . . . . . .8-5 053: Program a Single Command Macro Sequence . . . . . . . . . .8-6 054: Recall Macro Contents . . . . . . . . . . . . . . . . . . .8-7 055: Delete Macro. . . . . . . . . . . . . . . . . . . . . . . .8-8 056: Append a Command to a Macro . . . . . . . . . . . . . . . .8-8 057: Copy a Macro. . . . . . . . . . . . . . . . . . . . . . . .8-8 058: Delete a Command in a Macro . . . . . . . . . . . . . . . .8-9 059: Insert a Command in a Macro . . . . . . . . . . . . . . . .8-9 Chapter 9: Pre-Access Commands . . . . . . . . . . . . . . . . . . .9-1 What preaccess is:. . . . . . . . . . . . . . . . . . . . . . . .9-1 What you need to know:. . . . . . . . . . . . . . . . . . . . . .9-1 073: Set/Recall Preaccess . . . . . . . . . . . . . . . . . . . .9-2 074: Allow Access To a Port that Requires Preaccess. . . . . . .9-3 075: Set Stop Access Conditions. . . . . . . . . . . . . . . . .9-4 076: Recall Stop Access Conditions . . . . . . . . . . . . . . .9-5 077: Isolate a Port from the Rest of the System. . . . . . . . .9-5 Chapter 10: Not Currently Used . . . . . . . . . . . . . . . . . . 10-1 Chapter 11: The ID System. . . . . . . . . . . . . . . . . . . . . 11-1 How the ID's Work:. . . . . . . . . . . . . . . . . . . . . . . 11-1 To Program Your Own ID's: . . . . . . . . . . . . . . . . . . . 11-1 More about Programming ID's:. . . . . . . . . . . . . . . . . . 11-2 ID Timing:. . . . . . . . . . . . . . . . . . . . . . . . . . . 11-2 085: Enable/Disable IDing a Port . . . . . . . . . . . . . . . 11-3 086: Recall Which Ports have ID's Enabled. . . . . . . . . . . 11-3 Chapter 12: The I/O Interface. . . . . . . . . . . . . . . . . . . 12-1 About the I/O System: . . . . . . . . . . . . . . . . . . . . . 12-1 Logical Input Lines . . . . . . . . . . . . . . . . . . . . . . 12-1 Logical Output Lines: . . . . . . . . . . . . . . . . . . . . . 12-1 Analog Input Lines: . . . . . . . . . . . . . . . . . . . 12-2 I/O Connector Pin-Out . . . . . . . . . . . . . . . . . . . . . 12-4 Logical Input Lines . . . . . . . . . . . . . . . . . . . 12-4 Analog Input Lines . . . . . . . . . . . . . . . . . . . . 12-4 Latched Output Lines . . . . . . . . . . . . . . . . . . . 12-4 090: Read Whether Input Line is High or Low. . . . . . . . . . 12-5 091: Execute Input Line High or Low Macro. . . . . . . . . . . 12-5 093: Turn Output Line On . . . . . . . . . . . . . . . . . . . 12-6 094: Turn Output Line Off. . . . . . . . . . . . . . . . . . . 12-6 095: Recall Whether Output Line is On or Off . . . . . . . . . 12-7 100: Read Analog Input Line . . . . . . . . . . . . . . . . . . 12-8 101: Set Resolution For Analog Input . . . . . . . . . . . . . 12-9 102: Set Conversion Ratio For Analog Input . . . . . . . . . .12-11 Custom Analog Conversion Ratios: . . . . . . . . . . . . .12-12 103: Calibrate an Analog Input . . . . . . . . . . . . . . . .12-14 104: Set an Analog Alarm . . . . . . . . . . . . . . . . . . .12-15 105: Set Analog Alarm Hysteresis . . . . . . . . . . . . . . .12-16 107: Recall Analog Lines in Alarm. . . . . . . . . . . . . . .12-18 108: Recall Analog Line Configuration. . . . . . . . . . . . .12-18 Chapter 13: Autopatch Routines . . . . . . . . . . . . . . . . . . 13-1 Configuring the Autopatch:. . . . . . . . . . . . . . . . . . . 13-1 Autopatch Up Commands:. . . . . . . . . . . . . . . . . . . . . 13-1 Using '*' for the Autopatch Up Command: . . . . . . . . . . . . 13-1 Hanging Up: . . . . . . . . . . . . . . . . . . . . . . . . . . 13-2 Connected Ports:. . . . . . . . . . . . . . . . . . . . . . . . 13-2 Predial Digits: . . . . . . . . . . . . . . . . . . . . . . . . 13-2 The Autodialer: . . . . . . . . . . . . . . . . . . . . . . . . 13-2 Limiting Call Length: . . . . . . . . . . . . . . . . . . . . . 13-3 How the Dialing Tables Work:. . . . . . . . . . . . . . . . . . 13-3 Other Commands that Affect the Autopatch: . . . . . . . . . . . 13-4 110: Configure the Autopatch . . . . . . . . . . . . . . . . . 13-5 111: Manual Off Hook . . . . . . . . . . . . . . . . . . . . . 13-5 112: Normal Forward Dial . . . . . . . . . . . . . . . . . . . 13-6 113: Forward Dial with no Long Distance Checking . . . . . . . 13-7 117: Forward Dial with no Long Distance Checking or Predial. . 13-8 114: Hang up the Autopatch . . . . . . . . . . . . . . . . . . 13-9 115: Possibly Hang up the Autopatch. . . . . . . . . . . . . . 13-9 116: Set / Recall the Predial Digits and Timing. . . . . . . .13-10 119: Set Allowed Numbers Table Slot. . . . . . . . . . . . . .13-11 120: Recall Allowed Numbers Table Slot . . . . . . . . . . . .13-11 121: Set Nuisance Numbers Table Slot . . . . . . . . . . . . .13-12 122: Recall Nuisance Numbers Table Slot. . . . . . . . . . . .13-12 128: Set Full or Half-Duplex Patch Audio for a TX. . . . . . .13-13 129: Recall Full or Half-Duplex Patch Audio for a TX . . . . .13-13 133: Set up Reverse Patch. . . . . . . . . . . . . . . . . . .13-14 134: Reverse Patch Logon. . . . . . . . . . . . . . . . . . . .13-15 135: Answer Reverse Patch. . . . . . . . . . . . . . . . . . .13-15 136: Set up Reverse Autopatch Ring . . . . . . . . . . . . . .13-16 Chapter 14: Doug Hall RBI-1 and RLC-ICM Routines . . . . . . . . . 14-1 What the RBI-1 is:. . . . . . . . . . . . . . . . . . . . . . . 14-1 What the RLC-ICM is:. . . . . . . . . . . . . . . . . . . . . . 14-1 Interfacing and Setup:. . . . . . . . . . . . . . . . . . . . . 14-1 Using the RBI-1 or RLC-ICM: . . . . . . . . . . . . . . . . . . 14-2 139: Set Up the RLC-Icom Interface . . . . . . . . . . . . . . 14-7 RLC-ICM Internal Operation Test Points. . . . . . . . . . . . .14-10 140: Turn Radio Power On/Off, Set Power and Offset Format . . .14-11 141: Set PL Frequency, Encode and Decode . . . . . . . . . . .14-12 142: Set Frequency and Offset or Recall Memory . . . . . . . .14-13 143: Recall Frequency and Offset or Memory . . . . . . . . . .14-14 144: Control/Recall RBI-1 Output Lines. . . . . . . . . . . . .14-14 Chapter 15: Not Currently Used . . . . . . . . . . . . . . . . . . 15-1 Chapter 16: Special Audio Routing Commands . . . . . . . . . . . . 16-1 037: Set Audio Routing Variable for Commands In a Macro . . . 16-1 038: Kill All Responses Following This Command. . . . . . . . . 16-2 065: Restore Audio Routing Variable (Undo 037 and 038) . . . . 16-3 039: Recall the Ports in the Current Audio Routing Variable. . 16-4 050: Set Up or Recall Default Audio Routing Variables. . . . . 16-5 Chapter 17: Special Control Commands . . . . . . . . . . . . . . . 17-1 035: Remotely Reset the Controller. . . . . . . . . . . . . . . 17-1 078: Set Command Entry Options for a Port. . . . . . . . . . . 17-2 079: Recall Command Entry Options for a Port . . . . . . . . . 17-4 080: Execute Command by Number. . . . . . . . . . . . . . . . . 17-5 008: Not Currently Used . . . . . . . . . . . . . . . . . . . . 17-7 014..019: Not Currently Used. . . . . . . . . . . . . . . . . . 17-7 028, 029: Not Currently Used . . . . . . . . . . . . . . . . . 17-7 036: Not Currently Used. . . . . . . . . . . . . . . . . . . . 17-7 048,049: Not Currently Used . . . . . . . . . . . . . . . . . . 17-7 052: Not Currently Used. . . . . . . . . . . . . . . . . . . . 17-7 063, 064: Not Currently Used . . . . . . . . . . . . . . . . . 17-7 066..072: Not Currently Used. . . . . . . . . . . . . . . . . . 17-7 081..084: Not Currently Used . . . . . . . . . . . . . . . . . 17-7 087..089: Not Currently Used . . . . . . . . . . . . . . . . . 17-7 092: Not Currently Used. . . . . . . . . . . . . . . . . . . . 17-7 096..099: Not Currently Used . . . . . . . . . . . . . . . . . 17-7 106: Not Currently Used. . . . . . . . . . . . . . . . . . . . 17-7 109: Not Currently Used. . . . . . . . . . . . . . . . . . . . 17-7 118: Not Currently Used. . . . . . . . . . . . . . . . . . . . 17-7 123..127: Not Currently Used . . . . . . . . . . . . . . . . . 17-7 138: Not Currently Used. . . . . . . . . . . . . . . . . . . . 17-7 144..149: Not Currently Used . . . . . . . . . . . . . . . . . 17-7 Chapter 18: Not Currently Used . . . . . . . . . . . . . . . . . . 18-1 Chapter 19: Not Currently Used . . . . . . . . . . . . . . . . . . 19-1 Chapter 20: Event Triggers . . . . . . . . . . . . . . . . . . . . 20-1 045: Set Up Event Trigger. . . . . . . . . . . . . . . . . . . 20-2 046: Recall Event Trigger Setting. . . . . . . . . . . . . . . 20-2 047: Enable/Disable Event Trigger. . . . . . . . . . . . . . . 20-2 Appendix A: The Audio Routing Variable System . . . . . . . . . . .A-1 Explanation of the System . . . . . . . . . . . . . . . . . . . .A-1 Suppressing Command Responses in Macros:. . . . . . . . . . . . .A-1 Appendix B: Not Currently Used . . . . . . . . . . . . . . . . . . .B-1 Appendix C: CW Code Table . . . . . . . . . . . . . . . . . . . . .C-1 Appendix D: Reset and Initialization. . . . . . . . . . . . . . . .D-1 Appendix E: Controlling a Rotor . . . . . . . . . . . . . . . . . .E-1 Appendix F: Programming with the Serial Port. . . . . . . . . . . .F-1 Using a serial upload file: . . . . . . . . . . . . . . . . . . .F-2 Note about spaces in serial commands: . . . . . . . . . . . . . .F-3 Note about comments in serial upload files: . . . . . . . . . . .F-3 Note about capital letters: . . . . . . . . . . . . . . . . . . .F-3 Note about download speeds: . . . . . . . . . . . . . . . . . . .F-3 Serial responses to commands entered from a radio:. . . . . . . .F-4 Very Long Serial Commands:. . . . . . . . . . . . . . . . . . . .F-4 Appendix G: ASCII Chart . . . . . . . . . . . . . . . . . . . . . .G-1 Appendix H: Using the LM335 Temperature Sensor. . . . . . . . . . .H-1 Appendix I: Software Problem and Request Form . . . . . . . . . . .I-1 Appendix J: Hardware Reference Section. . . . . . . . . . . . . . .J-1 Important Connections:. . . . . . . . . . . . . . . . . . . . . .J-1 Main Board . . . . . . . . . . . . . . . . . . . . . . . . .J-1 Radio Board. . . . . . . . . . . . . . . . . . . . . . . . .J-2 I/O Board. . . . . . . . . . . . . . . . . . . . . . . . . .J-3 Power Board LED Definitions. . . . . . . . . . . . . . . . .J-4 Bill of Materials . . . . . . . . . . . . . . . . . . . . . . . .J-5 Component Layouts and Schematic Diagrams. . . . . . . . . . . . .J-6 Command List by Number 000: Connect one Port to another Port. . . . . . . . . . . . . . . .2-3 001: Monitor one Port from another Port. . . . . . . . . . . . . . .2-4 002: Disconnect one Port from another Port . . . . . . . . . . . . .2-5 003,004: Recall a Port's Connections . . . . . . . . . . . . . . . .2-6 005: Set Receiver and DTMF Decoder Conditions. . . . . . . . . . . .2-7 006: Recall Receiver and DTMF Decoder Conditions . . . . . . . . . .2-9 007: Configure DTMF Mute/Cover Tone/Bypass . . . . . . . . . . . . .3-3 008: Not Currently Used. . . . . . . . . . . . . . . . . . . . . . 17-7 009: Recall Entire Controller's Audio Crosspoint . . . . . . . . . 2-10 010: Re-Program Command Names. . . . . . . . . . . . . . . . . . . .5-5 011: Recall Command Name . . . . . . . . . . . . . . . . . . . . . .5-9 012: Find Commands Named .... . . . . . . . . . . . . . . . . . . .5-9 013: Set COR and PL Active Levels. . . . . . . . . . . . . . . . . 2-11 014..019: Not Currently Used . . . . . . . . . . . . . . . . . . . 17-7 020: Program a Selected Timer. . . . . . . . . . . . . . . . . . . .4-2 021: Recall a Timer Value. . . . . . . . . . . . . . . . . . . . . 4-11 022: Start a Timer . . . . . . . . . . . . . . . . . . . . . . . . 4-11 023: Stop a Timer. . . . . . . . . . . . . . . . . . . . . . . . . 4-11 024: Set Up RS-232 Serial Baud Rate. . . . . . . . . . . . . . . . .7-2 025: Record a Message on the Small DVR. . . . . . . . . . . . . . 6-14 026: Playback Small DVR Message(s). . . . . . . . . . . . . . . . 6-15 027: Erase Small DVR Message(s) . . . . . . . . . . . . . . . . . 6-15 028, 029: Not Currently Used. . . . . . . . . . . . . . . . . . . 17-7 030: Send a CW Message . . . . . . . . . . . . . . . . . . . . . . .6-2 031: Send a DTMF Sequence Out Port 4 . . . . . . . . . . . . . . . .6-3 032: Send Serial Message out the Serial Port . . . . . . . . . . . .7-4 033: Enable or Disable PTT for a Port . . . . . . . . . . . . . . 2-13 034: Recall Which PTT are Enabled . . . . . . . . . . . . . . . . 2-13 035: Remotely Reset the Controller . . . . . . . . . . . . . . . . 17-1 036: Not Currently Used . . . . . . . . . . . . . . . . . . . . . 17-7 037: Set Audio Routing Variable for Commands In a Macro . . . . 16-1 038: Kill All Responses Following This Command . . . . . . . . . . 16-2 039: Recall the Ports in the Current Audio Routing Variable . . . 16-4 040: Send a Tone. . . . . . . . . . . . . . . . . . . . . . . . . .6-4 041: Courtesy Beep Enable/Disable for a Selected Transmitter . . . .6-7 042: Set CW Speed for a Selected Port . . . . . . . . . . . . . . .6-8 043: Set CW Tone Frequencies for a Selected Port. . . . . . . . . .6-9 044: Set Up DTMF Regenerate Parameters: . . . . . . . . . . . . . 6-10 045: Set Up Event Trigger . . . . . . . . . . . . . . . . . . . . 20-2 046: Recall Event Trigger Setting . . . . . . . . . . . . . . . . 20-2 047: Enable/Disable Event Trigger . . . . . . . . . . . . . . . . 20-2 048,049: Not Currently Used. . . . . . . . . . . . . . . . . . . . 17-7 050: Set Up or Recall Default Audio Routing Variables . . . . . . 16-5 051: Start Preaccess Tone . . . . . . . . . . . . . . . . . . . . 6-11 052: Not Currently Used . . . . . . . . . . . . . . . . . . . . . 17-7 053: Program a Single Command Macro Sequence. . . . . . . . . . . .8-6 054: Recall Macro Contents. . . . . . . . . . . . . . . . . . . . .8-7 055: Delete Macro . . . . . . . . . . . . . . . . . . . . . . . . .8-8 056: Append a Command to a Macro. . . . . . . . . . . . . . . . . .8-8 057: Copy a Macro . . . . . . . . . . . . . . . . . . . . . . . . .8-8 058: Delete a Command in a Macro. . . . . . . . . . . . . . . . . .8-9 059: Insert a Command in a Macro. . . . . . . . . . . . . . . . . .8-9 060: Set Up Serial Port Options . . . . . . . . . . . . . . . . . .7-3 061: Disconnect all Ports from a Radio Port . . . . . . . . . . . 2-12 062: Change the Beginning of Command Names. . . . . . . . . . . . .5-7 063, 064: Not Currently Used. . . . . . . . . . . . . . . . . . . 17-7 065: Restore Audio Routing Variable (Undo 037 and 038). . . . . . 16-3 066..072: Not Currently Used . . . . . . . . . . . . . . . . . . . 17-7 073: Set/Recall Preaccess. . . . . . . . . . . . . . . . . . . . . .9-2 074: Allow Access To a Port that Requires Preaccess . . . . . . . .9-3 075: Set Stop Access Conditions . . . . . . . . . . . . . . . . . .9-4 076: Recall Stop Access Conditions. . . . . . . . . . . . . . . . .9-5 077: Isolate a Port from the Rest of the System . . . . . . . . . .9-5 078: Set Command Entry Options for a Port . . . . . . . . . . . . 17-2 079: Recall Command Entry Options for a Port. . . . . . . . . . . 17-4 080: Execute Command by Number . . . . . . . . . . . . . . . . . . 17-5 081..084: Not Currently Used. . . . . . . . . . . . . . . . . . . 17-7 085: Enable/Disable IDing a Port. . . . . . . . . . . . . . . . . 11-3 086: Recall Which Ports have ID's Enabled . . . . . . . . . . . . 11-3 087..089: Not Currently Used. . . . . . . . . . . . . . . . . . . 17-7 090: Read Whether Input Line is High or Low . . . . . . . . . . . 12-5 091: Execute Input Line High or Low Macro . . . . . . . . . . . . 12-5 092: Not Currently Used . . . . . . . . . . . . . . . . . . . . . 17-7 093: Turn Output Line On. . . . . . . . . . . . . . . . . . . . . 12-6 094: Turn Output Line Off . . . . . . . . . . . . . . . . . . . . 12-6 095: Recall Whether Output Line is On or Off. . . . . . . . . . . 12-7 096..099: Not Currently Used. . . . . . . . . . . . . . . . . . . 17-7 100: Read Analog Input Line. . . . . . . . . . . . . . . . . . . . 12-8 101: Set Resolution For Analog Input. . . . . . . . . . . . . . . 12-9 102: Set Conversion Ratio For Analog Input. . . . . . . . . . . .12-11 103: Calibrate an Analog Input. . . . . . . . . . . . . . . . . .12-14 104: Set an Analog Alarm. . . . . . . . . . . . . . . . . . . . .12-15 105: Set Analog Alarm Hysteresis. . . . . . . . . . . . . . . . .12-16 106: Not Currently Used . . . . . . . . . . . . . . . . . . . . . 17-7 107: Recall Analog Lines in Alarm . . . . . . . . . . . . . . . .12-18 108: Recall Analog Line Configuration . . . . . . . . . . . . . .12-18 109: Not Currently Used . . . . . . . . . . . . . . . . . . . . . 17-7 110: Configure the Autopatch. . . . . . . . . . . . . . . . . . . 13-5 111: Manual Off Hook. . . . . . . . . . . . . . . . . . . . . . . 13-5 112: Normal Forward Dial. . . . . . . . . . . . . . . . . . . . . 13-6 113: Forward Dial with no Long Distance Checking. . . . . . . . . 13-7 114: Hang up the Autopatch. . . . . . . . . . . . . . . . . . . . 13-9 115: Possibly Hang up the Autopatch . . . . . . . . . . . . . . . 13-9 116: Set / Recall the Predial Digits and Timing . . . . . . . . .13-10 117: Forward Dial with no Long Distance Checking or Predial . . . 13-8 118: Not Currently Used . . . . . . . . . . . . . . . . . . . . . 17-7 119: Set Allowed Numbers Table Slot . . . . . . . . . . . . . . .13-11 120: Recall Allowed Numbers Table Slot. . . . . . . . . . . . . .13-11 121: Set Nuisance Numbers Table Slot. . . . . . . . . . . . . . .13-12 122: Recall Nuisance Numbers Table Slot . . . . . . . . . . . . .13-12 123..127: Not Currently Used. . . . . . . . . . . . . . . . . . . 17-7 128: Set Full or Half-Duplex Patch Audio for a TX . . . . . . . .13-13 129: Recall Full or Half-Duplex Patch Audio for a TX. . . . . . .13-13 130: Block Command Execution From Port. . . . . . . . . . . . . . 5-11 131: Allow Command Execution From Port. . . . . . . . . . . . . . 5-11 132: Recall Blocked Ports . . . . . . . . . . . . . . . . . . . . 5-12 133: Set up Reverse Patch . . . . . . . . . . . . . . . . . . . .13-14 134: Reverse Patch Logon . . . . . . . . . . . . . . . . . . . . .13-15 135: Answer Reverse Patch . . . . . . . . . . . . . . . . . . . .13-15 136: Set up Reverse Autopatch Ring. . . . . . . . . . . . . . . .13-16 137: Autodial Only. . . . . . . . . . . . . . . . . . . . . . . .13-16 138: Not Currently Used . . . . . . . . . . . . . . . . . . . . . 17-7 139: Set Up the RLC-Icom Interface. . . . . . . . . . . . . . . . 14-7 140: Turn Radio Power On/Off, Set Power and Offset Format. . . . .14-11 141: Set PL Frequency, Encode and Decode. . . . . . . . . . . . .14-12 142: Set Frequency and Offset or Recall Memory. . . . . . . . . .14-13 143: Recall Frequency and Offset or Memory. . . . . . . . . . . .14-14 144..149: Not Currently Used. . . . . . . . . . . . . . . . . . . 17-7 144: Control/Recall RBI-1 Output Lines . . . . . . . . . . . . . .14-14 150..162: Execute an Automatic Macro. . . . . . . . . . . . . . . .8-4 167..249: Execute a User Macro. . . . . . . . . . . . . . . . . . .8-5 Limited 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-4's software and hardware. Changes to the software or copying 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) Please fill out this questionnaire. This will allow us to better serve you by helping us develop more specialized software and hardware. 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: Chapter 1: Getting Started Setup, Interfacing and Adjustment 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 (1) DB-25 Male Solder Connector for the I/O 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. Pin Number Description 1 Ground 2 PL Input (From your PL Decoder) 3 PTT Output (To the Transmitter) 4 Audio Output (To the Transmitter) 600 ê 5 Audio Input (From the Receiver) 10K ê 6 Ground 7 COR (From your Receiver) 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 3 volts to ground when a signal is present, the signal is active low. If the voltage goes from ground to a voltage above 3 volts the signal is active high. The RLC-4 accepts active low COR signals by default, but this can be changed for one or more of the radio ports with command 013. 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 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 (it is better to filter it out and re-inject it). - 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's 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 controller. - You may need to adjust the mike level pot on your transmitter to give the controller more range in its adjustments. A good rule is to set the transmit pot on the controller mid scale in its adjustment. Then set your transmitters mike level pot to obtain the correct deviation. 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 (1 volt peak-to-peak equals 0.35 volts RMS). 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 present it 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 one receiver is set up. Follow the above adjustment steps for all other connected receivers Tone Generator Adjustment: - Generate a tone test sequence using RLC-4 using command 040 - Adjust "TN" pot on the RLC-4 to the desired deviation - 1.5Khz deviation is typical Serial Port Interfacing The RLC-4 has a full duplex serial port for interfacing to a computer or serial terminal; it is the DB-9 connector closest to the DB-25 I/O connector and power plug. This connection can be made with just a cable, a telephone modem, a packet TNC, or any other method that will send the serial characters back and forth (some have even used Telnet over the Internet). You can use this serial interface to monitor and program the controller. See Appendix F for more information about controlling from the serial port. Using a Telephone Modem There are two ways to control the RLC-4 over the phone line. If the RLC-4 has an autopatch, you can control it using the reverse autopatch and entering commands with the telephone's DTMF pad. This works well for small changes, but if you want to do a lot of programming remotely, it is nice to do it with a computer. You can do this by putting an external modem on the controller and calling it from a modem attached to your computer (either internal or external). The modem should be connected to the controller's serial port - it has nothing to do with the autopatch. You can either run separate phone lines to the autopatch and the modem, or you can split the phone line and use it for both (one at a time, of course). You can either have your computer call the modem and have it answer or you can have the controller call your computer. If you want to call the controller and have the modem answer and you plan to use the reverse autopatch, you will have to have a way of determining which one answers the phone. The most common way is to set the modem to answer on three rings, then to change the reverse patch setup to make it answer on either 1 or 5 rings (you can do that with a couple of macros). Whichever one answers first will make the connection. It is also possible to use a call routing interface (similar to a fax switch) to detect whether you are calling with a modem or not or to make you press DTMF digits to get to the modem. The other option is to make the controller call your computer. This is usually done by sending a DTMF command to the controller to tell it to call you, which means you can't connect with the modem if there is a problem with your receiver. The DTMF command usually calls a macro that sends "ATDT " to the modem. The advantage of having the controller call you is that it doesn't conflict with the reverse patch and since the phone number is hard coded in the macro, you can be sure that no one else will call the controller with their modem and get control (since the modem can be set not to answer). If you plan to use this method, you may have to turn off line feed sending with command 060, since most modems will abort the dialing process if they receive any more serial characters after "ATDT" and the controller usually sends both a carriage return and line feed at the end of each line. Before connecting the external modem to the controller, you should connect it to your computer or serial terminal and enter some setup commands. Even if you already have a modem in your computer, you need to hook up the modem that will go on the controller to set it up. You can use a standard modem cable for this, or build one according to the chart below. Note that this cable is different than the one that you will use between the controller and the modem, even if the connectors are the same (pins 2 and 3 are swapped). Computer to Modem Cable Computer DB-9 Computer DB-25 Description Modem DB-9 Modem DB-25 3 2 Data Out of Computer 3 2 2 3 Data Into Computer 2 3 5 7 Ground 5 7 You will not need to connect the modem to the phone line to enter these setup commands. Load your communications program and set the comm port to talk to the external modem (it will probably be set for the internal modem when you start). Enter "ATZ" (without the quotes) and press enter. You will see an "OK" response if everything is hooked up right. Then enter (without the quotes, pressing enter after each command): "AT&F" to set everything to factory defaults. "ATS0=3" to make the modem answer after 3 rings or "ATS0=0" to keep the modem from answering at all. "AT&K0" to disable local flow control (the controller doesn't support it). "ATE0" to disable local echo. "ATQ1" to keep the modem from sending result codes. "AT&W" to store the settings to the modem's non-volatile memory. If you are unable to disable your modem's flow control in software, you may have to put jumper wires between some of the pins on its DB-25 connector to fool it. Shorting pins 4 and 5 together and pins 6, 8 and 20 together should fool the flow control into working. RS-232 Signals and Interfacing The RLC-4's 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-Club's pins 2, 3, and 5 to the computer's 3, 2, and 7 respectively. If you are connecting the controller to a modem, you will need to swap pins 2 and 3 relative to how you would connect it to a computer or run your cable through a null-modem adaptor. This is because master and slave devices (DTE and DCE devices) are wired differently. When hooking the controller and a modem (both slave devices) together, you have to adjust accordingly. The following chart summarizes the four different types of cables you may need. Controller to Computer or Modem Cable Controller DB-9 Description Computer DB-9 Computer DB-25 Modem DB-9 Modem DB-25 2 Data Out of Controller 2 3 3 2 3 Data Into Controller 3 2 2 3 5 Ground 5 7 5 7 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 Rate 9600 Parity None (N) Word Length 8 Stop bits 1 You can change the baud rate the RLC-4 uses with command 024. If you are using a modem, you may be able to set the baud rate that the modem uses to communicate with the controller to be different than the speed at which it connects to the other modem. In other words, a 2400 baud modem may be able to connect to the controller at 9600 baud and to the other modem at 2400 baud. Troubleshooting If you can't get the connection between your computer or serial terminal and the controller to work, there are several things you can check. Make sure that the serial cable is properly connected between a serial port on your computer and the serial port on the controller and that the controller is powered up. Load your communications software (Procomm, Telix, the Windows terminal program, etc) and make sure it is set for the right comm port and baud rate. Whenever you reset the controller (or cycle the power) it will output a serial message you should see on the screen. Pressing enter should get you a "DTMF>" prompt that indicates that it is ready to accept the same commands you might enter from a radio's DTMF pad. If neither the reset message or pressing enter gets any response, double check that you have the comm port set right. Then disconnect the serial cable from the controller and short pins 2 and 3 on that end of that cable together (those are the data in and out pins). Then type on the keyboard and see if what you type shows up on the screen - it should (even with echo turned off). If you quit shorting those pins, the data should not show up on the screen. If you cannot get the data to show up on the screen by shorting those two pins, the problem is either in the computer or the cable (the controller isn't even hooked up). The most common problem is having the comm port set wrong - try all the settings. Then check your cable again. If you still can't get it to echo, unhook the cable from the computer and try shorting pins 2 and 3 together on the serial port right at the computer, eliminating the cable as a possible problem. Again, you should see whatever you type appear on the screen. If you don't, the problem is in the computer or how you have the comm program set up. Once you get it to echo with the jumper wire at the computer, hook up the cable to the computer and try the jumper wire at the other end of the cable. If that doesn't work, the problem is in the cable. Finally hook the cable back up to the controller and try again. If the characters echo but don't work, you may be in 7 bit mode rather than 8 bit mode. If all else fails, write down how your cable is wired and call Link Communications for help. After you get it working, see Appendix F for information about controlling from the serial port. Reset and Power Up When the RLC-4 resets, it sends "Reset" in CW out transmitter 1 (see command 045 if you want to change that message). When this message is sent you know that one of the following events have occurred: Power has just been turned on The user has pressed the "RESET" button The Reset command has been executed (command 035) The controller's watchdog timer has expired. This is an internal protection timer that can reset the controller automatically if something goes wrong in the software. Entering Commands It is really easy to enter commands on the controller. You just have to enter the command name on your DTMF pad and unkey. For example enter 009 on the DTMF pad and unkey. The controller will respond with a CW message telling you which ports are connected. If you have a computer hooked up to the serial port, you can type 009 on your computer and the controller will print the crosspoint table on the screen. A CW message indicating which ports are connected will be heard on the transmitter connected to port 1. Entering More Digits after the Command Name: Some of the commands take more digits; if you want to connect two ports, try "000 H M" where H is the port number for the first port to connect, M is the port number for the second port to connect (00012 to connect ports 1 and 2, for example). Command 000 needs more digits after the command name so it knows what ports to connect. The description for each command in this manual will tell you if you need to enter more digits after the command name or not. Command Names: When you first receive the controller (or right after everything has been set to factory settings by reinitializing - see Appendix D), all of the command names will be three digit numbers, 000 to 249. Command 9 must be entered as "009"; the leading zeros are needed to make the command name three digits long. You can change any or all of the command names if you want to. You can make them almost any combination of DTMF digits up to six digits long. You will want to avoid using the digit 'D' in any of the command names. For more information about command names, see Chapter 5. Unkey or Press 'D' to Execute: After entering a command name and any other digits that command might require, you can tell the controller to go ahead and execute the command in several ways. If you are entering the command from a radio, you should normally just unkey. The controller will then execute the command. There may be times when the receiver's squelch is too loose and is stuck open or when someone sits on their mike then the controller won't be able to tell when you unkey. At those times, you need another way to make the commands execute. That is the purpose of the "force-execution" digit. It tells the controller to execute the command right away. It is normally set to the digit 'D'. You should not use it when it is not necessary, because as soon as you release the 'D', the controller will start the command response, even if you haven't unkeyed yet, and you won't hear the first part of that response. When you are entering commands from a computer or serial terminal, you can tell the controller to execute a command in two ways, either by entering a 'D' or pressing the enter key. When entering commands from the reverse autopatch, you can't unkey or press 'D' (on most phones), so there is another way, called "timed execution". When timed execution is turned on, you can just enter a command and wait for a few seconds and the controller will execute it. For more information about the force-execution digit and timed execution, see command 078. Error Messages If errors are encountered while programming the user can use this page as a reference to locate what caused the errors. Most errors are caused due to the command formats not matching what the controller is expecting. The user can change what the controller does with commands 045 or disable the error message completely with command 047. Error 00 - Command Name Length not Matched If the controller can not locate the command name this error is called Error 01 - Too few data digits entered If the controller expects more digits on a command than entered you will get this error Error 02 - Too many data digits entered If the controller expects less digits on a command than entered you will get this error. You can also get this error if you try to put more commands into a macro than it will hold. Error 03 - Invalid number of data digits entered If a command expects increments of 3 digits and you give it a wrong number of digits you will get this error. Error 04 - Execution blocked from this port The command you are trying to execute has been blocked from being executed. Error 05 - User level to low to execute this command The command you are trying to execute is at a higher user level than your assigned level. A lower level user can not execute commands assigned to a higher level. Error 06 - This macro is reserved for internal use Do not edit, erase or alter this macro position. It is for internal use only. Errors 07 - Command executed OK When a command executes correctly (User and/or macro execution) this macro is called. Error 08 - Internal error just occurred If you get this error please contact Link Communications, Inc. with a detailed description on how you made this error occur. Error 09 - Macro depth limit reached This error occurs if a macro is calling itself or you have a macro call another macro for six levels. For example, Macro 300 calls macro 301 calls macro 302 etc. for 6 levels. Error 10 - Invalid data value entered This error occurs if a value is entered into a command that is invalid. Error 11 - Command does not exist This error is similar to error macro 200 except it occurs when a listed command that is not enabled, is called. The command name exists but the command does not exist. Error 12 - Bad Autopatch Number You tried to enter a number in the autopatch that is invalid or blocked. Error 13 - General Autopatch error There is a general autopatch error that just occurred. Refer to the command you are executing and verify the format or the autopatch is not configured (See Command 110) Error 14 - User requested is disabled This error is encountered if a user that is disabled tries to log-on to the system. Error 15 - Digital Voice Recorder (DVR) is busy This error is encountered if the DVR is currently busy and the requested DVR function can not be processed. Error 16 - Macro is full This error indicates a macro position if full. No more commands can be added to the specific macro. Error 17 - Reserved Error 18 - Reserved Error 19 - Reserved 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 set up port one as a repeater. Simply follow our example to configure other ports as repeaters. Configure the port's connection: 000 1 1 This command connects port 1's receiver to port 1's transmitter. When you do this port 1's receiver will cause a PTT on port 1's transmitter. You could call this putting it into repeater mode. Configure the port's Hang timer: 020 008 200 This command set the hang timer to 200 * 10mS = 2 seconds. Configure the port's ID'er: 085 1 1 This command enables the ID'er for port 1. The ID timer defaults to 10 minutes. Programming in your ID: 053 151 030 20 15 07 15 36 27 This command programed macro 151 to send the cw message "KF7FW/R". Macro number 151 is the designated macro for port 1 initial ID. Now each time the controller needs to ID initially on port 1, macro 151 is executed and the CW message "KF7FW/R" is sent out port 1. Note: the ID's will automatically be sent to the right ports, so don't worry about the "message routing variable". Configure the courtesy beep: The courtesy beep is already configured and stored in Macro 159. When you execute Command 159 you will get a "beep" at 500 Hz for 200mS. To program your own beeps refer to the section "Beeps and Messages" or take a look at Command 040. Configure the time-out timer: The time-out timer defaults to 3 minutes and is programmable with Command 020. Now your port is configured as a repeater port. Example 1-1: Configuring a Port as a Repeater or Link Repeaters and links indicate how a port is configured. Repeater A repeater is defined as a port that loops the port's receive audio out the port's transmitter. When the receiver becomes active, the transmitter of the same port should go active. When the receiver goes from active to inactive, a courtesy beep and hang time will be generated. It is required that the radios on a repeater port be only full duplex. To convert a port into a repeater port the following command is used 000 X X Where X and X are the same number indicating what port the repeater is on When the port is looped back the courtesy beep is on port 'X', ID's are started and routed to port 'X'. Time-out timers, if enabled, are running when port 'X's receiver is active. Link A link is defined as a port that does not loop the ports receive audio out the ports transmitter. When the receiver becomes active, the transmitters of all connected ports should go active except its own port. A link can be either half or full duplex. Full duplex links allow the ports transmitter to operate without effecting the receivers function. Half duplex links are similar to full duplex with the exception that the transmitters operation causes the receiver to be shut-off. To convert a port into a link port if it is already a repeater port the following command is used. 002 X X Where X and X are the same number indicating what port the link is on When the port is a link the courtesy beep is on port 'X' is only routed to port 'X' if the audio routing variable is not 00 (Refer to Command 037-039 for audio routing variables). ID's are enabled but only controlled by the other connected ports. Time-out timers, if enabled, are running when port 'X's receiver is active. Monitoring a port It is handy to monitor a connected port's receiver without keying the port's transmitter. Because the controller has full duplex ports, the controller can be monitoring another port's receiver while the monitoring port continues to have a conversation. To monitor a port from another port the following command is used 001 X Y Where X is the port doing the monitoring of port Y, Y is the port being monitored Example 1-2: Configuring a Port's COR/PL Polarity In order for the controller to recognize a ports receiver: A COR signal must be present The receivers COR signal is used to tell the controller when the receiver's squelch is open A CTCSS (PL) tone can also optionally be used for controller access An external decoder is used to decode a receivers CTCSS tone Each one of these signals can be either high when active, or low when active. What 'High' really means A 'High' COR or PL signal indicates the input goes from a ground (0Volts) to either an open (High Z) or to a voltage above 4 volts. The controller has protection that safely allows 'High' voltages up to 15 volts without any damage to the controller. With a voltage meter you will read a voltage on the COR and CTCSS inputs with nothing connected. This indicates the input is 'Pulled Up'. An input is 'pulled up' so the controller always has a voltage on the COR and CTCSS inputs. This keeps the inputs from floating between 'High' and 'Low' If you do not have a receiver connected to the controller, the controller will see the COR and CTCSS as high. It is very important to tell the controller the COR and CTCSS inputs are active low if nothing is connected to the port. What 'Low' really means A 'Low' COR or PL signal indicates the input goes from an open or a voltage above 4 volts to ground (0Volts). Ground does not mean open or nothing connected to a pin. Ground means just that, ground or the same voltage and impedance as your power supply (-) terminal. The controller has protection that safely allows 'High' voltages up to 15 volts without any damage to the controller. If you do not have a receiver connected to the controller, the controller will see the COR and CTCSS as high. It is very important to tell the controller the COR and CTCSS inputs are active low if nothing is connected to the port. Polarity Control Once you have determined the ports COR and CTCSS polarity you need to configure the controller to accept the correct polarities. The controller defaults to active 'Low' on both the COR and CTCSS inputs of all ports. If your receivers are already 'Low' you do not need to change the configuration. If your polarity is active 'High', you need to use command 013 to tell the controller your correct polarity. How to program your Beeps and Messages Courtesy Beeps: The RLC-4 supports separate courtesy beeps on each port. Courtesy beeps are set up by programming the courtesy beep macro to generate tones using command 040. Multiple beeps are simply several of the tone generate commands in a sequence. If you want a CW message as a beep then program the macro to send CW (using command 030) rather than tones. 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 040 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 set independently for each port. This allows the RLC-4 to be ID'ing more than one repeater at the same time, with different ID messages, frequencies and speeds. Refer to Command 030 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. We will use 2 macros for this example, 170 and 171, because there is not enough room in one macro to hold all of the commands. Command 056 programs the macros Macro programming keystrokes: 055 170 ; Erase macro 056 170 037 123 ; Route audio to ports 1, 2 and 3 056 170 030 20 15 07 15 32 40 24 23 ; Send CW "KF7FW ON" 056 170 038 ; Be quiet for rest of macro 056 170 000 12 ; Connect port 1 to port 2 056 170 000 13 ; Connect port 1 to port 3 056 170 171 ; Tell macro 170 to execute macro 171 055 171 ; Erase macro 056 171 043 1 1500; Set port 1 CW frequency to 1500 Hz. 056 171 037 1; Routes message to port 1 056 171 030 17 18; Send CW message "HI" 056 171 038; Be quiet for rest of macro 056 171 043 1 0880; Change port 1 CW frequency back to 880Hz Now rename Command 170 to your Link ON command name. Refer to 010. When the macro 170 is executed you will hear: - KF7FW ON out Port 1,2,3 then - HI out Port 1 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 020 and recalled with Command 021. Refer to Command 020 for more information. Message Start Delay Timers: 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 Timers: 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 Timers: 08 - Hang Timer, Port 1 09 - Hang Timer, Port 2 10 - Hang Timer, Port 3 11 - Hang Timer, Port 4 DTMF Mute Timers: 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 RBI-1 Timer: 17 - RBI-1 Data Send Delay Timer DVR Internal Timer: 18 - timer does not need to be changed Mini Hang Timers: 19 - Mini Hang Timer, Port 1 20 - Mini Hang Timer, Port 2 21 - Mini Hang Timer, Port 3 22 - Mini Hang Timer, Port 4 Keyup Delay Timers: 23 - Keyup Delay Timer, Port 1 24 - Keyup Delay Timer, Port 2 25 - Keyup Delay Timer, Port 3 26 - Keyup Delay Timer, Port 4 Reserved Timers: 27 .. 39 - Reserved for future enhancements Impolite ID Timers: 40 - Impolite ID Timer, Port 1 41 - Impolite ID Timer, Port 2 42 - Impolite ID Timer, Port 3 43 - Impolite ID Timer, Port 4 Initial ID Timers: 44 - Initial ID Timer, Port 1 45 - Initial ID Timer, Port 2 46 - Initial ID Timer, Port 3 47 - Initial ID Timer, Port 4 Pending ID Timers: 48 - Pending ID Timer, Port 1 49 - Pending ID Timer, Port 2 50 - Pending ID Timer, Port 3 51 - Pending ID Timer, Port 4 Timeout Timers: 52 - Time Out Timer, Port 1 53 - Time Out Timer, Port 2 54 - Time Out Timer, Port 3 55 - Time Out Timer, Port 4 Preaccess Tone Timers: 56 - Preaccess Tone Timer, Port 1 57 - Preaccess Tone Timer, Port 2 58 - Preaccess Tone Timer, Port 3 59 - Preaccess Tone Timer, Port 4 Preaccess Timers: 60 - Preaccess Timer, Port 1 61 - Preaccess Timer, Port 2 62 - Preaccess Timer, Port 3 63 - Preaccess Timer, Port 4 User Timers: 64 - User Timer 00 65 - User Timer 01 66 - User Timer 02 67 - User Timer 03 68 - User Timer 04 DTMF Interdigit Timers: 69 - DTMF Interdigit Timer, Port 1 70 - DTMF Interdigit Timer, Port 2 71 - DTMF Interdigit Timer, Port 3 72 - DTMF Interdigit Timer, Port 4 Reverse Patch Ring Timer: 73 - Reverse Patch Ring Timer DVR Start Recording Timer: 74 - DVR Start Recording Timer Keyup Delay Reset Timers: 75 - Keyup Delay Reset Timer, Port 1 76 - Keyup Delay Reset Timer, Port 2 77 - Keyup Delay Reset Timer, Port 3 78 - Keyup Delay Reset Timer, Port 4 The Autopatch The RLC-4 supports a full/half duplex external autopatch board. When the autopatch is used, port 4 can not be used. The autopatch uses port 4's audio input, output, cor and ptt logic. RF remoting your patch is possible (contact Link Communications for more information). This is helpful when you can not get a phone line to the controller site and want to connect the patch through a radio link. 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 1 volt RMS. The procedure for adjusting the DTMF is to generate a DTMF sequence (See Command 031) 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 128, 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 in the autopatch. 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. Troubleshooting the Controller No Audio at Test Bus Check for main system power Is there a valid COR signal present on the receiver: (Default: Active Low) Have audio at the test bus, but not on the transmitter Are the output audio pots adjusted correctly Is the transmitter connected to the controller's audio output: Pin 4 on the DB-9 Is the PTT connected to the controller: Pin 3 (Low on Transmit) When I connect my COR, the RLC-4 will not accept it My COR is set for active Low, does the COR go to ground when active My COR is set for active High, does the COR go to ground when inactive Can the COR sink (2mA) when active Does the 5V pull-up resistor conflict with your radio - Motorola R-100 Repeaters are susceptible to this - Open collector the driver on R-100 repeaters When I connect my serial terminal, I do not get any data Is your terminal's baud rate set to 9600, N, 8, 1 The controller requires all RS-232 signals (TX/RX/Ground) be connected Are all the RS-232 TX and RX and ground wires connected Chapter 2: Port Connection Commands This chapter deals with the commands used in connection and control of the radio ports. The three areas dealt with in this chapter are: Radio port connections Receiver access control Transmitter PTT control "Connected Ports" In this chapter you will often see references to ports being "connected". When two ports are connected, they hear each other (the COR from each port will activate the PTT on the other, and the audio from each will be transmitted out the other). All of the radio ports on the controller can work independently, or they can be connected together in any combination. If all of the ports are connected to each other, the whole controller works as one unit, with audio received on any of the receivers going out all of the transmitters. You can make a port a repeater by connecting it to itself, so it hears (repeats) its own audio. When using a port for a link or remote base, it should not be connected to itself; when audio is received on a remote it should not be transmitted back out the remote. Instead, the audio from the remote should be transmitted out of a repeater, and the audio from the repeater should go out the remote. So the repeater port should be connected to itself (to make it a repeater) and the repeater port should be connected to the remote base port (so they can hear each other). The remote base port should not be connected to itself. To turn the remote off, you can disconnect it from the repeater port and they will no longer hear each other. It is also possible to make a one-way connection, that is to have one port monitor another. If you make the repeater port monitor the remote base port, the people listening to the repeater would be able to hear the remote base, but the remote base would not transmit the audio received on the repeater. In this case we could say that the remote receiver is connected to the repeater transmitter, but that the repeater receiver is not connected to the remote transmitter. When you make an autopatch call, the controller automatically connects the radio port that made the call to the autopatch port. It also may connect to the patch any ports that were connected to (or monitoring) the port that made the call, to avoid one-way conversations. It also connects the autopatch to itself (to keep it off hook when you unkey) even though it doesn't get it's own audio looped back (there is a special case in the code to break that audio connection). Turning a Repeater Off There is more than one way to turn a repeater off, each of which has advantages and disadvantages. For this example, we will assume that you have a repeater connected to port 1. One option is to disable the repeater transmitter. This will keep the tranmitter from coming up for any reason. It will not repeat audio, it will not ID, it will not send any messages that may be caused I/O alarm messages, and if a remote is connected, it will not send the audio from that remote. The receiver will still work normally. You can still use the receiver to turn the repeater back on or enter any other commands, and if you have a remote base port connected to the repeater port, your receiver's audio will still go out the remote. The repeater transmitter can be disabled by entering "033 10". Another option is to disable the repeater's receiver. In this case, the receiver will not cause any transmitters to key up and no audio that is received by that receiver will be transmitted out the repeater or any remotes. The repeater transmitter will continue to work normally. It will still ID (when it needs to), send alarm messages, and if a remote is connected, it will still send the audio from that remote. You can disable port 1's receiver by entering "005 10". You can choose whether or not to allow commands to be entered when the receiver is disabled with command 005. Entering "005 1 0" will disable receiver 1 and make the controller ignore any commands that are entered there. This may be useful for keeping someone from that is trying to break into your controller from getting in. It will also keep you from doing anything from that receiver - even turning it back on. If you set command 005 this way and disable the receiver, you will have to turn the receiver back on from another receiver on the controller, from the reverse patch, or from the serial port. If your enter "005 1 0 1" instead, the disabled receiver will still not cause any transmitters to key, but you will be able to enter commands on that receiver. The final method for disabling a repeater is to disconnect the repeater port from itself by entering "002 11" (or from itself and any remotes that might be connected: "061 1"). This does not disable either the repeater receiver (it can still receive commands) or the transmitter (it can still send ID's and I/O alarms), but it keeps the repeater receiver from being heard on any transmitters and keeps the transmitter from sending the audio from any receivers. This is the best method for most systems. Whichever of the methods you choose to turn your repeater off, you will probably want to program a macro to do it with a simple DTMF code and program another macro to turn it back on. An example of the final (recommended) method is show below. Entering "A1" should shut the repeater off and "A2" should turn it back on. 055 173 ; delete macro 056 173 030 27 40 24 15 15 ; send cw message "R OFF" 056 173 038 ; be quiet for the rest of this macro 056 173 061 1 ; disconnect all ports from port 1 010 173 A1 ; name the repeater off code "A1" 055 174 ; delete macro 056 174 030 27 40 24 23 ; send cw message "r on" 056 174 038 ; be quiet for the rest of this macro 056 174 000 11 ; make port 1 a repeater again - this will not reconnect any remotes 010 174 A2 ; name the repeater on code "A2" 000: 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. <000> x y Parameters: - 000 is the default command name - X is the first port to connect - Y is the second port to connect Default: - Port 1 defaults to a repeater. All other ports default to links. No ports are connected to each other. 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 001. Example 1: Connect Port 1 to Port 4 000 1 4 Response: CW response "1 N 4" Example 2: Make port 3 a repeater port 000 3 3 Response: CW response "3 N 3" 001: Monitor one Port from another Port This command allows you to monitor one radio port from another radio port. <001> x y Parameters: - 001 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 Note: If you want a two-way connection, where port A can monitor port B and port B can monitor port A, use command 000. Example: Monitor Port 4 by Port 1 <001> 1 4 Response: CW response "1 M 4" 002: Disconnect one Port from another Port This command allows you to disconnect one radio port from another radio port. <002> x y Parameters: - 002 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 Note: If you want to break all of the connections to a port, check out Command 061. Example 1: Disconnect Port 1 from Port 4 <002> 1 4 Response: CW response "1 F 4" Example 2: Port 2 is currently a repeater port. You want to return the port to a link <002> 2 2 Response: CW response "2 F 2" 003,004: Recall a Port's Connections This command allows you to find out where port X's receiver or transmitter is connected. <003> x Interrogate a Receiver <004> x Interrogate a Transmitter Parameters: - 003 is the default command name. This command finds what transmitters are connected to receiver 'X'. - X is the receiver to recall the connections to - 004 is the default command name. This command finds what receivers are connected to transmitter 'X'. - X is the transmitter to recall the connections to Default: - All port default as links Example 1: Port 1 is connected to ports 2 4 <003> 1 Response: CW Response "1 C 2 4" Example 2: Ports 1,3, are connected to port 2 <004> 2 Response: CW response "2 C 1 3" 005: Set Receiver and DTMF Decoder Conditions This command lets you specify whether a user must have PL (CTCSS) to key up your repeater or whether it can be keyed with just carrier, among many other options. By selecting a "mode" from the table below, you can tell the controller what conditions must be met for a receiver to be considered active, that is to make it key connected transmitters. Each mode is described in detail on the following page. This command also lets you specify the conditions the controller requires to be met for DTMF tones to be processed. Normally they are the same as the conditions for activating the receiver, but you can set them to be different. You can, for example, allow access to your repeater with just carrier, but require PL to enter any commands (enter "005p13"). Or you can require PL to access the repeater but provide a PL override command that can be entered with only carrier (enter "005p31). The controller will mute DTMF digits (if you have that option enabled, see command 007) regardless of the conditions you have set to execute commands. <005> p y Set receiver's access mode <005> p y z Set receiver's and DTMF decoder's access modes Parameters: - 005 is the default command name. - 'p' is the port number (1..4) - 'y' is the receiver's access mode - 'z' is the DTMF decoder's access mode. If not specified, it will match the receiver's access mode Defaults: - Receiver and DTMF decoders default to mode 1 on all ports. Mode Definitions: Mode Definition 0 No Access 1 COR Access 2 PL Access 3 COR and PL Access 4 COR or PL Access 5 Always Active Description of Modes: Mode 0: The receiver is effectively disabled; even if the carrier and/or PL is received, the controller will ignore that receiver and will not key connected transmitters. Mode 1: The controller will respond to the COR signal, allowing access with carrier. The PL signal is ignored. Mode 2: The controller will respond to the PL signal. The COR signal is totally ignored. This mode may cause very long squelch tails since PL decoders are generally slow to recognize when the PL tone goes away (see mode 3). Mode 3: Both COR and PL must be active at the same time for the controller to respond to the receiver. Repeaters that require PL usually use this mode because it eliminates the long squelch tails often heard when using mode 2. Typically, when someone keys a repeater with PL, the receiver's COR signal will go active first. The controller will ignore it for the moment. Perhaps 100 milliseconds later (the actual time varies) the PL decoder will recognize the subaudible tone and will activate the PL signal going to the controller. At that point the controller will see that the COR and PL are both active and will key up any connected transmitters (subject to the keyup delay filter and other factors). As long as both the COR and PL signals are active, the controller will consider that receiver to be active. When that person unkeys, the receiver's squelch circuit will recognize the loss of carrier very quickly (some squelch circuits are faster than others - ask about the RLC-MOT) and deactivate the COR signal. The controller will see the change in the COR signal and mute the audio right away, so you get a short squelch tail. The PL decoder will eventually figure out that the subaudible tone went away and deactivate the PL signal, perhaps 200 milliseconds later. The delay in sensing the loss of PL won't matter because the audio is already muted (unlike mode 2). Mode 4: Either COR or PL will cause the controller to respond to the receiver. This mode is useful if you want to allow access to a repeater without PL, but you have to set the squelch relatively tight to keep noise from keying the repeater. As long as your signal to the repeater is relatively strong, you can transmit without PL and you will get short squelch tails just like in mode 1. If you are too far away and can't get a strong enough signal to the repeater to open the squelch, you can transmit a PL tone. If your signal is strong enough for the PL decoder at the repeater to work, you will be able to talk on the repeater, even if you can't open the squelch (similar to mode 2). Note that for this mode to work, the receiver must not mute the audio going to the controller when the squelch is closed (you must use unsquelched audio). When using this mode, you should transmit PL to the repeater only when necessary, as whenever you use PL, you will get long squelch tails. Mode 5: The controller considers the receiver to be active all of the time, regardless of the COR and PL signals. This mode is useful for working with HF radios, with or without all-mode squelch. If the HF radio doesn't have squelch, or if it does but it is set too tight and the signal keeps dropping out, you can select this mode to tell the controller to treat it like it is always active while you are using it. You may want to change the access mode to mode 0 when you are not using it, to keep it from timing out. Example: You want to change the receiver and DTMF mode to COR and PL (mode 3) on port 2. Note that you don't need to specify the DTMF mode if it is the same as the receiver mode: <005> 2 3 or <005> 2 3 3 Response: CW Response "2 CAP CAP" (CAP is for Cor And PL) Example: You want to allow carrier access to a repeater on port 1, but you want to require PL to enter DTMF commands. <005> 1 3 1 Response: CW Response "1 CAP COR" 006: Recall Receiver and DTMF Decoder Conditions This command allows you to recall the conditions set with command 005. <006> p Recall a port's access mode Parameters: - 006 is the default command name. - 'p' is the port number (1..4) 009: Recall Entire Controller's Audio Crosspoint This command allows you check the audio crosspoint connections on all radio ports on the controller. For each receiver, it shows which transmitters are connected, that is which transmitters will be keyed by the controller when that receiver goes active. <009> Parameters: - 009 is the default command name. Default: - 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 . . . . 013: 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. <013> p c l Set Active Level <013> p 00 Reset to Defaults 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 'D' key to simulate unkeying after entering each command. Parameters: - 013 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: <013> 2 1 0 CW Response: " 2 1 0" 061: 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 000. If you only want to break some of the connections to a port, see command 002. <061> p Parameters: - 061 is the default command name - P is the port to disconnect all other ports from Shortcut: If you want to break all of the connections to several ports, list all of them. For example: 061 1 2 3 4 breaks every connection in the whole crosspoint. Example: Disconnect all other ports from Port 4 <061> 4 CW Response: "4 C" 033: Enable or Disable PTT for a Port This command allows you to turn a PTT off regardless of what else the controller is doing. It doesn't matter whether it is a repeater or a link, what receivers are active, or anything else, if this command gets executed with F=0, the PTT goes off and stays off. This command is not the best way to regularly shut off a repeater or link (use command 002 for that), but it will get the job done in an emergency. The only way to make the PTT work normally again after turning it off is to execute this command with F=1 or to reinitialize the controller. <033> p f Parameters: - 033 is the default command name. - P is which transmitter to turn off - F is 1 to enable the PTT (the default) or 0 to disable it Notes: This command does not disable the receiver, so you can normally turn the repeater back on by executing this command with F=1. You can also turn the PTT back on from another radio port, from the reverse autopatch, or from the serial port. 034: Recall Which PTT are Enabled This command allows you to recall which PTT are enabled and which have been turned off with Command 033. <034> Parameters: - 034 is the default command name. Chapter 3: Audio and DTMF Configurations This chapter deals with how the controller handles DTMF digits that are received from a radio or the reverse autopatch. You can control both what is heard on the repeater while digits are being entered and what the controller does with those digits - whether it uses them to execute commands or ignores them. Background: The controller has a DTMF decoder that is constantly listening to each receiver. A DTMF decoder works by watching for 8 tone frequencies, 4 that represent the row and 4 that represent the column of a 16 key DTMF keypad. If a row frequency and a column frequency are detected at the same time, the decoder registers it as a valid digit and tells the microprocessor. This takes about 40 or 50 milliseconds from the time the DTMF digit starts. DTMF Mute: If you have the controller set to mute DTMF digits (see command 007), it will turn off the audio from that receiver to that transmitter as soon as the digit is detected. Normally you will hear the first few milliseconds of the DTMF digit before it is detected and muted, although you can avoid hearing it at all with an audio delay module (available from Link Communications). The audio stays muted until a few seconds (see command 20, DTMF mute timers) after the digit is released. If you press another digit during those few seconds, the audio will remain off, so you won't hear any part of the second (or following) digits. So when you key up to enter a command, those listening to the repeater will hear a short beep when you hit the first digit and then your digits will be muted (unless you take too long between digits and the timer expires). DTMF Cover Tone: If you want to, you can turn on a "cover tone" that is sent while the DTMF digits are muted (see command 007). This beep-beep-beep over the repeater lets people know that someone is programming, so they don't just key up and talk over the silence of the DTMF mute. You can change what the cover tone sounds like by creating a special macro and changing the event trigger to call it with command 045. You can't use a cover tone unless you have the DTMF mute turned on. Mute and Cover Tone are set for each Transmitter: You can specify whether the DTMF mute and cover tone are turned on and off for each transmitter (not receiver). This means that the muting function and cover tone don't consider which receiver the DTMF tones are coming in on; if they could be heard on a transmitter (if they are coming in on a connected receiver) and the mute/cover tone is turned on, they will be muted. If you have just one repeater and no remotes or links, the difference doesn't matter. If you have several connected repeaters, links or remotes, it can be a bit confusing. You almost always will want DTMF mute to be turned on for the repeater transmitters. This will mute any tones before they go out on the repeater, whether those tones are entered from the repeater or from one of the connected links, remotes, or even the autopatch. DTMF tones that are heard by the repeater receiver will be muted before they go out the repeater, but they can still go out any connected links or remotes. Sometimes you want this, so you can send tones down the links to control other sites. Other times, you don't want tones to go down the links; in those cases you should turn on the DTMF mute for the link port transmitters just like you did for your repeater transmitter (with command 007). DTMF Mute Bypass: The DTMF mute bypass can be used for sending DTMF paging codes over a repeater that normally mutes DTMF tones or for passing commands out a link transmitter that normally mutes DTMF tones. If enabled, it allows you press 'D' (or whatever your force-execution digit is - see command 078) as the first digit after keying up to disable the muting function until you unkey. When the 'D' is detected, the controller will ignore any digits detected from that receiver until you unkey. It will not mute those digits on any transmitter and it will not try to decode those digits and execute any commands. The 'D' itself will be muted as soon as it is detected. If you do not have an audio delay module, the first part of that 'D' will be heard and might mess up whatever you are passing tones to. If the tones are going to another controller of the same kind, turn off the DTMF bypass on the other controller so the 'D' won't cause it to ignore the digits. If the first part of the 'D' not being muted is still a problem, you will have to get an audio delay for that receiver, turn DTMF mute off and enter the digits without using a 'D' first, or use the controller's command to generate DTMF digits (command 033). Voice Falsing As mentioned earlier, a DTMF decoder works by watching for 8 tone frequencies, 4 that represent the row and 4 that represent the column of a 16 key DTMF keypad. If a row frequency and a column frequency are detected at the same time, the decoder registers it as a valid digit. Sometimes peoples' voices have those frequencies in them and cause the DTMF decoder to think that a digit is present when it is not. If you have the DTMF mute turned on, this will cause it to be activated and your voice will "drop out" for a couple of seconds as the controller thinks it is muting a DTMF digit. If you have the cover tone turned on, you will hear it as well. The voice falsing of the DTMF decoder is not the decoder's fault - it is just watching for those tones. There are a couple of things you can do to reduce falsing. The first thing is to check all of your audio levels. If you have the receive audio turned up too high at any point before it gets to the decoder, it may be distorted, which adds harmonics and makes falsing more likely. You can make any remaining falsing less annoying by setting the DTMF mute timer to be relatively short (1..2 seconds, or even less if you have an audio delay module). If all else fails, it is possible to change a resistor value on the controller to make the decoder less sensitive to voice falsing. 007: Configure DTMF Mute/Cover Tone/Bypass This command allows you to program and recall whether DTMF mute is turned on/off, whether a cover tone is used when the received DTMF is present and mute and if the user enters the force- execution digit (see command 078) as the first digit in a sequence the DTMF mute is bypassed until the user unkeys, thus allowing for DTMF digits to be sent for paging applications. See the beginning of this chapter for more information. <007> p Recall mute, cover tone and bypass settings <007> p m Configure DTMF mute <007> p m c Configure DTMF mute and cover tone <007> p m c u Configure DTMF mute, cover tone and bypass Parameters: - 007 is the default command name. - P is the port to set up - M turns the DTMF mute on or off (default is off) 1 - Enable DTMF mute on the selected transmitter 0 - Disables DTMF mute on the selected transmitter - C (optional) turns the cover tone on or off (default is off) 1 - Enable 440 Hz cover tone on the selected transmitter 0 - Disable 440 H - U (optional) turns the DTMF mute bypass on or off (default is off) 1 - Enable unmute control on the selected receiver 0 - Disable unmute control on the selected receiver Notes about the Autopatch: When using the autopatch, if the other end is hung up before the autopatch is, you may get a "second dial tone" which allows you to make another call without hanging up. Since the controller doesn't know that the other end hung up, it doesn't know that you are placing another call and will not prevent you from making a long distance call, even if long distance numbers are normally blocked. To prevent this, you can turn on the DTMF mute for the autopatch port, although there are some drawbacks to that. If you turn on DTMF mute for the autopatch port, command 111 will no longer let you dial, you will not be able to enter digits to control answering machines, leave pages, etc., or do anything else that requires passing DTMF digits entered from the radio down the phone line. In most cases, the DTMF mute can be left off with minimal risk of abuse. If you do turn on the DTMF mute for the autopatch port, don't turn the cover tone on. If you do and the patch hears an echo of the digits it is dialing, it will send the cover tone along with the digits and prevent the number from being dialed correctly. Example: Turn on DTMF mute and cover tone and turn off the mute bypass for port 3: <007> 3 1 1 0 unkey, 'D' or Response: CW Response "3 N N F" Chapter 4: Timers This chapter deals with the controllers timers and time related issues. Programming, starting, restarting and recalling timers 020: Program a Selected Timer This command allows you to program the controller's timer system. <020> xxx y..y Parameters: - 020 is the default command name. - XXX is the selected timer to be programmed - y..y is the value to be programmed into the timer (0 to 9999). y..y can be one, two, three or four digits long. Message Start Delay Timer: This timer controls how long the controller will wait before sending any tones in two situations. The first is when you enter a command and unkey; it controls how long it will be before the response to that command will be sent. If the delay is set too short, you might miss the first CW character or two while your HT finishes switching from transmitting to receiving. The second situation in which this timer might delay tones or voice messages is when they need to be sent out of a transmitter that is not keyed up at the time. The transmitter will be keyed for at least the length of this timer before the tone is started. If this timer is too short, the transmitter might not have time to come up to full power and the beginning of the tone might be missed. If the tone is being sent down a link system with multiple hops, more time might be needed so all of the link transmitters will have time to come up. - This timer is programmed in 10mS increments from 0..9999. - If a timer value of 000 is entered, the timer is disabled. Timer Number Definition Defaults 000 Message Start Delay Timer, Transmitter 1 500mS (050) 001 Message Start Delay Timer, Transmitter 2 " 002 Message Start Delay Timer, Transmitter 3 " 003 Message Start Delay Timer, Transmitter 4 " Courtesy Beep Delay Timer: This timer specifies the minimum time between when a receiver 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 1..9999. Timer Number Definition Defaults 004 Courtesy Beep Delay Timer, Receiver 1 1sec (100) 005 Courtesy Beep Delay Timer, Receiver 2 " 006 Courtesy Beep Delay Timer, Receiver 3 " 007 Courtesy Beep Delay Timer, Receiver 4 " Transmitter Hang Timer: This timer holds the transmitter PTT active after a connected receiver goes inactive. If a courtesy beep is sent, this is the minimum time after the courtesy beep before the PTT drops. - This timer is programmed in 10mS increments from 0..9999 (0 is OK). Timer Number Definition Defaults 008 Hang Timer, Transmitter 1 10 ms (001) 009 Hang Timer, Transmitter 2 " 010 Hang Timer, Transmitter 3 " 011 Hang Timer, Transmitter 4 " DTMF Mute Timer: This timer controls the amount of time the receiver entering DTMF stays muted after a DTMF digit is released. This timer needs to be short so the instances of "voice falsing" do 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 1..9999 - If a timer value of 000 is entered, your audio will be muted forever; if you want it to be as short as possible, enter 001 Timer Number Definition Defaults 012 DTMF Mute Timer, Receiver 1 1 sec. (100) 013 DTMF Mute Timer, Receiver 2 " 014 DTMF Mute Timer, Receiver 3 " 015 DTMF Mute Timer, Receiver 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. Timer Number Definition Defaults 016 I/O Polling Timer 1 sec (100) Doug Hall RBI-1 Delayed Send Timer: Buffers inside the RBI-1 overflow if it is sent too many changes too quickly. The RLC-4 avoids this potential problem by collecting all of the changes that occur quickly (such as within a macro) and sends the combined result of all of them only when no changes have been made for the length of this timer. This timer also affects the RLC-ICM. - This timer is programmed in 10mS Increments from 001-9999 Timer Number Definition Defaults 017 RBI-1 Data Send Delay Timer 1 sec (100) DVR Internal Timer: This timer is preset by the factory and does not need to be adjusted. Transmitter Mini-Hang Timer: This timer holds the transmitter PTT active for a minimum time after any keying source (connected receiver, tone, cw, DVR message, etc) goes inactive. It can be used to keep the transmitter from dropping out immediately after a message. To control the hang time after a connected receiver unkeys, you can also use the normal hang timers; the actual hang time will be the longer of the two. - This timer is programmed in 10mS increments from 000-9999 Timer Number Definition Defaults 019 Mini Hang Timer, Port 1 1sec (100) 020 Mini Hang Timer, Port 2 " 021 Mini Hang Timer, Port 3 " 022 Mini Hang Timer, Port 4 " Keyup Delay Timer: The keyup delay timer is used to keep short noise bursts that open the receiver's squelch from keying up the repeater. It can also keep people from kerchunking the repeater. When enabled, it makes the controller totally ignore keyups shorter than the default of « second. If the receiver is keyed for longer than « second, the first « second will be ignored, then it will respond normally, bringing up the transmitter, triggering the ID system, etc. To keep every keyup from being delayed, the keyup delay is automatically disabled while the repeater is being used. It is only re- enabled when the repeater is not used for a default of 60 seconds (see timers 75..78). If this timer is set to zero, the keyup delay is disabled. Timer Number Definition Defaults 023 Keyup Delay Timer, RX 1 « sec (50) 024 Keyup Delay Timer, RX 2 " 025 Keyup Delay Timer, RX 3 " 026 Keyup Delay Timer, RX 4 " 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 1..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. Timer Number Description Defaults 040 Impolite ID Timer, Port 1 20 sec (020) 041 Impolite ID Timer, Port 2 " 042 Impolite ID Timer, Port 3 " 043 Impolite ID Timer, Port 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 1..9999 - If a timer value of 000 is entered, the controller will never send an initial ID. Timer Number Description Defaults 044 Initial ID Timer, Port 1 10 min (600) 045 Initial ID Timer, Port 2 " 046 Initial ID Timer, Port 3 " 047 Initial ID Timer, Port 4 " Pending ID Timer: This timer times inter-activity ID timer so a proper Pending ID can be sent during activity. - This timer is programmed in 1Sec increments from 1..9999 - If a timer value of 000 is entered, the controller will never send a rotating ID. - This timer should normally be set shorter than the initial ID timer (one minute shorter works well). You may need to make sure that the length of this timer plus the length of the impolite ID timer is less than 10 minutes to meet requirements for ID timing. Timer Number Description Defaults 048 Pending ID Timer, Port 1 9 min (540) 049 Pending ID Timer, Port 2 " 050 Pending ID Timer, Port 3 " 051 Pending ID Timer, Port 4 " Timeout Timer: This timer limits how long a receiver can be continuously active. If the receiver is active longer than the length of this timer, its time out message is sent out all transmitters that are connected to it and it is disabled until it goes inactive. It is reset and the time out clear message is sent when the timed out receiver goes inactive. - This timer is programmed in 1 second increments from 1..9999 - If a timer value of 000 is entered, the controller will never time-out. Timer Number Description Defaults 052 Time Out Timer, Port 1 3 Min. (180) 053 Time Out Timer, Port 2 " 054 Time Out Timer, Port 3 " 055 Time Out Timer, Port 4 " Preaccess Tone Timer: This timer is used to limit how long the preaccess tone will run. The preaccess tone can also be stopped by other things, such as a DTMF character being entered on the port the preaccess tone is being sent out of or the preaccess timer expiring (since indicating that a link has been preaccessed is what preaccess tone is used for most). If you want to generate preaccess tone that can't be stopped by any of these things, use command C040 to generate the tone. - This timer is programmed in 1Sec increments from 1..9999 - If a timer value of 000 is entered, this timer will never stop the preaccess tone. Timer Number Description Defaults 056 Preaccess Tone Timer, Transmitter 1 8 sec. (008) 057 Preaccess Tone Timer, Transmitter 2 " 058 Preaccess Tone Timer, Transmitter 3 " 059 Preaccess Tone Timer, Transmitter 4 " Preaccess Timer: This timer controls 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 dial tone when it expires (if it expires before the dial tone timer does). - This timer is programmed in 1Sec increments from 1..9999 - If a timer value of 000 is entered, this timer will never expire. Timer Number Description Defaults 060 Preaccess Timer, Port 1 8 sec. (008) 061 Preaccess Timer, Port 2 " 062 Preaccess Timer, Port 3 " 063 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 022 and stop them with 023 (or they will stop automatically when they expire). Also, when one of these timers expires, the corresponding event trigger (see Chapter 20) is automatically fired. 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. Timer Number Description Defaults 064 User Timer 0 0 sec. (000) 065 User Timer 1 " 066 User Timer 2 " 067 User Timer 3 " 068 User Timer 4 " DTMF Interdigit Timers or Auto-execution timers (See Command 078): These timers are used to get rid of stray DTMF digits after several seconds without entering any more digits. For example, if you key and press a DTMF digit, then start talking, this timer will throw that digit away after a default of 5 seconds. That way if, after you talk a while, you try to enter a command, the digit you entered 30 seconds ago won't mess it up. Of course if you unkeyed during that time, all of the digits would be either executed or discarded anyway. This also reduces problems caused by voice falsing the DTMF decoder, by discarding the incorrectly received digits if no more digits are received during the length of this timer. This timer starts running when the DTMF digit is released, so you can hold a DTMF digit as long as you like without it being discarded. Timer Number Description Defaults 069 DTMF Interdigit Timer, Port 1 5 sec. (005) 070 DTMF Interdigit Timer, Port 2 " 071 DTMF Interdigit Timer, Port 3 " 072 DTMF Interdigit Timer, Port 4 " Reverse Patch Ring Timer: This timer sets the maximum time between rings allowed for the reverse patch to work. If this timer expires between rings, the ring count starts over. This would keep the reverse patch from ever answering the phone. - This timer is programmed in 1 second increments from 1..9999 Timer Number Description Defaults 073 Reverse Patch Ring Timer 10 sec. (010) DVR Start Recording Timer: This timer sets the maximum time allowed after entering a command to start recording a DVR message and when you actually key up to start the recording. If you wait longer than this timer, it will not record. This is so a command to record a DVR message can not be executed and end up recording someone that keys up an hour later. If you start the recording with a DTMF digit, this timer will not have any effect. - This timer is programmed in 1 second increments from 1..9999 Timer Number Description Defaults 074 DVR Start Recording Timer 10 Sec. (010) Re-Enable Keyup Delay Timers: These timers determine how long a receiver must be inactive after being keyed up before the keyup delay will be re-enabled. See the description for timers 23..26 for more information. Timer Number Description Defaults 075 Re-Enable Keyup Delay Timer, RX 1 60 seconds (60) 076 Re-Enable Keyup Delay Timer, RX 2 " 077 Re-Enable Keyup Delay Timer, RX 3 " 078 Re-Enable Keyup Delay Timer, RX 4 " 021: Recall a Timer Value This command allows you to recall the value of a programmed timer. <021> xxx Parameters: - 021 is the default command name. - XXX is the selected timer to be programmed (See Command 020 for Timers) CW Response: XX 'IS' YYY - Where 'XX' is the timer number and 'YYY' is the timer value 022: Start a Timer This command makes the specified timer start running, so that it will expire later. If the timer is already running, this command will make it start over. The controller automatically starts and stops most timers, but you can override the controller's normal way of doing things with this command. You can also use this command to make the user timers start running (timers 64..68). <022> xxx Parameters: - 022 is the default command name. - XXX is the selected timer to be programmed (See Command 020 for Timers) CW Response: ' I ' - CW character 'I' which is "Beep-Beep" 023: Stop a Timer This command allows you to stop a timer, so that it will not expire normally. The controller automatically stops most timers as needed, so the only time you should need to use this command is when you want to change the way the controller normally works. Most timers automatically stop when they expire. <023> xxx Parameters: - 023 is the default command name. - XXX is the selected timer to be programmed (See Command 020 for Timers) CW Response: ' I ' - CW character 'I' which is "Beep-Beep" Chapter 5: Command Names This chapter deals with command names and controlling when those command names will be accepted and executed by the controller. Command name programming, checking and recalling Blocking and allowing command execution How Command Names and Command Numbers are Used: The RLC-4 controller has 250 commands. The first 150 are commands that do a specific task and are described in this manual. The rest of the commands are macros that automatically execute a sequence of other commands. The controller automatically uses some of the macros to send ID's, courtesy beeps, and other things. These macros that are called automatically are described in Chapter 8. The remainder of the macros can be used for anything you want, such as turning on a link and sending a message for example. Command Names: Any of the 250 commands can be executed by entering DTMF digits from a radio, from the reverse autopatch, or with a computer or serial terminal that is connected to the controller's RS-232 serial port. To execute the commands, you enter the command's name and unkey or press enter. To execute some of the first 150 commands, you have to enter more digits after the command name, to give the controller more information. The command names default to 000, 001, 002..249. So to recall the crosspoint (command 009), you would just enter 009 and unkey. All of the other commands are similar. You can change the name of any or all of the commands using command 010. The name can be changed to any combination of DTMF digits up to six digits long. Normally you should avoid using the 'D' as part of the command names to avoid conflicting with the force-execution digit (see command 078). If you are doing your programming from a computer or serial terminal, you can use characters that aren't DTMF digits in your command names, but then you won't be able to execute them from a radio. Command Numbers: The controller keeps track of both what the command was originally named (what it is in the manual) and what you may have renamed it to (they start out the same, 000, 001...). The original name is sometimes called the command number and it never changes. The command number is used for several things. One of them is renaming commands. To rename command 009 to ABC, you would enter "010 009 ABC", where 010 is the rename command, 009 is the command number, and ABC is the new name. If you then change your mind and want it to be called CBA, you would enter "010 009 CBA". Note that you still use 009, not ABC, when renaming it to CBA. You always use the command number (what is in the manual) when changing the command's name, not the old name. This eliminates any confusion if you forget a command's name or if you have more than one command with the same name. Command numbers are also used when programming macros (see commands 053 and 056), setting DTMF execution masks (commands 130..132) and several other things. Remember that you use the command name to execute the commands; you sometimes use the command number as part of the information you enter after a command name. When you execute a command from the serial port, you can enter the command name just as you would from a radio or the reverse patch, hitting enter instead of unkeying when you are finished. That is why the prompt you get when you press enter is "DTMF>"; you can enter digits just like they were DTMF digits. There is also a way to execute commands from the serial port using the command number. This is handy because the command number never changes. To execute a command using its number, just put an N at the beginning of the line, followed by the command number and any other digits that command might need (see command 080 for information about how this works internally). We could rename command 009 to ABC from the serial port just as we did from the radio, by entering "010 009 ABC" and pressing enter (spaces are always accepted but never required). But if the name of command 010 was changed, that would no longer work. If we enter "N010 009 ABC", it will work even if command 010 has been renamed because the N makes the controller use the command number for command 010 rather than its name. This is especially useful if you store a list of commands in a file on a computer (so you can upload the whole file to the controller and set it up all at once), as you don't have to worry about whether any of the commands you use in that file have been renamed. The 'N' cannot be used from a radio, since there is no DTMF digit 'N'. You wouldn't want it to be possible from a radio anyway, or it would be a major security problem. Converting Command Name <--> Command Number: Command Number ---> Command name is accomplished with Command C011 If you have forgotton the name of command number 009, you can find out what it is by entering "011 009" and unkeying or pressing enter, or you can just change it to the name you want it to have with 010. Command Name ---> Command number is accomplished with Command 012 If you know that entering a command name of "ABC123" causes a command to execute but you don't know what command number it is executing, you can use command 012 to find out by entering "012 ABC123" and unkeying or pressing enter. Advanced Command Naming Topics: You probably don't need to read this section, but it is here just in case. If it doesn't make sense to you, just skip it. The controller has a table which it uses to keep track of the information for each command. This information is used when the controller tries to find out what command you have entered the name for. If more than one command has the same name, it can also be used to intelligently figure out which one you wanted. Some of the entries are: Command name (including the length of the name). Data length: that is how many digits, if any, are needed after the command name. If the data length is not zero, whether the amount must be exact or whether more digits can be entered. DTMF execution mask (see command 130) User level required to execute (see Chapter 18) For example, command 009 would have a data length of zero, command 000 would have a data length of 2 which must be exact, and command 030 would have a minimum data length of 2, but could be longer. Other checking such as making sure that the data for 030 is a multiple of two digits and limiting the maximum length is done by the commands themselves. Where the checking is done is important. The checks that can be done with the information in the table can be used to help figure out which command you want to execute when the names are ambiguous, while the checks that are done within the commands themselves are too late and will cause error messages if they are not satisfied. When you enter a command and unkey or press enter, the controller scans the whole table of commands looking for a match. It ignores any commands that would be blocked by the DTMF execution mask or that require that you log on using a password to execute (unless you have logged on). It also ignores any that it knows have the wrong number of data digits after the command name (using the information in the table as discussed above), although there are some cases where it can't tell until the command is chosen and causes an error. From the remaining commands, it chooses the one with the longest name that matches what was entered. In case of a tie, it chooses the one with the lowest command number. For example, if you have commands named "1", "12", "123", "1234" and "12345" and you enter "12399", assuming that all of them pass the initial execution mask and password and data length checks, the controller will select the command named "123" and will execute it with the data digits "99". That is it will find the longest match, then use the rest of the digits as data. Keep this in mind when you change command names to be less than three digits. This ability of the controller to find the longest matching name can be used in several practical ways. For example, command 000 connects two ports together. It normally sends "X connect Y" as the voice response. If you have a repeater on port 1 and a link to another site on port 2, you might want the message to be "Link up" instead. You could make a macro named "00012" or "00021" that would connect the two ports and send that message. Then entering "00012" or "00021" would cause your custom message to be sent, while "00013" or any other command starting with "000" would access the normal command 000 and cause the normal "X connect Y" message. In summary, the controller lets you name commands just about any way you want to, even if it is confusing for you and it. It does its best to figure out what you mean, using the data length, DTMF execution masks and passwords to eliminate some possibilities, but sometimes it is impossible. If you can't get it to work the way you want it to, check the command names with commands 011 and 012, then start naming them back to their original names with 010 until the confusion goes away. The most common confusion is having one command that is named the same as the beginning of another command, so the longer one gets executed when you expected the shorter one. When all of the commands have their original names, there is no confusion because every command has its own unique three digit name, the command number. 010: Re-Program Command Names This command allows you to change the command names on the controller. The names can be from 1 to 6 digits in length. <010> xxx yyyyyy Shortcut: If you want to change the first few digits of a whole range of command names, check out command 062. Notes: You should avoid renaming command 080, or the 'N' method of entering commands from the serial port will quit working. See Appendix F for more information about using 'N'. Parameters: - 010 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 (010) is 010. For command 123, 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 000 and end with 249 CW Response: The CW response is XXX 'IS' YYYYYY 'ED' [Extra Data] - [Extra data] is the amount of additional data needed for that command. Example #1: Want to re-name command 013 to ABC12 1) Command Number is 013 2) New command name is ABC12 3) 010 013 ABC12 4) CW Response: 13 IS ABC12 ED 2 Example #2: You changed you mind. Now you want command number 013 (which we just renamed to ABC12) to ABC123 instead. 1) Command Number is 013 2) New command name is ABC123 3) 010 013 ABC123 4) CW response: 13 IS ABC123 ED 2 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. 062: 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 010). This is to avoid accidently assigning the same name to multiple commands. <062> bbb eee d Change the first digit of the name in a range <062> bbb eee dd Change the first and second digits of the name in a range <062> bbb eee ddd Change the first, second and third digits of the name in a range <062> bbb eee Strip off enough leading digits to make each command name three digits or less. This will "undo" most of the changes made with the above formats. Parameters: - 062 is the default command name. - BBB is the number of the first command in the range that you want to change - EEE is the number of the last command in the range that you want to change - D or DD or DDD are the new first digits of the command names CW Response: BBB TO EEE IS D or DD orDDD Notes: You should avoid renaming command 080, or the 'N' method of entering commands from the serial port will quit working. See Appendix F for more information about using 'N'. 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, 062 010 050 A changes C010 to A010, 123 to A123, A1 to A0A1, and # to A00#. Example 1: You want to change the names of all of the commands in the controller to start with '#' so that they can be executed from a 12-key touch tone pad: <062> 000 249 # Example 2: 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: <062> 010 050 96C 011: Recall Command Name This command allows you to recall the name of a command. It also tells you whether it requires more digits to be entered after the command name, if so how many, and whether more digits than that will be accepted. You specify the command number (the number of the command in this manual) and the controller will look up its name. <011> xxx Parameters: - 011 is the default command name. - XXX is the command number ranging from 000-249 CW Response: The CW response is XXX 'IS' YYYYYY 'ED' (Number of Digits of Extra Data) -- "ED" signifies that the following number is the amount of additional data needed for that command. -- If the letter "V" is sent, the next number sent is the minimum data accepted. -- If the letter "C" is sent, the command is not found. 012: Find Commands Named ... This command tells the controller to find all of the commands that have the name you specify. Normally it will only find one command, but if you have several commands with the same name, it will list them all. <012> y..y Parameters: - 012 is the default command name. - Y..Y is the command name with default command name of 000-249 CW Response: The CW response is "Command Number (000-249)" IS "Y..Y ". 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 can not 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. 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 can not lock you out, so you don't have to worry about it. Also, you can always re-initialize the controller (see Appendix D), 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 can not be entered accidently, enter the following commands: 010 130 010 131 010 132 These commands erase the names of command numbers 130, 131 and 132 so that they can not 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 from the serial port. If they are executed they will allow access to every command from every port. 131 1 000 249 131 2 000 249 131 3 000 249 131 4 000 249 130: 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. <130> p ccc Block execution for a single command <130> p ccc ddd Block execution for a range of commands Parameters: - 130 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 131: Allow Command Execution From Port This command allows you to reverse the effects of Command 130 and allow the specified port to execute a command or range of commands again. This command is not dangerous - it can not lock you out of your own controller. <131> p ccc Allow execution for a single command <131> p ccc ddd Allow execution for a range of commands Parameters: - 131 is the default command name. - P is the port to allow access by - CCC is the first command number to allow - DDD is the last command number in the range of commands to allow CW Response: P IS CCC or P IS CCC DDD 132: Recall Blocked Ports This command allows you to recall which ports are blocked from executing the specific command. <132> ccc Parameters: - 132 is the default command name. - CCC is the command number to recall CW Response: CCC where CCC is the first command to be recalled. Chapter 6: CW, DTMF, and DVR Messages This chapter deals with all of the different types of messages that can be sent from the controller: CW, DTMF, and real voice from the digital voice recorder. Sending of CW Messages - CW speed and tone control DTMF regeneration - Regeneration parameters Play, Record and Erase a Digital Voice Recorder message Generate one and two tone sequences DTMF Keypad test The controller normally figures out which transmitters each message should go to. Responses to commands go to the port that executed the command, ID's go to the port that needs them, and courtesy beeps go to all of the repeaters that could hear the audio from the receiver that caused the ID. Almost all of these defaults can be overridden by the user, if you so desire. For more information about how the messages are routed and how you can change the default routing, see Chapter 16 and Appendix A. 030: Send 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 commands 042 and 043. <030> cc..cc Parameters: - 030 is the default command name. CC is the CW data, two digits per character CW XX . CW XX . CW XX . CW XX . CW XX 0 00 . A 10 . K 20 . U 30 . SPACE 40 1 01 . B 11 . L 21 . V 31 . PAUSE 41 2 02 . C 12 . M 22 . W 32 . 3 03 . D 13 . N 23 . X 33 . 4 04 . E 14 . O 24 . Y 34 . 5 05 . F 15 . P 25 . Z 35 . 6 06 . G 16 . Q 26 . / 36 . 7 07 . H 17 . R 27 . 0 37 . 8 08 . I 18 . S 28 . ? 38 . 9 09 . J 19 . T 29 . AR 39 . Note: This table is duplicated in Appendix C for ease of reference. Example: 030 01 02 03 ; sends "123" in CW 031: Send a DTMF Sequence Out Port 4 This command allows you to send DTMF tones out port 4. The RLC-4 is not capable of generating DTMF digits out other transmitters. See Command 044 to set up the length of the tones and pauses between tones. <031> DD..DD Parameters: - 031 is the default command name. - DD is the DTMF data (See Below) Number DTMF Digit 00 0 01 1 02 2 03 3 04 4 05 5 06 6 07 7 08 8 09 9 10 A 11 B 12 C 13 D 14 * 15 # 16 Example: Want to send the DTMF data '0 0 0 1 1 D' <031> 00 00 00 01 01 13 040: Send a 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). The tone is generated for the specified duration and followed by the specified pause. A typical courtesy beep might be generated by calling this command several times in a row from a macro, sending a different frequency each time (see the examples on the following pages). Tones less then 10 seconds long <040> ttt ppp ffff Tones 10 to 60 seconds long <040> tttt pppp ffff Parameters: - TTT or TTTT is a number representing the length of the tone in 10mS increments. If you use four digits for the length of the tone, you must also use four digits for the length of the pause. The tone length is limited to 60 seconds (6000). - PPP or PPPP is a number representing the length of the pause to follow the tone in 10mS increments. If you use four digits for the length of the tone, you must also use four digits for the length of the pause. The pause length is limited to 60 seconds (6000). - FFFF is the frequency of the tone in Hertz (cycles per second). All four digits must be entered. 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 macro (see Chapter 8). This makes it possible for you to make your courtesy beep do a lot more than just beep. If you call command 040, it will beep. If you call 040 more than once in the courtesy beep macro, it will beep more than once (examples below). If you call 030, it will send CW. If you call 031, it will send DTMF. 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 040 once from the courtesy beep macro. To get a three tone sequence, you call 040 three times within that macro. Below are some widely used courtesy beep sequences. Examples: All tone frequencies are in hertz. All times are in milliseconds. Sequence Name Tone 1 Tone 2 Length Pause 1 - Bumble Bee 0330 0000 100mS 0mS .... 0500 0000 100mS 0mS .... 0660 0000 100mS 0mS 2 - Yellow Jacket 0330 0000 50mS 0mS .... 0500 0000 50mS 0mS .... 0660 0000 50mS 0mS 3 - Shooting Star 0800 0000 100mS 0mS .... 0800 0000 100mS 0mS .... 0540 0000 100mS 0mS 4 - Comet 0500 0000 100mS 0mS .... 0500 0000 100mS 0mS .... 0750 0000 100mS 0mS 5 - Stardust 0750 0000 120mS 0mS .... 0880 0000 80mS 0mS .... 1200 0880 80mS 0mS 6 - Duncecap 0440 0500 200mS 0mS .... 0440 0350 200mS 0mS 7 - Dial Tone 0440 0350 100mS 100mS 8 - Low-High Beep 0500 0000 100mS 0mS .... 0665 0000 100mS 0mS 9 - High-Low Beep 0665 0000 100mS 0mS .... 0500 0000 100mS 0mS 10 - Cover Tone 0440 0000 200mS 300mS 11 - Audible Ring Tone 0440 0480 400mS 400mS Example: I want port 1's courtesy beep to be number 1 as listed above. 1) Locate the courtesy beep macro for port 1 in Chapter 8. - Port 1's courtesy beep macro is number 159 2) Command 055 deletes the old contents of a macro 055 159 D or unkey or 3) Command 056 appends a command onto the end of a macro - we will do the first tone 056 159 040 010 000 0330 D or unkey or 010 is the duration of the beep in 10 millisecond increments 000 is the length of the pause in 10 millisecond increments 0330 is the frequency of the tone in hertz 4) Command 056 appends a command onto the end of a macro - the second tone 056 159 040 010 000 0500 D or unkey or 010 is the duration of the beep in 10 millisecond increments 000 is the length of the pause in 10 millisecond increments 0500 is the frequency of the tone in hertz 5) Command 056 appends a command onto the end of a macro - the third beep - It is a dual tone beep 056 159 040 010 000 0660 D or unkey or 010 is the duration of the beep in 10 millisecond increments 000 is the length of the pause in 10 millisecond increments 0660 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 Command 040 three times to generate the three beeps. 041: Courtesy Beep Enable/Disable for a Selected Transmitter This command allows you to turn courtesy beeps on or off for a selected transmitter. Normally courtesy beeps are sent out of repeater transmitters and not out of link transmitters, so if that is what you want, you won't have to change anything. If you want a courtesy beep out of a link transmitter or you want to turn courtesy beeps off for a repeater transmitter, then you should use this command. If you want a particular receiver to quit generating courtesy beeps (to be sent out any transmitter), disable the courtesy beep event (see commands 045 and 047). <041> p c Parameters: - 041 is the default command name. - P is the selected port (1..4) C is the Control number Control Number Description 0 Disables courtesy beeps for this transmitter 1 Enables courtesy beeps for this transmitter only if it is a repeater (the default) 2 Enables courtesy beeps for this transmitter, even if it is a link 042: 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 for identification is 20 WPM, but the controller will handle 05..50 words per minute. <042> p ss Parameters: - 042 is the default command name. - P is the selected port (1..4) - SS is the words per minute send value Default: All ports default to 20 words per minute CW Response: There is no response to this command Note: If a macro sets the CW speed to 5 WPM with this command, sends a CW message (message 1), then changes the CW speed to 20 WPM and sends message 2, message 1 will be sent at 5 WPM and message 2 will be sent at 20 WPM, as you might expect. In other words, this command does not change the CW speed immediately when it is executed; it changes it at the logical place in the CW message. It will not change the speed of a message that is already in the process of being sent. 043: Set CW Tone Frequencies for a Selected Port This command allows you to set up the CW tone frequencies used by the CW system. <043> p aaaa Parameters: - 043 is the default command name. - P is the selected port (1..4) - AAAA is the first tone frequency (0000..9999) Hz Default: Tone 1 is set to 1064 Hz. Alternate Entries: If a single tone CW frequency chord is wanted, only enter 1 frequency - 043 P AAAA CW Response: There is no CW response to this command Note: If a macro sets the CW frequecy to 500 Hz with this command, sends a CW message (message 1), then changes the CW frequency to 1000 Hz and sends message 2, message 1 will be sent at 500 Hz and message 2 will be sent at 1000 Hz, as you might expect. In other words, this command does not change the CW frequency immediately when it is executed; it changes it at the logical place in the CW message. It will not change the frequency of a message that is already in the process of being sent. 044: Set Up DTMF Regenerate Parameters: This command allows you to set up the DTMF regenerate parameters for port 4 (the only port that can generate DTMF). 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. <044> aaaa bbbb Parameters: - 044 is the default command name. - AAAA is the length of the DTMF sequence in 10mS steps (0000..9999) - BBBB is the pause between DTMF digits in 10mS steps (0000..9999) Default: Both length and pause set to 100mS lengths (aaaa = 010) CW Response: AAAA BBBB 051: Start Preaccess Tone This command allows you to generate a preaccess tone for a given time out the transmitter on the port that entered this command. This command is used to give you an indication that access to the controller has been accomplished. This is simply 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. <051> Parameters: - 051 is the default command name. . Notes: How to cancel the dial tone once it is running: 1) You can cancel the dial tone with a DTMF digit on the port dial tone is present. 2) When the dial tone timer expires (See Command 020) The Digital Voice Recorder What the DVR is: The optional DVR is a device that allows you to record sounds, store them in memory and play them at any time. It can be used to personalize your controller by recording any message or sounds that you want and playing them back for IDs or other messages. Interfacing: The DVR plugs into the "options" connector on the RLC-4. It will fit inside the optional rack mount cabinet. Recording Time: The voice storage chip on the DVR is capable of storing 75 seconds of audio. Many short messages or several longer messages can be stored as long as the total time of all of the messages is not more than 75 seconds. Adjusting the DVR: There are only two adjustments on the DVR: record level and playback level. Both are preset before the DVRs are shipped, and should not need to be changed, at least for initial testing. When/if you do decide to adjust the levels, the playback level should be set so that the audio is played back at the same volume it was when it was "live". If you decide to change the record level, the playback level should be adjusted again before any judgement is made as to whether the new record level is better or worse. The record level is important because it affects the quality of the recording. If it is set too low, the full resolution of the storage chip will not be utilized and there will be more background noise in the audio than is necessary. If the record level is set too high, the audio peaks will be clipped off and the audio will sound distorted, especially the loudest parts. There are many factors that determine the best level, so experiment and adjust the record level until it sounds the best. Looking at the audio with a scope as it is played back will help identify if the record level is set too loud, as the top and bottom of the waves will be flattened (a little bit of clipping on the louder parts is normal and expected). Recording DVR Tracks: To record a track using COR to start and stop the recording, you should enter the record command followed the track number, "025 TT" (where TT is the track number), then unkey (to tell the controller to execute that command and get ready to record). Then key up and start speaking your message. When you are finished, simply unkey. The DVR will automatically delete a fraction of a second of the beginning and end of your message to get rid of any noise caused by keying or unkeying. If you wish to record a track without using COR, such as from the reverse autopatch in programming mode, you can use a DTMF digit to start and stop the recording. For example, to record track 30, you could enter "025 30 D". As soon as you release the 'D', the DVR will begin recording. When you are finished speaking your message, press any DTMF digit to stop the recording. The DVR will automatically delete a fraction of a second at the end of your message to make sure that the sound of the DTMF digit is completely erased. Note that some phones (especially ones that can be used as speakerphones) mute about the first 1/2 second of each phrase you say; this makes recording nice DVR messages with them very difficult. After entering the record command and unkeying, you must key up to start recording within 10 seconds of entering the record command or you will have to enter the command again. This is so a record command can't be entered and end up recording someone that keys up an hour later not knowing that the record command was the last thing entered. The default 10 second window can be changed with Command 020; it is the "DVR Start Recording Timer". Erasing Tracks: You may never need to erase a DVR track, because you can record over them without erasing them first (just like with a tape recorder). If you do erase a track, and then try to play it, it should just play a short pause. 025: Record a Message on the Small DVR 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. If you stop recording before the end of a slot, the DVR will remember where you stopped, so it won't send "dead air" at the end of a short message. 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 ID's. The other slots are available for you to use in any way you wish. <025> ss Record a single slot <025> ss..ee Record several slots Parameters: - 025is the default command name. - SS is the DVR slot number to start recording at, two digits per slot. - EE (optional). If EE is not specified, the DVR will stop recording when slot SS is full. If EE is specified, the DVR will record from the beginning of slot SS to the end of slot EE. EE must be greater than SS. 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 your force-execution digit (see command 078). As soon as you release the 'D' 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. You can also use timed execution rather than the force-execution digit to start recording (see command 078). 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 sounds clean. When it stops recording because it reaches the end of a slot, it does not back up to avoid wasting record time. 026: Playback Small 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 information about audio routing, see Appendix A). <026> s Playback a single message 0..9 <026> ss Playback a single message 00..34 <026> ss..ss Playback a list of messages Parameters: - 026 is the default command name. - SS is the DVR slot number, two digits per slot Notes: DVR messages can be intermixed withCW messages 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 using CW, then use the DVR to speak "Link Up". This also means that if CW is in use, the DVR will have to wait until it is finished to send its message, even if the messages are unrelated. If a single message was recorded across multiple slots, it should be played back by specifying only the beginning slot number. For example, if you recorded a six second message with the "025 10 15", you can play back the whole message by entering "184 10". 027: Erase Small 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. <027> ss Erase a single message <027> ss..ee Erase multiple messages Parameters: - 027 is the default command name. - SS is the DVR slot number to erase, two digits per slot - EE (optional). If EE is not specified, only one slot will be erased. If EE is specified, the DVR will delete slots SS through EE. Chapter 7: Serial Port Commands The RLC-4's serial port is the closest DB-9 connector to the power jack. It is next to the radio port 4 connector. This chapter deals with the following topics: Information about serial transfers RS-232 baud rates Other serial port options Controlling what Serial Messages are Sent: When the controller is reset (such as when the power is turned on), it sends a serial message that tells you the controller type, software version, etc. Of course you will only see this message if you have a computer or serial terminal connected to the main serial port. If you then type a command on the computer or serial terminal and press enter, the controller will process the command and print on the screen either what it did (except for a few commands that don't print anything) or an error message telling you what went wrong. If you enter a command from a radio using DTMF, the controller normally will not print anything on the serial screen. It "suppresses" that serial so if you are programming from the serial port at the same time someone is entering DTMF commands, the responses to their commands won't confuse you. It is possible to make the controller print the serial responses to commands that are entered by DTMF (see command 060, "060 0100" is one way). The RS-232 Serial Protocol: Most serial devices (computers, mice, external modems, serial terminals, etc.) use the RS-232 serial protocol. The main serial port on the RLC-4 is RS-232 compatible. TTL versus RS-232 Signal Levels: Some devices, like HF remote base radios, require an adapter to convert their serial ports to the signal levels used for RS-232 (-12 and +12 volts). Without that adapter, they use TTL signal levels (0 and 5 volts). You should never connect a serial port that uses TTL level signals to one that uses RS-232 without an adapter (level translator). The SPI Serial Format: There is another type of serial protocol that is totally unrelated to RS-232. It is used for controlling some remote base interfaces, such as the Doug Hall RBI-1, RLC-ICM and BCD radio interfaces. Instead of using a data in and data out line like RS-232, it uses two lines for output: data out and clock out. There is no input to the controller; data is transferred only one way. Since there is a clock line, there is no need to specify a baud rate (although there are a few timing restrictions). The RLC-4 sends SPI-style serial using its output lines. 024: Set Up RS-232 Serial Baud Rate This command allows you to set up the baud rate for the RLC-4's serial port. The baud rate should be set to match the computer, serial terminal, or modem that you have connected to it to program the controller with. <024> x..x Parameters: - 024 is the default command name. - X..X is the actual baud rate (leading 0s are optional). Choose from 300, 600, 1200, 2400, 4800, or 9600 baud. Default: 9600 Baud Example: Want to set the baud rate to 2400 baud for the main serial port <024> 2400 060: Set Up Serial Port Options This command allows you to turn several options on or off for the main serial port. Each of these options is discussed below. The first is whether or not the serial port converts all characters that you type to upper case or not. The default is to convert them, because the controller normally expects everything in upper case. When the DTMF digits 'A', 'B', 'C' and 'D' are entered, the controller always considers them to be upper case. Converting all of the characters received from the serial port makes it impossible to do a few things however, such as programming serial messages that contain lower case letters. The second allows you to choose whether the controller will send a carriage return and line feed at the end of each line (the default) or just a carriage return. The latter might be useful in situations where the line feed messes up a modem or packet radio. Most communications programs can automatically add the line feeds back in when they receive a carriage return so that the screen will scroll, rather than printing each line over top of the last one. If you are trying to make a modem dial you, you will have to turn line feed sending off or when you send "ATDT" the controller will follow it with a CR/LF (carriage return and line feed). The CR will tell the modem to start dialing. The LF will make it stop dialing - if a modem receives any characters from the controller while it is dialing, it will abort. The third determines whether serial messages that are generated by commands that are executed by DTMF are suppressed or printed. If they are suppressed (the default), the only serial messages that will be printed are: the reset/copyright message, serial responses to commands executed from the serial port (not DTMF), and serial messages sent with Command 162. The fourth is whether the serial is queued (buffered) or not. Buffering is not currently supported, so this digit has no effect. <060> x y Set case sensitivity and line feeds. <060> x y z Set case sensitivity, line feeds and suppression. <060> x y z q Set case sensitivity, line feeds, suppression and queuing. <060> 0 1 1 1 Set all settings to default values. Parameters: - 060 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) or 0 to suppess them - Z (optional) is 1 to suppress serial (the default) or 0 to send serial caused by commands entered from DTMF - Q (optional) is 1 for queued serial (the default) or 0 to send it before continuing 032 : Send Serial Message out the Serial 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 is used to display serial error messages among other things. The message will only be sent if you cause this command to be executed from the serial port or if you turn suppressed serial off with command 060, to minimize the amount of stuff being sent out of the serial port. If you want a message to be sent no matter what, use command 032. <032> s..s Parameters: - 032 is the default command name. - s..s is the data to be sent over the RS-232 port -- The message length is limited to the maximum command length (about 80 characters) or if used in a macro, by the space left in a macro (less than 50 characters). If you need a longer message, split it up between several macros and use one macro to call the next macro in the sequence. CW response: There is no CW response for this command Notes: To change the baud rate, see command 024. Spaces are automatically stripped when the controller processes commands, including commands that send serial messages. This allows upload files to contain spaces without affecting the format of the input data. If a user wishes to have a 'space like character' sent, the '_' (underscore) data can be used. Chapter 8: Macros How Macros Get Executed: Macros can be executed just like any other commands: you can enter the name of the macro from a radio and unkey (or press the force execution digit), you can enter the macro name from the serial port, you enter an 'N' followed by the macro number from the serial port, etc. In addition, the controller will automatically execute macros at certain times, such as to send an ID or a courtesy beep. The macros that the controller calls in this way are called "automatic macros" because they are called automatically. The automatic macros are listed in this chapter along with descriptions of when they get executed. When the controller is reinitialized (at the factory or if you do it), some of these macros are programmed with examples of what you might want to do: the ID macros send sample ID's and the courtesy beep macros send beeps. You can change what is in any or all of the automatic macros to make them do what you want. Which macros do what is controlled by command 045. Macros numbered 163 and higher are not listed with descriptions because the controller doesn't have a specific purpose for them; they are called "user macros". They are extras that can be used for anything else you might want to do. You will probably want to keep a list of what you use each one for so you can remember it later. After you program them, you may want to change their names and execute them from your radio with DTMF, program the automatic macros to execute them, or tell the controller to execute them at certain times using the event triggers (see Chapter 20). 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, turn DTMF muting on and change your courtesy beep, you could program a macro to execute the appropriate commands all at the same time. 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 have two stand alone repeaters running off of one RLC-4 controller. You are setting up one repeater today and plan to set up the other tomorrow. You set up the repeater with a certain courtesy beep and take a snapshot. You then set it up with a different courtesy beep and take another snapshot. Now you can easily switch back and forth between the two courtesy beeps just by recalling the appropriate snapshot. The next day you set up the other repeater port in a similar way, with two different courtesy beeps. Now you start having problems. Whenever you change the courtesy beep on one repeater, it messes up the courtesy beep on the other repeater as well, since everything gets stored in one big snapshot macro. You can't make a snapshot macro that does just what you want; it always restores a whole configuration at once. 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. Limits on Macros: Since one macro can call another macro, you may wonder if macro 170 could call 171, which could call 172, which could call 173, etc. until you had called 10 macros or so. The answer is not quite. There are two limits. One is that if the total time it takes the processor to decode and execute the whole chained macro sequence is more than « second or so, the controller may reset itself. It is unlikely that you will ever reach this limit (it would probably take more than 10 macros all hooked together to even come close to this limit). The other limit restricts how deeply the macros can be nested (called from another macro). This is not a limit on how many commands can be called inside of a macro. It is not a limit on how many macros can be executed from one macro. It is a limit on one macro calling another macro that calls another macro that calls another macro. You can think of it as a limit on how deep an outline can go. For example, you execute macro 172. It calls Command 038, macro 173, and Command 000. This can be shown as the level with roman numerals: I Call Command 038 II Call macro 173 III Call Command 000 and connect port 1 and 3 Macro 173 could contain Command 007 and call macro 174. Since macro 174 is called from macro 173, it is nested one level deeper, to level 2. This could be shown as capital letters in the outline: I Call Command 038 II Call macro 173 A Call Command 007 B Call macro 174 III Call Command 000 and connect port 1 and 3 Macro 174 could call macros 175, 176 and 177. Macro 174 is nested one level deeper than 173, so it is at level 3. I Call Command 038 II Call macro 173 A Call Command 007 B Call macro 174 1 Call macro 175 2 Call macro 176 3 Call macro 177 III Call Command 000 and connect port 1 and 3 Macros 175, 176 and 177 are at level 4. Note that they are all at the same level. Any commands that are called from these macros will be at level 5. This is about as deep as the RLC-4 will let you nest macros, 5 or 6 levels. If you exceed this limit the controller will send an error message. 150..162: Execute an Automatic Macro 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 (like a timer expiring) rather than because a user specifically told it to execute by entering the macros name, 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 an impolite ID macro to send your repeater's ID rather than the example ID that is programmed in at the factory. Command 045 is what determines which of these macros is assigned to each task. The descriptions below describe the way they are assigned when the controller is initialized; you can change those assignments with command 045 if you wish. You can execute any of these macros by entering its name which corresponds to its macro number followed by a 'D' or unkey or (example 155 would execute macro 155). 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 054 (enter 054 followed by the macro 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 Command 054. Macro 150 This macro is used for temporary storage by the controller. You should not normally use it. If you do, be forewarned that its contents could change at any moment. Macros 151..158 These macros are automatically called when it is time to send an ID. You will want to erase (with Command 055) what is in these macros when you get the controller and put your own ID messages in these macros. Macro Definition 151 Port 1 Initial ID 152 Port 2 Initial ID 153 Port 3 Initial ID 154 Port 4 Initial ID 155 Port 1 Pending ID 156 Port 2 Pending ID 157 Port 3 Pending ID 158 Port 4 Pending ID Macros 159..162 are executed when it is time to send a courtesy beep. You would normally call Command 040 from these macros to generate the tones of your courtesy beep. If you want your courtesy beep to contain several beeps in sequence, you can call Command 040 multiple times within one macro, once for each beep. Note: Before this macro is automatically called, 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, etc.) and the audio will automatically be sent to the correct ports. To change the courtesy beep timers, see Command 020. Macro Definition 159 Port 1 Courtesy Beep Slot 160 Port 2 Courtesy Beep Slot 161 Port 3 Courtesy Beep Slot 162 Port 4 Courtesy Beep Slot 163..166: Preaccess / User Macro These macros are used by the preaccess system when preaccess is enabled (Chapter 9). If you are not using preaccess, you can use these macros for other things. Port 4's macro is also used for the reverse autopatch. Macro Definition 163 Port 1 Preaccess Macro 164 Port 2 Preaccess Macro 165 Port 3 Preaccess Macro 166 Port 4 Preaccess Macro 167..249: Execute a User Macro 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. <163>..<249> Parameters: - 163..249 is the default command name. 053: 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 055, then appending it with Command 056. 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 Command 056 to append the rest of the commands in the macro onto the end. <053> mmm ccc d..d Parameters: - 053 is the default command name. - MMM is the macro number for this sequence to be stored in - CCC is the command number to be executed by the macro - D..D is the additional data associated with command CCC Example: Want to execute command 031 using macro 189 - 031 with 20 additional digits (1,2,3,4,5,6,7,8,9,0,9,8,7,6,5,4,3,3,2,1) <053> 189 031 1234567890987654321 054: 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 sends them in CW. The format of the response is explained below. <054> mmm Parameters: - 054 is the default command name. - MMM 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] [the digits of data] repeat last two lines until all commands in macro have been recalled ? "percent" how many percent full the macro is Example: Recall Default Contents of Macro 200: You enter the command "054 200 " The serial response is: Macro 200 contains 2 commands: #1 Command #000 with 2 digits of data: 12 #2 Command #000 with 2 digits of data: 13 The CW response is: "M200" macro number 200 "N2" number of commands in the macro is 2 "C1 00" the first command in the macro is command number 000 (Connect ports) "D2" this command has 02 digits of data which are: "12" (port numbers to connect) "C2 00" the second command in the macro is command number 000 "D2" this command has digits of data which are: "13" (Port numbers to connect) 055: 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. <055> mmm Parameters: - 055 is the default command name. - MMM is the command number of the macro to delete. 056: 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. <056> mmm ccc d..d Parameters: - 056 is the default command name. - MMM is the macro number for this sequence to be stored in - CCC is the command number within a macro - D..D is the additional data associated with command CCC Example: Want to execute command 031 using macro 176 - Command 031 with 20 additional digits (1,2,3,4,5,6,7,8,9,0,9,8,7,6,5,4,3,3,2,1) <056> 176 031 1234567890987654321 057: 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. <057> mmm ddd Parameters: - 057 is the default command name. - MMM is the number of the source macro - DDD is the number of the destination macro 058: 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 054 to recall the contents of the macro so that you know which command to delete. <058> mmm nn Parameters: - 058 is the default command name. - MMM is the number of the macro - NN is the number of command inside of the macro to delete (00, 01, 02...) 059: 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 054 to recall the contents of the macro so that you know where you want to insert the new command. <059> mmm nn ccc d..d Parameters: - 059 is the default command name. - MMM is the number of the macro - NN is the where inside of the macro to insert the new command (00, 01, 02...) If NN is larger than the number of commands in the macro, the new command will be appended to the macro. - CCC is the command number of the command to insert - D..D is the data for the above command Chapter 9: Pre-Access Commands What preaccess is: Preaccess is a system used by several large linking sytsems to specify which controller in the network a DTMF command is intended to go to. 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 is a very simplified description, but it should give you the idea. If you are not using the RLC-4 on a large linking system, or if you are but don't plan to use preaccess, you can skip the rest of this chapter. 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. Command 073 has been provided to make the conversion to preaccess easier. The preaccess features can be enabled/disabled separately for each port, 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. About Preaccess Repeaters: To execute commands from a repeater that is configured for preaccess, key up, press the '*' key and enter the command. The command will be executed immediately, without waiting for you to unkey. This allows you to execute multiple commands in sequence without unkeying after each one. Also, when you press the star key, you will be removed from any other repeaters or links you may have been connected to. In other words, the '*' puts you into a local control mode. This mode will expire if you unkey for 8 seconds (see command 076). If you key the repeater and do not press the '*' key, you will not be in the local control mode and will be connected to other ports normally (see Commands 000, 001 and 002). About Preaccess Links: Links that are configured for preaccess will ignore any DTMF tones that are not preceeded by c..c where c..c is the site access code you specify with command 073. This allows commands to be sent down a linking system without every controller along the way trying to execute them, sending error messages, etc. To execute a command from such a link port, key up, enter c..c and the command. It will be executed when you unkey or press 'D' 073: Set/Recall Preaccess This command allows you to set up a repeater or link for preaccess, to turn preaccess off, or to recall whether a port is set up for preaccess or not. This command automatically programs a macro when you turn preaccess on port a port; anything previously in that macro will be lost. You should also take care not to overwrite what is stored in that macro (if you do, executing this command again will fix it). Macro 163 is used for port 1, 164 for port 2, etc. as shown below. <073> p Recall Preaccess Settings <073> p 0 Turn preaccess off for port 'p' <073> p 1 Configure port 'p' as a preaccess repeater <073> p 2 d c..c Configure port 'p' as a preaccess link Parameters: - 073 is the default command name. - 'p' is the port to set up or recall the settings for. Port Macro Used 1 163 2 164 3 165 4 166 - 'd' is 0 for no preaccess tone when accessed, 1 for preaccess tone - "c..c" is the site access code. Typical site access codes are "#11", "#75", "#99", etc., a '#' followed by two decimal digits. The controller will allow any preaccess code from 1 to 6 digits long with any of the 16 DTMF digits in it, although you may have to change your force-execution digit temporarily (see command 078) while you execute this command to use the force-execution digit as part of the access code. 074: 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 020 for more info on timers) runs out. It is usually called automatically when you access the controller, so you don't have to do it manually. When executed, it temporarily allows access to the rest of the commands in the controller. <074> Parameters: - 074 is the default command name. 075: 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 port to be locked up. 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. <075> p x y z Parameters: - 075 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 receiver drops after a DTMF tone has been entered 076: Recall Stop Access Conditions This command allows you to recall the conditions that will stop access on a port. See Command 075 for descriptions of the conditions. <076> p Parameters: - 076 is the default command name. - P is the port for which to recall the stop access conditions (1..4) 077: 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 Commands 000 and 001. It is useful for isolating a port while you enter local control commands without the tones going down any connected links. It is usually automatically called from the preaccess macro of a port configured as a repeater. This macro is usually named '*', the local control key. <077> p Parameters: - 077 is the default command name. - P is the port for which to allow access (1..4) Chapter 10: Not Currently Used Chapter 11: The ID System How the ID's Work: Whenever an ID needs to be sent, a macro is called automatically by the controller. Those macros can be programmed to do anything, but typically they send a CW message. There are two different ID macros for each port, one initial ID macro, and one pending ID macro. You can either program them both to send the same message, or program them with different messages for variety. The initial ID macro is called the first time the repeater is kerchunked after not being used for a while. It is usually programmed to send a relatively long descriptive message. The pending ID macro gets called occasionally during a conversation. It is usually programmed to send a shorter ID. The controller tries to wait until you unkey to send an initial or pending ID, but if it is time to send an ID and you don't unkey within a certain period of time, it has to ID while you are still keyed to stay legal. When this happens, the controller sends the pending ID. Example: We want to program the ID's for the repeater on port 1. The initial ID will be, "KC7HXB/R PL100". The pending ID will be "KC7HXB/R". This example is written as it could be typed into a computer or serial terminal or stored in a file (see Appendix F). If entering it from a radio with DTMF, you can leave out the two lines beginning with a ';'. ; Initial ID: KC7HXB/R PL100 053 151 030 20 12 07 17 33 11 36 27 40 25 21 01 00 00 ; Pending ID: KC7HXB/R 053 151 030 20 12 07 17 33 11 36 27 To Program Your Own ID's: The following instructions and the above example should be enough to get your ID's programmed for port 1. More details about how everything works internally will follow, but aren't needed just to get started. The following commands can be entered either from a radio with a DTMF pad or from a computer or serial terminal. The two-digit numbers used 053 151 030 053 155 030 To program the ID's for port 2, use the following: 053 152 030 053 156 030 To program the ID's for port 3, use the following: 053 153 030 053 157 030 To program the ID's for port 4, use the following: 053 154 030 053 158 030 The following explains more about how the ID system works, but you don't need to read it to get started. More about Programming ID's: The above instructions for programming ID's are typical of how all of the macros in the controller can be programmed. It may look complicated at first, but it all follows a pattern. The 053 at the beginning of each line tells the controller to erase anything that might already be in the macro because you want to start over and put the following stuff in instead. The next three digits are the number of the macro (151 or 155 for port 1). A list of all of the macros can be found in Chapter 8. Then comes the stuff that gets put into the macro. 030 is the number of the command that sends CW; you can find more information about it in Chapter 6. The rest of the line is information that is used by command 030 when the macro is executed: the CW characters it needs to send. Chapter 8 has more information about programming macros. ID Timing: You may have wondered how the controller knows when to send an ID. It uses three timers, the initial ID timer, the pending ID timer and the impolite ID timer (see command 020 for more timer information). The default values are 10 minutes, 9 minutes and 20 seconds, respectively. If it has been more than 10 minutes since the repeater was last used, the next time it is keyed up, the controller will try to send the initial ID. It will attempt to wait until you unkey so it can send the ID when you aren't talking. It will wait up to the length of the impolite ID timer for you to unkey. If you do not unkey within this time, it will cancel the initial ID and send the pending/impolite one instead. If you do unkey, it will send the initial ID. The pending ID timer is started whenever any ID is sent. When the pending ID timer expires, it checks to see if anyone has keyed the repeater since the last ID. If they have not, there is no need to ID - the last transmission was already ID'ed (the repeater only needs to send IDs when someone is using it). If someone has keyed since the last ID, the controller starts trying to send a pending ID. Like with the initial ID, it will wait a while for you to unkey to avoid sending the ID while you are keyed up. If you unkey it will immediately send the pending ID. If you don't unkey before the impolite ID timer runs out, it will send the pending ID while you are still talking. To summarize, with the default timer settings, the controller will ID every 9 minutes during a conversation and one more time after the last time the repeater is keyed. It will not ID at all if no one is using the repeater. You can change the ID timers if you want to, but make sure you set the pending ID timer to be shorter than the initial ID timer (at least a second) and that the length of the pending ID timer plus the impolite ID timer is less than 10 minutes (or whatever the legal maximum time between ID's is). The initial ID timer can be as long as you like. Since the only thing that causes ID's to be sent is someone keying up, you should also include your ID in messages that may be sent spontaneously such as analog alarms. 085: 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. <085> p c Parameters: - 085 is the default command name. - P is the port for which to enable or disable the ID's (1..4) - C is 1 to enable ID's, 0 to disable them Defaults: IDs are enabled only on port 1. Notes: If you only want to disable some of the ID's for a port, keeping the pending ID's but not the initial ID, for example, just delete the ID macro that you don't want to do anything (see Chapter 8 for macro definitions). If you do this, the controller may not satisfy identifying requirements. 086: Recall Which Ports have ID's Enabled This command lists the ports that have IDing enabled. If all ports do, it sends "1234". <086> Parameters: - 086 is the default command name. Chapter 12: 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 47K 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 090 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 if high and low). To do this, program macros to send the CW messages you want and use command 045 to assign which macros get executed when the input lines change state. You can also cause those messages to be sent by executing command 091. 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 Commands 093 and 094. You can recall whether a line is currently on or off with Command 095. If you want to send a custom message when you turn an output on or off, program one of the user macros to send the message you want, execute Command 038 (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 switches 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 other four DIP switches (other than the "Divider" switches) are labeled "Power". When turned on, they connect a pullup resistor to the numbered analog input line. The pullup resistor is needed when interfacing to LM335 temperature sensors, but not when interfacing most other analog voltages. 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", "conversion ratio" 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.5 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 104..107 for more information. If you want to use an analog input to control a rotor, see Appendix E. I/O Connector Pin-Out Ground Reference Function Pin Numbers Ground 1,6,14-25 Logical Input Lines Function Pin Number Analog 1 9 Analog 2 8 Analog 3 7 Analog Input Lines Function Pin Number Input 1 5 Input 2 4 Input 3 3 Input 4 2 Latched Output Lines Function Pin Number Output 1 13 Output 2 12 Output 3 11 Output 4 10 090: Read 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). <090> L Read single input line <090> L..L Read multiple input lines Parameters: - 090 is the default command name. - L is the input line number (1..3) 091: Execute Input Line High or Low Macro This command is similar to Command 090. 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". Command 045 must be used to assign macros to the input lines before this command will have any effect. <091> L Execute input line macro for 1 input line <091> L..L Execute input line macros for multipleinput lines Parameters: - 091 is the default command name. - L is the input line number (1..8) Notes: Multiple input lines can be read with one call to this command by entering more than one port number. 093: 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. <093> l Turn a single output line on <093> l..l Turn multiple output lines on Parameters: - 093 is the default command name. - L is the output line number (1..4) Notes: To provide customized messages when turning output lines on or off, use a macro that both executes this command and sends a CW message command (030). 094: 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. <094> l Turn a single output line off <094> l..l Turn multiple output lines off Parameters: - 094 is the default command name. - L is the output line number (1..4) Notes: To provide customized messages when turning output lines on or off, use a macro that both executes this command and sends a CW message command (030). 095: 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. <095> l Check a single output line <095> l..l Check multiple output lines Parameters: - 095 is the default command name. - L is the output line number (1..4) Notes: To provide a customized message when an output line is turned on or off, call Commands 093 or 094 from a macro that also sends 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. In that on/off macro, call the 'program-single-command-macro' command and program another macro (we will call it the recall macro) to send 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. 100: Read Analog Input Line This command allows you to read the voltage present on the analog input lines. The number that is read back will depend on three other things: the precision used (set with Command 101), the conversion scale (set with Command 102), and the calibration (set with Command 103). <100> l Read a single analog line <100> l..l Read multiple analog lines Parameters: - 100 is the default command name. - L is the analog input line number (1..4) Notes: Multiple input lines can be read with one call to this command by entering more than one port number. Example: You want to make macro 199 send "TEMP" and then read analog line 1: 053 199 030 29 14 22 25 Send "TEMP" in CW 056 199 100 1 Read Analog 1 101: 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. <101> l r Parameters: - 101 is the default command name. - L is the analog input line number (1..4) - R is the number of digits after the decimal point (0..3) Explaination: If you are not using any digits after the decimal point in your analog readings, you can skip the rest of this section, as it explains how much accuracy you can expect for different types of readings. 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 on the I/O board 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 « degree resolution. We recommend reading temperature to the nearest degree (0 digits after the decimal point). Another example: reading battery or power supply voltage. Since your battery probably supplies between 12 and 14 volts, it can be read with the voltage divider on the I/O connector 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 20mV for this example). If the battery voltage is 3.002 volts, the converter will round it to 3.000. If the voltage is 3.003 volts, the converter will round it to 3.005. 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 10 mV 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). 102: 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. Command Parameters Description Resolution <102> x n wwww m zzzz General conversion form .... <102> x 1 0460 0 0440 Farenheit temperature 1 degree, enter "101 x 0" <102> x 1 0273 0 0227 Celcius temperature 1 degree, enter "101 x 0" <102> x 0 0000 0 0005 0..5 volts 1 volt, enter "101 x 0" <102> x 0 0000 0 0050 0..5 volts 0.1 volt, enter "101 x 1" <102> x 0 0000 0 0500 0..5 volts 0.01 volt, enter "101 x 2" <102> x 0 0000 0 0025 0..25 volts 1 volt, enter "101 x 0" <102> x 0 0000 0 0250 0..25 volts 0.1 volt, enter "101 x 1" <102> x 0 0000 0 2500 0..25 volts 0.01 volt, enter "101 x 2" <102> x 0 0000 0 0100 0 to 100% 1 percent, enter "101 x 0" <102> x 0 0000 0 0360 0 to 360 degrees 1 degree, enter "101 x 0" Notes: - Please note that regardless of the conversion used, the voltage entered must be between 0 and 5 volts when the voltage divider is not used, and 0 and 25 volts when it is used. - For more information about hooking up a LM335Z temperature sensor, see Appendix H. Parameters: - 102 is the default command name. - x 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. Custom Analog Conversion Ratios: 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. 103: 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 101 and 102). 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 Command 102 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. <103> l n wwww Calibrate an analog input <103> l 2 Reset calibration Parameters: - 103 is the default command name. - L 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. Notes: The value you enter will have as many assumed decimal places as you set with Command 101. 104: 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 fire and event trigger (see command 045 in Chapter 20). You can program the event trigger to execute a macro to do anything, turn output lines on or off, send a CW message, change your courtesy beep, etc. The alarm point will be checked at intervals determined by the length of the input alarm timer, usually once a second (see Command 020). When the analog reading comes out of alarm by the "hysteresis" amount (set with Command 105), the analog alarm clear macro will be executed. You might want to program this macro to change an output line and/or send an alarm clear message. <104> l a n wwww Calibrate an analog input Parameters: - 104 is the default command name. - L is the analog input line number (1..4) - A 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 Notes: The value you enter will have as many assumed decimal places as you set with Command 101. 105: 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 radio shack. 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, connect the same signal to two analog inputs and use one set of alarms for the high point and the other for the low). This command lets you set how much hysteresis each analog line uses when determining whether the alarm is clear yet. <105> l wwww Parameters: - 105 is the default command name. - L is the analog input line number (1..4) - WWWW is the alarm point with leading 0s if necessary Notes: The value you enter must be a positive number and will have as many assumed decimal places as you set with Command 101. 107: 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. <107> Parameters: - 107 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 108: Recall 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. <108> l Parameters: - 108 is the default command name. - L 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 Chapter 13: Autopatch Routines Configuring the Autopatch: The RLC-4 can support four radios if the autopatch is not used. If the autopatch is used, port 4 can not be used for anything else. Command 110 allows you to tell the controller whether you want to use port 4 for a radio or whether you want to enable the autopatch. It also lets you specify whether or not you want the controller to read back the number it is about to dial. Autopatch Up Commands: There are four different commands that can be used to access the autopatch. These commands cannot be executed from the serial port. Manual Off Hook: Command 111. 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. This command is used mostly for testing. Normal Forward Dial: Command 112. This command is the one you would usually make available to users. One or two digit numbers will access autodial slots, 4 through 11 digit numbers will be checked to make sure they are not long distance, 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 116, they will be dialed first. Special Forward Dial: Command 113. 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 Command 116. Forward Dial with no Long Distance Checking or Predial: Command 117. This command is similar to command 113, but it skips the predial digits (if any were specified with command 116). It is primarily used to dial local extensions on a PBX when the controller is set up to normally send predial digits that select an outside line. Because it doesn't check for long distance numbers, it is often used from an "autodial" macro, rather than directly by the users. If you do not use predial digits (to get an outside line from a PBX, etc.), you will not need to use this command. Using '*' for the Autopatch Up Command: You can use the '*' digit to execute any of the above autopatch commands. Simply rename your autopatch command to a '*' using Command 010. This will allow you to use the patch by simply keying up, pressing '*', then the phone number you wish to dial. For example, "010 112 *" will allow you to dial using command 112 by entering '*' followed by a phone number, then unkeying. Hanging Up: No matter which command was used to bring up the autopatch, Command 114 will hang it up. If you want to have more than one hang up command, just make several different macros call Command 114. You can rename command 114 to '#' by entering "010 114 #". Command 115 can also be used to hang up the patch. It differs from command 114 in that it will not hang up the patch from a radio port that is not part of a call in progress. For example: port 1 and port 2 are running independent repeaters (they aren't connected), and port 1 makes an autopatch call. Port 2 continues to operate normally, unaware that the autopatch is in use. Then someone on port 2 decides to make a call on the patch and gets the autopatch busy message. Rather than waiting for the user on port 1 to finish their call, the person trying to make a call on port 2 decides to hang up the patch so he can make his own call. If he uses command 115, the controller will not hang up the patch because port 2 is not connected to the autopatch. If he uses command 114, it will. Either command will work to hang up the patch if they are entered from port 1, the port that made the call. Often command 115 is used as the primary hang up command and command 114 is reserved as a control operator command, to be used only when an emergency mandates hanging up someone else's call. Resetting the controller with command 035 also hangs up the patch and can be executed from any radio port. 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 to delay before and after these "predial digits" with Command 116. These digits will be dialed before every number that is dialed with commands 112 or 113. The Autodialer: There are 100 user macros, the upper 50 macros are 20 digits in length. The upper 50 macros can be used to store autodial numbers or simply as macros. The user can decide how many of each to use. If a macro is used to store an autodial number, it cannot also be used a a normal macro. Macro 200 can be used as autodial slot 00, macro 201 as 01... macro 249 as 49. To use a macro as an autodial slot, follow the pattern below: 053 MMM 113 where MMM is the macro number (200..249) and is the number you want stored in that autodial slot. For example, "053 200 113 406 482 7515" will make autodial slot 00 contain the number (406) 482-7515. To dial it, enter "112 00" or "113 00" (or if you have renamed commands 112 to '*' enter "* 00") and unkey. "053 201 113 1 800 555 1212" will make autodial 01 call "1 (800) 555 1212" and can be dialed by entering "112 01". Numbers up to 16 digits long can be stored as autodial numbers in this way. The autodialer can dial long distance numbers, even if those numbers would normally be blocked if dialed directly (not as an autodial) with command 112. If you are using predial digits to dial out of a PBX and you want to program an autodial to dial an extension on the PBX (without using the predial digits), use the following to program the autodial: 053 MMM 117 . Using command 117 rather than 113 in the autodial will make it skip the predial digits when dialing. Limiting Call Length: The time out timer for the autopatch port limits the total length of the call. If the timer expires, it will fire the time out event trigger for port 4 (see Chapter 20) and hang the autopatch up. If you would like a message to be sent when this happens, use command 045 to make the time-out event trigger for port 4 call a macro and put the commands to send that message in the time out macro. If you do not want the autopatch to time out, set the timer length to 9999 with Command 020. You will be warned before the patch times out. Thirty seconds before timeout, three beeps will be sent out of the radio port and down the phone line (so both sides of the conversation know it). Two beeps are sent twenty seconds before, and one ten seconds before. The CW characters 'S', 'I', and 'E' are used for these warning beeps. If you want to reset the patch time out timer (time out timer #4) during a call, use Command 022 to reset the time out timer for the autopatch port (timer 55), "022 055" for example. You could make macro 183 extend the patch timer using the code **3 with the following commands: 053 183 030 18 ; send CW 'I' as a beep-beep response 056 183 038 ; be silent for rest of macro 056 183 022 055 ; reset timer 055 056 010 183 **3 ; rename macro 183 to '**3' How the Dialing Tables Work: The dialing tables are used to control which long distance numbers can be dialed with Command 112 and which cannot. They do not affect autodial numbers or numbers dialed with Command 113. If you attempt to dial a number with Command 112 that is not allowed you will get an error. By default all numbers are blocked. The Allowed-Prefixes Table: The RLC-4 supports 20 (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 10 nuisance number dis-allow table. If the user enters a number that is found in the nuisance table, the controller will refuse to dial that number with command 112. The number can vary from 1..11 digits in length. Other Commands that Affect the Autopatch: Command 007 (see Chapter 3) allows you to turn the DTMF mute on or off for the autopatch port. While this does not affect the DTMF digits that are actually generated when the autopatch is dialing, it does have several other effects. See the note on command 007 for more information. 110: Configure the Autopatch This command sets which port the autopatch interface is hooked to and allows you to choose whether and how the number is read back before it is dialed. <110> 0 0 Disable the autopatch <110> 1 0 Enable autopatch, no number readback <110> 1 1 Enable autopatch, with number readback Parameters: 110 is the default command name. 111: Manual 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. This is usually used only for testing, because it doesn't regenerate your DTMF digits, it doesn't allow you to block long distance numbers, and it usually causes an error message when you dial a number. The error message may be generated because the controller can't tell whether you are entering a command (such as to hang up the patch) or dialing a number, so it treats the number as a (usually invalid) command; you can just ignore the error message. Command 114 can be used to hang up the patch. <111> Parameters: - 111 is the default command name. 112: 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 that aren't long distance (assuming you have set up the dialing restrictions with commands 119 and 121). If you wish to dial numbers shorter than 5 digits, longer than 11 digits, or long distance numbers, use command 113. Command 114 can be used to hang up the patch. <112> ss Autopatch using an autodial memory slot <112> d..d Autopatch using user entered number Parameters: - 112 is the default command name. - SS is the autodial slot number (1..2 digits) - D..D is the phone number you want to dial Notes: The longest number that can be dialed with the command is eleven digits, because that is the longest number that can be specified in the allowed number table. If you need to dial longer numbers, use Command 113. 113: 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. <113> ss Autopatch using an autodial memory slot <113> d..d Autopatch using user entered number Parameters: - 113 is the default command name. - SS is the autodial slot number (1..2 digits) - D..D is the phone number you want to dial Notes: You can call this from a macro (150..199) to dial numbers too long to fit in an autodial slot (which use macro 200..249). Example: Have macro 154 dial the number 012345678901234567890 <053> 154 113 012345678901234567890 The user will program macro 154 to bring up the patch and dial the number 012345678901234567890. 117: Forward Dial with no Long Distance Checking or Predial This command is the same as 113, except that the predial digits (see command 116) 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". <117> y..y Format: - C117 is the default command name. - Y..Y is the phone number you want to dial Examples: -You want to dial the number 1 (406) 482-7515: "117 14064827515" -You want to dial the above number as an autodial number using macro 200: 053 200 117 1 406 482 7515 . Now executing macro 200 will dial the number. You can rename macro 200 to A00 (for "Autodial 00") or any other name with 010 like this: 010 200A00 . 114: Hang up the Autopatch This command will hang up the autopatch, no matter which of the commands you used to take it off-hook. If the autopatch is not currently in use, it doesn't do anything. It can be executed from any port, whether that port is involved in the call or not. <114> Parameters: - 114 is the default command name. Note: The autopatch is also hung up whenever the controller is reset. Example: I want my autopatch hang-up code to be '#' <010> 114 # Now the users will enter '#' to hang-up the autopatch. 115: Possibly Hang up the Autopatch This command normally works exactly like command 114, but it won't allow you to hang up the patch if someone else on another radio port is using it and you aren't. Command 114 will hang up the patch if it is in use by any port; that is you can hang it up even if someone else on another port of the controller that is using it. It is important to be able to do that if there is an emergency and you need to cut them off. On the other hand, if someone tries to use the patch and gets the "autopatch busy" message, they may not realize (or care) that someone else is using the patch even though they can't hear it, and they may hang it up. Giving the users access to command 115 rather than 114 will solve that problem, as only the port(s) that can hear the autopatch call will be allowed to hang it up. <115> 116: Set / Recall the Predial Digits and Timing When any of the forward dial commands (112, 113 or 117) are used, several things must take place before the number is actually dialed: If number readback is turned on, send the number in CW. Take the phone line off-hook. This is the same as you picking up your phone at home. Since the controller can not 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. Recall Settings <116> 0 Change Settings <116> iii aaa d..d Parameters: 116 is the default command name. III is the length of the initial delay in 10mS increments (001..250). Default is 100. Do not set to 0. AAA the length of the after-predial delay in 10mS increments (001..250). Default is 100. Do not set to 0. 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, although you might have to temporarily change your force-execution digit to use it (see command 078). Defaults: Initial delay = 100 (1 second) After-predial delay = 100 (1 second) Predial digits = none 119: Set Allowed Numbers Table Slot This command allows you to set one of the slots in the allowed numbers table. For a description of this table and how to use it, see the explanation of the dialing tables before Command 110. <119> ss Clear slot ss <119> ss d..d Program slot ss Parameters: - 119 is the default command name. - SS is the slot number (00..19). Must be two digits. - D..D 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. 120: Recall Allowed Numbers Table Slot This command allows you to recall the contents of one of the slots in the allowed numbers table. For a description of this table and how to use it, see the explaination of the dialing tables before Command 110. <120> ss Parameters: - 120 is the default command name. - SS is the slot number (0..19) 121: Set Nuisance Numbers Table Slot This command allows you to set one of the slots in the nuisance number table. For a description of this table and how to use it, see the explanation of the dialing tables before Command 110. <121> s Clear slot s <121> s d..d Program Slot s Parameters: - 121 is the default command name. - S is the slot number (0..9) - D..D 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. 122: Recall Nuisance Numbers Table 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 explanation of the dialing tables before Command 110. <122> s Parameters: - 122 is the default command name. - S is the slot number (0..9) - D..D 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. 128: Set Full or Half-Duplex Patch Audio for a TX This command allows you to control whether the audio from the autopatch gets muted when one of the receivers that can send audio to the patch is active. When the controller receives a command to bring up the patch, it connects that port and any ports that are monitoring or connected to that port to the patch, so they can all take part in the call. Each of those ports' transmitters will stay up for the length of the call. Each transmitter that is set for full-duplex mode with this command will transmit the audio from the autopatch for the entire length of the call; if it also transmits the audio from a receiver, it will mix it with the autopatch audio. Each transmitter that is set up for half- duplex mode (the default) with this command will mute the audio from the autopatch whenever someone keys up their radio to talk to the person on the phone. This allows the control op to mute anything that the person on the phone may say by simply keying up, rather than having to hang up the patch. <128> p c Set autopatch half-duplex mode for a port Parameters: - 128 is the default command name. - P is the requested port (1..4) - C is the Half-Duplex on/off setting -- 1 ==> make the selected port half duplex (the default) -- 0 ==> make the selected port full duplex 129: Recall Full or Half-Duplex Patch Audio for a TX This command allows you to recall whether the audio from the autopatch gets muted when one of the receivers that can send audio to the patch is active. It lists the ports that are in half-duplex mode. If a port is not listed, it is in full-duplex mode. <129> Recall autopatch half-duplex mode for a port Parameters: - 129 is the default command name. 133: Set up Reverse Patch This command allows you to set up the reverse autopatch. You must set up the forward patch functions with Command 110 before you use this command. If you want to change how the reverse patch works, just execute this command again with the new information. <133> 0 Disable reverse autopatch <133> 1 xx y..y Configure for over-air ringing <133> 2 xx n..n Configure for control mode Parameters: - 133 is the default command name. - There are three reverse patch "modes". Mode 0 disables the reverse patch. Forward patch will still work normally. Mode 1 is the ring over air mode XX - Number of rings the controller waits before ringing over the air. Y..Y - What ports the ringing will be routed to Mode 2 is the control mode XX - Number of rings the controller waits before answering the phone. N..N - Access code required when in mode 2 access Note about Ring Detection: This command automatically enables the keyup delay filter (see the description for the keyup delay timers in Chapter 4 for more information) for the autopatch port (port 4). This helps prevent transients on the phone line from fooling the controller into thinking the phone is ringing when it is not. If the phone line going to the controller rings in very short bursts, you may have to disable or shorten the keyup delay timer after executing this command to get the controller to answer. Note on Mode 2: After XX rings, the controller will answer the phone and give you about 9 seconds to enter the access code N..N; if you do not, it will hang up on you. If you enter the code N..N correctly the controller will let you enter commands by DTMF just as you would from a radio port. Since you can't unkey to tell the controller to execute the commands, you will have to either use timed execution or change your force-execution digit for the autopatch from 'D' to '*' or '#' (see command 078). Note that you will have to have to rename any commands you wish to execute from the telephone to not contain the digits 'A', 'B', 'C' or 'D', as those digits can't be entered from most telephones. After entering the access code, you can talk out a radio port or just monitor it by executing commands 000 or 001 respectively. For example, if you wish to monitor the repeater on port 1, enter "001 41", then press the force-execution digit for the patch or wait for the timed execution (see command 078). This will make the autopatch (port 4) monitor the repeater (port 1). 134: Reverse Patch Logon You do not need to know about this command - it is for the controller's internal use when using reverse patch mode 2 (control mode), so you can quit reading now if you want. When the controller answers the phone in mode 2, the only commands you can execute are the pre-access macros for the autopatch port, because the controller turns preaccess on when you set up the patch. When you specify the reverse patch access code with Command 133, it renames one of the pre- access macros for that port to the access code and programs that macro to call this command when executed. This command allows you to access all of the commands until the patch is hung up, resets the patch time out timer, and stops the pre-access timer, among other things. If you are accessing the reverse patch in mode 2 and the time out timer is about to expire, you can execute this command to keep the patch from timing out. <134> Parameters: - 134 is the default command name. 135: Answer Reverse Patch This command is used to answer a reverse patch call that is ringing out over the air (Autopatch needs to be configured as mode 1 - see Command 133). It will only work when the reverse patch is ringing - it is not a substitute for the manual off-hook command. The patch is hung up the same way as for forward patch, with Command 114. <135> Parameters: - 135 is the default command name. Notes: If you try to execute this command and the reverse autopatch has not been ringing, you will get an autopatch error. 136: Set up Reverse Autopatch Ring This command allows the user to set up the over the air ringing tone and length. <136> xxx yyyy Parameters: - 136 is the default command name. - XXX is the length of the ring tone in 10ms increments (100 = 1 second) - YYYY is the Frequency of the first ring tone Defaults: Ring tone length defaults to 2 Second Ring tone frequency defaults to 1064 Hz. Example: To set the ring back to the default: 136 200 1064 Notes: 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.Chapter 14: Doug Hall RBI-1 and RLC-ICM Routines What the RBI-1 is: 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, with one band active at a time. PL (CTCSS) encode and decode is handled by the radios. The RBI-1 plugs into one of the RLC-4's radio ports and uses some lines from the DB-25 I/O connector. The audio, COR and PTT interface is made through the RLC-4 radio port and the signals that control the RBI-1 and ultimately the radio come from some of the output lines on the DB-25 I/O 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 does not sell the RBI-1 interface. What the RLC-ICM is: The RLC-ICM is a remote base interface for IC-900 and IC-901 band modules. The RLC-ICM uses the same data stream from the repeater controller as the RBI-1, except for the special setup codes sent with command 139. Up to four bands can be supported by one RLC-ICM interface. Unlike the RBI-1, more than one band can be active at the same time; up to all four bands can transmit or receive at the same time. The RLC-ICM also supports a Communications Specialists' TS-64 PL board for each band module. Each band that has a TS-64 can encode and decode PL. Different bands can use different PL frequencies. The RLC-ICM plugs into one of the RLC-4's ports. The audio, COR and PTT interface is made through the RLC-4's radio port and the signals that control the RBI-1 and ultimately the radio come from the serial port . The RLC-ICM is available from Link Communications. Interfacing and Setup: It is very easy to interface the RBI-1 or RLC-ICM to the RLC-4. Directions for building the needed cable is provided on one of the following pages. You can build it yourself or order one from Link Communications, Inc. The RBI-1 is connected to the radio's microphone connectors with cables supplied with the RBI-1. The RLC-ICM includes cables and small interface boards to connect to the IC-900/901 band modules. The only other connections are power, ground and antenna to the radios. The RBI-1 gets its power from the radio; the RLC-ICM has its own power plug. If you are using the RLC-ICM, you will need to use command 139 to set it up. If you are using the RBI-1, you can skip command 139 and go on to the other commands. Using the RBI-1 or RLC-ICM: Using the RBI-1 or RLC-ICM (after it is set up) is very straightforward. There are separate commands to do each of the following tasks: 139 - RLC-ICM setup 140 - radio on/off, tx power low/med/high, offset format 141 - pl freq code, tx on/off, rx on/off 142 - set freq or recall memory 143 - recall current frequency or memory If there are combinations of settings that you use often, you can program them into the memories on the Kenwood radios (if you are using the RBI-1) or you can program user macros to select those settings, making the controller's macro work like a memory. 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 (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 (Set the COR to active low with C013) 8 - PTT to Kenwood TX 3 - RLC-4 PTT output 9 - Ground 1 - RLC-4 ground connection 2 - RLC-ICM (not RBI-1) PL Detect Out 2 - RLC-4 PL detect input (optional) 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. 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. 139: Set Up the RLC-Icom Interface The RLC-Icom interface allows the RLC-4 to control IC-900/901 band modules using the same commands as are used for the Doug Hall RBI-1. This command tells the controller which interface you are using (default is the RBI-1) and allows you to set up the RLC-Icom interface. This setup procedure is not necessary for the RBI-1, since it will only support one band module being on at a time. Once you have set up the RLC-Icom with this command, you can use the RBI-1 commands (Commands 141..143) as described. <139> 000 Set the controller for RBI-1 (the default) <139> c ss Set the controller for RLC-ICM Parameters: - 139 is the default command name. - C is the connector number on the RLC-ICM that the module you are setting up is plugged into (1..4). Do not confuse this with the radio port number on the RLC-4. - SS is the setup code described below Procedure: First tell the RLC-Icom which band module is plugged into each of its connectors. The setup codes are listed in the chart below. You will need to execute command C139 once for each setup code you wish to enter. SS (the setup code) Description 00 28 Mhz Module 05 50 Mhz Module 10 140..160 Mhz Module 15 220 Mhz Module 20 430..440 Mhz Module 25 1200 Mhz Module (not currently active) The default setup for the RLC-Icom is to have connector 1 plugged into the 140..160 Mhz module, connector 2 plugged into the 220 Mhz module and connector 3 plugged into the 430..440 Mhz module. As an example, the following commands will enter those settings again: Command 139 110 Command 139 215 Command 139 320 Second, you must tell each band module what size of offset to use when you select a plus or minus offset with Commands 142 or 143. The setup codes follow: SS (the setup code) Description 30 100 Khz Offset 35 500 Khz Offset 40 600 Khz Offset 45 1 Mhz Offset 50 1.6 Mhz Offset 55 1.7 Mhz Offset 60 5 Mhz Offset 65 12 Mhz Offset 70 20 Mhz Offset Example: To select a 100 Khz offset for the 140..160 Mhz module that is plugged into connector 1, enter Command 139 130 D or unkey. Setup codes 75 and 80 are reserved for special offset memories, which are not yet supported. You should normally use Commands 000, 001 and 002 to control turning the remote base on and off and monitoring it. Those commands treat the whole RLC-Icom interface as one unit, connecting to and disconnecting from it the same way they would a link port. In addition to these commands, you can tell the RLC-Icom interface to enable transceive, enable receive only, or disable individual modules using the following codes: SS (the setup code) Description 85 Enable Transceive 90 Enable Receive Only (Transmit Disabled) 95 Disable Module Completely Example: If you wanted to monitor the 140..160 Mhz module and the 220 module, but only transmit on 140, you could enter Command 139 290 D or unkey to disable transmitting on the 220 module on connector 2 and Command 139 185 D or unkey to enable transceive on 140..160 Mhz (connector 1). If you then used Command 000 to connect the repeater port you were using to the port that the RLC-Icom is on, you would be able to transmit on and receive from the 140..160 Mhz module but only receive from the 220 Mhz module. When you enter a new frequency, band, PL frequency, etc. with Commands 142 to 148, the module that is selected with Command 141 will automatically change to receive only mode (like you used code 90 above). You will probably want to write macros to enable transceive after changing frequencies. The following commands will program macro 500 to enable transceive on the 140..160 Mhz module on connector 1 and name that macro to 12: Command 053 500 043 D or unkey ; be silent for the rest of the macro Command 056 500 139 185 D or unkey ; enable transceive Command 010 500 12 D or unkey ; rename macro 500 to 12 If you have properly entered the above commands, the RLC-Icom is set up and ready to use. To enter frequencies, turn PL on and off, etc., use the RBI-1 commands in this section of the manual (commands 141..143). RLC-ICM Internal Operation Test Points The RLC-ICM ICOM IC900\901 module controller supports on-board function test points. These test points are supported in the software release V1.14 and later. The test points are located towards the center of the interface. Test points are located on connector J10 which is a 5 pin male header connector. The following signals are present on J10. Pin 1 - Transfer complete (Data received without errors) Pin 2 - Configuration data received (Set-up data received without errors) Pin 3 - Error detected in transfer (Errors were encountered on the RLC-ICM) Pin 4 - 1 second pulse output (Indicates program is running) Pin 5 - Ground reference When any data is sent to the RLC-ICM one of the above pins will change state. The active state is +5v or a (high). More than one state may be present at a time and the states will be active for 10 seconds (Except the 1 second pulse output). Controller Interfacing: The most common use for these signals is to read them with a voltmeter when troubleshooting the RLC-ICM. They could also be connected to input lines on the controller to provide remote feedback that commands were or were not transferred correctly, although this should not be necessary once the RLC-ICM has been interfaced and tested. When a frequency is selected on the interface, and the data was received without errors, pin #1 will go from the low (0v) state to the high (5v) state. When connected to an input line the controller can respond (Remote Base OK) for example. If an error is received during transfer pin #3 will go from the low (0v) state to the high (5v) state. When connected to an input line the controller can respond (Remote Base Error) for example. These lines simply tell the user that the data was received. These lines can not directly interface to LED's, relays or any current "hungry" device. They are only designed for correct\error detection. 140: Turn Radio Power On/Off, Set Power and Offset Format This command lets you turn on and off the power to the Kenwood mobile radios that are connected to the RBI-1 (the power on/off feature doesn't apply to the RLC-ICM). Note that the RBI-1 should be powered separately, not through the radio, for this feature to work correctly. Turning power off to the radio can save power at solar sites. This command also lets you set the transmit power to high/medium/low on some Kenwood mobile radios (this feature doesn't apply to the RLC-ICM). The power level for the RLC-ICM is set with a jumper on the RLC-ICM and cannot be changed remotely without special wiring (connecting the control line to a open collector output on the controller). Finally, this command allows you change the way you enter the offset with command 142. The offset is always specified as one digit, 0 to 3. There are two different common definitions of what digit corresponds with what offset. If you want format 0 (the default), you can omit this digit. <140> 0 Turn Radio Power Off <140> 1 Turn Radio Power On <140> 1 P Turn Radio On and Set Transmit Power <140> 1 P F Turn Radio On, Set Power and Select Offset Format Parameters: - 140 is the default command name. - P is the transmit power level for the Kenwood mobile radio. 0 = low power, 1 = medium power, 2 = high power. - F is the offset format. Default is F=0. 'O'ffset digit entered with command 142 F=0 F=1 0 Minus Minus 20 (1200 only) 1 Plus Minus 2 Simplex Simplex 3 Minus 20 (1200 only) Plus Note: There is no command to recall which format you are using. If you are unsure, execute Command "142 147380 1" and unkey. If it says "plus" after the frequency, you are using format 0. If it says "minus", you are using format 1. 141: Set PL Frequency, Encode and Decode This command allows you to tell the Doug Hall RBI-1 or RLC-ICM which PL (CTCSS) frequency to use, and whether to encode (transmit) it, decode (receive) it, neither or both. <141> FF E D Parameters: - 141 is the default command name. - FF is the PL frequency code - see the table below - E is 1 to encode (transmit) PL, 0 to not encode it. - D is 1 to decode (receive) PL, requiring the transmitter you are monitoring to encode it, or 0 to use carrier only. Tone # Frequency Tone # Frequency Tone # Frequency 01 67.0 15 110.9 29 179.9 02 71.9 16 114.8 30 186.2 03 74.4 17 118.8 31 192.8 04 77.0 18 123.0 32 203.5 05 79.7 19 127.3 33 210.7 06 82.5 20 131.8 34 218.1 07 85.4 21 136.5 35 225.7 08 88.5 22 141.3 36 233.6 09 91.5 23 146.2 37 241.8 10 94.8 24 151.4 38 250.3 11 97.4 25 156.7 .... .... 12 100.0 26 162.2 .... ..... 13 103.5 27 167.9 .... .... 14 107.2 28 173.8 .... .... 142: Set Frequency and Offset or Recall Memory This command allows you change the frequency of the radios connected to the Doug Hall RBI-1 or RLC-ICM. After entering the command name (default is 142), you can just enter the frequency the way you would say it (ignoring the decimal point). To go to 147.38MHz, you could just enter "142 14738" and unkey. You do not need to enter 0's at the end unless you want to change the offset, in which case you have to enter three digits after the assumed decimal point before the digit that specifies the offset. For example, "142 1473801" would select a positive offset (using format 0, see command 140). The controller will determine what band the frequency is in and send the information to the remote base interface. The remote base interface figures out which radio handles that band's information and sends the frequency to that radio. If you enter a '*' as a "megahertz point", like "142 147*38", the CW response will be simply 'F'. <142> mm Recall Radio Memory "mm" (RBI-1 only) <142> 29xxf o 10 meter <142> 5xxf o 50 Mhz <142> 14xxxf o 144 Mhz <142> 22xxxf o 220 Mhz <142> 43xxxf o 430 Mhz <142> 44xxxf o 440 Mhz <142> 124xxxf o 1240 Mhz <142> 125xxxf o 1250 Mhz <142> 126xxxf o 1260 Mhz <142> 127xxxf o 1270 Mhz <142> 128xxxf o 1280 Mhz <142> 129xxxf o 1290 Mhz Parameters: - 142 is the default command name. - XXX is the new frequency (Mhz, 100Khz, 10Khz) - F (optional) is the 5 Khz entry - O (optional) is the new offset (see Command 141 for the format). You can omit this digit if you don't want to change the offset. - MM is the memory to go to (1..20, or as supported by the radio). Memories must be set manually on the radio, as there is no way to set them using the RBI-1. This feature is not supported on the RLC-ICM. 143: Recall Frequency and Offset or Memory This command allows you recall the current frequency and offset settings of the radio connected to the Doug Hall RBI-1 or RLC-ICM, or the memory number if a memory has been selected. The format of the response is shown below. <143> Parameters: - 143 is the default command name. Response: XXX.YYY The frequency in MHz. O The offset as indicated below: "m" minus offset "s" simplex "p" plus offset "M2" minus 20 MHz offset (1200 radios only) or M xx where xx is the memory number. 144: Control/Recall RBI-1 Output Lines The Doug Hall RBI-1 has eight open collector output lines that can be used to control other hardware, such as antenna switches. Those output lines can be controlled with this command. See the RBI-1 manual for more information about their current sink limits and other specifications. <144> X Recall State of Output 'X' <144> X 1 Turn Output 'X' On <144> X 0 Turn Output 'X' Off Note: When an output line is turned on or off using this command, there will be a slight delay (about a second) before the change will actually take place. Because of the delay, this command cannot be used to quickly pulse an output line. See commands 093 and 094 which use the output lines that are built into the RLC-4 if you need pulses. Chapter 15: Not Currently Used Chapter 16: Special Audio Routing Commands See Appendix A for more information about audio routing. 037: Set Audio Routing Variable for Commands In a Macro This command allows you to override the default message routing variable within a macro. It only remains in effect until the end of the macro or until 037 or 038 are executed, whichever comes first. Appendix A has more information about controlling where messages are sent. The most common use of this command is to send the audio generated by commands in a macro to a different combination of ports than it is normally sent to. An example of this is provided below. <037> p..p Parameters: - 037 is the default command name. - P..P is the list of ports the message is to be routed to. Note: The changes made to the audio routing variable by this command affect all commands (including other macros) executed until the end of the macro containing this command, or until command 037 or 038 are executed again, whichever occurs first. 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 000. You want to use macro 170 to store all the keystrokes for this example. 053 170 037 1 2 3 4 Sets the routing variable to all ports 053 170 030 21 20 01 40 23 Send the CW message "LK1 N" 053 170 038 Kill all the responses following this command 053 170 000 1 2 Connect port 1 to port 2 053 170 000 1 3 Connect port 1 to port 3 053 170 000 1 4 Connect port 1 to port 4 038: Kill All Responses Following This Command This command kills all CW responses beyond this point. This command designed for use within a macro. When multiple commands are executed inside a macro, the commands that are executed contain their own message responses. To keep from hearing all of the responses when the macro is executed, simply execute command 038 first, then all messages following that command are canceled. If you want a message response to occur from within a macro, send the response before you execute 038. <038> Parameters: - 038 is the default command name. Notes: The changes made to the audio routing variable by this command affect all commands (including other macros) executed until the end of the macro containing this command, or until command 037 or 038 are executed again, whichever occurs first. Example: Want to read the change the access mode of port 1 and speak a message indicating what you did. 1) Use a multiple command macro for this purpose Command 165 will be used to execute this sequence (Macro 165) 2) 005 is the Access mode change command Want to change the mode to COR and PL Access 005 1 2 "Port 1 COR and PL" 3) 030 is the CW send command Want to send "R PL" 4) Macro programming: 055 165 ; erase the macro 056 165 030 27 40 25 21 ; send "R PL" 056 165 038 ; be quiet for rest of macro 056 165 005 1 2 ; set to PL access mode 5) The macro will send the CW message "R PL" and not the mode change message "1 2" 065: Restore Audio Routing Variable (Undo 037 and 038) This command allows you to restore the audio routing within a macro to whatever it was at the beginning of the macro. In other words, if commands 037 or 038 have been executed earlier in the macro, their effects will be negated. It has no effect if used outside of a macro. <065> Example: I want to make a macro to connect ports 1 and 2 and send CW "L ON" to whichever port entered the command (which is the default, see command 050). 055 161 ; erase whatever is in macro 161 056 161 038 ; be quiet for the rest of this macro, unless command 037 or 065 are executed 056 161 000 1 2 ; connect ports 1 and 2 056 161 065 ; set the audio routing back to what it was at the beginning of this macro 056 161 030 21 40 24 23 ; send "l on" Note that the ports are connected first, then the audio routing is restored and the message is sent. It takes one more command in the macro (065) to put things in this order, but if it makes more sense to you do program your macros this way, there is no harm in doing it. Command 038 is needed to keep the default response of command 000 from being sent: "1 n 1". 039: Recall 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). <039> 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 (161) for port three so it will send the numbers of the ports that just heard the courtesy beep: <056> 161 039 Note: To delete command 039 from the courtesy beep macro when you are tired of hearing it, use command 059 and you will not have to delete the whole macro and program it again. 050: Set Up or Recall Default Audio Routing Variables This command allows you to configure which transmitters send different CW messages and tones. Each time a command is executed that generates a message to tell you what it did or an event occurs that triggers a message, the controller figures out what transmitters should send that message and stores it in an "audio routing variable" until it is actually sent. Normally if you enter a command using DTMF on a repeater, the response message will be sent out that repeater so you can hear it. The same goes for a link. But in some cases, you might want the response messages to commands entered from a link to be sent out both the link and a repeater, so you can keep track of what is going on. This command allows you to do that. It allows you to control where response messages will be sent for commands that are entered from each receiver or the serial port. It also allows you to control where messages that are generated by the I/O alarms and event triggers will be sent. Please note that when a macro is executed, it may override these default settings by using commands 037 and 038 (they only work inside of a macro). This command sets the default routing; commands 037 and 038 override it and change it to something else. If it has been changed using commands 037 or 038 in a macro, command 065 will restore it to the default setting for the remainder of the macro. Recall Default <050> SS Set Default to P..P <050> SS P..P Clear Default <050> SS 0 Parameters: - 050 is the default command name. - SS specifies which default audio routing variable to change 01 - commands entered from receiver 1 (default TX 1) 02 - commands entered from receiver 2 (default TX 2) 03 - commands entered from receiver 3 (default TX 3) 04 - commands entered from receiver 4 (default TX 4) 05 - commands entered from the serial port (default TX 1) 06 - commands executed by an event trigger or automatic macro (default TX 1) - P is a list of the ports that the audio will be sent out of. Enter a '0' if you do not want the audio to be sent anywhere. Notes: Command 114 (the autopatch hangup command) can not be controlled with this command, as it sets its own audio routing to send the hang up message to all of the ports that are listening to the patch, not just to the one that hung it up. See Appendix A for more information about audio routing variables in general, commands 037, 038 and 065 for information about routing audio within a macro. Chapter 17: Special Control Commands 035: 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 D. <035> Parameters: - 035 is the default command name. 078: Set Command Entry Options for a Port This command allows you to specify several options concerning how the controller will process the characters you enter. <078> p c t e Parameters: - 078 is the default command name. - P is the port for which to change the options - 1..4 indicate the corresponding port - 5 indicates the serial port - C is the chaining control. This variable allows your commands to be chained together. Must be entered but is ignored for the serial port. - 1 Enables command chaining - 0 Disables command chaining (the default) - T is the timed execution. This variable allows timed execution of commands entered. Must be entered but is ignored for the serial port. - 1 Enables timed execution - 0 Disables timed execution (the default) - E (optional) is the new force-execution digit (default is 'D' for radio ports, '!' for the serial port). Command Chaining: Normally the controller considers everything you enter before unkeying or pressing 'D' or the enter key to be one command. If there are more characters that it knows what to do with, it generates an error message and discards the command. The chaining option lets you enter more than one command at a time, executing all of them at once when you unkey. This can cause problems when it is ambiguous where one command ends and the next begins, but may be useful in some cases. With the chaining option turned on, the controller will let you chain on another command without unkeying after any command that always takes the same number of digits. This includes all of the macros and a lot of the commands numbered 000 to 199 (those which never take any digits after the command name). Of the remaining commands numbered between 000 and 199, you can find out which commands can have another command come immediately after them by looking them up It is recommended that you leave this option turned off unless you have a specific reason to turn it on. This option is not available (the setting is ignored) for commands entered from the serial port. Timed Execution: Normally when you enter a DTMF command, you unkey to tell the controller it is time to execute the command. If you enter a command and wait longer than a few seconds (see the DTMF interdigit timer - command 020) the controller assumes that you didn't want to do that command and it throws it away. This keeps a digit accidently entered from messing up a command you might enter 30 seconds later (if you didn't unkey in the meantime). It also reduces the likelihood of DTMF voice falsing (see introduction to Chapter 3) causing a command to be executed accidently; if your voice falses the decoder and you don't unkey for a few seconds, the controller will just discard that falsed digit. There are times, however, when it isn't possible to unkey and it would be handy to have another way to tell the controller to execute. If your repeater squelch gets stuck open or someone sits on their mike, the controller won't be able to tell if you unkey. In this situation, you can enter a command and then force it to execute with the force-execution digit (normally 'D', but can be changed with this command). If your radio doesn't have 'D' on the DTMF keypad, you won't be able to do this. Another situation is when you call in on the reverse autopatch; you can't unkey and most phones don't have the 'D' key. In either of those cases, you might want to turn on timed execution. When timed execution is turned on, instead of throwing a command away if you pause for a few seconds, the controller executes it. This is the preferred method of entering commands on the reverse autopatch. If you use it, you will probably want to shorten the DTMF interdigit timer (see command 020) to 2 or 3 seconds. This option is typically only used on radio ports if you are controlling from a radio that doesn't have 'D' on its DTMF keypad. This option is not available (the setting is ignored) for commands entered from the serial port. The Force-Execution Digit: As mentioned previously, the force-execution digit tells the controller to immediately execute any command that may have been entered, without waiting for you to unkey. It is recommended that you leave this digit set to 'D' in most cases, but if you need to change it, 'A', 'B', 'C' and '*' are other acceptable choices ('*' works pretty well from the reverse autopatch if you don't want to use timed execution). Please note that you will not be able to use any commands that have the force- execution digit in their names, so avoid that digit when setting up command names. If you use '*' as the force-execution digit for your repeater port, you will not be able to use '*' as your autopatch up code. On the serial port, the force-execution digit defaults to 'D' for consistency with the radio ports, but since you can always hit enter and you will sometimes want to use 'D' in your comments, it is recommended that you change the force-execution digit for the serial port to '!' or another uncommon character. Advanced Note: If you are trying to change the force-execution digit for one port (call it 'A') by entering this command on another port (call it 'B'), you will be unable to change A's force-execution digit to be the same as B's. This is because when port B sees that digit, it can't tell whether you want it to execute immediately or whether that is what you are trying to change A's force-execution digit to. The easy solution is to enter this command from the port that you are trying to change. If you must enter it from another port, temporarily change the force-execution digit for B, then change it for A, then change B back to what it was. If you didn't understand this paragraph, just ignore it. 079: Recall Command Entry Options for a Port This command allows you to recall all of the options that were set with command 078. <079> p Parameters: - 079 is the default command name. - P is the port for which to change the force-execution digit - 1..4 indicate the corresponding port - 5 indicates the serial port Defaults: - Chaining is disabled - Timed execution is disabled - All ports' force-execution digits default to the 'D' key 080: Execute Command by Number This command executes other commands without regard to what their names are. In other words, if you know the number of the command as shown in the manual, you can execute it without knowing its name by using this command. It is automatically named "N" rather than "080" as you would normally expect, which means it can only be executed from the serial port unless you rename it (since DTMF pads don't have the letter "N"). The purpose of this command is explained in the notes below. <080> XXX D..D Parameters: <080> is the name of this command, normally "N". See notes below. XXX is the number of the command you wish to execute D..D is the data required by command XXX, if any Notes: Since this command makes it easy to execute commands without considering if their names have been changed, renaming commands does not provide much security from someone trying to mess up the programming from the serial port. If access to the serial port can not be controlled (if you have a modem connected to it, for example), you should use the password system to secure the controller. This command does not bypass the password system; if a password is necessary to execute a command directly, the password will still be required if you use this command. The purpose of this command is to make it easier to program the controller from a computer. One of the best ways to program the controller is to use a text editor ("Notepad" works well in Microsoft Windows ) to create a file that contains all of the commands needed to set up the controller. Such a file can be "uploaded" to the controller using a communications program. A small example of such a file is shown below (note that everything following a ';' (semicolon) until the end of the line is a comment): ; Setup file for repeater controller 007 11 ; turn on DTMF mute for port 1 000 11 ; make port 1 a repeater 010 000 A12 ; rename command 000 to "A12" After uploading a file like the one above, you might notice an error in the file or decide to add something else to the file. After making the changes with the editor, you can upload the file again. During this second upload, the line "000 11" will cause a "Command name not found" error because command 000 was renamed during the previous upload. To avoid this problem, you can either reinitialize the controller before each upload (see Appendix D) or you can modify the file as shown below: ; Setup file for repeater controller N007 11 ; turn on DTMF mute for port 1 N000 11 ; make port 1 a repeater N010 000 A12 ; rename command 000 to "A12" By inserting an "N"(the name of this command, 080) at the beginning of each line, the controller will ignore any name changes and will allow you to upload the file multiple times without errors. 008: Not Currently Used 014..019: Not Currently Used 028, 029: Not Currently Used 036: Not Currently Used 048,049: Not Currently Used 052: Not Currently Used 063, 064: Not Currently Used 066..072: Not Currently Used 081..084: Not Currently Used 087..089: Not Currently Used 092: Not Currently Used 096..099: Not Currently Used 106: Not Currently Used 109: Not Currently Used 118: Not Currently Used 123..127: Not Currently Used 138: Not Currently Used 144..149: Not Currently Used Chapter 18: Not Currently Used Chapter 19: Not Currently Used Chapter 20: Event Triggers The controller does a lot of things totally under the control of the built-in firmware which you as the user can't change, such as turning on a PTT when a receiver goes active and hanging up the phone when it times out. Other things are done by calling macros (see Chapter 8), such as sending ID's and courtesy beeps. By changing how those macros are programmed, you can change what the courtesy beeps and ID's do. Event triggers give you even more flexibility. They allow you to execute any of the built in commands or any of the macros whenever certain things happen. All you have to do is use command 045 to tell the controller what command you want it to do when each event occurs. If you only want it to happen some of the time, you can just disable the event trigger with command 047. If you tell the event trigger to execute a macro, you may need to program the macro to do something (see Chapter 8). You should keep track of what command you assign each event trigger to execute, as you may need to know later. You can also recall that information with command 046. If you want to execute more than one command from an event trigger, make the event trigger call a macro, then program the macro to execute each of the commands in turn. That way the event trigger calls only a single macro and the macro takes care of calling multiple other commands. 045: Set Up Event Trigger 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. <045> eee ccc Parameters: - 045 is the default command name - EEE is the Event Number (see table below) - CCC is the command number to call when an event occurs Default: - All events are disabled - When an event is programmed, the event is enabled 046: Recall Event Trigger Setting This command allows the recall of what macro or command an event will jump to when a change occurs. <046> eee Parameters: - 046 is the default command name - EEE is the Event Number Default: All events are disabled 047: Enable/Disable Event Trigger This command allows the enable/disable control of the automatic event calling. <047> eee 1 Enable an event <047> eee 0 Disable an event Parameters: - 047 is the default command name - EEE is the Event Number Default: All events are disabled Event Table: Default settings are shown in parenthesis. 000 - Reset Macro 001 - Port 1 Initial ID (Macro 151) 002 - Port 2 Initial ID (Macro 152) 003 - Port 3 Initial ID (Macro 153) 004 - Port 4 Initial ID (Macro 154) 005 - Port 1 Pending ID (Macro 155) 006 - Port 2 Pending ID (Macro 156) 007 - Port 3 Pending ID (Macro 157) 008 - Port 4 Pending ID (Macro 158) 009 - Port 1 Courtesy Beep (Macro 159) 010 - Port 2 Courtesy Beep (Macro 160) 011 - Port 3 Courtesy Beep (Macro 161) 012 - Port 4 Courtesy Beep (Macro 162) 013 - Input 1 Low 014 - Input 2 Low 015 - Input 3 Low 016 - Input 1 High 017 - Input 2 High 018 - Input 3 High 019 - Analog 1 Low Alarm 020 - Analog 2 Low Alarm 021 - Analog 3 Low Alarm 022 - Analog 4 Low Alarm 023 - Analog 1 High Alarm 024 - Analog 2 High Alarm 025 - Analog 3 High Alarm 026 - Analog 4 High Alarm 027 - Analog 1 Alarm to Normal 028 - Analog 2 Alarm to Normal 029 - Analog 3 Alarm to Normal 030 - Analog 4 Alarm to Normal 031 - Output 1 On 032 - Output 2 On 033 - Output 3 On 034 - Output 4 On 035 - Output 1 Off 036 - Output 2 Off 037 - Output 3 Off 038 - Output 4 Off 039 - Time Out Port 1 040 - Time Out Port 2 041 - Time Out Port 3 042 - Time Out Port 4 043 - Time Out Clear Port 4 044 - Time Out Clear Port 2 045 - Time Out Clear Port 3 046 - Time Out Clear Port 4 047 - User Timer #0 048 - User Timer #1 049 - User Timer #2 050 - User Timer #3 051 - User Timer #4 052 - COR Active Port 1 053 - COR Active Port 2 054 - COR Active Port 3 055 - COR Active Port 4 056 - COR Inactive Port 1 057 - COR Inactive Port 2 058 - COR Inactive Port 3 059 - COR Inactive Port 4 060 - PL Active Port 1 061 - PL Active Port 2 062 - PL Active Port 3 063 - PL Active Port 4 064 - PL Inactive Port 1 065 - PL Inactive Port 2 066 - PL Inactive Port 3 067 - PL Inactive Port 4 068 - Port Active Port 1 069 - Port Active Port 2 070 - Port Active Port 3 071 - Port Active Port 4 072 - Port Inactive Port 1 073 - Port Inactive Port 2 074 - Port Inactive Port 3 075 - Port Inactive Port 4 076 - Error Code 00 077 - Error Code 01 078 - Error Code 02 079 - Error Code 03 080 - Error Code 04 081 - Error Code 05 082 - Error Code 06 083 - Error Code 07 084 - Error Code 08 085 - Error Code 09 086 - Error Code 10 087 - Error Code 11 088 - Error Code 12 089 - Error Code 13 090 - Any Connected RX Active 1 091 - Any Connected RX Active 2 092 - Any Connected RX Active 3 093 - Any Connected RX Active 4 094 - All Connected RX Inactive 1 095 - All Connected RX Inactive 2 096 - All Connected RX Inactive 3 097 - All Connected RX Inactive 4 098 - Before Patch Off Hook 099 - After Patch On Hook 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 can not know where you want the audio to go. There are two ways for you to specify where messages go. First, choose where you want most of the messages to go. Tell the controller what ports those are with Command 050. Now all of the messages will go out those ports. What if you want one of the messages to go somewhere else? Simply make the event that is causing a message call a user macro and program the first command in the macro to be Command 037 D or unkey and list the ports where you want the message to go to. This will change the audio routing variable for the rest of the commands in the macro. Command 037 can be used to change where the messages generated by any macro will go. All commands executed after Command 037 in a macro until the end of that macro will go to the ports specified with Command 037. A similar 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 Command 050 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. 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 168 to connect ports 2 and 3 to the main repeater on port 1. Your macro would probably execute Command 000 12 and Command 000 13 to do this. The CW responses from these commands would be "1 n 2 , 1 n 3". It wouldn't take very long to get tired of hearing that message. To replace it with a different message like "link on", do the following: Insert Command 038 (suppress audio) as the first command in the macro: Command 058 168 00 038 If you executed the macro at this point, it would be silent. Insert the new CW message even before that: Command 058 168 00 030 21 18 23 20 40 24 23 Now the macro will do the following: Send the CW message "link on" (command number 030) Suppress the audio (set the audio routing variable to no ports, command number 038) Connect ports 1 and 2 (throws the CW response away) Connect ports 1 and 3 (throws the CW response away) The same process can be used to suppress or change the CW response from any macro. Any commands that are executed after Command 038 in a macro will be silent. Appendix B: Not Currently Used Appendix C: CW Code Table CW Code Table CW XX . CW XX . CW XX . CW XX . CW XX 0 00 . A 10 . K 20 . U 30 . SPACE 40 1 01 . B 11 . L 21 . V 31 . PAUSE 41 2 02 . C 12 . M 22 . W 32 . 3 03 . D 13 . N 23 . X 33 . 4 04 . E 14 . O 24 . Y 34 . 5 05 . F 15 . P 25 . Z 35 . 6 06 . G 16 . Q 26 . / 36 . 7 07 . H 17 . R 27 . 0 37 . 8 08 . I 18 . S 28 . ? 38 . 9 09 . J 19 . T 29 . AR 39 . Appendix D: 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 is pressed and released Command 035 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 and hang up the autopatch. 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") changes 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 E: Controlling a Rotor The RLC-4 may eventually have specialized commands for controlling a rotor using the I/O lines on the I/O board, but you can do it now with a little work. Connect the rotor controls to two of the output lines. We will assume that you have one output for on/off and another to select the direction. Write a macro to turn the motor off. We will call this the "motor off macro" Write another macro that makes the rotor turn clockwise, the "clockwise macro". It should set the direction and turn the motor on. Write a macro that make the rotor turn counter-clockwise, the "counter-clockwise macro". It should set the direction and turn the motor on. Next, connect the output from the rotor that indicates the direction it is pointing to one of the analog input lines. If the voltage from that output ever goes above 5 volts (most go to the power supply voltage, about 13 volts), you should turn on the voltage divider dip switch on for that analog line. You should also make sure that the dip switch used to power a temperature sensor on that analog line is turned off. Use Command 053 (or your favorite macro programming command) to program one of the user macros to execute Command 100 and make it read the analog line you hooked up in the previous step. Turn the rotor and make sure that the number it tells you changes. If it doesn't, check and make sure that the voltage going into the input line changes and that you have the dip switches set correctly. Don't worry about what number it tells you, just that it changes with the direction. This whole step is optional. If you do not want to know what direction the rotor is pointing, just have presets, skip this whole step. Most rotors indicate 180 degrees at south, increase as you go clockwise to 360 degrees at north, then jump to 30 degrees or some small reading and work their way back up to 180 degrees at south again. The direction voltage that is output from the rotor usually starts at 0 volts when the rotor is pointed south and increases to half scale at north and full scale when it gets all the way around to south on the other side. This makes it very difficult for the controller to calculate the degree reading, since it has a big break in the middle. Instead, we will make the controller read back the number of degrees clockwise from south. This is accomplished by setting the conversion ratio for the analog input with Command 102. The following calculation assumes that you get 0 volts with the rotor all of the way counter-clockwise and 13 volts with the rotor all of the way clockwise. 13 = 360, X = 25 * 360 / 13, X = 692 25 X This calculation shows that to get 360 degrees at 13 volts, we need to set the analog input to expect 692 degrees at 25 volts (the maximum input with the voltage divider input on). Assuming you are using analog input 1, the command would be: Command 102 1 0 0000 0 0692 Now try reading the direction with the macro you wrote in the previous step. It should read 0 degrees with the rotor all of the way CCW, 180 degrees at north, and 360 degrees with the rotor all of the way CW. If it is off slightly, adjust the 692 used in Command 102 to make it line up. Increase it if the readings are too large and decrease it if the readings are too small. Do not change the analog conversion ratio after you finish this step or you will mess up any presets you have made. Now we will set an analog low alarm at the most CCW position. Turn the rotor all of the way CCW. Read the direction. It should be 0 degrees (or close to it). To set the analog alarm (again assuming analog input 1): Command 104 1 0 0 0000 D or unkey When that low alarm occurs, we want it to turn the rotor motor off. Double check to make sure you remember the command number of the macro you wrote in the first steps to turn the motor off. We will use command number 172 for this example, you can use the number of your macro. When the alarm occurs, it will call an analog low alarm macro. You can find the appropriate macro number in Chapter 8 in the automatic macro section. We will assume you are using macro number 183. We want this macro to turn the rotor off, so we will make it call the rotor off macro: Command 053 183 172 You can test the alarm we set in the above step by executing the motor CCW macro we made and making sure that it turns itself off when it gets to the CCW limit. The RLC-4 checks the alarm every second by default, but you can speed it up if you want to. Simply change the "I/O Polling Timer" with command C020. A reset value of 10 (100 milliseconds = 1/10 of a second) is probably more than fast enough. We will also want to turn the rotor off when a analog high alarm occurs, so we will program the analog high alarm macro (number 276) to do the same thing as the analog low alarm macro: 053 276 172 Now we are ready to make a preset. We will use a macro to set the analog high alarm for the proper position and turn the rotor on in the clockwise direction. When it gets to the alarm point, it will turn itself off. Turn the rotor to a direction you would like to make a preset for. Read the direction with the macro we wrote earlier and write down the reading. Now program a macro to contain two commands: first set the analog high alarm to the direction reading you just wrote down, then call the motor CW macro. In the following example, the macro number will be signified by MMM, the analog line will be assumed to be I/O line 1, the direction reading you wrote down is DDDD and the CW macro number will be CCC. 055 MMM D or unkey (erase the old contents) 056 MMM 104 1 1 0 xxxx D or unkey (make the macro set the high alarm point) 056 MMM CCC D or unkey (make the macro start the rotor clockwise) Turn the rotor all of the way CCW with the CCW macro. From now on you can use this macro as a "reset rotor" command. You will need to execute it and wait for it to finish turning all of the way CCW before you tell the rotor to go to each new preset. You may want to change the name of this macro with Command 110. Now try the preset we set two steps ago by executing macro MMM. It should start the rotor turning clockwise. The high alarm should stop it when it gets to the proper position. Reset the rotor and try the preset again. If everything works, rename the preset macro (MMM) to some descriptive name with Command 010 and make more presets. 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 can not 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. When you have entered a command you can either enter an '!' or press to make it execute. Store a bunch of commands in a file on your computer that you can upload without typing them again. See the section on using a serial upload file later in this appendix. Example: I want to execute Command 009 to see which ports are connected together: Over the air: 009 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 009 Example: I want to execute Command 000 to connect ports 1 and 3 together: Over the air: 000 13 From the serial port: 000 13 Now try 009 (the first example) again. The crosspoint will show that ports 1 and 3 have been connected. CW responses to commands entered serially: By now you may have noticed that most commands provide both a CW and a serial response. You can control whether or not you get responses to the commands you enter serially with command 050. 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 (plain text) format. Load your communications program and make sure you are talking to the RLC-4 by hitting return and checking for the "DTMF>" prompt. Now do an ASCII (plain text) upload of the file that you saved all of your commands in (the controller won't know that you are doing an automatic upload, it will just think you are typing fast). 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 D) and re-upload your file. Also, when you get a new version of software (which will almost always require you re-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. There is no way to download all of the information in the controller to a file, so it is best to create the file as you go. An example will illustrate the idea: Using your favorite editor, enter the following (including the comments): ; this line is a comment - put a description of the file here 045 05 0 ;Turn off the CW responses to serial commands 000 1 2 ;Connect ports one and two 007 1 1 ;Turn DTMF muting on for port 1 ; put other commands here 045 05 1 ;Turn on CW responses to serial commands to port 1 030 24 20 ;Send the CW 'OK' Save the file as RLC4.CMD or some other name of your choice. 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. Start an ASCII upload of your file. Wait until it finishes. Close the log file if you opened one. Try out your new settings. 009 will check the crosspoint and 007 will check the DTMF muting. Go back to your editor, make the required changes, and repeat the cycle. Note about spaces in serial commands: The controller totally ignores spaces in commands you enter from the serial port. Spaces are shown in the manual to make it easier to see the separate groups of characters; you may want to do this in your upload files as well. Spaces are never required, but you can put them wherever you want in your serial commands to make them easier to read. Note about comments in serial upload files: You can put as many comments in your upload files as you want. Anything following a ';' will be considered a comment and will be totally ignored by the controller. If you want a whole line to be a comment, just start it with a semicolon like this: ; this line is a comment. If you want to put a comment after a command (on the same line), do it like this: N000 11 ; this is a comment - this command makes port 1 a repeater. It is highly recommended that you comment your upload files throughly. You will thank yourself when you go back months later and try to figure out what you were trying to do. Note about capital letters: By default the RLC-4 converts everything you type to a capital letter. 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 032. At those times you can turn off the conversion to all capital letters with Command 060. Note about download speeds: If you download a file with more than a dozen commands or so in it, you may find that the responses from the RLC-4 get way behind, or that it starts missing commands. This is caused by the RLC-4 trying to send back all of the descriptive responses to the commands and not being able to send the responses as fast as it gets new commands. Slowing the baud rate down will not help significantly, as that will slow down the responses just as much as the commands you are sending. There are several ways to help the controller keep up: Tell the communications program to wait until it sees a new "DTMF>" prompt before sending the next line. To do this with the Windows 3.1 terminal program , go to the "Settings" menu, select "Text Transfers", then select flow control of "Line at a Time" and set a "Wait for Prompt String" of "DTMF>". Other comm programs will only let you set a single pacing character. You can try '>' (the last character in the "DTMF>" prompt). Waiting for a new prompt, or at least the last character of it, is the best method because it makes the comm program wait exactly as long as needed for the controller to finish the previous command. Change the ASCII transfer settings on your communications software to insert a 1.5 second delay after each line (longer for slow baud rates, shorter for fast baud rates). This will give the RLC-4 time to send the responses back without overflowing the queue. You may have to experiment to get enough delay to avoid overflowing without having to wait all day for the upload to finish. If you can't figure out how to do either of the above methods, you can try putting tilde characters at the end of each line in you upload file, like this: N000 11 ; comment ~~~ The tilde tells most comm programs to pause for a bit, usually « to 1 second. Serial responses to commands entered from a radio: Normally the commands that are entered from a radio do not cause anything to be sent out of the serial port; that is they are "suppressed". This lets you program the controller from the serial port while people are entering DTMF commands without them causing confusing messages to show up on the serial screen. If you want to see the commands that are being entered from the radios, you can turn "suppressed" serial off with command 060. Very Long Serial Commands: This section only applies to very long serial commands. If a line fits on the screen (80 characters wide), it isn't long enough to worry about. But there may be times when you make a very long command, maybe programming a message: ; make macro 500 speak one two three four five six seven eight 053 500 036 001 002 003 004 005 006 007 008 ; comment There is an internal line length limit; you will get an error message if you exceed it. If you do exceed it, check the following things: make sure there is a ';' right after the command, even if the comment is way off to the right. It is ok if the comment exceeds the line length limit - that won't cause an error, it just won't let you backspace once you have exceeded the limit. If you have checked to make sure the ';' comes right after the end of the command and you still get a message that the command is too long and overflows the buffer, remove some of the spaces in that command. If even that isn't enough to get it under the length limit, you will probably have to break it up into separate commands, possibly sending the first half and last half of the message separately. Appendix G: ASCII Chart This chart may be helpful when programming serial messages with Command 034. 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 Appendix H: 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'. There is a pack of 8 switches, 4 for power and 4 for the voltage dividers. The chart shows which switches must be off for the temperature sensor to work. 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) LM335Z Temperature Probe Connections Diagram - If you have your temperature sensor hooked up backwards (+OUT switched with the -GND) you will read ~0.6 volts across the sensor. - Verify the appropriate resistor divider switch is OFF, and sensor power switch is ON. These switches provide the power and control for the LM335Z. - Voltage meter reading at the sensor measure: Temperature Celcius = (voltage*100)-273 Appendix I: Software Problem and Request Form Link Communications Inc. Numbers: 406 - 482 - 7547 (Fax) 406 - 482 - 7515 (Voice) email: feedback@link-comm.com Name _______________________________________________________________________________ Serial #_____________________________________________________________________________________ Phone #________________________ Fax #_______________________________ Request:__________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ Attention Allan or Steve Number of Pages: ______________ Software Problem and Request Form Link Communications Inc. Numbers: 406 - 482 - 7547 (Fax) 406 - 482 - 7515 (Voice) email: feedback@link-comm.com Name _______________________________________________________________________________ Serial #_____________________________________________________________________________________ Phone #________________________ Fax #_______________________________ Request:__________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ Attention Allan or Steve Number of Pages: ______________ Appendix J: Hardware Reference Section Important Connections: Main Board ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ ÚÄÄÄÄÄ¿ ÚÄÄÄ¿ ³ ³ ÀÄÄÄÄÄÙ ÀÄÄÄÙ ³ ³ DISPLAY BKG ³ ³ ³ ³ ÚÄÄ¿ VOICE ³ ³ ³ ³ LEVEL ³ ³ ÀÄÄÙ ADJUSTMENT ³ ³ ³ ³ ³ ³ INITIALIZE ³ ³ ÚÄÄ¿ ÚÄÄ¿ ³ ³ ³ ³ ³ ³ ³ ³ ÀÄÄÙ ÀÄÄÙ ³ ³ RESET ³ ³ ³ ³ ³ ³ AUDIO LEVEL TEST BUS ³ ³ P4 ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ Ú¿ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³³ ³ ³ ³³ ³ ³ ³³ ³ ³ ³³ ³ ³ RS-232 I/O +12V³³ ³ ³ ÚÄÄÄÄÄÄÄÄÄÄ¿ ÚÄÄÄ¿ ÀÙ ³ ³ ³ ³ ³ ³ POWER ³ ³ ³ ³ ³ ³ BOARD ³ ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÁÄÁÄÄÄÁÄÄÄÄÄÄÄÙ Display: port for connecting a front panel display, when and if one ever exists. This port does nothing right now. BKG: BacKGround mode debugging port. Used for debugging the software. Voice Level Adjustment: allows you to vary the level of the voice synthesis generator. Adjust this level to 2 Khz. deviation. Initialize and Reset Switches: allow the manual resetting and initialization of the controller. See Appendix D for instructions about how to perform the initialization. Audio Level Test Bus: allows you to look at the different audio sources used on the controller. Used when adjusting receiver audio levels. RS-232 I/O: Used for connecting a computer or serial terminal for programming the controller. +12V and Power Board: The power board connector provides +12V from the power jack to the power regulator board, and the regulated and filtered supply voltages from the power regulator board to the motherboard. The power board connector is polarized so it can't be connected backwards. Radio Board TRANSMIT RECEIVE | TONE LEVEL ÚÄÄÂÄÄÄÄÂÄÂÄÄÄÄÂÄÂÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÂÂÂÂÂÂÂÂÂÂÂÂÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ RX ³ ³ TX ³ ³ TN ³ ³³ÀÙÀÙÀÙÀÙÀÙ³³ ON ³ ³ ÀÄÄÄÄÙ ÀÄÄÄÄÙ ÀÄÄÄÄÙ ÃÁÄÄÄÄÄÄÄÄÄÄÁ´  ³ ³ 4 3 2 1 ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ | ³ ÃÄÄ¿ S ÚÄÄÄÂÄÄÄ¿ J5 1 2 3 4 5 OFF ³ ³ ³ E J3³O OÃOÄO´ ÚÄ¿ CONFIGURATION ³ ³ ³ R ÀÄÄÄÁÄÄÄÙ ÚÅOÅ¿ 1 ³ ³ ³ I ÚÄÄÄÂÄÄÄ¿ ³³O³³ 2 ³ ³ ³ A J1³O OÃOÄO´ ³³O³³ 3 ³ ³ ³ L ÀÄÄÄÁÄÄÄÙ ÀÅOÅÙ 4 ³ ÃÄÄÙ 4 3 2 1 ÀÄÙ ³ ÃÄÄ¿ ³ ³ ³ R ³ ³ ³ A ³ ³ ³ D ³ ³ ³ I ³ ³ ³ O ³ ÃÄÄÙ ³ ³ ³ ³ ³ ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ PORT 1,2,3,4,5,6,7,8 ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ J3 - RECEIVE AUDIO PATH J4 - TRANSMITTER AUDIO PATH - WHEN THE JUMPER IS ON PINS 2,1 AUDIO PATH IS NOT BROKEN - WHEN JUMPER IS REMOVED, AUDIO PATH IS BROKEN - PIN 3 IS GROUND REFERENCE - PIN 4 IS +10 VOLTS J5 - RS-232/TTL SELECTION - WHEN THE JUMPERS REMOVED, RS-232 IS PRESENT -- REQUIRES A DALLAS DS 1275 TRANSLATOR CHIP - WHEN THE JUMPERS ARE PRESENT, TTL SIGNALS FROM THE 68HC11 ARE PRESENT -- THIS MODE IS USED FOR DOUG HALL AND RLC-ICM CONTROL *** DO NOT JUMP PINS 1,2 AND 3,4 WHEN A DS 1275 IS IN CIRCUIT, YOU WILL DAMAGE THE DS 1275, AND POSSIBLY THE MICROPROCESSOR *** S1 CONFIGURATION SWITCH 1 - AUDIO DE-EMPHASIS CIRCUIT ON/OFF (DEFAULT OFF, OUT OF CIRCUIT) 2 - COR POLARITY SWITCH , 3 - PL POLARITY SWITCH (BOTH DEFAULT ACTIVE LOW) ON = UP = ACTIVE LOW ( SIDE PUSHED DOWN) OFF = DOWN = ACTIVE HIGH TIME 4 - AUX. #1 SWITCH, CURRENTLY NOT DEFINED 5 - AUX #2 SWITCH, CURRENTLY NOT DEFINED I/O Board ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ ³ ³ 1 2 3 4 5 6 7 8 ON³ ÃÄÄ¿ Ú¿  ³ ³ ³ A S2 ³ÀÙÀÙÀÙÀÙÀÙÀÙÀÙÀÙ³ | ³ ³ ³ N ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ OFF³ ³ ³ A ANALOG VOLTAGE ³ ³ ³ L DIVIDER SWITCH ³ ³ ³ O 1 2 3 4 5 6 7 8 ON ³ ³ ³ G Ú¿  ³ ³ ³ S1 ³ÀÙÀÙÀÙÀÙÀÙÀÙÀÙÀÙ³ | ³ ³ ³ & ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ OFF ³ ³ ³ ANALOG TEMPERATURE ³ ³ ³ I POWER SWITCH ³ ³ ³ / ³ ³ ³ O ³ ÃÄÄÙ ³ ³ ³ ³ ³ ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ ³ USER PORT #1 AND #2 ³ ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ S1 - Analog Temperature Power Switch - This switch allows you to externally power the LM335 Temperature Sensor -- When the switch is on, +10v is feed to the external sensor S2 - Analog Voltage Divider Switch - This switch allows you to directly read 0.00v - 25.0 volts -- When the switch is on, the voltage divider in circuit Power Board LED Definitions ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ O VOLTAGE IN ³ ³ ³ ³ ³ ³ ÚÄÄÄÄÄÄÄÄÄÄÄ¿ ³ ³ O FUSED VOLTAGE INPUT ³ ³ ³ ³ ³ CR2025 ³ ³ ³ ³ ³ ³ ³ ³ 3V ³ ³ ³ O 10 VOLTS REGULATED ³ ³ P ÚÄ¿ ³ ³ ³ BATTERY ³ O ³ ³ ³ ³ ³ ³ W ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÙ E ³ ³ ³ ³ O 5 VOLTS REGULATED R ³ ³ ³ ³ ³ ³ ³ ³ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ I ³ ³ ³ ³ ³ 1.5 AMP FUSE³ N ³ ³ ³ ³ O 2.5 VOLTS REGULATED ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÙ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Power Board LED Indicators - Voltage In LED indicates that voltage is reaching the Power Board - Fused Voltage Input indicates voltage has passed through the fuse - 10, 5, 2.5 volts regulated are the power Boards output - There is no indication for the 3v lithium battery *** If the Voltage In LED is lit, but no other LED are lit, the fuse is bad *** Bill of Materials Component Layouts and Schematic Diagrams