RLC-DSP404 Repeater, Link and Remote Base Controller Software Version 4.10 Copyright 2009, All Rights Reserved Link Communications, Inc. 1035 Cerise Rd Billings, MT 59101-7378 (406) 245-5002 Voice (406) 245-4889 Fax http://www.link-comm.com Introduction: The RLC-DSP404 is a powerful tool for controlling radio systems. It features include:  Four radio ports (with planned expansion options to provide a total of 8 or 12 radio ports), each of which can be interfaced to a repeater, link or remote base radio.  Commands can be entered from any receiver, the reverse autopatch, or a computer.  Separate DTMF decoders for each receiver input and the autopatch.  Voice synthesizer with 680+ word library speaks ID and alarm messages and provides feedback while configuring the controller.  Nearly all command codes, timer values, and messages are programmable.  Each message can contain combinations of Morse code characters, synthesized speech words, sound effects, DVR tracks, etc.  Hundreds of macros allow for the creation or custom commands.  Real time clock/calendar chip allows the controller to speak the time or date and to execute macros at scheduled times.  Autopatch with 501 programmable autodial numbers, cover tone, semi-private mode and a variety of voice response options (kerchunk to dial, etc).  Reverse autopatch with over-the-air ringing, directed callout, or full control of the system.  Support for frequency control of a variety of HF and VHF/UHF radios for remote bases.  Built-in DVR can store messages in memory (temporarily) or permanently on a (user supplied) USB flash drive or SD flash (check compatibility list for supported cards).  Extensive security system prevents unauthorized changes.  8 (16 with expansion board) analog voltage inputs  8 (16 with expansion board) logic inputs  8 (16 with expansion board) open collector output drivers.  I/O alarms can send alarm messages or trigger other actions when conditions change.  Beaconing system can repeat alarm messages over the air or call phone numbers until an alarm is acknowledged. Chapter 1 of this manual contains the information you will need to interface it with your radios. The RLC-DSP404 default settings will allow you to get on the air quickly; setting your ID message may be all you need to do. Almost every feature can be customized if you wish; Chapters 2 though 20 are organized by feature so you can quickly find the information you need. There are several appendices with information you will probably refer to often. Near the beginning of this manual you will find a "Table Of Contents" organized by topic and a "Command List By Number" that lists all of the setup commands in numeric order, along with the pages on which more information can be found. Nearly every feature of the controller can be configured using a radio with a DTMF pad (a 16-key pad, with 'A', 'B', 'C' and 'D', is helpful for some commands) or with a computer or serial terminal. Using a computer can save you a lot of time in the long run, as you can save a file with all of the commands used to set up the DSP4 and make future changes by modifying that file, then uploading the settings to the controller again. For more information about using a computer with the DSP4, see Appendix F. If you have questions the manual doesn't answer, there are a variety of ways to get help: Through the Internet:  FAQs (Frequently Asked Questions): FAQs and their answers can be found at http://www.link-comm.com/faqs.html.  User's Groups. You can ask questions and exchange information with other users (and us) by email by joining one of these groups.  Email Us: You can get support for any of our products by emailing support@link-comm.com.  Support Web Page: Links to the above support options and more can be found at http://www.link-comm.com/support.html. By Phone: (406) 245-5002 (406) 245-4889 fax By Mail Link Communications, Inc. 1035 Cerise Rd Billings, MT 59101-7378 Table of Contents Command List by Number . . . . . . . . . . . . . . . . . . . . . . . 13 Limited Warranty . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Return Policy. . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 User Survey (Optional) . . . . . . . . . . . . . . . . . . . . . . . 19 Chapter 1: Getting Started . . . . . . . . . . . . . . . . . . . . .1-1 RLC-DSP404 Radio Port . . . . . . . . . . . . . . . . . . . . . .1-2 RLC-DSP404 I/O Port Pinout. . . . . . . . . . . . . . . . . . . .1-4 RLC-DSP404 Power Input. . . . . . . . . . . . . . . . . . . . . .1-6 Connecting a computer to the DSP404 . . . . . . . . . . . . . . .1-7 Windows(TM) Remote Control Interface (RCI). . . . . . . . . . . 1-11 Port Setup from RCI . . . . . . . . . . . . . . . . . . . . . . 1-12 System Features . . . . . . . . . . . . . . . . . . . . . . . . 1-19 Input and Output Line Control . . . . . . . . . . . . . . . . . 1-25 Other Misc. Menus and Operations. . . . . . . . . . . . . . . . 1-26 Chapter 2: Port Connection Commands . . . . . . . . . . . . . . . .2-1 Connected Ports . . . . . . . . . . . . . . . . . . . . . . . . .2-1 Turning a Repeater Off. . . . . . . . . . . . . . . . . . . . . .2-2 017: Manage Port Membership In Groups . . . . . . . . . . . . . .2-4 210: Recall if Group Contains Port. . . . . . . . . . . . . . . .2-4 239: Manage Group Sets . . . . . . . . . . . . . . . . . . . . .2-5 003: Recall Which Transmitters A Receiver Is Connected To . . . 2-10 004: Recall Which Receivers Are Connected to a Transmitter. . . 2-11 009: Recall Controller's Entire Audio Crosspoint. . . . . . . . 2-12 005: Set Receiver and DTMF Decoder Conditions . . . . . . . . . 2-14 203: Set Vox Response. . . . . . . . . . . . . . . . . . . . . 2-17 006: Set or Recall Receiver Priorities (monitor mute) . . . . . 2-17 013: Set COR and PL Active Levels . . . . . . . . . . . . . . . 2-19 155: Enable or Disable PTT for a Port. . . . . . . . . . . . . 2-20 156: Recall Which PTT are Enabled. . . . . . . . . . . . . . . 2-20 Chapter 3: Audio and DTMF Configurations . . . . . . . . . . . . . .3-1 205: Load Personality. . . . . . . . . . . . . . . . . . . . . .3-4 206: Save Personality. . . . . . . . . . . . . . . . . . . . . .3-4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-5 007: Configure DTMF Mute/Cover Tone/Bypass . . . . . . . . . . .3-5 Chapter 4: Timers. . . . . . . . . . . . . . . . . . . . . . . . . .4-1 020: Set or Recall a Timer's Duration . . . . . . . . . . . . . .4-2 List of Timers. . . . . . . . . . . . . . . . . . . . . . . . . .4-3 021: Restart a Timer (if already running) . . . . . . . . . . . 4-20 022: Start/Restart a Timer. . . . . . . . . . . . . . . . . . . 4-21 023: Stop a Timer . . . . . . . . . . . . . . . . . . . . . . . 4-22 025: Sets the Time of Day Clock . . . . . . . . . . . . . . . . 4-22 026: Recall the Time of Day Clock in Male Speech. . . . . . . . 4-23 027: Recall the Time of Day Clock in Female Speech. . . . . . . 4-23 028: Sets the Date. . . . . . . . . . . . . . . . . . . . . . . 4-24 029: Recall the Date. . . . . . . . . . . . . . . . . . . . . . 4-25 Chapter 5: Command Names. . . . . . . . . . . . . . . . . . . . . .5-1 How Command Names and Command Numbers are Used: . . . . . . . . .5-1 010: Re-Program Command Names . . . . . . . . . . . . . . . . . .5-5 062: Change the Beginning of Command Names . . . . . . . . . . .5-7 011: Recall Command Name. . . . . . . . . . . . . . . . . . . . .5-8 012: Find Commands Named ... . . . . . . . . . . . . . . . . . .5-8 Blocking Execution from Certain Ports . . . . . . . . . . . . . .5-9 130: Block Command Execution From Port . . . . . . . . . . . . 5-10 131: Allow Command Execution From Port . . . . . . . . . . . . 5-10 Chapter 6: CW, DTMF, Voice and DVR Messages . . . . . . . . . . . .6-1 030: Send a CW Message. . . . . . . . . . . . . . . . . . . . . .6-2 118: Send a Morse Code Message. . . . . . . . . . . . . . . . . .6-2 031: Send a DTMF Sequence . . . . . . . . . . . . . . . . . . . .6-3 069: Send a DTMF To Specified Transmitter . . . . . . . . . . . .6-3 066: Send a Voice Message Using English Words . . . . . . . . . .6-5 036: Send a Voice Message . . . . . . . . . . . . . . . . . . . .6-5 063: Send a Polite Voice Message . . . . . . . . . . . . . . . .6-6 064: Send a Polite Voice Msg, If Interrupted Execute Cmd . . . .6-7 040: Send One or Two Tone Sequence . . . . . . . . . . . . . . .6-8 Note about Courtesy Beeps . . . . . . . . . . . . . . . . . . . .6-9 041: Set/Recall Courtesy Beep Settings. . . . . . . . . . . . . 6-12 042: Set CW Speed for a Selected Port. . . . . . . . . . . . . 6-13 043: Set CW 2-Tone Frequencies for a Selected Port . . . . . . 6-14 044: Set Up DTMF Regenerate Parameters . . . . . . . . . . . . 6-14 051: Start Dial-Tone . . . . . . . . . . . . . . . . . . . . . 6-15 163: Keypad Test . . . . . . . . . . . . . . . . . . . . . . . 6-15 Digital Voice Recorder Functions. . . . . . . . . . . . . . . . 6-16 What the DVR is: . . . . . . . . . . . . . . . . . . . . . 6-16 170: Record and Play Audio Test. . . . . . . . . . . . . . . . 6-20 171: Record DVR Track (non-prompted) . . . . . . . . . . . . . 6-20 172: Record DVR Track (prompted) . . . . . . . . . . . . . . . 6-21 173: Play DVR Tracks . . . . . . . . . . . . . . . . . . . . . 6-21 174: Erase DVR Tracks. . . . . . . . . . . . . . . . . . . . . 6-22 175: Record Public Mail. . . . . . . . . . . . . . . . . . . . 6-22 176: Check Public Mailboxes. . . . . . . . . . . . . . . . . . 6-23 177: Retrieve Public Mail. . . . . . . . . . . . . . . . . . . 6-23 178: Erase Public Mail . . . . . . . . . . . . . . . . . . . . 6-23 179: Record Private Mail . . . . . . . . . . . . . . . . . . . 6-24 180: Retrieve Private Mail . . . . . . . . . . . . . . . . . . 6-24 181: Erase Private Mail. . . . . . . . . . . . . . . . . . . . 6-24 Chapter 7: Serial Port Commands . . . . . . . . . . . . . . . . . .7-1 024: Set Up RS-232 Serial Baud Rate . . . . . . . . . . . . . . .7-3 060: Set Up Serial Port Options. . . . . . . . . . . . . . . . .7-4 032: Send Serial Message. . . . . . . . . . . . . . . . . . . . .7-5 162: Always Send Serial Message out the Main Serial Port . . . .7-5 169: Always Send Serial out Main Serial Port by ASCII Code . . .7-6 138: Direct SPI Send using Open Collector Output Lines . . . . .7-7 Chapter 8: Macros. . . . . . . . . . . . . . . . . . . . . . . . . .8-1 How Macros Get Executed:. . . . . . . . . . . . . . . . . . . . .8-1 What a macro is:. . . . . . . . . . . . . . . . . . . . . . . . .8-1 Advanced Macro Topics:. . . . . . . . . . . . . . . . . . . . . .8-2 300..599: Execute an Automatic Macro. . . . . . . . . . . . . . .8-4 600..999: Execute a User Macro. . . . . . . . . . . . . . . . . .8-4 055: Erase Macro . . . . . . . . . . . . . . . . . . . . . . . .8-5 056: Add Command to a Macro . . . . . . . . . . . . . . . . . . .8-5 053: Erase Then Add Command To Macro. . . . . . . . . . . . . . .8-6 054: Recall Macro Contents . . . . . . . . . . . . . . . . . . .8-7 057: Copy a Macro. . . . . . . . . . . . . . . . . . . . . . . .8-8 058: Erase a Command in a Macro. . . . . . . . . . . . . . . . .8-8 059: Insert a Command in a Macro . . . . . . . . . . . . . . . .8-9 067: Set Macro Data Length. . . . . . . . . . . . . . . . . . . 8-10 Automatic Macros. . . . . . . . . . . . . . . . . . . . . . . . 8-11 Chapter 9: Pre-Access Commands . . . . . . . . . . . . . . . . . . .9-1 What preaccess is:. . . . . . . . . . . . . . . . . . . . . . . .9-1 What you need to know:. . . . . . . . . . . . . . . . . . . . . .9-1 049: Set Link Access Tone Frequencies . . . . . . . . . . . . . .9-2 070: Configure a Repeater for Preaccess. . . . . . . . . . . . .9-3 071: Configure a Link for Preaccess. . . . . . . . . . . . . . .9-3 072: Disable Preaccess Requirement for a Port. . . . . . . . . .9-4 073: Recall Ports with Preaccess Requirement . . . . . . . . . .9-4 074: Allow Access To a Port that Requires Preaccess. . . . . . .9-4 075: Set Stop Access Conditions. . . . . . . . . . . . . . . . .9-5 076: Recall Stop Access Conditions . . . . . . . . . . . . . . .9-6 077: Isolate a Port from the Rest of the System. . . . . . . . .9-6 Chapter 10: Scheduler. . . . . . . . . . . . . . . . . . . . . . . 10-1 How the Scheduler Works:. . . . . . . . . . . . . . . . . . . . 10-1 082: Set Up a Scheduler Event. . . . . . . . . . . . . . . . . 10-1 083: Recall a Scheduler Event. . . . . . . . . . . . . . . . . 10-5 084: Enable/Disable a Scheduler Event . . . . . . . . . . . . . 10-6 Chapter 11: The ID System. . . . . . . . . . . . . . . . . . . . . 11-1 How the IDs Work: . . . . . . . . . . . . . . . . . . . . . . . 11-1 Polite Voice IDs: . . . . . . . . . . . . . . . . . . . . . . . 11-1 To Program Your Own IDs:. . . . . . . . . . . . . . . . . . . . 11-2 More about Programming IDs: . . . . . . . . . . . . . . . . . . 11-2 ID Timing:. . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3 085: Enable/Disable IDing a Port . . . . . . . . . . . . . . . 11-5 086: Recall Which Ports have IDs Enabled . . . . . . . . . . . 11-5 087: Set Random or Rotating Pending IDs. . . . . . . . . . . . 11-6 088: Recall Random or Rotating Pending ID Selection. . . . . . 11-6 Chapter 12: I/O System . . . . . . . . . . . . . . . . . . . . . . 12-1 About the I/O System. . . . . . . . . . . . . . . . . . . . . . 12-1 Open Collector Output Lines . . . . . . . . . . . . . . . . . . 12-1 Digital Input Lines . . . . . . . . . . . . . . . . . . . . . . 12-1 Analog Input Lines. . . . . . . . . . . . . . . . . . . . . . . 12-2 090: Read Whether Digital Input Line is High or Low. . . . . . 12-4 091: Execute Digital Input Line High or Low Macro. . . . . . . 12-4 092: Enable/Disable Digital Input Line Alarm . . . . . . . . . 12-5 093: Turn Open Collector Output Line On. . . . . . . . . . . . 12-5 094: Turn Open Collector Output Line Off . . . . . . . . . . . 12-6 095: Recall Whether Open Collector 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-11 103: Calibrate an Analog Input . . . . . . . . . . . . . . . .12-14 104: Set an Analog Alarm . . . . . . . . . . . . . . . . . . .12-15 105: Set Analog Alarm Hysteresis . . . . . . . . . . . . . . .12-16 106: Enable/Disable an Analog Alarm. . . . . . . . . . . . . .12-18 107: Recall Analog Lines in Alarm. . . . . . . . . . . . . . .12-18 108: Recall Analog Line Configuration. . . . . . . . . . . . .12-19 160: Clear Analog High/Lows. . . . . . . . . . . . . . . . . .12-19 161: Set Analog Smoothing Factor . . . . . . . . . . . . . . .12-20 109: Configure Wind Speed Reading . . . . . . . . . . . . . . .12-21 096: Control or Recall Extended Output Lines. . . . . . . . . .12-22 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 Duration: . . . . . . . . . . . . . . . . . . . . 13-3 How the Dialing Tables Work:. . . . . . . . . . . . . . . . . . 13-3 Other Commands that Affect the Autopatch: . . . . . . . . . . . 13-5 110: Configure the Autopatch . . . . . . . . . . . . . . . . . 13-7 111: Manual Off Hook . . . . . . . . . . . . . . . . . . . . . 13-9 112: Normal Forward Dial. . . . . . . . . . . . . . . . . . . . 13-9 113: Forward Dial with no Long Distance Checking . . . . . . .13-10 137: Autodial Only . . . . . . . . . . . . . . . . . . . . . .13-10 129: Repeat Dial (or recall last number dialed). . . . . . . .13-11 114: Hang up the Autopatch . . . . . . . . . . . . . . . . . .13-12 115: Possibly Hang up the Autopatch. . . . . . . . . . . . . .13-12 116: Set / Recall the Predial Digits and Timing. . . . . . . .13-13 119: Set Allowed Numbers Table Slot. . . . . . . . . . . . . .13-14 120: Recall Allowed Numbers Table Slot . . . . . . . . . . . .13-14 121: Set Nuisance Numbers Table Slot . . . . . . . . . . . . .13-15 122: Recall Nuisance Numbers Table Slot. . . . . . . . . . . .13-15 123: Test Dialing Tables . . . . . . . . . . . . . . . . . . .13-16 124: Set Autodial Slot . . . . . . . . . . . . . . . . . . . .13-16 125: Recall Autodial Slot. . . . . . . . . . . . . . . . . . .13-17 126: Send Predial Digits / Callsign for Autodial Slot? . . . .13-17 127: Enable/Disable an Autodial Slot . . . . . . . . . . . . .13-18 128: Set/Recall Patch Audio Options for a TX . . . . . . . . .13-19 133: Set up Reverse Patch. . . . . . . . . . . . . . . . . . .13-21 134: Access Reverse Patch Control Mode . . . . . . . . . . . .13-23 135: Answer Reverse Patch. . . . . . . . . . . . . . . . . . .13-23 132: Start Reverse Patch Call-Out . . . . . . . . . . . . . . .13-24 136: Set up Reverse Autopatch Ring . . . . . . . . . . . . . .13-25 192: Set/Recall Call-Out Options. . . . . . . . . . . . . . . .13-26 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 the RLC-ICM: . . . . . . . . . . . . . . . . 14-1 Building the RBI-1/RLC-ICM Cable . . . . . . . . . . . . . 14-5 139: Set Up the RLC-ICM Interface. . . . . . . . . . . . . . . 14-8 RLC-ICM Internal Operation Test Points. . . . . . . . . . . . .14-11 142: Set Frequency (and Offset) for RBI-1 or RLC-ICM . . . . .14-12 143: Set Offset for RBI-1 or RLC-ICM . . . . . . . . . . . . .14-13 144: Set Offset and Frequency Readback Styles. . . . . . . . .14-14 145: Set Power Level for RBI-1 . . . . . . . . . . . . . . . .14-15 146: Set PL Frequency for RBI-1 or RLC-ICM . . . . . . . . . .14-16 147: Turn PL Encode Off/On for RBI-1 or RLC-ICM. . . . . . . .14-17 148: Turn PL Decode Off/On for RBI-1 or RLC-ICM. . . . . . . .14-17 149: Recall Frequency and Offset for RBI-1 or RLC-ICM. . . . .14-18 150: Recall All RBI-1 or RLC-ICM Settings. . . . . . . . . . .14-18 151: Turn Radio Power On or Off for RBI-1. . . . . . . . . . .14-19 152: Goto Radio Memory Channel for the RBI-1 . . . . . . . . .14-20 141: Control/Recall RBI-1 Output Lines. . . . . . . . . . . . .14-21 Chapter 15: Serial Controlled (HF) Radio Support . . . . . . . . . 15-1 HF Radio Interfacing. . . . . . . . . . . . . . . . . . . . . . 15-1 HF Radio Control: . . . . . . . . . . . . . . . . . . . . . . . 15-2 195: Configure HF Mode . . . . . . . . . . . . . . . . . . . . 15-4 196: Configure HF Radio. . . . . . . . . . . . . . . . . . . . 15-5 197: Set/Recall Transmit/Scan Band Edges . . . . . . . . . . . 15-8 198: HF Mode Enable. . . . . . . . . . . . . . . . . . . . . .15-11 HF Remote Base Keypad Definition:. . . . . . . . . . . . .15-12 199: Enter HF Command (w/o being in HF mode) . . . . . . . . .15-18 Chapter 16: Special Audio Routing Commands . . . . . . . . . . . . 16-1 037: Set Audio Routing Variable for Commands In a Macro . . . . 16-1 038: Execute the Rest Of This Macro Silently. . . . . . . . . . 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 207: Save Settings to Flash or Undo Changes. . . . . . . . . . 17-1 078: Set Command Entry Options for a Port. . . . . . . . . . . 17-2 079: Seed Command Buffer . . . . . . . . . . . . . . . . . . . 17-4 080: Execute Command by Number. . . . . . . . . . . . . . . . . 17-5 164: Recall Software Version . . . . . . . . . . . . . . . . . 17-6 165: Reset COP Watchdog Timer. . . . . . . . . . . . . . . . . 17-6 167: Do Nothing. . . . . . . . . . . . . . . . . . . . . . . . 17-7 Method #1 - No Passwords: . . . . . . . . . . . . . . . . 18-3 Method #2 - Fixed Passwords: . . . . . . . . . . . . . . 18-3 Method #3 - Challenge Passwords: . . . . . . . . . . . . 18-3 Method #4 - Challenge Passwords with Decoy Digits: . . . 18-4 186: Set up User Password. . . . . . . . . . . . . . . . . . . 18-5 187: User Log-on . . . . . . . . . . . . . . . . . . . . . . . 18-6 188: Recall Who Is Logged In . . . . . . . . . . . . . . . . . 18-7 189: User Log-off. . . . . . . . . . . . . . . . . . . . . . . 18-7 190: Assign a User Level to a Command. . . . . . . . . . . . . 18-8 191: Assign a Callsign to a User . . . . . . . . . . . . . . . 18-9 Chapter 19: The Beaconing System . . . . . . . . . . . . . . . . . 19-1 045: Setup Beacon Table . . . . . . . . . . . . . . . . . . . . 19-2 046: Start Beacon . . . . . . . . . . . . . . . . . . . . . . . 19-3 047: Cancel Beacon. . . . . . . . . . . . . . . . . . . . . . . 19-3 048: Start Beacon Using English Words . . . . . . . . . . . . . 19-3 Chapter 20: Event Triggers . . . . . . . . . . . . . . . . . . . . 20-1 157: Set/Recall Event Trigger. . . . . . . . . . . . . . . . . 20-1 158: Default Event Trigger Action . . . . . . . . . . . . . . . 20-2 159: Enable/Disable Event Trigger. . . . . . . . . . . . . . . 20-2 Chapter 21: Remote Base Control. . . . . . . . . . . . . . . . . . 21-1 224: Set Port Destination Info . . . . . . . . . . . . . . . . 21-1 225: Set Destination Info. . . . . . . . . . . . . . . . . . . 21-2 226: Set Destination Radio Channel T Info . . . . . . . . . 21-3 227: Set Destination Radio Freq T Info . . . . . . . . . . . . 21-4 229: Set Destination Info by Persist Format . . . . . . . . . . 21-4 235: Set Destination With Send Page Macro T Info . . . . . . . 21-5 Chapter 22: Commands Used By RCI (Windows Software) . . . . . . . 22-1 201: Set Up Network. . . . . . . . . . . . . . . . . . . . . . 22-1 204: Set Radio Name. . . . . . . . . . . . . . . . . . . . . . 22-2 208: Set Console PTT . . . . . . . . . . . . . . . . . . . . . 22-2 214: Set Remote Logging. . . . . . . . . . . . . . . . . . . . 22-3 215: Update Remote Data. . . . . . . . . . . . . . . . . . . . 22-3 222: Streaming Audio Configuration . . . . . . . . . . . . . . 22-3 223: Request Remote CRC. . . . . . . . . . . . . . . . . . . . 22-4 237: Set Radio Description . . . . . . . . . . . . . . . . . . 22-4 238: Set Password Settings . . . . . . . . . . . . . . . . . . 22-4 219: Set Group Name. . . . . . . . . . . . . . . . . . . . . . 22-4 Appendix A: The Audio Routing Variable System . . . . . . . . . . .A-1 Explanation of the System . . . . . . . . . . . . . . . . . . . .A-1 Suppressing Command Responses in Macros:. . . . . . . . . . . . .A-1 Appendix B: Voice Word Table. . . . . . . . . . . . . . . . . . . .B-1 Appendix C: CW Code Table . . . . . . . . . . . . . . . . . . . . .C-1 Appendix D: Reset and Initialization. . . . . . . . . . . . . . . .D-1 Appendix E: Hardware Documentation. . . . . . . . . . . . . . . . .E-1 Appendix F: Setting Up the Controller with a Computer . . . . . . .F-1 Voice responses to commands entered serially: . . . . . . . . . .F-2 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 upload speeds: . . . . . . . . . . . . . . . . . . . .F-3 Serial responses to commands entered from a radio:. . . . . . . .F-4 Very Long Serial Commands:. . . . . . . . . . . . . . . . . . . .F-5 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 K: Internet Linking (VoIP) . . . . . . . . . . . . . . . .J-1 Appendix L: Use '0*' For the Current Port . . . . . . . . . . . . .K-1 Command List by Number 003: Recall Which Transmitters A Receiver Is Connected To. . . . . 2-10 004: Recall Which Receivers Are Connected to a Transmitter . . . . 2-11 005: Set Receiver and DTMF Decoder Conditions. . . . . . . . . . . 2-14 006: Set or Recall Receiver Priorities (monitor mute). . . . . . . 2-17 007: Configure DTMF Mute/Cover Tone/Bypass. . . . . . . . . . . . .3-5 009: Recall Controller's Entire Audio Crosspoint . . . . . . . . . 2-12 010: Re-Program Command Names. . . . . . . . . . . . . . . . . . . .5-5 011: Recall Command Name . . . . . . . . . . . . . . . . . . . . . .5-8 012: Find Commands Named .... . . . . . . . . . . . . . . . . . . .5-8 013: Set COR and PL Active Levels. . . . . . . . . . . . . . . . . 2-19 017: Manage Port Membership In Groups. . . . . . . . . . . . . . . .2-4 020: Set or Recall a Timer's Duration. . . . . . . . . . . . . . . .4-2 021: Restart a Timer (if already running). . . . . . . . . . . . . 4-20 022: Start a Timer . . . . . . . . . . . . . . . . . . . . . . . . 4-21 023: Stop a Timer. . . . . . . . . . . . . . . . . . . . . . . . . 4-22 024: Set Up RS-232 Serial Baud Rate. . . . . . . . . . . . . . . . .7-3 025: Sets the Time of Day Clock. . . . . . . . . . . . . . . . . . 4-22 026: Recall the Time of Day Clock in Male Speech . . . . . . . . . 4-23 027: Recall the Time of Day Clock in Female Speech . . . . . . . . 4-23 028: Sets the Date . . . . . . . . . . . . . . . . . . . . . . . . 4-24 029: Recall the Date . . . . . . . . . . . . . . . . . . . . . . . 4-25 030: Send a CW Message . . . . . . . . . . . . . . . . . . . . . . .6-2 031: Send a DTMF Sequence. . . . . . . . . . . . . . . . . . . . . .6-3 032: Send Serial Message . . . . . . . . . . . . . . . . . . . . . .7-5 035: Remotely Reset the Controller . . . . . . . . . . . . . . . . 17-1 036: Send a Voice Message. . . . . . . . . . . . . . . . . . . . . .6-5 037: Set Audio Routing Variable for Commands In a Macro. . . . . . 16-1 038: Execute the Rest Of This Macro Silently . . . . . . . . . . . 16-2 039: Recall the Ports in the Current Audio Routing Variable . . . 16-4 040: Send One or Two Tone Sequence. . . . . . . . . . . . . . . . .6-8 041: Set/Recall Courtesy Beep Settings . . . . . . . . . . . . . . 6-12 042: Set CW Speed for a Selected Port . . . . . . . . . . . . . . 6-13 043: Set CW 2-Tone Frequencies for a Selected Port. . . . . . . . 6-14 044: Set Up DTMF Regenerate Parameters. . . . . . . . . . . . . . 6-14 045: Setup Beacon Table. . . . . . . . . . . . . . . . . . . . . . 19-2 046: Start Beacon. . . . . . . . . . . . . . . . . . . . . . . . . 19-3 047: Cancel Beacon . . . . . . . . . . . . . . . . . . . . . . . . 19-3 048: Start Beacon Using English Words. . . . . . . . . . . . . . . 19-3 049: Configure a Port's Tone Response when in Preaccess . . . . . .9-2 050: Set Up or Recall Default Audio Routing Variables . . . . . . 16-5 051: Start Dial-Tone. . . . . . . . . . . . . . . . . . . . . . . 6-15 053: Erase Then Add Command To Macro . . . . . . . . . . . . . . . .8-6 054: Recall Macro Contents. . . . . . . . . . . . . . . . . . . . .8-7 055: Erase Macro. . . . . . . . . . . . . . . . . . . . . . . . . .8-5 056: Add Command to a Macro. . . . . . . . . . . . . . . . . . . . .8-5 057: Copy a Macro . . . . . . . . . . . . . . . . . . . . . . . . .8-8 058: Erase a Command in a Macro . . . . . . . . . . . . . . . . . .8-8 059: Insert a Command in a Macro. . . . . . . . . . . . . . . . . .8-9 060: Set Up Serial Port . . . . . . . . . . . . . . . . . . . . . .7-4 062: Change the Beginning of Command Names. . . . . . . . . . . . .5-7 063: Send a Polite Voice Message. . . . . . . . . . . . . . . . . .6-6 064: Send a Polite Voice Message and if Interrupted.... . . . . . .6-7 065: Restore Audio Routing Variable (Undo 037 and 038). . . . . . 16-3 066: Send a Voice Message Using English Words. . . . . . . . . . . .6-5 067: Set Macro Data Length . . . . . . . . . . . . . . . . . . . . 8-10 069: Send a DTMF To Specified Transmitter. . . . . . . . . . . . . .6-3 070: Configure a Repeater for Preaccess . . . . . . . . . . . . . .9-3 071: Configure a Link for Preaccess . . . . . . . . . . . . . . . .9-3 072: Disable Preaccess Requirement for a Port . . . . . . . . . . .9-4 073: Recall Ports with Preaccess Requirement. . . . . . . . . . . .9-4 074: Allow Access To a Port that Requires Preaccess . . . . . . . .9-4 075: Set Stop Access Conditions . . . . . . . . . . . . . . . . . .9-5 076: Recall Stop Access Conditions. . . . . . . . . . . . . . . . .9-6 077: Isolate a Port from the Rest of the System . . . . . . . . . .9-6 078: Set up Force-Execution Functions for a Port. . . . . . . . . 17-2 079: Seed Command Buffer. . . . . . . . . . . . . . . . . . . . . 17-4 080: Execute Command by Number . . . . . . . . . . . . . . . . . . 17-5 082: Set Up a Scheduler Event . . . . . . . . . . . . . . . . . . 10-1 083: Recall a Scheduler Event . . . . . . . . . . . . . . . . . . 10-5 084: Enable/Disable a Scheduler Event. . . . . . . . . . . . . . . 10-6 085: Enable/Disable IDing a Port. . . . . . . . . . . . . . . . . 11-5 086: Recall Which Ports have IDs Enabled. . . . . . . . . . . . . 11-5 087: Set Random or Rotating Pending IDs . . . . . . . . . . . . . 11-6 088: Recall Random or Rotating Pending ID Selection . . . . . . . 11-6 090: Read Whether Digital Input Line is High or Low . . . . . . . 12-4 091: Execute Digital Input Line High or Low Macro . . . . . . . . 12-4 092: Enable/Disable Digital Input Line Alarm. . . . . . . . . . . 12-5 093: Turn Open Collector Output Line On . . . . . . . . . . . . . 12-5 094: Turn Open Collector Output Line Off. . . . . . . . . . . . . 12-6 095: Recall Whether Open Collector Output Line is On or Off . . . 12-7 096: Control or Recall Extended Output Lines . . . . . . . . . . .12-22 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: Enable/Disable an Analog Alarm . . . . . . . . . . . . . . .12-18 107: Recall Analog Lines in Alarm . . . . . . . . . . . . . . . .12-18 108: Recall Analog Line Configuration . . . . . . . . . . . . . .12-19 109: Configure Wind Speed Reading. . . . . . . . . . . . . . . . .12-21 110: Configure the Autopatch. . . . . . . . . . . . . . . . . . . 13-7 111: Manual Off Hook. . . . . . . . . . . . . . . . . . . . . . . 13-9 112: Normal Forward Dial . . . . . . . . . . . . . . . . . . . . . 13-9 113: Forward Dial with no Long Distance Checking. . . . . . . . .13-10 114: Hang up the Autopatch. . . . . . . . . . . . . . . . . . . .13-12 115: Possibly Hang up the Autopatch . . . . . . . . . . . . . . .13-12 116: Set / Recall the Predial Digits and Timing . . . . . . . . .13-13 118: Send a Morse Code Message . . . . . . . . . . . . . . . . . . .6-2 119: Set Allowed Numbers Table Slot . . . . . . . . . . . . . . .13-14 120: Recall Allowed Numbers Table Slot. . . . . . . . . . . . . .13-14 121: Set Nuisance Numbers Table Slot. . . . . . . . . . . . . . .13-15 122: Recall Nuisance Numbers Table Slot . . . . . . . . . . . . .13-15 123: Test Dialing Tables. . . . . . . . . . . . . . . . . . . . .13-16 124: Set Autodial Slot. . . . . . . . . . . . . . . . . . . . . .13-16 125: Recall Autodial Slot . . . . . . . . . . . . . . . . . . . .13-17 126: Send Predial Digits / Callsign for Autodial Slot?. . . . . .13-17 127: Enable/Disable an Autodial Slot. . . . . . . . . . . . . . .13-18 128: Set Full or Half-Duplex Patch Audio for a TX . . . . . . . .13-19 129: Repeat Dial (or recall last number dialed) . . . . . . . . .13-11 130: Block Command Execution From Port. . . . . . . . . . . . . . 5-10 131: Allow Command Execution From Port. . . . . . . . . . . . . . 5-10 132: Start Reverse Patch Call-Out. . . . . . . . . . . . . . . . .13-24 133: Set up Reverse Patch . . . . . . . . . . . . . . . . . . . .13-21 134: Access Reverse Patch Control Mode. . . . . . . . . . . . . .13-23 135: Answer Reverse Patch . . . . . . . . . . . . . . . . . . . .13-23 136: Set up Reverse Autopatch Ring. . . . . . . . . . . . . . . .13-25 137: Autodial Only. . . . . . . . . . . . . . . . . . . . . . . .13-10 138: Direct SPI Send using Open Collector Output Lines. . . . . . .7-7 139: Set Up the RLC-ICM Interface . . . . . . . . . . . . . . . . 14-8 141: Control/Recall RBI-1 Output Lines . . . . . . . . . . . . . .14-21 142: Set Frequency (and Offset) for RBI-1 or RLC-ICM. . . . . . .14-12 143: Set Offset for RBI-1 or RLC-ICM. . . . . . . . . . . . . . .14-13 144: Set Offset and Frequency Readback Styles . . . . . . . . . .14-14 145: Set Power Level for RBI-1. . . . . . . . . . . . . . . . . .14-15 146: Set PL Frequency for RBI-1 or RLC-ICM. . . . . . . . . . . .14-16 147: Turn PL Encode Off/On for RBI-1 or RLC-ICM . . . . . . . . .14-17 148: Turn PL Decode Off/On for RBI-1 or RLC-ICM . . . . . . . . .14-17 149: Recall Frequency and Offset for RBI-1 or RLC-ICM . . . . . .14-18 150: Recall All RBI-1 or RLC-ICM Settings . . . . . . . . . . . .14-18 151: Turn Radio Power On or Off for RBI-1 . . . . . . . . . . . .14-19 152: Goto Radio Memory for RBI-1. . . . . . . . . . . . . . . . .14-20 155: Enable or Disable PTT for a Port . . . . . . . . . . . . . . 2-20 156: Recall Which PTT are Enabled . . . . . . . . . . . . . . . . 2-20 157: Set/Recall Event Trigger . . . . . . . . . . . . . . . . . . 20-1 158: Default Event Trigger Action. . . . . . . . . . . . . . . . . 20-2 159: Enable/Disable Event Trigger . . . . . . . . . . . . . . . . 20-2 160: Clear Analog High/Lows . . . . . . . . . . . . . . . . . . .12-19 161: Set Analog Smoothing Factor. . . . . . . . . . . . . . . . .12-20 162: Always Send Serial Message out the Main Serial Port. . . . . .7-5 163: Keypad Test. . . . . . . . . . . . . . . . . . . . . . . . . 6-15 164: Recall Software Version. . . . . . . . . . . . . . . . . . . 17-6 165: Reset COP Watchdog Timer . . . . . . . . . . . . . . . . . . 17-6 167: Do Nothing . . . . . . . . . . . . . . . . . . . . . . . . . 17-7 169: Always Send Serial out Main Serial Port by ASCII Code. . . . .7-6 170: Record and Play Audio Test . . . . . . . . . . . . . . . . . 6-20 171: Record DVR Track (non-prompted). . . . . . . . . . . . . . . 6-20 172: Record DVR Track (prompted). . . . . . . . . . . . . . . . . 6-21 173: Play DVR Tracks. . . . . . . . . . . . . . . . . . . . . . . 6-21 174: Erase DVR Tracks . . . . . . . . . . . . . . . . . . . . . . 6-22 175: Record Public Mail . . . . . . . . . . . . . . . . . . . . . 6-22 176: Check Public Mailboxes . . . . . . . . . . . . . . . . . . . 6-23 177: Retrieve Public Mail . . . . . . . . . . . . . . . . . . . . 6-23 178: Erase Public Mail. . . . . . . . . . . . . . . . . . . . . . 6-23 179: Record Private Mail. . . . . . . . . . . . . . . . . . . . . 6-24 180: Retrieve Private Mail. . . . . . . . . . . . . . . . . . . . 6-24 181: Erase Private Mail . . . . . . . . . . . . . . . . . . . . . 6-24 186: Set up User Password . . . . . . . . . . . . . . . . . . . . 18-5 187: User Log-on. . . . . . . . . . . . . . . . . . . . . . . . . 18-6 188: Recall Who Is Logged In. . . . . . . . . . . . . . . . . . . 18-7 189: User Log-off . . . . . . . . . . . . . . . . . . . . . . . . 18-7 190: Assign a User Level to a Command . . . . . . . . . . . . . . 18-8 191: Assign a Callsign to a User. . . . . . . . . . . . . . . . . 18-9 192: Set/Recall Call-Out Options . . . . . . . . . . . . . . . . .13-26 195: Configure HF Mode. . . . . . . . . . . . . . . . . . . . . . 15-4 196: Configure HF Radio . . . . . . . . . . . . . . . . . . . . . 15-5 197: Set/Recall Transmit/Scan Band Edges. . . . . . . . . . . . . 15-8 198: HF Mode Enable . . . . . . . . . . . . . . . . . . . . . . .15-11 199: Enter HF Command (w/o being in HF mode). . . . . . . . . . .15-18 201: Initialize RTEMS Network . . . . . . . . . . . . . . . . . . 22-1 203: Set Vox Response . . . . . . . . . . . . . . . . . . . . . . 2-17 204: Set Radio Name . . . . . . . . . . . . . . . . . . . . . . . 22-2 205: Load Personality . . . . . . . . . . . . . . . . . . . . . . .3-4 206: Save Personality . . . . . . . . . . . . . . . . . . . . . . .3-4 207: Save Settings to Flash or Undo Changes . . . . . . . . . . . 17-1 208: Set Console PTT. . . . . . . . . . . . . . . . . . . . . . . 22-2 210: Recall if Group Contains Port . . . . . . . . . . . . . . . . .2-4 214: Set Remote Logging . . . . . . . . . . . . . . . . . . . . . 22-3 215: Update Remote Data . . . . . . . . . . . . . . . . . . . . . 22-3 219: Set Group Name . . . . . . . . . . . . . . . . . . . . . . . 22-4 222: Streaming Audio Configuration. . . . . . . . . . . . . . . . 22-3 223: Request Remote CRC . . . . . . . . . . . . . . . . . . . . . 22-4 224: Set Port Destination Info. . . . . . . . . . . . . . . . . . 21-1 225: Set Destination Info . . . . . . . . . . . . . . . . . . . . 21-2 226: Set Destination Radio Channel T Info . . . . . . . . . . . . 21-3 227: Set Destination Radio Freq T Info . . . . . . . . . . . . . 21-4 229: Set Destination Info by Persist Format. . . . . . . . . . . . 21-4 235: Set Destination With Send Page Macro T Info. . . . . . . . . 21-5 237: Set Radio Description. . . . . . . . . . . . . . . . . . . . 22-4 238: Set Password Settings. . . . . . . . . . . . . . . . . . . . 22-4 239: Manage Group Sets. . . . . . . . . . . . . . . . . . . . . . .2-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-DSP404 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-DSP404's software and hardware. Changes to the software, copying of the software, and use of the voice code 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 cost of further software updates will be determined at the release of the update. Updated manuals and shipping are additional. Return Policy These policies supersede policies appearing on all other Link Communications, Inc. literature and are in effect for purchases made after March 1, 1989. Please keep all packing material and documentation in the event that your equipment has to be serviced or returned. Before returning any product, you must obtain a Return Authorization (RMA) number. You can obtain this by calling (406) 245-5002. No returns, of any type, will be accepted without an RMA number. Please have the following information on hand when calling for an RMA number: customer name, invoice number, serial number, and the nature of the problem. All can be found on your invoice. All product to be returned must be returned within 30 days from the invoice date, 100% complete, and must include manuals, parts bags, and other accessories provided by the manufacturer. All defective products will be accepted directly by Link Communications, Inc. for credit, exchange, replacement, or repair at Link Communications, Inc.'s discretion. After 30 days from invoice date, the manufacturer's warranty applies. All non-defective returns for credit, exchange, or refund are subject to a restocking fee on the schedule listed below. No returns will be accepted beyond the 30 day period. Shipping costs are not refundable. 0 to 10 days 5% restocking 11 to 20 days 10% restocking 21 to 30 days 15% restocking Link Communications, Inc. reserves the right to authorize product returns beyond 30 days from date of invoice. If the product is accepted after 30 days, credit will be issued toward FUTURE PURCHASE ONLY. If you have any questions JUST ASK. All of us have tried to make sure that this order has been shipped correctly. If we have made an error - we want to make it right. If you have a question or problem with this order, just write or call, and our staff will personally handle your situation. Link Communications, Inc. is a Montana Corporation FEIN 81-0490597 User Survey (Optional) A knowledge of the user base will allow us to better serve you in the future by helping us develop more specialized software and hardware. Please take a few minutes and fill out this questionnaire. RLC-DSP404 Serial Number ................. ________________ (The serial number should be noted on your invoice and handwritten on the DSP4 circuit board) RLC-DSP404 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-7378 Comments: Chapter 1: Getting Started Welcome to the powerful RLC-DSP404 advanced DSP based communications controller. The DSP404 supports up to 12 full-duplex radio ports, 16 inputs, 16 analogs and 16 output channels in a small 1U (1.750") enclosure. This section will cover the basic mechanical and port locations, radio port DB-9 connector pinouts and the DB-25 I/O connector pinout. Initial port configuration switches will be explained and detailed. Following the hardware mechanical descriptions a complete discussion on the programming and operation of the included Windows(TM) Remote Control Interface (RCI) software. Once section 1 has been read, the DSP-404 can be setup and operated. In most cases, the rest of the manual is used for reference only and not necessary for day to day operations of the system. RLC-DSP404 Port Locations RLC-DSP404 Radio Port The DB-9 used on the DSP404 will accept any Link Communications controller based cable, but for extended operations you many need to make a few changes. The DSP404's input and output characteristics are different (in a good way), expanding the flexibility of the types of signals the controller can accept without external changes. Front View of the DB-9 on the DSP-404 Pin Default Function Alternate Function Default Switch Setting 1 Ground RS-232 Transmit Data 6 position Switch 1 - Off, Switch 2 - On 2 CTCSS Detect CTCSS/DCS Output 10 position Switch 8 - Off, Switch 9 - On 3 PTT Out ..... ..... 4 Audio Out ..... ..... 5 Audio In ..... ..... 6 Ground RS-232 Receive Data 6 position Switch 3 - Off, Switch 4 - On 7 COR Detect ..... ..... 8 Ground +5 Volt Output 6 position Switch 5 - Off, Switch 6 - On 9 Ground ..... ..... You will notice that several pins have different functions depending on the switch settings. This enables a 9 pin connector to be used in varying applications without requiring a larger connector. In most instances you will leave the switch settings in their default position. A complete list of switch setting variables is provided below. It is a good idea to decide ahead of time what setting positions you need because you will need to open the case to access them. When the 12 port expansion card is installed you will need to remove that piece to access the lower boards switch settings. There are two switches per port. The six position switch is for RS-232 serial and power selection. The ten position switch configures receiver and transmit setup functions Switch Default Function 1 Off DB-9 Pin 1 Function: RS-232 Transmit Data Output 2 On DB-9 Pin 1 Function: Ground 3 Off DB-9 Pin 6 Function: RS-232 Receive Data Input 4 On DB-9 Pin 6 Function: Ground 5 Off DB-9 Pin 8 Function: +5V Power Available (For smart cables) 6 On DB-9 Pin 8 Function: Ground Six Position Switch Functions Switch Default Function 1 On COR Input Pull-Up (47.5K ohm) to +3.3V 2 Off COR Pull-Down (47.5K ohm) to Ground 3 On CTCSS Input Pull-Up (47.5K ohm) to +3.3V 4 Off CTCSS Pull-Down (47.5K ohm) to Ground 5 Off Receiver Audio Input De-Emphasis filter, -6dB/octave 6 On Transmit Audio Output Pre-Emphasis filter bypass, +6dB/octave 7 Off Transmit Audio Output Gain Range (x3.33) Higher gain when Off 8 Off DB-9 Pin 2 is a Tone Output from DAC 2 9 On DB-9 Pin 2 is the CTCSS detect input 10 On Receive Input Range Select (2.333) Higher gain when Off Ten Position Switch Functions RLC-DSP404 I/O Port Pinout The DB-25 used on the DSP404 will accept any Link Communications RLC-3 based cable. The I/O portion of the DSB-404 will now accept without any switch changes, analog inputs from 0 to 15 volts. Any input voltages above +15V must be externally resistively divided to keep from over voltage on the analog system. The digital inputs can handle a maximum of 60V inputs. The output lines can handle a maximum of 100mA sinking current. When attaching an externally powered temperature sensor, like the National Semiconductor LM335Z, a switch is provided that powers the sensor. This switch is an 8 position where each switch number corresponds to an analog input line. Front View of the DB-25 on the DSP-404 The connector is dived into three distinct areas; Analog, Inputs and Outputs. There are 25 pins and 24 signals with one ground reference. The ground reference is at the same potential as the DSP404's (-) power terminal. When attaching an analog input that is greater than +15V an external series resistor is necessary to act as a voltage divider. The input resistance of the analog input is 120K ohms. A series 100K resistor is part of the input circuit and a 20K resistor provides the necessary voltage divider to bring 15V maximum down to +2.5V which is the rail of the 12 bit Analog to Digital Converter (ADC). Vo = Vi (Rg/(Ri+Rg): Vo = 2.5V, Rg = 100K, Ri = 20K and Vi = 15V so...select Ri based on your Vi to keep from exceeding +2.5V at Vo. So 25Vi, Ri would be 180K (100K already there), so add a series 80K to handle a 25V input. To test the 80K plug it back into the above formula. Vo = 25V(20K/180K+20K) ... Vo = 2.5V which works. If an 80K resistor is not available, choose the next larger value and then refer to Chapter 12 concerning your calibration and offset options that can be programmed to each analog input to address the analog input differences. Pin Functions Pin Functions 1 Ground Reference 14 Ground on I/O Board #1 : Analog 8 on I/ Board #2 2 Analog 7 15 Analog 6 3 Analog 5 16 Analog 4 4 Analog 3 17 Analog 2 5 Analog 1 18 Input 8 6 Input 7 19 Input 6 7 Input 5 20 Input 4 8 Input 3 21 Input 2 9 Input 1 22 Output 8 10 Output 7 23 Output 6 11 Output 5 24 Output 4 12 Output 3 25 Output 2 13 Output 1 Switch Function Switch Function 1 Analog #1 Power 5 Analog #5 Power 2 Analog #2 Power 6 Analog #6 Power 3 Analog #3 Power 7 Analog #7 Power 4 Analog #4 Power 8 Analog #8 Power (No function on I/O Board #1) DB-25 pinout and Analog Power Switches RLC-DSP404 Power Input The RLC-DSP404 utilizes an Anderson Power Pole(TM) power connector as the primary power system. All other Link controllers utilize a 2.5mm power connector but the style was changed to a latching power connector to address concerns with unplugging that could occur with the 2.5mm connector. There is, however, a 2.5mm power connector pattern on the PC board. A connector can be purchased to fill this pattern if desired. Power Pole Polarities: Red is (+)... Connecting a computer to the DSP404 Even if you plan to connect to the DSP404 using an Ethernet network (such as a LAN or Internet connection), you should first connect using a serial port. Connecting RCI Using the Serial Port First you will need to install RCI, the Remote Control Interface software for the DSP404, on a computer running Windows 2000, XP or Vista. If you don't have a copy or you want to download an updated copy, you can get it from the web site http://www.link-comm.com/ftp/dsp4/dsp4_rci/newest/ - look for the file DSP4RCI_Installer.exe. Connect a serial cable between a COM port on your computer and the serial port on the front of the DSP404 (next to the USB connector). Start RCI and click on the "Settings" button. Select a "serial" connection and specify your computer's COM port. If you have everything set correctly, it should connect, at which time the "Connection Status" window will disappear. You can also try pressing the "Reconnect" button to make it try again. If you have trouble getting it to connect, try another COM port (if you have one), or continue to the next step - it may help in determining the problem. Using the serial port to set the network access password If you plan on connecting the DSP404 to an Ethernet network, you will need to set a network access password (it defaults disabled). This can currently be done only through a serial port connection, as described below. This same process can be helpful for troubleshooting if you are having trouble getting RCI to connect through the serial port. Make sure that you have a serial cable connected between your computer and the DSP404 as described above. Then you will need a serial communications program like HyperTerminal or Putty.  HyperTerminal comes with Windows 95 and later, but may not be installed by default. If it is installed, you may be able to find it by clicking on Start > Programs > Accessories > Communications > Hyperterminal.  Putty is a communications program that can be downloaded for free from http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html. Look for the file putty-0.60-installer.exe, or whatever the latest release version is. Whichever program you choose, set it up for 115200 baud with no handshaking and the COM port used by your computer. Turn on power to the DSP404. You should see several screens of messages scroll by. Pressing Enter will provide you with a root:~> prompt. Type "passwd" in lower case to set the password. passwd ... and enter a password as prompted. This password will be required to access the DSP404 over the network. It can only be changed through the serial port by repeating the above process if you ever forget it. When starting RCI, under Connection Settings you can enter this password for network access. The password IS NOT ECHOED back to you when entering it. This is for your security. If you do not see the information you typed, that is correct. The password will also need to be verified by retyping it. Once the DSP404 accepts the password you can now access the unit from the computer via the network. When accessing the DSP404 from the serial port, not password is required. If you don't see any serial output, check the above, or look for more hints on the web page http://link-comm.com/wiki/index.php?title=Serial_Port_Troubleshooting. Type "client" from the root:~> prompt to access the "DSP4>" prompt Setting the DSP404's Network Addresses Automatically If the DSP404 is plugged into an existing Ethernet network that has a router, it will by default try to obtain an IP address and other network settings from the router (using the DHCP protocol). You can view the settings by connecting to the serial port with HyperTerminal or Putty as described above, then entering the following command (shown in bold): root:~> ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:18:8D:00:00:37 inet addr:192.168.25.81 Bcast:192.168.25.255 Mask:255.255.255.0 UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1 RX packets:275 errors:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 The most important piece of information displayed is the IP address, shown above in italics. If the DSP404 was unable to obtain an IP address automatically, you will see something like the following instead: root:~> ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:00:00:00:24:00 UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:5 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 If your network has a router, it is generally much better to try to let it set the address automatically. If it does not have a router (such as if you are using a crossover cable or simple hub/switch between your computer and the DSP404), you will need to set the IP address manually. Setting the DSP404's Network Addresses Manually If you are running HyperTerminal or Putty, exit it and start RCI again. Wait until it connects (using the serial connection, as described above), then go to the TCB Settings menu and select "Network Settings". Make sure "Enable Network" is selected, and deselect "Use DHCP" (so you can enter the settings manually). It can be complicated to figure out what network settings to use, but typically you can use one of the computers that is already on the network as an example. From a Windows computer, click Start > Run > and type "cmd" then press ENTER. You should get a command prompt. Type "ipconfig" at that prompt, as shown below: C:\Documents and Settings\steve.strobel>ipconfig Windows IP Configuration Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : IP Address. . . . . . . . . . . . : 192.168.0.21 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.0.1 If you get more information than shown above, look for the section with the title "Local Area Connection". You can often choose an IP address for the DSP404 that is one greater than the IP address of your computer, which would be 192.168.0.22 in this case. Just to be sure, try to "ping" that address from your computer: C:\Documents and Settings\steve.strobel>ping 192.168.0.22 Pinging 192.168.0.22 with 32 bytes of data: Reply from 192.168.0.22: bytes=32 time<1ms TTL=128 If you get a reply as shown above, do not use that address; it is already in use by another device. Instead, you want to find an unused address, which will make ping respond like this: C:\Documents and Settings\steve.strobel>ping 192.168.0.22 Pinging 192.168.0.22 with 32 bytes of data: Request timed out. You can the use RCI to enter that IP address for the DSP404 to use. Use the same subnet mask and default gateway as your PC. After entering those settings, use RCI's File > Reset Controller option to make the DSP404 save those settings and restart (so it can use the new network settings). Testing the network settings After the DSP404 restarts and loads the new network settings, you can try to "ping" it from your computer using the IP address you set for the DSP404. It should reply, as shown above. If it does, you can try making RCI connect to it via the network rather than serial connection. To do that go to the "Communications" menu and select "Communications Settings". Select a connection type of "Telnet", enter the IP address of the DSP404, and the password you set up previously. Click on "Reconnect" and it should connect within a few seconds. If it does not, try clicking on the "Reconnect" button again. If that doesn't work, try "pinging" it again, and check your settings. Windows(TM) Remote Control Interface (RCI) The RLC-DSP404 comes with a very flexible GUI interface that enables most aspects of the DSP404 to be setup either using an RS-232 serial port or utilizing an Ethernet port. Only the Ethernet port enables the Voice Over Internet Protocol (VoIP) features, but either method works well for programming and operation. Ethernet programming has the added feature which enables up to four computers accessing at the same time, all with VoIP. RCI cannot operate at this time without a controller hooked up to or connected to. All variables are stored on the controller and none on the computer. This feature keeps computer issues from affecting the controller's settings if a computer crashes or is not available. If this occurs then download a new version of RCI on any computer and connect to the controller and all of your settings are still there. Windows(TM) Remote Control Interface (RCI)The operational console for RCI. If you get to this screen your computer is communicating with the controller unit, and will indicate a good connection by the Remote Connection message. In this case, Telnet 2 (out of four possible connections). If you were connected using the RS- 232 serial port, the connection dialog on the bottom of the screen would identify Serial as the connection type. Port Setup from RCI The easiest way to get to know your DSP404 is with the RCI GUI interface software. For the setup discussion I will exclusively be using RCI and not the DTMF commands. The DTMF commands are covered later in the manual and can be referenced if need-be. Accessing setup is accomplished by clicking your Right mouse button when the pointer is over the Port or Group you wish to configure. Right Click over the requested Port Port Setup Screen After right clicking the mouse over a port the Port Setup Screen will appear. This screen enables access to features and variable for the selected port. In an effort to minimize the amount of clicking required, aport selection box is located to the left of the "Done" button. This enables an easy method of selecting different ports without the need to exit setup and select a different port. The initial setup screen enables the user to select a Radio Personality. Personalities contain only stuff that is specific to the make and model of the radio, not how it is used. A ports ID's and Courtesy Beeps are not stored because they are not radio specific. Some default radio personalities are included for a Repeater, Simplex Link and Duplex Link. To select a personality, select the required personality and press Done. Now all the settings stored in the personality will be recalled. If a personality does not contain all the exact settings you wish, you can recall a setting and make your own changes. If you want to use those changed setting on more than one port, you can save them to a User Defined Personality, then select that personality on the other ports. Because every radio is unique, unique settings are necessary to have the radio setup correctly. A user slot is handy because it is a good place to start when connecting a radio to the system. The next setup tab allows the port's displayed Radio Name to be shown on the Port button. The name is limited to 9 characters and shows up on the selected port button. The Radio Description section is used for a description only and is not displayed. It is currently limited to 100 characters and could be used as a basic log for a port's additions, changes and maintenance. The next tab is the Radio Type tab that controls the radio type connected to a port. Link / Remote Base: This identifies that the radio attached to the port is not functioning as a repeater but as either a half-duplex (simplex) radio or a full-duplex base radio. Repeater: This identifies that the radio connected to the port is operating as a repeater with its COR looped to the PTT on the same port. Half Duplex Timer: This timer is only active when a radio is in Half Duplex mode, and is triggered when the PTT for the port goes from active to inactive. Some radios COR will bounce when coming out of PTT, and will cause an unnecessary courtesy beep or other PTT's on connected ports. If your radio has this problem, set the Half Duplex timer to a value that will suppress the COR hick-up. Audio Delay: This timer provides delayed receiver audio from 0 seconds up to 5 seconds per port. The timer defaults to 0 seconds and is programmable in 1 millisecond steps. Link Type: This defines if the connected radio is either a Half Duplex (single antenna port with combined receiver and transmitter inside one package) or Full Duplex (two antenna ports with separate receiver and separate transmitters in one or two packages). Radio Channel Control: This setting identifies the function of the connected radio. A Not Controllable radio is a typical radio without the controllers ability to frequency steer the radio. If steerable radios are connected, such as the Tait 8115, 9115 series radios, then select the Tait radio in the options box. When a steerable radio is selected for a port, the right hand 1/3 of the main screen changes to indicate a controllable radio is available. Otherwise this selection keeps that part of the screen unavailable. The default setting is Not Controllable. The next tab to examine is the RX Activity Tab. This tab control the receiver access conditions for the port. COR: Carrier Operated Receiver (Relay for the old timers...) Indicates that activity on DB-9 pin 7 must go either high or low to identify an active receiver. The default condition is active low. CTCSS: Continuous Tone Coded Squelch System access is connected to pin 2 of the DB-9 connector. It receives activity from an external analog or digital tone decoder, or other source, as an alternate access method other than COR. VOX: Voice Operated Transmitter is a method of accessing the controller with only the presence of voice. If a connected radio does not have a COR or CTCSS output and you wish to use it (sell it and get a radio with a COR or CTCSS line...), VOX must be used. In a repeater environment, it is best to use a radio with a hardware line and not VOX, but otherwise select VOX. When the voice is detected the controller will indicate an active receiver condition. Because VOX operated on voice, you will need to select a response time (typically Medium) to delay going from active to inactive between someone's words. If the average person using your system talks...really...slow... then you will need to set the VOX response to slow. The response is a voice activated hang timer, therefore when the person stops speaking, the controller will wait a period of time to make sure they are really no longer speaking. VOX Threshold: This setting it the VOX trigger point where the controller treats incoming audio as either active or inactive. The lower the number the quieter the input audio to be detected. A setting of 50 works well with most audio sources. When a line is set to be Low going indicates that the receiver must pull the line to ground for it to be recognized. Depending on the switch settings, the line can be released to an open (if the pull-up switch is on), be at a voltage and release the line when active (if the pull-down switch is on), or provide a voltage to the line and a ground when active (if both pull-up and pull-down switches are off). When a line is set to be High going, it operates opposite from the Low going line. So a receiver provides a voltage when active. Every receiver is different so between the switch settings and the Low/High selections, most receivers can be interfaced without issue. The COR and CTCSS lines are connected to an insulated gate FET which provides an extremely high input impedance to the connected receiver when the switches are both off. The switches provide either a pull-up or pull-down with a load of 47.5K ohms each. Refer to the switch settings at the beginning of this chapter for proper settings for pull-ups and downs on the COR or CTCSS lines. The next tab controls the Audio Levels for the receiver, transmitter and tone system. Transmit Level has 255 discrete adjustment steps (in 3/8dB/step) and is displayed as a 0 to 255 steps. Future software releases will add a fine level adjustment to span digitally the 1 step, steps. Mic and Line level selections are only available for the Tactical Communication Bridge (TCB) units. TX Tone Level adjustment sets the level of the transmitted tones and is mixed with all other receivers audio. The tone level is a 0 to 100% adjustment. Receiver Level adjustment adjusts the level of the incoming receiver audio that is presented to the 24 bit CODEC. Enable Automatic Gain Control sets tells the controller to automatically adjust the units receiver audio level to a point where the controller's CODEC performs the best. This feature is useful when a variety of people use a system, with different levels of spoken audio. AGC is currently available on the TCB line of units and is planned for the DSP-404. The next tab allows programming of a ports Identification Requirements like the CW Call Sign and the Voice ID used. All ID slots are programmed with the Voice ID entered from this form. When a user sets up the ID's, currently only two ID's are setup directly with the GUI, the CW and a Voice ID for the selected port. Access to other ports ID slots is accomplished by pressing the Advanced button. A list of the other ports available ID's will be listed and using the Macro Editor can easily add or modify the ID's. The next tab enables the recalling and programming of a ports Courtesy Beep information. The user can recall default beeps (that are used on the RLC-Club and RLC-3 controllers), or program a Custom beep sequence when the Custom selection is made. When a preset beep is requested, custom changes can be made to the recalled beeps by pressing the Advanced button which pulls up the macro editor with the contents of the Courtesy Beep macro. If a preset beep is not desired, and the user wishes to have a Custom Beep, select Custom. Up to three custom tone combinations can be programmed here to provide unique beep sounds. If you need more than three tone sequences, use the Preset option and press the Advanced button. This will allow more than three tones to be programmed into the Courtesy Beep macro. The last tab under a ports setup is are the Port Specific Timers. There are only six timers that can be set under this screen, and these timer are only the timers that directly affect the ports operation. The format to change and set timers is either with a point and click up or down selection or to directly enter the time with by clicking on the calculator icon. Up and down clicking increment in 10mS steps, and are displayed in seconds format. When using the calculator pad, different timer values are available when entering a time. Msec, Sec and Min are available. Once the timer amount has been calculated press the Enter Bar to accept and continue. System Features Once a port has been setup access to some system features might be necessary in order for the GUI and unit to perform as desired. Starting with the File drop-down menu there are three available options. Save Settings (on TCB or RLC) will take the user changes and store them into non-volatile Flash memory. Until the settings are saved, they can be lost with a controller power-down event. Reset the TCB (or RLC) will cause a power-on reset command to be issued to the controller. This is the same as pressing the Reset button or removing and reapplying power to the unit Exit will exit RCI The Communications drop-down allows communications parameters to be accessed and changed. There are three options that are available for the communications system. Controlling how the unit communicates with RCI, using serial or Telnet, watching the control signals status and accessing a terminal to make custom changes to the unit are supported. Communications Settings: There are two options to connect to the unit. If using Telnet then an IP address and password is required. If using Serial, then a COM port, Baud Rate (115,200 Baud by default and password is necessary. Note: On the RS-232 serial port, there is no password out of initializations. One must be entered if desired. On the Network port a password MUST be entered before the network port will function. When RCI first starts, the Communications Status screen will display. This screen shows 15 discrete steps that effect the connection, updating and saving on the controller. If the controller is connected, the Connected line will be highlighted. The communications settings will keep the system from connecting and when this occurs, the communications status screen will display. If your system is having connection problems, check the Communications Setup screen of press the Settings button. Make a change then press the Reconnect button. If all else fails when working with a network, try the serial port. If contacting technical support, note the point from the Status screen where the communications failed. The Terminal Screen enables the user to watch and enter commands To use the Terminal as a standard terminal ensure the "Verbose" selection is not checked under the view menu. To watch RCI's communications to from RCI to the controller check the "Verbose" selection. This will unhide the background communications that is happening. All other features are self explanatory and can be played with without effecting the controllers operation. Console drop-down menu accesses settings that affect RCI's console screen. The Console screen is the displayed screen on computers running RCI. The VoIP from the controller must go somewhere for the operator of RCI to access. This screen requires a radio port to utilize and operate from. The port can be assigned from the Console drop-down menu but the port defaults to Port2. To reassign the console port click the On Port' selection and assign a port. Only installed ports can be assigned as an RCI port therefore selection is limited to the non-greyed out ports. VoIP Settings Form VoIP Settings can also accessed under the Console menu. VoIP is only available on computers that are operating over a network port but supports up to four connections at one time. The four connections share the same console port and get audio from the controller but are limited to one incoming audio stream at a time. The incoming stream is controlled by the Push To Talk (PTT) button on the screen (or spacebar). When in console controlled PTT, audio from the computers microphone is routed to the port assigned as Console on the controller. This port can be individually assigned to any of the units ports or part of a talk group to communicate with multiple ports. When VoIP is enabled the user must select the method the data is accessed. Two methods are available; connection over a LAN or Connection through a Firewall. When connecting locally without exiting your LAN, no special configurations are necessary. The VoIP traverses using Port 23000 which will need to be opened is a firewall is used. When going through a firewall, RCI can tell you the address it see's by pressing the "Get Public Address" button. RCI will show you the address that needs to be entered into the firewall address. You will still need to open port 23000 for the VoIP data to find the controller, but once connected the systems should talk. Diagnosing VoIP's Operation: Because of the complex nature of VoIP, a method of easily diagnosing the operation of the system is necessary. There are several indications that diagnose the operation of the digital audio. The initial method of seeing if a problem exists with the VoIP is with the streaming message. If the message "Streaming Stopped" is on the screen (bottom of the VoIP Screen), data is broken between RCI and the unit. None of the Connection Statistics will fix this problem. This usually occurs when the IP addresses are incorrect or a firewall is blocking the VoIP from arriving at RCI. There are no tools built into RCI that can help in verifying the stream is working. A freeware program is available called wireShark that is a valuable tool when troubleshooting network connection problems. The software is available at www.wireshark.org/download.html . Once the stream is working the connection statistics can help determine if your network bandwidth is good enough for VoIP operation. The controllers RCI socket operates at 128kbps stream (16 bit PCM at 8KHz) = 128 kbps rate. The broadband nature of the connection is to minimize any audio issues that can occur on the VoIP console channel. A lower bandwidth stream is in the development that drops the bandwidth down to 64kbps G.711 uLaw. Other CODEC's are in the development to drop the bandwidth even more and will be available in the future. Once operational, the VoIP audio will follow the clicking on Ports or Groups from RCI. PTT routes the computer audio from the microphone to the receiver on the assigned port for VoIP on the controller and received audio will be routed to the speakers on the computer. The VoIP stream is a full-duplex link port. Remember, if you have problems check your network connections. Up to this point all settings have been RCI based, and not on the controller. The next drop-down is the TCB Settings menu. The setting of the controllers IP information is accessed from the Network Settings tab. The controller supports both Static IP addresses and DHCP assigned. If you want to use the network check the Enable Network box and select the addressing mode you desire. (A Telnet Password will be assigned here in order to enable the network. No yet documented...) If not utilizing the DHCP server you will need to enter the Address, Netmask and Gateway information. Once completed, press the "Done" button to accept the changes. The controller will need to reboot for the changes to take place, and all settings will be saved. Once the controller has rebooted the network will be available. The next settings window controls RCI-level security. On this form are three columns (Anybody, Users and Administrator) and a list of actions that can be performed within RCI. An action that is in the "Anybody" column does not require a password, but when attempting to perform an action in the "Users" or "Administrator" column, you will be prompted to enter the respective user or administrator password. Administrator can perform the actions in the "Users" column, but users cannot perform the actions in the "Administrator" column. Actions can be moved between columns by selecting them with the mouse and clicking the appropriate arrow button. The default user password is "user" and the default administrator password is "admin" but it is recommended that you change them when initially setting up your DSP404. To change the passwords click on the Change Passwords button. A form will appear where you can enter a new password for each level. If you forget either password, you can use command 238 at the terminal to reset it. The next controller based menu is the Macro Editor. This feature enables the user to access the macros on the controller and to create, edit and delete them. The example to the right has two commands, 032 and 030. Command 032 sends a serial message out the serial port when executed and Command 030 sends out a voice ID message. The contents are stored in macros 320. To add a command simply click the "Add Line" button and to delete a line in the macro click the "Delete Line" button. You can cycle to other macros without clicking the Done button. When finished editing, click the "Done" button to exit. The next drop-down menu is the Command Editor. This feature allows Command Names to be changed, execution permissions to be assigned and security levels to be assigned. The command names can be addressed by DTMF Name or Number. You can cycle to names without clicking the Done button. When finished editing, click the "Done" button to exit. Input and Output Line Control The DSP404 has support for 16 input lines, 16 output lines and 15 analog 12 bit channels. Access to the telemetry signals is located under the TCB Settings drop-down menu and located under the IO settings tab. The summary screen shows all lines and the analog lines converted results. Currently the results are text based but a graphical faceplate template is being developed. Only the output lines can be user functioned (because it is the only output feature) and is changed by double clicking the desired line. The total system supports 16 of each of the signals, but only 8 of each are installed currently, therefore only 8 of each show. After double clicking on output lines 2,3,5 and 7 they change state to Low from High (or open). Calibrating and assigning unique settings to the input lines and analog signals will be documented at a later date (in the near future). Other Misc. Menus and Operations To manually check for an update for RCI and/or the DSP404 the user simply clicks the Help and the About sub-menu. The following screen appears which accesses the Link Communications web site where the updates are located. Once an update available and downloaded, the user can either update immediately (automatically done), or save the update for a later installation time. When manually updating the firmware the user clicks the Update Firmware button which opens My Documents to load the file. All RLC and TCB updates end in the ".elf" designation. This designation is the Linux and RTMS file that handles the executable. Make sure you load the latest version of firmware as all firmware versions have the same name. It is recommended to make a copy of the downloaded firmware before transferring it to the controller. Rename the firmware to a unique name so you always have a copy and know what the latest version is. Clicking "Yes" will download the new update and ready the system for the new version. Clicking "No" will cancel updating the new version. Complete Reference Manual This is the last paragraph in many printed manuals. For many users, this information will be all that is needed to get the RLC-DSP404 interfaced to radios and programmed using the RCI software. For others who may wish to find more technical information about advanced capabilities of the controller, the complete reference manual may be available from the following sources:  A CD-ROM, included with new controllers.  The DSP404 firmware and manuals web page, http://tinyurl.com/a5jnnz or http://link-comm.com/wiki/index.php?title=RLC-DSP404_Firmware_and_Manuals  In printed form from Link Communications. Chapter 2: Port Connection Commands This chapter deals with the commands used in connection and control of the radio ports. The areas dealt with in this chapter are: Radio port connections Receiver access control COR and PL polarity 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. A typical configuration would be to have a repeater port "connected" to a remote base port. 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. Port Groups The RLC-DSP4 uses "port groups" (or just "groups") to control which ports are "connected" to each other. Ports that are in the same group are automatically connected to each other. Multiple groups can be used to connect different sets of ports together. This is similar in concept to people standing in various rooms. People in the same room can talk and be heard by others in the same room, but not by those in different rooms. A port that is not in a group will not be connected to any other ports. Typically, each port will be a member of only one group at a time. When RCI is used to place a port in a group, it automatically removes it from any other groups. That is similar to a person walking out of one room and into another. Advanced topic: It is possible for a port to be a member of more than one group at a time (command 017 can be used to set that up). In that case, any signals received by that port will be transmitted to members of both groups, and it will transmit any signals received by ports in either of the other groups. This is similar to a person standing in the doorway between two rooms; he can hear anything spoken in either room and when he speaks, he will be heard by everyone in both rooms. This often causes confusion. Consider the case where the "person in the doorway" (the port that is in more than one group) has a conversation with someone in one of the rooms (groups). The people in the other room can hear the person in the doorway; but not the responses of the person in the other room; they hear only one side of the conversation. To avoid this, it is often best to either "step into one of the rooms" (join one group or the other but not both) or put everyone in the same room (put all of the ports into the same group). Group Sets It is often useful to change which ports are members of each group, such as to turn a link on or off, or to set up for a net. This can be done directly each time using command 017, or it can be automated using "group sets". A group set records which ports are in each group, and allows that set of groups to be restored at a later time. To configure a group set, use RCI or command 017 to add some ports to one or more groups. Those changes will automatically be made to the currently-selected group set. Then select a different group set (using command 239 or the selection in the top-left corner of RCI) and configure it differently. To return to the original configuration, just select the original group set. Repeater Ports When a port on the DSP404 is set up to control a repeater rather than a link or remote base, the receiver on that port is effectively "connected to" the transmitter on that same port. In other words, anything received on that port will be transmitted on that port; it "repeats". To set up a port as a repeater, use RCI to select "repeater" mode in the "Radio Type" tab or use the shortcut macro "*16 pp" where "pp" is the port number (example: 02 for port 2). To change a port configured as a repeater back to a link/remote base port, use "*15 pp". 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 transmitter 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 by the scheduler (like speaking the time on the hour) or any 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 "155 010". 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 scheduled and alarm messages, and if a remote is connected, it will still send the audio from that remote. You can disable port 01's receiver by entering "005 010". You can also choose whether or not to allow commands to be entered when the receiver is disabled with command 005. Entering "005 0100" will make the controller ignore any commands that are entered on that receiver. This may be useful for keeping someone who 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 you enter "005 0101" instead, the disabled receiver will still not cause any transmitters to key, but you will be able to enter commands on that receiver. If you enter "005 0110", the repeater will continue to work but it won't accept any commands, including the command to turn it back on. The final method for disabling a repeater is to disconnect the repeater port from itself by entering "*15 pp" as described in the "Repeater Ports" section above. This does not disable either the repeater receiver (it can still receive commands) or the transmitter (it can still send IDs and scheduled messages), but it turns off the repeat function so signals received by the repeater receiver will not be transmitted on the repeater transmitter. This is the best method for most systems. 017: Manage Port Membership In Groups <017> 00 0GG Recall which ports are in group "GG" <017> A R 0GG PP Change membership of port PP in group GG <017> A R 0GG PP..QQ Change membership of ports PP..QQ in group GG Parameters:  A is one of the following (from port_group_action_enum):  0 - add port(s) to group  1 - make port(s) monitor group  2 - remove port(s) from group  3 - toggle port(s) membership in group (if monitoring, leave group)  4 - remove port(s) from all groups  R is one of the following (from resolve_one_way_enum):  0 - if specified port(s) are part of another group, remove them from that group and join the specified one (to avoid one-way conversations)  1 - if specified port(s) are part of another group, do not remove them from that group and abort this command (to avoid setting up one-way conversations, won't "fix" existing ones)  2 - join the specified group regardless of whether the specified port(s) are part of another group (may cause one-way conversations). 210: Recall if Group Contains Port <210> ggg pp Check to see if port 'pp' is in group 'ggg' Parameters: - 'pp' is the port to search for within the specified group. - 'ggg' is the port group number to search. Examples: 210 105 02 - Check to see if group 17 contains port 02. 210 110 01 - Check to see if group 22 contains port 01. 239: Manage Group Sets <239> recall all group sets' descriptions. <239> 0 recall active group set and description <239> 0 group_set set active group set to group 'group_set' <239> 1 recall active group set and description <239> 1 group_set set active group set to group 'group_set' Examples: 239 - recall all group sets' descriptions. 239 0 - recall first (active) group set and description. 239 0 1 - set active group to the first item in the group sets drop-down menu. 239 1 - recall second group set and description. 239 1 1 - set active group to the second item in the group sets drop-down menu. Notes: In firmware versions through at least V4.10, "group_set" should be specified as one less than the intended groupset. For example, to select or recall the settings for groupset 1, use "0" when specifying the group_set when calling this command. For groupset 5, use "4". 003: Recall Which Transmitters A Receiver Is Connected To This command allows you to find out which transmitters will send the audio received on the specified receiver. <003> pp Recall Receiver Connections Parameters:  003 is the default command name. This command finds what transmitters are connected to receiver 'pp'.  pp is the receiver to recall the connections (to use '0*' for the current port, see Appendix L) Default: - Port 1 defaults as a repeater - Ports 2..12 default to links Example: Receiver 1 is connected to transmitters 2 and 3 <003> 01 D or unkey or Response: Voice Response "1 Connect 2 3" 004: Recall Which Receivers Are Connected to a Transmitter This command allows you to find out which receivers will cause the specified transmitter to key and send the received audio. <004> pp Recall Transmitter Connections Parameters:  004 is the default command name. This command finds what receivers are connected to transmitter 'pp'.  pp is the transmitter to recall the connections to (use '0*' for the current port, see Appendix L) Default: - Port 1 defaults as a repeater - Ports 2..12 default to links Example: Receivers 1 and 2 are connected to transmitter 3 <004> 03 D or unkey or Response: Voice response "3 Connect 1 2" 009: Recall Controller's Entire Audio Crosspoint This command allows you to check the audio crosspoint conditions on all radio ports on the controller. This command will check the connected conditions and both show the crosspoint map on the RS-232 serial port, and will speak the conditions out the port that DTMF requested the conditions. <009> Parameters: - 009 is the default command name. Voice Response: The voice response will only speak if a receiver is connected on the selected port. If a receiver is connected to a port's transmitter, the controller will speak "rr connect tt" where rr and tt are the port numbers of the receiver and transmitter, respectively. Voice Format: 1 Connect 2 Connect 3 Connect 4 Connect 5 Connect 6 Connect 7 Connect 8 Connect 9 Connect 10 Connect 11 Connect 12 Connect Serial Response: TX 1 2 3 4 5 6 7 8 9 10 11 12 1 . . . . . . . . . . . . 2 . . . . . . . . . . . . 3 . . . . . . . . . . . . RX 4 . . . . . . . . . . . . 5 . . . . . . . . . . . . 6 . . . . . . . . . . . . 7 . . . . . . . . . . . . 8 . . . . . . . . . . . . 9 . . . . . . . . . . . . 10 . . . . . . . . . . . . 11 . . . . . . . . . . . . 12 . . . . . . . . . . . . 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 "005 pp13"). Or you can require PL to access the repeater but provide a PL override command that can be entered with only carrier (enter "005 pp31). 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> pp Recall settings <005> pp y Set receiver's access mode <005> pp y z Set receiver's and DTMF decoder's access modes Parameters: - 005 is the default command name. - pp' is the port number (01..12) - y' is the receiver's access mode - z' is the DTMF decoder's access mode. If not specified and the receiver's access mode is not zero, it will automatically be set the same as the receiver's access mode. To set 'z' to zero, all three digits of "pp y z" must be entered. Defaults: - Receiver defaults to mode 1 on all ports. - The DTMF decoders default to mode 1 on all ports except port 1, where it is "always active". That should be changed once the COR polarity for port 1 is set up by entering "005 0111". - If a port is connected to an RLC-ICM, use Mode 1. 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. If you are going to do this, you need to have another way to enter commands to re-enable DTMF access (reverse patch, serial port, another radio port, scheduler...). 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 sub- audible 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 sub-audible 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> 02 3 or <005> 02 3 3 Voice Response: "Two 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> 01 1 3 Response: Voice Response "One CAP COR" 203: Set Vox Response <203> pp recall vox response for port 'pp' <203> pp l set vox response level 'l'(0..2) <203> pp l ttt set vox response level (0..2) and threshold 'ttt' Parameters: - pp is the port number to recall or set - 'l' is the vox response level (0 for slow, 1 for medium, 2 for fast) - 'ttt' is the vox threshold (0..100) Examples: 203 01 0 - set vox response for port 01 to Slow 203 01 1 - set vox response for port 01 to Slow 203 01 2 - set vox response for port 01 to Slow 006: Set or Recall Receiver Priorities (monitor mute) This command allows audio from a receiver to be automatically muted whenever audio from another receiver is heard. This can be used to mute a weather radio, for example, when someone keys the repeater. The weather radio will remain muted as long as the repeater receiver is active and for a few seconds afterward (this time can be changed). This is sometimes known as "monitor mute" because it is often used when monitoring another repeater system, weather radio, space shuttle audio, etc. For each transmitter, you can specify the "priority" of each receiver. If two receivers of the same priority are active (keyed up) at the same time, their audio will be mixed (the way the controller always worked in firmware versions V1.80 and earlier). If they have different priority settings, the audio from the lower priority receiver will be muted. <006> tt p Recall settings for TX "tt" <006> tt rr p Set priority for one RX <006> tt rr ss p Set priority for two RX <006> tt rr ss ...qq p Set priority for multiple RX Parameters: - 006 is the default command name. - tt' is the TX number (01..12) - 'rr' is the RX number (01..12) - 'p' is the priority (default priority for all receivers is 4, allowed values are 0..9) Examples: You have a repeater on port 1 and a weather radio on port 2. You want to mute the weather radio if any other receiver can be heard on transmitter 1. If all of the other receivers are still set to their default priority level (4), we just need to set the priority for RX 2 to something less than 4. We will set it to zero in this example. <006> 01 02 0 D or unkey or Notes: Timers (51..56) control how long lower priority receivers stay muted after higher priority receivers become inactive. 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-DSP404 to consider high to be the active level. <013> pp c o Set Active Level <013> pp 0 0 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-DSP404's COR and PL inputs.  If you are not able to enter commands using DTMF, you may need to temporarily fool the RLC-DSP404 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-DSP404, the DSP4 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-DSP404 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. - pp is the port to select the active levels for. - C is the COR polarity, 0 for active low, 1 for active high. - o 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> pp 1 0 D or unkey or Voice Response: "2 1 0" 155: 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 turn off a repeater or link (see the section "Turning a Repeater Off" at the beginning of Chapter 2 for more information), but will get the job done in an emergency. The only way to make the PTT work normally is to execute this command with F=1 or to reinitialize the controller. <155> tt f Parameters: - 155 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 and enabling the PTT. However, if you have the controller set up to require a challenge password and this command is password protected, you will not be able to hear the challenge with the PTT disabled so you won't be able to log on and enable the PTT again. In that case you will have to access the controller another way, such as from another radio port, from the reverse autopatch, or from the serial port. 156: Recall Which PTT are Enabled This command allows you to recall which PTT are enabled and which have been turned off with Command 155. <156> Parameters: - 156 is the default command name. Voice Response: Ports that are set to operate normally are listed. Any ports not listed have their PTT disabled. Normal response: "010203040506070809101112". 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 on a transmitter (see command 007), it will turn off the audio from the receiver that is receiving DTMF digits 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 for a few seconds (see command 020, DTMF mute timers) after each digit is released. If you press another digit during those few seconds (while the audio is still muted), you won't hear any part of the 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 wait 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 constant beeping while digits are being entered 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 editing macro 339. Drop Transmitters When DTMF Muted Option: In some cases (usually for link transmitters), it is desirable to let a transmitter unkey when DTMF is muted rather than transmitting a dead carrier or cover tone while DTMF is muted. Command 007 has an option to enable this. Note that after the DTMF mute starts, the transmitter's hang timer (and mini-hang timer) will run before the PTT will be turned off (the hang time is often very short on link transmitters, so this may not be noticeable). Also note that if there is another reason for the transmitter to stayed keyed up (another connected active receiver, synthesized voice message, etc.), the transmitter remain keyed and the receiver that is entering DTMF will simply be muted. Finally, if the DTMF mute bypass is used, the transmitter will remain keyed so the DTMF digits can be heard. DTMF Mute Options are Set for Each Transmitter: The DTMF mute options are set for each transmitter (not receiver). This means, for example, that if you turn on the DTMF mute for your repeater transmitter, that DTMF tones will be muted on the repeater whether they are received from the repeater receiver, a link receiver, the autopatch, etc. In most systems, the DTMF mute (and often cover tone) are turned on for repeater transmitters. DTMF Mute Bypass: The DTMF mute bypass, if enabled, allows the mute to be temporarily bypassed so DTMF digits can be heard on transmitters where they are normally muted. The mute bypass is activated when the force- execution digit (usually 'D', see command 078 to change) is the first digit detected after a receiver becomes active (when the user keys up). The bypass feature can be used to send DTMF paging codes over a repeater that mutes DTMF digits or for passing commands out a link transmitter that normally mutes DTMF tones. When the DTMF mute is bypassed in this way, the controller ignores the DTMF digits that are entered; they will not cause the controller to execute commands or send error messages. The bypass feature is de-activated when the receiver becomes inactive (when the user unkeys). A typical example involves a repeater and link port. Both transmitters have their DTMF mute functions enabled (possibly with cover tone or the drop-transmitter option), so when DTMF commands are sent to the controller, it will mute the digits. If the DTMF mute bypass feature is turned on for the link transmitter but not for the repeater transmitter, a user can key up, press 'D' to activate the bypass, then enter the DTMF digits. Those digits will be passed out the link transmitters but will still be muted on the repeater transmitter. The 'D' (force-execution digit) 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. There are a variety of ways to deal with this:  Some devices (such as IRLP interfaces) automatically ignore 'D', so even if they do decode the part of the 'D' that is not muted, it won't have any effect.  Install an audio delay module on the receiver the tones are being entered from. That will allow the 'D' to be completely muted, so the listening device won't hear it at all.  If the tones are going to another controller that supports the same command 007 features:  Turn off the DTMF bypass on the other controller so the 'D' won't cause it to ignore the digits  Or see the "Advanced DTMF Mute Bypass Option" described at the end of command 007. It lets you disable the DTMF mute bypass for selected receivers.  If the listening device has a force-execution digit or something similar that will cause it to ignore any digits already received, that digit could be sent after the 'D' and before the other digits.  If the listening device resets when the signal goes away, use command 007 DTMF mute option 2 to drop the transmitter while digits are being muted and set the transmitters hang timer (and mini- hang timer) to zero. When the force-execution digit is detected and muted, the transmitter will drop until that digit is released. Then it will come back up allowing the other digits to be passed through.  Turn DTMF mute off and enter the digits without using a 'D' first. In firmware versions V1.80 and earlier, the DTMF mute bypass could be enabled or disabled for each receiver. If the bypass feature was used, the DTMF mute was disabled on all transmitters. In all firmware versions since then, the DTMF bypass is enabled or disabled individually for each transmitter. It doesn't matter which receiver the DTMF digits are entered from (but see the "Advanced DTMF Mute Bypass Option" at the end of command 007); if the force execution digit is the first digit entered, any transmitters connected to that receiver will have their DTMF mute functions temporarily disabled (until that receiver unkeys). This change makes it possible to normally mute DTMF on both repeater and link outputs and to use the mute bypass to allow DTMF digits to be sent down links without those digits being heard on the repeater output. Passing DTMF Digits Down Links: Link transmitters can be handled in a variety of ways.  If the DTMF mute is left off for link transmitters, all DTMF tones entered on the repeater receiver will be passed down the link (assuming that the repeater and link ports are connected, see command 000). If the controller at the other end of the link is has similar command names to the local controller, it may try to execute commands that are not intended for it. If it has completely different command names (command 061 can help with this), uses preaccess (see Chapter 9), or has some other way of figuring out which commands it should try to process, this can work fine.  If the DTMF mute is turned on for link transmitters and you need to send DTMF tones down the links to the repeater controller on the other end of the link, you have two options: bypass the DTMF mute or make the controller generate DTMF digits.  Command 007 allows the DTMF mute bypass feature to be enabled for link transmitters. Once it is enabled, digits can be passed from the repeater receiver out the link transmitters by keying up, pressing 'D' to activate the mute bypass, then entering the DTMF digits that need to go down the link.  User macros (see Chapter 8) can be executed in response to user-entered DTMF commands. Those macros can be named almost anything from 1 to 6 DTMF digits long using command 010. They can be programmed to send any string of DTMF digits out any transmitter. For example: 010 600 ABC123 ; name macro 600 "ABC123" 055 600 ; make sure macro 600 is empty 056 600 037 2 ; send audio out transmitter 2 056 600 031 01 02 03 04 ; send DTMF "1234" Note that the DTMF digits sent by the macro ("1234") may be completely different than the digits the user entered to cause the macro to be executed ("ABC123"). 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. Occasional falsing can be made less noticeable by reducing the duration of the DTMF mute timers. If you have an audio delay module installed, that timer can be set to one half second or so with no negative consequences. The disadvantage of short DTMF mute timer setting on inputs without audio delay modules is that if you pause between digits, the first digit entered after the pause may be heard on the repeater output. If not using an audio delay module, a mute time of one or two seconds usually works well. The most important thing you can do to minimize falsing is to check your audio levels at each point in the signal chain. If the levels are high enough to cause distortion (even if it is not audible), it will introduce harmonics that can causing DTMF falsing. Chapter 1 includes instructions for setting the audio level received by the controller. 205: Load Personality <205> l ii pp Load personality from list. Parameters: - 'l' is the list type (0 = factory, 1 = user). - 'ii' is the index number of the personality in the list. - pp is the port to load personality 'ii' into. Examples: 205 0 05 07 - load settings from factory personalities #5 into port 7. 205 1 03 05 - load settings from user personalities #3 into port 5. 206: Save Personality <206> pp 'ii' Save port settings from port 'pp' into personality index 'ii' Parameters: - pp is the port to save personality from. - 'ii' is the index identifier to save settings into. Examples: 206 07 05 - save settings from port 7 into personality index 05. 206 05 03 - save settings from port 5 into personality index 03. 007: Configure DTMF Mute/Cover Tone/Bypass This command allows you to configure a what is heard on the specified transmitter when a user enters DTMF digits. By default they are passed through the controller just as any other audio would be. In some cases (such as when you are configuring the controller), it may be preferable to keep the digits from being heard. This command lets you simply mute the digits, mute them and send a cover tone (constant beeping), or drop the transmitter completely while the digits are being entered. A "bypass" function can also be enabled to allow DTMF digits to be passed through (rather than muted) if the force- execution digit (usually "D") is the first DTMF digit pressed after keyup. See the beginning of this chapter for more detailed explanations. <007> pp Recall settings <007> pp m Configure DTMF mute <007> pp m b Configure DTMF mute and bypass <007> pp 0 1 Restore defaults Parameters: - 007 is the default command name. - pp is the port to set up or recall - M turns the DTMF mute on or off 0 - Disables DTMF mute on the selected transmitter (default) 1 - Enable DTMF mute on the selected transmitter 2 - Enable DTMF mute with cover tone on the selected transmitter 3 - Drop the transmitter when DTMF tones are being received - B (optional) turns the DTMF mute bypass on or off 0 - Disable the DTMF bypass for the selected transmitter 1 - Enable the DTMF bypass for the selected transmitter (default) Voice Response: Notes:  A DTMF digit will be muted, cause cover tone, let the transmitter drop, etc. as long as it is held. It will continue to have an effect after it is release for the duration of the DTMF interdigit timer (see Chapter 4) controls how long after a digit is released it will continue to cause muting / cover tone / transmitter drop. Example: For port 1,turn on DTMF mute with cover tone and turn off the mute bypass: <007> pp 2 0 unkey, 'D' or Voice Response "1 2 OFF" 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. Advanced DTMF Mute Bypass Option: An optional digit can be appended to command 007 as described above, using the format "<007> pp m b rr" where "rr" is the additional digit. If "rr" is 1 (the default) and "D" is the first digit entered from receiver "pp", the DTMF bypass will work normally. If "r" is 0, the DTMF bypass feature will not work from receiver "pp". In that case, if "D" (the force-execution digit) is the first digit detected from receiver "p", it will just be ignored and following digits will be processed and muted as if the 'D' was never heard (those DTMF digits can cause commands to be executed, may cause error messages, etc.). It might be useful to disable the DTMF bypass for link receivers. Then if a link receiver hears part of the DTMF "D" coming down the link from another site that is using the DTMF bypass feature to pass DTMF tones out its link transmitter, that 'D' won't cause that link receiver to ignore the following digits. Chapter 4: Timers This chapter deals with the controllers timers and time related issues. The areas dealt with in this chapter are: Programming, starting, restarting and recalling timers Setting and recalling the time-of-day clock 020: Set or Recall a Timer's Duration This command allows you to set the duration of a timer. <020> xxx Recall timer's duration <020> xxx t..t Set timer's duration Parameters:  020 is the default command name.  xxx' is the timer to be programmed (three digits)  t..t' is the value to be programmed into the timer, 0 to 9999, one to four digits. The first group of timers are set in 10mS increments (100 counts per second). The rest of the timers are set in 1 second increments (60 counts per minute, 3600 per hour). Note: When a timer is set, a count variable associated with that timer is set equal to duration of the timer (t..t from command 020). Once the timer is set, the count variable starts counting down from the timer_duration 0 and then stops after expiring. If command 020 is used to set a timer's duration while the timer is running, the count associated with that timer will be adjusted accordingly. If the timer's duration is set to a value less than the current count, the timer will expire immediately. Conversely, if the timer is set to a value greater than the count, the appropriate time will be added to the count to lengthen the timer accordingly. Pseudo Code: IF( count != 0 ) THEN // Timer already running IF( input_duration > current_duration ) THEN count += input_duration - current_duration // Add appropriate time to count current_duration = input_duration // Set new timer's duration ELSE count = 0 // Stop timer, it has already run longer than input_duration current_duration = input_duration // Set new timer's duration END IF ELSE // Timer not running current_duration = input_duration // Set new timer's duration END IF List of Timers Message Start Delay Timer: This timer controls how long the controller will wait before sending any tones or voice messages 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 word 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 duration of this timer before the tone or voice 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 or voice message might be missed. If the tone or voice message 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 Defaults 000 .Message Start Delay Timer, Transmitter 1. . .. . .500mS (050) 001 .Message Start Delay Timer, Transmitter 2. . .. . .500mS (050) 002 .Message Start Delay Timer, Transmitter 3. . .. . .500mS (050) 003 .Message Start Delay Timer, Transmitter 4. . .. . .500mS (050) 004 .Message Start Delay Timer, Transmitter 5. . .. . .500mS (050) 005 .Message Start Delay Timer, Transmitter 6. . .. . .500mS (050) 006 .Message Start Delay Timer, Transmitter 7. . .. . .500mS (050) 007 .Message Start Delay Timer, Transmitter 8. . .. . .500mS (050) 008 .Message Start Delay Timer, Transmitter 9. . .. . .500mS (050) 009 .Message Start Delay Timer, Transmitter 10 . .. . .500mS (050) 010 .Message Start Delay Timer, Transmitter 11 . .. . .500mS (050) 011 .Message Start Delay Timer, Transmitter 12 . .. . .500mS (050) 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 synthesized voice. - This timer is programmed in 10mS increments from 001-9999 - If a timer value of 000 is entered, the transmitter will hang on the air forever. Timer Number Defaults 012 .Courtesy Beep Delay Timer, Receiver 1. .. . .1 sec (100) 013 .Courtesy Beep Delay Timer, Receiver 2. .. . .1 sec (100) 014 .Courtesy Beep Delay Timer, Receiver 3. .. . .1 sec (100) 015 .Courtesy Beep Delay Timer, Receiver 4. .. . .1 sec (100) 016 .Courtesy Beep Delay Timer, Receiver 5. .. . .1 sec (100) 017 .Courtesy Beep Delay Timer, Receiver 6. .. . .1 sec (100) 018 .Courtesy Beep Delay Timer, Receiver 7. .. . .1 sec (100) 019 .Courtesy Beep Delay Timer, Receiver 8. .. . .1 sec (100) 020 .Courtesy Beep Delay Timer, Receiver 9. .. . .1 sec (100) 021 .Courtesy Beep Delay Timer, Receiver 10 .. . .1 sec (100) 022 .Courtesy Beep Delay Timer, Receiver 11 .. . .1 sec (100) 023 .Courtesy Beep Delay Timer, Receiver 12 .. . .1 sec (100) 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 only has an effect when a connected receiver has been active since the PTT went active; otherwise this timer is ignored and the mini-hang timer (timer 063..074) is the only thing that will cause a delay. You must set the mini-hang timer shorter than this timer or this timer won't have any effect, as the actual delay is the longer of the two timers. - This timer is programmed in 10mS increments from 000-9999 (000 is OK). Timer Number Defaults 024 .Hang Timer for Transmitter 1 .. . .2 sec (200) 025 .Hang Timer for Transmitter 2 .. . .2 sec (200) 026 .Hang Timer for Transmitter 3 .. . .2 sec (200) 027 .Hang Timer for Transmitter 4 .. . .2 sec (200) 028 .Hang Timer for Transmitter 5 .. . .2 sec (200) 029 .Hang Timer for Transmitter 6 .. . .2 sec (200) 030 .Hang Timer for Transmitter 7 .. . .2 sec (200) 031 .Hang Timer for Transmitter 8 .. . .2 sec (200) 032 .Hang Timer for Transmitter 9 .. . .2 sec (200) 033 .Hang Timer for Transmitter 10.. . .2 sec (200) 034 .Hang Timer for Transmitter 11.. . .2 sec (200) 035 .Hang Timer for Transmitter 12.. . .2 sec (200) DTMF Mute Timer: This timer controls the amount of time a receiver entering DTMF stays muted after a DTMF digit is released (assuming the DTMF mute is enabled with command 007). If following digits are entered within the duration of this timer after the previous digit is released, they will be completely muted. If this timer is set shorter than the time between digits, the beginning of the following digits will be heard. In other words, setting this timer longer allows DTMF digits to be entered more slowly without hearing the beginning of the second and following digits. The disadvantage of increasing the duration of this timer is that if the DTMF decoder voice falses (see the beginning of Chapter 3 for more information about voice falsing), it will mute the voice longer.  If an audio delay module is installed for a receiver, this timer can be set quite short (to the length of the delay, usually about 100mS) or slightly longer. The audio delay module will keep the beginning of any digits from being heard and the short delay will minimize the problems with voice falsing. If it is set too short, the end of each digit may be heard (if the controller quits muting before the audio gets through the audio delay module).  This timer is programmed in 10mS Increments from 001-9999  If a timer value of 000 is entered, your audio will be muted forever, so if you want it to be as short as possible, enter 001 Timer Number Defaults 036 .DTMF Mute Timer, Receiver 1. .. . .1 sec (100) 037 .DTMF Mute Timer, Receiver 2. .. . .1 sec (100) 038 .DTMF Mute Timer, Receiver 3. .. . .1 sec (100) 039 .DTMF Mute Timer, Receiver 4. .. . .1 sec (100) 040 .DTMF Mute Timer, Receiver 5. .. . .1 sec (100) 041 .DTMF Mute Timer, Receiver 6. .. . .1 sec (100) 042 .DTMF Mute Timer, Receiver 7. .. . .1 sec (100) 043 .DTMF Mute Timer, Receiver 8. .. . .1 sec (100) 044 .DTMF Mute Timer, Receiver 9. .. . .1 sec (100) 045 .DTMF Mute Timer, Receiver 10 .. . .1 sec (100) 046 .DTMF Mute Timer, Receiver 11 .. . .1 sec (100) 047 .DTMF Mute Timer, Receiver 12 .. . .1 sec (100) I/O Polling Timer: This timer determines how often the controller checks to see if any of the analog/digital 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 Defaults 048 .I/O Polling Timer .. . .1 sec (100) Courtesy Beep After Voice or Tones Timer: This timer keeps a courtesy beep from being sent immediately after a voice message. It sets the minimum amount of time the controller will wait after the voice and tone generators stop before a courtesy beep will be sent. The courtesy beep delay timers (timers 012..023) control how long after unkeying the controller will wait, but if they have already expired and the courtesy beep is just waiting for the voice to finish, this timer will have an effect. An example of this is when you kerchunk a repeater after a long period of inactivity and then wait for the initial ID then the courtesy beep. - This timer is programmed in 10mS Increments from 001-9999 Timer Number Defaults 049 .Courtesy Beep After Voice Timer, Transmitter 1 . .. . .1 sec (100) 050 .Courtesy Beep After Voice Timer, Transmitter 2 . .. . .1 sec (100) 051 .Courtesy Beep After Voice Timer, Transmitter 3 . .. . .1 sec (100) 052 .Courtesy Beep After Voice Timer, Transmitter 4 . .. . .1 sec (100) 053 .Courtesy Beep After Voice Timer, Transmitter 5 . .. . .1 sec (100) 054 .Courtesy Beep After Voice Timer, Transmitter 6 . .. . .1 sec (100) 055 .Courtesy Beep After Voice Timer, Transmitter 7 . .. . .1 sec (100) 056 .Courtesy Beep After Voice Timer, Transmitter 8 . .. . .1 sec (100) 057 .Courtesy Beep After Voice Timer, Transmitter 9 . .. . .1 sec (100) 058 .Courtesy Beep After Voice Timer, Transmitter 10. .. . .1 sec (100) 059 .Courtesy Beep After Voice Timer, Transmitter 11. .. . .1 sec (100) 060 .Courtesy Beep After Voice Timer, Transmitter 12. .. . .1 sec (100) Doug Hall RBI-1 or RLC-ICM Delayed Send Timer: Buffers inside the RBI-1 or the RLC-ICM overflow if it is sent too many changes too quickly. The RLC-DSP404 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 duration of this timer. This timer also affects the RLC-ICM. - This timer is programmed in 10mS Increments from 001-9999 Timer Number Defaults 061 .RBI-1 or RLC-ICM Delayed Send Timer . .. . .500 mS (050) HF Radio Scan Delay Timer: This timer determines how quickly the HF radio will scan by controlling how long it waits before sending the next frequency step. Smaller timer values make it scan more quickly. It affects all three scan step sizes (slow, medium and fast) equally. It also has an effect on how quickly other changes are sent to the radio, although reasonable changes in that time won't be very noticeable. There is a limit to how quickly the controller can send command to the radio, so if setting this timer to a smaller value doesn't increase the scan speed past a certain point, you have probably reached that limit. Some radios such as the Yaesu FT-767 require an acknowledgment to be sent after every command. This causes them to scan only half as fast as other radios given the same scan timer setting (since the controller has to send the frequency command and the acknowledgment for each step). When using those radios, you may wish to set the scan timer to about the duration you would for other radios. - This timer is programmed in 10mS Increments from 001-9999 Timer Number Defaults 062 .HF Scan Delay Timer . . .. . .500 mS (050) Transmitter Mini-Hang Timer: This timer holds the transmitter PTT active for a minimum time after any keying source (connected receiver, synthesized voice, 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 (024..035); the actual hang time will be the longer of the two. - This timer is programmed in 10mS increments from 000-9999 Timer Number Defaults 063 .Mini-Hang Timer, Transmitter 1. . .. . .500 mS (050) 064 .Mini-Hang Timer, Transmitter 2. . .. . .500 mS (050) 065 .Mini-Hang Timer, Transmitter 3. . .. . .500 mS (050) 066 .Mini-Hang Timer, Transmitter 4. . .. . .500 mS (050) 067 .Mini-Hang Timer, Transmitter 5. . .. . .500 mS (050) 068 .Mini-Hang Timer, Transmitter 6. . .. . .500 mS (050) 069 .Mini-Hang Timer, Transmitter 7. . .. . .500 mS (050) 070 .Mini-Hang Timer, Transmitter 8. . .. . .500 mS (050) 071 .Mini-Hang Timer, Transmitter 9. . .. . .500 mS (050) 072 .Mini-Hang Timer, Transmitter 10 . .. . .500 mS (050) 073 .Mini-Hang Timer, Transmitter 11 . .. . .500 mS (050) 074 .Mini-Hang Timer, Transmitter 12 . .. . .500 mS (050) 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 duration of this timer (the rest of this explanation will assume 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 279..290. If this timer is set to zero (the default), the keyup delay is disabled. A typical setting would be 50, which is second. Timer Number Defaults 075 .Keyup Delay Timer, Receiver 1.. . .0 (Disabled) 076 .Keyup Delay Timer, Receiver 2.. . .0 (Disabled) 077 .Keyup Delay Timer, Receiver 3.. . .0 (Disabled) 078 .Keyup Delay Timer, Receiver 4.. . .0 (Disabled) 079 .Keyup Delay Timer, Receiver 5.. . .0 (Disabled) 080 .Keyup Delay Timer, Receiver 6.. . .0 (Disabled) 081 .Keyup Delay Timer, Receiver 7.. . .0 (Disabled) 082 .Keyup Delay Timer, Receiver 8.. . .0 (Disabled) 083 .Keyup Delay Timer, Receiver 9.. . .0 (Disabled) 084 .Keyup Delay Timer, Receiver 10. . .. . .0 (Disabled) 085 .Keyup Delay Timer, Receiver 11. . .. . .0 (Disabled) 086 .Keyup Delay Timer, Receiver 12. . .. . .0 (Disabled) Wind Speed Timer: This timer is used to help determine the wind speed indicated by an anemometer. The number of pulses counted during the duration of this timer becomes the pseudo-analog value. For more information, see command 109. Timer Number Defaults 087 .Wind Speed Timer . .. . .2.26 sec (226) Word Too Long Timer: There is no need to change this timer! It is used to ensure that even if the voice synthesizer messes up, that it will not cause the controller to leave a transmitter keyed. If a word takes longer than this timer, it will be truncated and the controller will go on to the next word. Timer Number Defaults 088 .Word Too Long Timer . . .. . .1.5 sec (150) Receiver Priority Mute Timer: This timer keeps lower priority receivers (as set with command 006) muted for the specified time after a higher priority receiver becomes inactive. - This timer is programmed in 10mS increments from 000-9999 Timer Number Defaults 089 .Receiver Priority Mute Timer, Receiver 1. . .. . .150 mS (015) 090 .Receiver Priority Mute Timer, Receiver 2. . .. . .150 mS (015) 091 .Receiver Priority Mute Timer, Receiver 3. . .. . .150 mS (015) 092 .Receiver Priority Mute Timer, Receiver 4. . .. . .150 mS (015) 093 .Receiver Priority Mute Timer, Receiver 5. . .. . .150 mS (015) 094 .Receiver Priority Mute Timer, Receiver 6. . .. . .150 mS (015) 095 .Receiver Priority Mute Timer, Receiver 7. . .. . .150 mS (015) 096 .Receiver Priority Mute Timer, Receiver 8. . .. . .150 mS (015) 097 .Receiver Priority Mute Timer, Receiver 9. . .. . .150 mS (015) 098 .Receiver Priority Mute Timer, Receiver 10 . .. . .150 mS (015) 099 .Receiver Priority Mute Timer, Receiver 11 . .. . .150 mS (015) 100 .Receiver Priority Mute Timer, Receiver 12 . .. . .150 mS (015) Receiver Force Half Duplex Timer: - This timer is programmed in 10mS increments from 000-9999 Timer Number Defaults 101 .Receiver Force Half Duplex Timer, Receiver 1.. . .0 (disabled) 102 .Receiver Force Half Duplex Timer, Receiver 2.. . .0 (disabled) 103 .Receiver Force Half Duplex Timer, Receiver 3.. . .0 (disabled) 104 .Receiver Force Half Duplex Timer, Receiver 4.. . .0 (disabled) 105 .Receiver Force Half Duplex Timer, Receiver 5.. . .0 (disabled) 106 .Receiver Force Half Duplex Timer, Receiver 6.. . .0 (disabled) 107 .Receiver Force Half Duplex Timer, Receiver 7.. . .0 (disabled) 108 .Receiver Force Half Duplex Timer, Receiver 8.. . .0 (disabled) 109 .Receiver Force Half Duplex Timer, Receiver 9.. . .0 (disabled) 110 .Receiver Force Half Duplex Timer, Receiver 10. . .. . .0 (disabled) 111 .Receiver Force Half Duplex Timer, Receiver 11. . .. . .0 (disabled) 112 .Receiver Force Half Duplex Timer, Receiver 12. . .. . .0 (disabled) Recently Active Receiver Timer: - This timer is programmed in 10mS increments from 000-9999 Timer Number Defaults 113 .Recently Active RX/TX Timer, Port 1. . .. . .1 mS (default) 114 .Recently Active RX/TX Timer, Port 2. . .. . .1 mS (default) 115 .Recently Active RX/TX Timer, Port 3. . .. . .1 mS (default) 116 .Recently Active RX/TX Timer, Port 4. . .. . .1 mS (default) 117 .Recently Active RX/TX Timer, Port 5. . .. . .1 mS (default) 118 .Recently Active RX/TX Timer, Port 6. . .. . .1 mS (default) 119 .Recently Active RX/TX Timer, Port 7. . .. . .1 mS (default) 120 .Recently Active RX/TX Timer, Port 8. . .. . .1 mS (default) 121 .Recently Active RX/TX Timer, Port 9. . .. . .1 mS (default) 122 .Recently Active RX/TX Timer, Port 10 . .. . .1 mS (default) 123 .Recently Active RX/TX Timer, Port 11 . .. . .1 mS (default) 124 .Recently Active RX/TX Timer, Port 12 . .. . .1 mS (default) Patch Link Wait Before Idle Timer: - This timer is programmed in 10mS increments from 000-9999 Timer Number Defaults 125 .Patch Link Wait Before Idle Timer, Port 1 . .. . .200 mS (default) 126 .Patch Link Wait Before Idle Timer, Port 2 . .. . .200 mS (default) 127 .Patch Link Wait Before Idle Timer, Port 3 . .. . .200 mS (default) 128 .Patch Link Wait Before Idle Timer, Port 4 . .. . .200 mS (default) 129 .Patch Link Wait Before Idle Timer, Port 5 . .. . .200 mS (default) 130 .Patch Link Wait Before Idle Timer, Port 6 . .. . .200 mS (default) 131 .Patch Link Wait Before Idle Timer, Port 7 . .. . .200 mS (default) 132 .Patch Link Wait Before Idle Timer, Port 8 . .. . .200 mS (default) 133 .Patch Link Wait Before Idle Timer, Port 9 . .. . .200 mS (default) 134 .Patch Link Wait Before Idle Timer, Port 10. .. . .200 mS (default) 135 .Patch Link Wait Before Idle Timer, Port 11. .. . .200 mS (default) 136 .Patch Link Wait Before Idle Timer, Port 12. .. . .200 mS (default) Console PTT Force Inactive Timer: - This timer is programmed in 10mS increments from 000-9999 Timer Number Defaults 137 .Console PTT Force Inactive Timer, Port 1 . .. . .100 mS (default) 138 .Console PTT Force Inactive Timer, Port 2 . .. . .100 mS (default) 139 .Console PTT Force Inactive Timer, Port 3 . .. . .100 mS (default) 140 .Console PTT Force Inactive Timer, Port 4 . .. . .100 mS (default) 141 .Console PTT Force Inactive Timer, Port 5 . .. . .100 mS (default) 142 .Console PTT Force Inactive Timer, Port 6 . .. . .100 mS (default) 143 .Console PTT Force Inactive Timer, Port 7 . .. . .100 mS (default) 144 .Console PTT Force Inactive Timer, Port 8 . .. . .100 mS (default) 145 .Console PTT Force Inactive Timer, Port 9 . .. . .100 mS (default) 146 .Console PTT Force Inactive Timer, Port 10. .. . .100 mS (default) 147 .Console PTT Force Inactive Timer, Port 11. .. . .100 mS (default) 148 .Console PTT Force Inactive Timer, Port 12. .. . .100 mS (default) Impolite ID Timer: This timer waits until either the timer expires or activity goes away before sending an ID. - This timer is programmed in 1Sec increments from 001-9999 - If a timer value of 000 is entered, the controller will not interrupt a conversation to send an ID. Timer Number Defaults 160 .Impolite ID Timer, Transmitter 1. .. . .20 sec (020) 161 .Impolite ID Timer, Transmitter 2. .. . .20 sec (020) 162 .Impolite ID Timer, Transmitter 3. .. . .20 sec (020) 163 .Impolite ID Timer, Transmitter 4. .. . .20 sec (020) 164 .Impolite ID Timer, Transmitter 5. .. . .20 sec (020) 165 .Impolite ID Timer, Transmitter 6. .. . .20 sec (020) 166 .Impolite ID Timer, Transmitter 7. .. . .20 sec (020) 167 .Impolite ID Timer, Transmitter 8. .. . .20 sec (020) 168 .Impolite ID Timer, Transmitter 9. .. . .20 sec (020) 169 .Impolite ID Timer, Transmitter 10 .. . .20 sec (020) 170 .Impolite ID Timer, Transmitter 11 .. . .20 sec (020) 171 .Impolite ID Timer, Transmitter 12 .. . .20 sec (020) Initial ID Timer: This timer times the amount of inactivity before an initial ID is sent. - This timer is programmed in 1Sec increments from 001-9999 - If a timer value of 000 is entered, the controller will never send an initial ID. Timer Number Defaults 172 .Initial ID Timer, Transmitter 1 . .. . .10 min (600) 173 .Initial ID Timer, Transmitter 2 . .. . .10 min (600) 174 .Initial ID Timer, Transmitter 3 . .. . .10 min (600) 175 .Initial ID Timer, Transmitter 4 . .. . .10 min (600) 176 .Initial ID Timer, Transmitter 5 . .. . .10 min (600) 177 .Initial ID Timer, Transmitter 6 . .. . .10 min (600) 178 .Initial ID Timer, Transmitter 7 . .. . .10 min (600) 179 .Initial ID Timer, Transmitter 8 . .. . .10 min (600) 180 .Initial ID Timer, Transmitter 9 . .. . .10 min (600) 181 .Initial ID Timer, Transmitter 10. .. . .10 min (600) 182 .Initial ID Timer, Transmitter 11. .. . .10 min (600) 183 .Initial ID Timer, Transmitter 12. .. . .10 min (600) Pending ID Timer: This timer times inner activity ID timer so a proper Pending ID can be send during activity. - This timer is programmed in 1Sec increments from 001-9999 - If a timer value of 000 is entered, the controller will never send a rotating ID. - 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 duration of this timer plus the duration of the impolite ID timer is less than 10 minutes to meet requirements for ID timing. Timer Number Defaults 184 .Pending ID Timer, Transmitter 1 . .. . .9 min (540) 185 .Pending ID Timer, Transmitter 2 . .. . .9 min (540) 186 .Pending ID Timer, Transmitter 3 . .. . .9 min (540) 187 .Pending ID Timer, Transmitter 4 . .. . .9 min (540) 188 .Pending ID Timer, Transmitter 5 . .. . .9 min (540) 189 .Pending ID Timer, Transmitter 6 . .. . .9 min (540) 190 .Pending ID Timer, Transmitter 7 . .. . .9 min (540) 191 .Pending ID Timer, Transmitter 8 . .. . .9 min (540) 192 .Pending ID Timer, Transmitter 9 . .. . .9 min (540) 193 .Pending ID Timer, Transmitter 10. .. . .9 min (540) 194 .Pending ID Timer, Transmitter 11. .. . .9 min (540) 195 .Pending ID Timer, Transmitter 12. .. . .9 min (540) Timeout Timers: This timer times how long each receiver has been active. If the receiver is active longer than the duration of this timer, it is disabled until it goes inactive, and its time out message (see Chapter 8 for list of macros) is sent out all transmitters that are connected to it. It is reset and the time out clear message is sent when a timed out receiver goes inactive (or when the courtesy beep is sent, if that option is enabled with command 041). - This timer is programmed in 1 second increments from 001-9999 - If a timer value of 000 is entered, the controller will never time-out. - By default the time out timer is reset as soon as a receiver unkeys. To make it wait until the courtesy beep to reset (which may help discourage "tailgating"), see command 041. Timer Number Defaults 196 .Time Out Timer, Receiver 1 . .. . .3 min (180) 197 .Time Out Timer, Receiver 2 . .. . .3 min (180) 198 .Time Out Timer, Receiver 3 . .. . .3 min (180) 199 .Time Out Timer, Receiver 4 . .. . .3 min (180) 200 .Time Out Timer, Receiver 5 . .. . .3 min (180) 201 .Time Out Timer, Receiver 6 . .. . .3 min (180) 202 .Time Out Timer, Receiver 7 . .. . .3 min (180) 203 .Time Out Timer, Receiver 8 . .. . .3 min (180) 204 .Time Out Timer, Receiver 9 . .. . .3 min (180) 205 .Time Out Timer, Receiver 10. .. . .3 min (180) 206 .Time Out Timer, Receiver 11. .. . .3 min (180) 207 .Time Out Timer, Receiver 12. .. . .3 min (180) Dial Tone Timers: These timers are used to limit how long the dial tone will run. The dial tone can also be stopped by other things, such as a DTMF character being entered on the port the dial tone is being set out of or the preaccess timer expiring (since indicating that a link has been preaccessed is what dial tone is used for most). If you want to generate dial tone that can't be stopped by any of these things, use Command 040 and generate a two tone chord with frequencies of 350 and 440 Hz. - This timer is programmed in 1Sec increments from 001-9999 - If a timer value of 000 is entered, this timer will never stop the dial tone. Timer Number Defaults 208 .Dial Tone Timer, Transmitter 1. . .. . .8 sec (008) 209 .Dial Tone Timer, Transmitter 2. . .. . .8 sec (008) 210 .Dial Tone Timer, Transmitter 3. . .. . .8 sec (008) 211 .Dial Tone Timer, Transmitter 4. . .. . .8 sec (008) 212 .Dial Tone Timer, Transmitter 5. . .. . .8 sec (008) 213 .Dial Tone Timer, Transmitter 6. . .. . .8 sec (008) 214 .Dial Tone Timer, Transmitter 7. . .. . .8 sec (008) 215 .Dial Tone Timer, Transmitter 8. . .. . .8 sec (008) 216 .Dial Tone Timer, Transmitter 9. . .. . .8 sec (008) 217 .Dial Tone Timer, Transmitter 10 . .. . .8 sec (008) 218 .Dial Tone Timer, Transmitter 11 . .. . .8 sec (008) 219 .Dial Tone Timer, Transmitter 12 . .. . .8 sec (008) Preaccess Timers: These timers control how long the "window" of access is between when you enter the preaccess code and when you have to enter a DTMF digit or be locked out. It starts running again as soon as each DTMF digit is released, and will lock you out if it expires. When it expires, it throws away whatever DTMF digits have been entered so far and won't accept any more commands until the controller is accessed again. It also stops the dial tone when it expires. - This timer is programmed in 1Sec increments from 001-9999 - If a timer value of 000 is entered, this timer will never expire. Timer Number Defaults 220 .Preaccess Timer, Port 1 .. . .8 sec (008) 221 .Preaccess Timer, Port 2 .. . .8 sec (008) 222 .Preaccess Timer, Port 3 .. . .8 sec (008) 223 .Preaccess Timer, Port 4 .. . .8 sec (008) 224 .Preaccess Timer, Port 5 .. . .8 sec (008) 225 .Preaccess Timer, Port 6 .. . .8 sec (008) 226 .Preaccess Timer, Port 7 .. . .8 sec (008) 227 .Preaccess Timer, Port 8 .. . .8 sec (008) 228 .Preaccess Timer, Port 9 .. . .8 sec (008) 229 .Preaccess Timer, Port 10.. . .8 sec (008) 230 .Preaccess Timer, Port 11.. . .8 sec (008) 231 .Preaccess Timer, Port 12.. . .8 sec (008) 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 special macro (see Chapter 8) is automatically executed. This allows you to start these timers when certain things in the controller happen, and do something when the timer expires. These timers are programmed in one second increments. Timer Number Defaults 232 .User Timer 00 .. . .0 sec (000) 233 .User Timer 01 .. . .0 sec (000) 234 .User Timer 02 .. . .0 sec (000) 235 .User Timer 03 .. . .0 sec (000) 236 .User Timer 04 .. . .0 sec (000) 237 .User Timer 05 .. . .0 sec (000) 238 .User Timer 06 .. . .0 sec (000) 239 .User Timer 07 .. . .0 sec (000) 240 .User Timer 08 .. . .0 sec (000) 241 .User Timer 09 .. . .0 sec (000) 242 .User Timer 10 .. . .0 sec (000) 243 .User Timer 11 .. . .0 sec (000) 244 .User Timer 12 .. . .0 sec (000) 245 .User Timer 13 .. . .0 sec (000) 246 .User Timer 14 .. . .0 sec (000) 247 .User Timer 15 .. . .0 sec (000) 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 duration 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 Defaults 248 .DTMF Interdigit Timer, Receiver 1 .. . .5 sec (005) 249 .DTMF Interdigit Timer, Receiver 2 .. . .5 sec (005) 250 .DTMF Interdigit Timer, Receiver 3 .. . .5 sec (005) 251 .DTMF Interdigit Timer, Receiver 4 .. . .5 sec (005) 252 .DTMF Interdigit Timer, Receiver 5 .. . .5 sec (005) 253 .DTMF Interdigit Timer, Receiver 6 .. . .5 sec (005) 254 .DTMF Interdigit Timer, Receiver 7 .. . .5 sec (005) 255 .DTMF Interdigit Timer, Receiver 8 .. . .5 sec (005) 256 .DTMF Interdigit Timer, Receiver 9 .. . .5 sec (005) 257 .DTMF Interdigit Timer, Receiver 10.. . .5 sec (005) 258 .DTMF Interdigit Timer, Receiver 11.. . .5 sec (005) 259 .DTMF Interdigit Timer, Receiver 12.. . .5 sec (005) 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 001-9999 Timer Number Defaults 260 .Reverse Patch Ring Timer . . .. . .10 sec (010) User Log-off Timer: This timer specifies the amount of time between correctly executed command entries that a user has before the controller logs the user off the system. Timer Number Defaults 261 .Log-off timer for Port 1.. . .300 sec (300) 262 .Log-off timer for Port 2.. . .300 sec (300) 263 .Log-off timer for Port 3.. . .300 sec (300) 264 .Log-off timer for Port 4.. . .300 sec (300) 265 .Log-off timer for Port 5.. . .300 sec (300) 266 .Log-off timer for Port 6.. . .300 sec (300) 267 .Log-off timer for Port 7.. . .300 sec (300) 268 .Log-off timer for Port 8.. . .300 sec (300) 269 .Log-off timer for Port 9.. . .300 sec (300) 270 .Log-off timer for Port 10. . .. . .300 sec (300) 271 .Log-off timer for Port 11. . .. . .300 sec (300) 272 .Log-off timer for Port 12. . .. . .300 sec (300) 273 .Log-off timer for the Serial Port .300 sec (300) 274 .Log-off timer for the Webserver . .300 sec (300) 275 .Log-off timer for Telnet Server 1 .. . .300 sec (300) 276 .Log-off timer for Telnet Server 2 .. . .300 sec (300) 277 .Log-off timer for Telnet Server 3 .. . .300 sec (300) 278 .Log-off timer for Telnet Server 4 .. . .300 sec (300) Beacon Timer: This timer specifies the amount of time the controller will wait before trying to send the next beacon. See Chapter 19 for more information about the beaconing system. Timer Number Defaults 279 .Beacon Timer .. . .1 sec (001) 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 075..086 for more information. Timer Number Defaults 280 .Re-Enable Keyup Delay Timer, RX 1 .. . .60 sec (060) 281 .Re-Enable Keyup Delay Timer, RX 2 .. . .60 sec (060) 282 .Re-Enable Keyup Delay Timer, RX 3 .. . .60 sec (060) 283 .Re-Enable Keyup Delay Timer, RX 4 .. . .60 sec (060) 284 .Re-Enable Keyup Delay Timer, RX 5 .. . .60 sec (060) 285 .Re-Enable Keyup Delay Timer, RX 6 .. . .60 sec (060) 286 .Re-Enable Keyup Delay Timer, RX 7 .. . .60 sec (060) 287 .Re-Enable Keyup Delay Timer, RX 8 .. . .60 sec (060) 288 .Re-Enable Keyup Delay Timer, RX 9 .. . .60 sec (060) 289 .Re-Enable Keyup Delay Timer, RX 10.. . .60 sec (060) 290 .Re-Enable Keyup Delay Timer, RX 11.. . .60 sec (060) 291 .Re-Enable Keyup Delay Timer, RX 12.. . .60 sec (060) 021: Restart a Timer (if already running) 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 with the user timers (timers 232..247). This command allows you to restart a timer if it is currently running. This means that the count associated with the timer has not yet expired (count = 0). When recall the timer, get a message like this, "Timer TTT LL count CC" where TTT is the timer number, LL is the duration it is set to, and CC is the current count, the amount of time left before it expires if it is currently running. Also see command 022. <021> xxx Parameters: - 021 is the default command name. - XXX is the timer to restart (three digits, see command 020 for list of timers) Pseudo Code: IF( count != 0 ) THEN // Timer already running count = timer_duration // Start timer over at beginning END IF 022: Start/Restart a Timer 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 (timers 232..247) start running. This command sets the count variable associated with a specific timer equal to the duration of the timer set with command 020 or to a value specified in this command. Once the count variable is set, the countdown to expiration begins. If the timer is already running, this command will make it start over. <022> xxx Start timer xxx' for the duration set with command 020 <022> xxx t..t Start timer xxx' for duration t..t' Parameters: - 022 is the default command name. - xxx' is the timer to start (three digits, see command 020 for list of timers) - t..t' is the duration the timer should run for this time only. This does not permanently change the duration of the timer; that is what command 020 is for. Notes: Some timers (such as the ID timers) are reset to their normal duration periodically by the firmware, so command 022 may be ineffective on those timers. If a timer's normal duration has been set to 0 with command 020, it will not run even if you specify a value for t..t with command 022. A duration of zero set with command 020 totally disables the timer. Pseudo Code: IF( Setting new temp_time ) THEN count = input_duration // Start timer for temporary duration ELSE count = timer_duration // Start timer for duration set by command 020 END IF 023: Stop a Timer This command allows you to stop a timer, so that it will not finish counting down and eventually expire. 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 timer number Pseudo Code: count = 0 // Stop timer 025: Sets the Time of Day Clock This command allows you to set the time of day clock on the RLC-DSP404. <025> hh mm a/p Parameters: - 025 is the default command name. - HH is the actual hours with leading zeros - MM is the actual minutes with leading zeros - a/p is the AM/PM selection (1=PM, 0=AM) Example: Want to set the time to 3:25 PM <025> 03 25 1 D or unkey or Voice Response: " " 026: Recall the Time of Day Clock in Male Speech This command allows you to read the Time of Day Clock. The readback is Male time reading. Refer to Command 025 for setting the clocks time. <026> Parameters: - 026 is the default command name. Voice Response: "Male voice: " 027: Recall the Time of Day Clock in Female Speech This command allows you to read the Time of Day Clock. The readback is Female time reading. Refer to Command 025 for setting the clocks time. <027> Parameters: - 027 is the default command name. Voice Response: "Female voice: " 028: Sets the Date This command allows you to set the date on the RLC-DSP404 Clock. <028> mm dd yy w Parameters: - 028 is the default command name. - MM is the month with leading zeros - DD is the day of the month with leading zeros - YY is the last two digits of the year W is the day of the week Number Day 1 Sunday 2 Monday 3 Tuesday 4 Wednesday 5 Thursday 6 Friday 7 Saturday Example: Want to set the date to January 2, 1996 <028> 01 02 96 3 029: Recall the Date This command allows you to read the date stamp of the controller. The readback is Male date reading. Refer to Command 028 for setting the date. <029> Note: if you want to recall the date as part of a message, you may want to try the variable words (Appendix B, words 800 and above). Speaking those words with command 036 will let you format the date readback any way you like it. Parameters: - 029 is the default command name. Voice Response: "This is " 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-DSP404 controller has 1000 commands. The first 300 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 IDs, 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 1000 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 300 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..999. So to recall the time (command 026), you would just enter 026 and unkey. To set the time (command 025), you would enter "025" followed by the current time (two digits for the hour, two digits for the minute, and one digit to specify AM or PM). 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. 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 rename the command number to the new name, not the old name to the new 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 and 131) 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 10 was changed, that would no longer work. If we enter "N010 009 ABC", it will work even if command 10 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 forgotten 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 have 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 036 would have a minimum data length of 3, but could be longer. Other checking such as making sure that the data for 036 is a multiple of three 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. 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. 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. If you change the "Retrieve Public Mail" command (177) to have the name "12", then enter "123" to get the mail from mailbox 3, you may instead execute command "123" because it also matches and has a longer name. If command 123 needs additional digits after the command name, the controller will figure out what you mean, but sometimes it just can't tell. So when you rename commands, keep in mind that any name that is the same as the beginning of another name might be ambiguous. 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. Another example: your autopatch up code is '*' and your autodial slot is number 43. Pressing "*43" normally causes the response, "Autodial 43". You want to make it say "KC7HXB home" instead. To do this, make a macro called "*43" and make it speak that voice response, then make the call. '*' followed by any other number will still make it say "Autodial", but "*43" will find the macro and cause your custom message. This technique can also be used to turn off the time out timer for emergency numbers. It is possible, although not recommended, to give several commands the same name. For example, 000, 009 and 036 could all be named "ABC" and the controller would always be able to figure out which one you wanted because of the information stored in the command table. Command 000 always takes exactly two data digits, 009 never takes any, and command 036 requires three or more. So "ABC" would select command 009, "ABC12" would select command 000 and connect ports 1 and 2, and "ABC001002003" would make command 036 speak "one two three". This feature is most often used when trying to clone the command codes used on a previous controller, using more than one command on this controller. 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 re-name 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 999 Voice Response: "Change " The new name is not read back for security. To check that the command was renamed correctly, use "011 ". 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 D or unkey or 4) Voice response: "Change thirteen" Example #2: You changed your 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 D or unkey or 4) Voice response: "Change thirteen" 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 accidentally 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 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 999 # D or unkey or 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 D or unkey or 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 name 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-999 Voice Response: The voice response is XXX 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 word "Variable" is spoken, the controller will accept more than the specified number of digits. If not, exactly that many digits must be entered. See the discussion about command names and numbers at the beginning of this chapter for more information. Parameters: - 011 is the default command name. -- This command recalls the command number for the associated command name - YYYYYY is the command name with default command name of 000-999 Voice Response: The voice response is "Command Number (000-999)" is YYYYYY 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-999 Voice Response: The voice response is "y..y is , ..." or "y..y is not used" if there are no commands that have that name. Blocking Execution from Certain Ports Purpose of these commands: The following two commands allow you to mark (or unmark) certain commands so that they can not be executed from certain ports. You might want to use them 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. You could call these commands from the scheduler to disable some or all of the commands at night. This adds a lot of security to your controller. Caution: Because these commands can keep you from executing commands, they can lock you out of your own controller. If you have a terminal or computer hooked up to the serial port, these commands 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 accidentally, enter the following commands: Command 010 130 D or unkey or Command 010 131 D or unkey or These commands erase the names of command numbers 130 and 131 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 command 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 and the reverse autopatch. Command 131 x 000 999 D or unkey or --- x is the port number you are trying to restore access to 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> ccc Recall which ports are blocked from executing this command <130> pp ccc Block execution for a single command <130> pp ccc ddd Block execution for a range of commands Parameters: - 130 is the default command name. - pp is the port to block access by (use '0*' for the current port, see Appendix L) - CCC is the first command number to block - DDD is the last command number in the range of commands to block 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> ccc Recall which ports are blocked from executing this command <131> pp ccc Allow execution for a single command <131> pp ccc ddd Allow execution for a range of commands Parameters: - 131 is the default command name. - P is the port to allow access by (use '0*' for the current port, see Appendix L) - CCC is the first command number to allow - DDD is the last command number in the range of commands to allow Chapter 6: CW, DTMF, Voice and DVR Messages This chapter deals with all of the different types of messages that can be sent from the controller: CW, DTMF, synthesized voice and real voice from the digital voice recorder. Sending of CW Messages - CW speed and tone control DTMF regeneration - Regeneration parameters Send a Voice message 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, IDs 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 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 . C W 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 . Notes: This table is duplicated in Appendix C for ease of reference. 118: Send a Morse Code Message This command allows you to send a morse code message. Example: 118 KC7HXB/R - Sends the string "KC7HXB/R" via morse code. 031: Send a DTMF Sequence This command allows you to send DTMF tones. For each DTMF digit sent, two digits must be entered (that allows special characters like pause and the force-execution digit (see command 078) to be sent). They 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). See Command 044 to set up the duration of the tones and pauses between tones. See command 069 (below) for an alternate way to send DTMF 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 D or unkey or 069: Send a DTMF To Specified Transmitter This command allows you to send DTMF tones to a specified transmitter. The digits are sent as entered, with one DTMF digit sent for each DTMF digit entered (because of that, the force-execution digit (see command 078) cannot be sent with this command - use command 031 if that is necessary). See Command 044 to set up the duration of the tones and pauses between tones. <069> tt D..D Parameters: - 069 is the default command name. - tt is the transmitter number the DTMF digits should be sent to (use '0*' for the current port, see Appendix L) - D..D are the DTMF digits to be sent. Example: Send DTMF "026" out transmitter 2: <069> tt 026 D or unkey or Example #2: Make a macro to send user-entered DTMF digits out transmitter 2:  010 600 ABC ; name macro "ABC"  067 600 01 1 ; allow macro to take data (see command 067)  055 600 ; make sure macro is empty  056 600 069 2 ; user-entered data will be appended here Now entering "ABC 026" will cause DTMF "026" to be generated out transmitter 2. Example #3: Same as Example #2, but send a 'D' after the user-entered digits (if 'D' is the force-execution digit for whatever is listening to that transmitter, it will make the command execute right away). Add the following onto the macro started in Example #2:  056 600 037 2 ; send the following data out TX 2  056 600 031 13 ; send DTMF 'D' Notes:  Remember that this command cannot be used to send the force execution digit (usually D') of the port that is entering the command because as soon as that digit is pressed, the command will be executed. Example #3 above shows one way to deal with this. See command 078 for more information about the force-execution digit.  If this command is entered from the serial port, any invalid DTMF digit (anything but 0..9, A..D, * and #) will be sent as a pause (and "Debug code 38" will be output on the serial port). Spaces will not have any effect, as they are always stripped out of commands entered from the serial port before the controller executes them. 066: Send a Voice Message Using English Words This command is a more convenient alternative to commands 036, 063 and 064 when entering voice messages using a computer. It allows you to type voice messages in English rather than looking up word numbers (in Appendix C). It is not useful when programming using a radio with a DTMF pad, as you can't directly enter the whole alphabet using DTMF. 066 "door open" 066 "[polite] door open" 066 "[polite:CCC] door open" To make the controller speak a message using command 066, just enter the command number, then the message surrounded in double-quotes (without the quotes, the controller will remove the spaces from the message). The controller will look for each word in its library (see Appendix C for a list of words), and speak it if it is found. If the word is not found, the controller will spell it (this works well for callsigns). Note that if you forget the quotes, the controller will skip the spaces, run all of the words together into one long string, and will likely spell the whole message. This format corresponds with how command 036 generates voice messages. If the special word "[polite]" (entered with the square brackets) is found in the message, the remainder of the message will be spoken "politely", that is the controller will stop speaking and discard the remainder of the message if someone keys up a connected receiver. This is useful for non-essential announcement messages, and corresponds with how command 063 works. It is also possible to use this command to speak a polite message that if interrupted, will do something else. This is commonly used to speak ID messages which if interrupted will cause a CW ID to be sent. This corresponds with how command 064 works. 036: Send a Voice Message This command allows you to send a voice message out of the radio ports on the controller. This is handy for building voice messages for macro sequences, sending voice IDs, etc. Which ports will send the message is determined by the current audio routing variable at the time the command is executed (see Appendix A). <036> vvv..vvv Parameters: - 036 is the default command name. - VVV is the Voice word to be spoken -- See Appendix B for voice word numbers Notes:  If you want the voice message to stop if someone keys up in the middle of the message (a polite voice message), see commands 063 and 064. These commands are often used for IDs.  Command 066 may be a more convenient alternative to this command if you are entering messages using a computer (rather than a DTMF pad). 063: Send a Polite Voice Message This command is identical to 036 except that audio from receivers is given priority over the voice message. If a receiver that is on the same port as, or is connected to, any transmitter that is sending the voice message keys up, the voice message will be discarded so you can hear the receiver instead. In other words, if someone is talking, the controller won't interrupt (it is "polite). If someone interrupts the controller (keys up while it is speaking), it will finish the word it is currently speaking and then throw the rest of the message away. This is commonly used for speaking scheduled messages, such as reading the time at the top of every hour. It could also be used for IDs, but if you want a CW ID to be sent when the voice ID is interrupted, use command 064 instead. <063> vvv..vvv Parameters: - 063 is the default command name. - VVV..VVV is a list of synthesized voice words to be spoken (See Appendix B for word numbers) Example: Speak the time only if it won't play over someone talking: "063 810". Note that word 810 is a special word that speaks the current time. To put that command into macro 600, enter: "053 600 063 810". You can then call macro 600 from a macro, the scheduler, a tail message, etc. to speak the time politely. Notes: The autopatch will not interrupt polite voice messages. In other words, a polite voice message that is spoken to the autopatch port will not be interrupted by the autopatch "receiver," even though it is always active during a call. Command 066 may be a more convenient alternative to this command if you are entering messages using a computer (rather than a DTMF pad). 064: Send a Polite Voice Msg, If Interrupted Execute Cmd This command is identical to Command 063 except that if a receiver is active and causes the voice message to be thrown away, it will cause another command to be executed. This is used to make a voice ID that gets interrupted cause a CW ID to be sent instead (see the example below). <064> ccc vvv..vvv Parameters: - 064 is the default command name. - CCC is the command number to execute if the message is interrupted - VVV is the Voice word to be spoken -- See Appendix B for voice word numbers Example: You want to program a polite voice pending ID message for port 1 that will send a CW ID if it is interrupted. Since the first pending ID for port 1 is sent by macro 332, we will program that macro to execute command 064. We will tell command 064 to either speak the voice ID, or if it is interrupted, to execute the impolite ID (command number 380) instead. We will make the voice ID say the words "I D" with are word numbers 039 and 034 (you would want to change this - see Appendix B for other word numbers): 053 332 064 380 039 034 unkey, D or The above string uses command 053 to program macro 332 to execute command number 064. When command 064 executes, it checks for receiver activity. If the receiver is active, it executes command 380 (the impolite ID). Otherwise it speaks the voice message "ID". See Chapter 11 for more information about programming IDs. Notes: The autopatch will not interrupt polite voice messages. In other words, a polite voice message that is spoken to the autopatch port will not be interrupted by the autopatch "receiver," even though it is always active during a call. Command 066 may be a more convenient alternative to this command if you are entering messages using a computer (rather than a DTMF pad). 040: Send One or Two Tone Sequence This command causes a tone "sequence" to be sent out the ports specified by the routing variable (see Appendix A for information about the routing variable). A "sequence" is composed of one or two tones which are generated simultaneously for a specified duration and followed by a specified pause. Most courtesy beeps use only one tone at a time, although many have several tones in sequence. This type of courtesy beep would be generated by calling this command several times from a macro, sending a one- tone chord each time (see examples on the following pages). DTMF digits and dial tone are familiar two-tone combinations, and can be easily generated using this command. Sequence Command Type Single Tone <040> ttt ppp ffff Single Tone <040> tttt pppp ffff Dual Tone <040> ttt ppp ffff gggg Dual Tone <040> tttt pppp ffff gggg Parameters: - TTT or TTTT is a number representing the duration of the tone in 10mS increments. If you use four digits for the duration of the tone, you must also use four digits for the duration of the pause. The tone duration is limited to 60 seconds (6000). - PPP or PPPP is a number representing the duration of the pause to follow the tone in 10mS increments. If you use four digits for the duration of the tone, you must also use four digits for the duration of the pause. The pause duration is limited to 60 seconds (6000). - FFFF is the frequency of the primary tone in hertz. All four digits must be entered. - GGGG is the frequency of the secondary tone in hertz. All four digits must be entered. It is only used when you want both tones active at the same time, like a DTMF tone. If you want a beep at one frequency then a beep at another frequency, call this command twice from a macro and only specify one frequency each time. Note about Courtesy Beeps The RLC-DSP404 courtesy beeps are not simply a programmable beep. When it is time to send a courtesy beep, the RLC-DSP404 decides which ports should receive the courtesy beep, sets the audio routing variable to those ports (see Appendix A), and calls that port's courtesy beep automatic macro (see 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 (send One, Two or Three Tone Chord), 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 036 (speak voice message), you will get a voice message for your courtesy beep. If you call 030, it will send CW. If you call 031, it will send DTMF. If you really want to, you can 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. Each time command 040 is called, it can send one or two simultaneous tone frequencies. 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 Duration Pause Command to Program Beep Replace "mmm" with macro num 1 - Bumble Bee 0330 N/A 100mS 0mS 053 mmm 040 010 000 0330 .... 0500 N/A 100mS 0mS 056 mmm 040 010 000 0500 .... 0660 N/A 100mS 0mS 056 mmm 040 010 000 0660 2 - Yellow Jacket 0330 N/A 50mS 0mS 053 mmm 040 005 000 0330 .... 0500 N/A 50mS 0mS 056 mmm 040 005 000 0500 .... 0660 N/A 50mS 0mS 056 mmm 040 005 000 0660 3 - Shooting Star 0800 N/A 100mS 0mS 053 mmm 040 010 000 0800 .... 0800 N/A 100mS 0mS 056 mmm 040 010 000 0800 .... 0540 N/A 100mS 0mS 056 mmm 040 010 000 0540 4 - Comet 0500 N/A 100mS 0mS 053 mmm 040 010 000 0500 .... 0500 N/A 100mS 0mS 056 mmm 040 010 000 0500 .... 0750 N/A 100mS 0mS 056 mmm 040 010 000 0750 5 - Stardust 0750 N/A 120mS 0mS 053 mmm 040 012 000 0750 .... 0880 N/A 80mS 0mS 056 mmm 040 008 000 0880 .... 1200 0880 80mS 0mS 056 mmm 040 008 000 1200 0880 6 - Duncecap 0440 0500 200mS 0mS 053 mmm 040 020 000 0440 0500 .... 0440 0350 200mS 0mS 056 mmm 040 020 000 0440 0350 7 - Dial Tone 0440 0350 100mS 100mS 053 mmm 040 010 010 0440 0350 8 - Low-High Beep 0500 N/A 100mS 0mS 053 mmm 040 010 000 0500 .... 0665 N/A 100mS 0mS 056 mmm 040 010 000 0665 9 - High-Low Beep 0665 N/A 100mS 0mS 053 mmm 040 010 000 0665 .... 0500 N/A 100mS 0mS 056 mmm 040 010 000 0500 10 - Cover Tone 0440 N/A 200mS 300mS 053 mmm 040 020 030 0440 11 - Audible Ring Tone 0440 0480 400mS 400mS 053 mmm 040 040 040 0440 0480 Example: I want port 1's courtesy beep to be number 5 as listed above. 1) Locate the courtesy beep macro for port 1 in Chapter 8. - 256 is Port 1's courtesy beep macro 2) Command 055 erases the old contents of a macro 055 256 D or unkey or 3) Command 056 appends a command onto the end of a macro - we will do the first tone 056 256 040 012 000 0750 D or unkey or 012 is the duration of the beep in 10 millisecond increments 000 is the duration of the pause in 10 millisecond increments 0750 is the frequency of the tone in hertz 4) Command 056 appends a command onto the end of a macro - the second tone 056 256 040 008 000 1200 D or unkey or 008 is the duration of the beep in 10 millisecond increments 000 is the duration of the pause in 10 millisecond increments 1200 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 256 040 008 000 1200 0880 D or unkey or 008 is the duration of the beep in 10 millisecond increments 000 is the duration of the pause in 10 millisecond increments 1200 is the frequency of one tone in hertz 0880 is the frequency of the other 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: Set/Recall Courtesy Beep Settings This command allows you to set the conditions under which courtesy beeps will be sent to the specified transmitter, or disable them completely. Note that this command deals with transmitters; if you want to disable the courtesy beep for a receiver, just erase the courtesy beep macro for that receiver (see Chapter 8) using command 055. The default is to send courtesy beeps only to transmitters that are on ports configured as repeaters, not links or remote bases (see Chapter 2). By default, courtesy beeps are disabled during autopatch calls (see chapter 13) and when using the interactive HF remote base (see Chapter 15), although this command will allow you to override either or both of those settings. The final option may help discourage "tailgating" (keying up before the courtesy beep). Normally the time out timers get reset immediately when a receiver unkeys. If, however, this option is set to 1 (rather than 0), the time out timers won't be reset until the courtesy beep is sent. This will increase the chance of a "tailgater" getting cut off by the time out timer expiring. <041> pp 0 Disable all courtesy beeps for TX pp <041> pp 1 Enable courtesy beeps for TX pp only if it is a repeater (default setting) <041> pp 2 Enable courtesy beeps for TX pp regardless of whether it is a repeater or link (default setting) <041> pp e a As before, plus control whether courtesy beeps are sent during autopatch calls. Set 'a' to 0 to disable (default), 1 to enable. <041> pp e a h As before, plus control whether courtesy beeps are sent while using the interactive HF mode. Set 'h' to 0 to disable (default), 1 to enable. <041> pp e a h t As before, plus control when the time out timers get reset. Set 't' to 0 to reset them immediately when a receiver goes inactive (default) or to 1 to wait until the courtesy beep. Parameters: - 041 is the default command name. - pp is the selected port (01..12) - E sets the conditions under which courtesy beeps are enabled E Description 0 Disable courtesy beeps for this transmitter 1 Enable courtesy beeps for this transmitter only if it is a repeater (the default) 2 Enable courtesy beeps for this transmitter, even if it is a link - A - 0 to disable courtesy beeps during autopatch calls (the default), 1 to enable them for this transmitter. - H - 0 to disable courtesy beeps while using HF remote base (the default), 1 to enable them for this transmitter. - T - 0 to reset the time out timer for this receiver when the receiver drops (the default), 1 to wait until the courtesy beep. Setting it to wait for the courtesy beep will encourage users to not to reply until the courtesy beep has been sent to avoid being cut off by the time out timer. Once a receiver has timed out, even a momentary unkey will clear the timed-out condition (since no courtesy beep is sent at that time, no delay is necessary). 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> pp ss Parameters: - 042 is the default command name. - pp is the selected port (01..12) - SS is the words per minute send value Default: All ports default to 20 words per minute 043: Set CW 2-Tone Frequencies for a Selected Port This command allows you to set up the CW tone frequencies used by the CW system. <043> pp aaaa Set CW to a single tone <043> pp aaaa bbbb Set CW to dual tones Parameters: - 043 is the default command name. - pp is the selected port (01..12) - AAAA is the first tone frequency (0000..9999) Hz - BBBB is the second tone frequency (0000..9999) Hz Default: Tone 1 is set to 1064 Hz. Tone 2 is set to 0000 Hz. Notes:  You should not set "aaaa" and "bbbb" to the same value or they will cause the output of the two tone generators to be superimposed. Depending on the phase shift between them, the amplitude may be louder or software than a single tone, and may change at seemingly random times. 044: Set Up DTMF Regenerate Parameters This command allows you to set up the DTMF regenerate parameters for each attached port. 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-DSP404 to control. <044> pp aaaa bbbb Parameters: - 044 is the default command name. - pp is the selected port (01..12) - AAAA is the duration of the DTMF sequence in 10mS steps (0000..9999) - BBBB is the pause between DTMF digits in 10mS steps (0000..9999) Default: Both duration and pause set to 100mS 051: Start Dial-Tone This command allows you to generate a dial tone down for a given time down the port that requested this command. This command is used to give you an indication that access to the controller has been accomplished. This is not pre-access, simply dial tone generation. The dial 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) 163: Keypad Test This command will read back whatever digits are entered. This allows you to check your DTMF keypad and make sure that the controller is accepting all of the digits. The '*' character will be spoken as "Star" and '#' will be "Pound". <163> d..d Parameters: - 163 is the default command name - D..D are the digits to be read back Digital Voice Recorder Functions What the DVR is: On most other repeater controllers, a digital voice recorder is an option, if available at all. The DSP404 has a built in DVR with many advanced features. Messages can be stored temporarily in RAM or permanently in flash memory using an optional SD memory card or USB flash drive, which provide virtually unlimited storage. The DVR can be used to personalize your controller by recording any message or sounds that you want and playing them back for ID messages or in place of most other synthesized voice messages. Some of these messages are played in response to commands entered by DTMF, while others are played automatically, such as ID messages. Both types of messages are described below. DVR Tracks: All DVR recordings are stored in numbered "tracks." Certain tracks have special purposes and are played automatically at certain times. Others are available for you to use in any way you wish. The length of each track is limited only by available memory. Each track uses only as much storage space as is actually needed. The first 900 tracks (numbered 000..249) have no predetermined use - you may use them for ID messages, command responses (by calling Command 173 from a macro), or anything else you can think of. Tracks 250..260 or so are used for prompting. They are discussed further in the section below titled "Recording the Prompting Tracks". The remaining tracks are not directly accessible by number. They are used to support the mailbox features and are automatically accessed by the mailbox commands. Public Mailboxes: The DVR uses special internal tracks to provide two types of mailboxes: public and private. Both types allow you to leave messages for other repeater users. You can leave a message in a public mailbox by simply entering the "Leave Public Mail" command (after setting up the prompting tracks as described below). The DVR will then ask you who the mail is for. You key up and say their name or call sign. The DVR will then ask you to record your message. When you are through, it will tell you that your message has been stored. You can check if there is mail for you by simply entering the "Check Public Mail" command. It will list the names or call signs of the people that there is mail for, or will tell you that there is no mail. If there is mail for you, you can listen to your message by entering the "Retrieve Public Mail" command. Up to nine public mailboxes can be in use at a time. Private Mailboxes: Private mailboxes allow you to leave voice mail in someone's private mailbox. To do this you have to know the number of their mailbox. There are 500 private mailboxes, so everyone in your club can have their own. Each private mailbox can hold up to five messages at a time. You can retrieve or delete the mail in your own mailbox without affecting anyone else's mailbox. The Audio Check Command: The easiest way to test the DVR is to execute the "Audio Check" command. To use it, simply key your radio and enter "Command 170", then unkey. Key up again and say something. When you unkey, the DVR will play whatever you said back to you, then erase it. If this command works, you have the DVR connected and working. You can execute this command as many times as you want to without harm and without wearing anything out. It can also be used to help you know if your signal is noisy into the repeater; just use this command to record a test message and you can listen to your own audio. Yet another use for this command is to find out how much record time (memory) is still available. To do this, start recording and count off the minutes and seconds you have been recording. When the DVR's memory is full, it will stop recording. When you unkey and the message is played back, you will hear yourself count as long as the DVR was able to record before it ran out of memory (this could take a long time if the memory is not almost full - if it takes too long, the max record length timer could stop it before the memory is full). Recording DVR Tracks: Before recording a track, you should make sure it is empty. If a track has already been recorded, you will not be able to record it again until you erase it. All tracks are empty when the DVR is powered up. To record a track using COR to start and stop the recording, you should enter the record command followed by the track number, "171 TTT" (where TTT 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 0, you could enter "Command 171 000 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 speaker phones) mute about the first second of each phrase you say; this makes recording nice DVR messages with them very difficult. After you have recorded the prompting tracks (described later), you can use a more friendly version of the record command. Command 172 performs the same function as Command 171, but plays a DVR track that says something like "Please record your message now" after you enter the command and unkey (or press 'D'). When recording using either the prompted or non-prompted command, you must start recording within 10 seconds of entering the record command and unkeying 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". The only limit on the length of message that can be recorded is the amount of memory that is still available. To keep people from leaving long mailbox messages, the DVR record length limit timer (timer 164) can be set to limit the length of message that can be left. It defaults to 30 seconds, but can be lengthened or shortened as desired using Command 020. You may also need to lengthen your time out timer to record very long messages. Note that because some of the audio switching circuits are shared between the voice synthesizer and DVR, that only one may be playing at a time. If you play an exceptionally long DVR message, it may postpone the sending of synthesized voice IDs and other messages. For this reason, you should keep your DVR messages relatively short. Playing Messages: There are many things that can cause a DVR message to be played. For example, Command 170 records a message, then plays it back automatically. Command 172 plays a message to tell you to start recording a new message, then lets you record it. To simply play a message that has already been recorded, you can use Command 173. It works a lot like Command 036 does with the synthesized voice, playing the messages you request. Command 173 can be called from any macro to provide DVR IDs, courtesy beeps, autopatch off messages, etc. Erasing Tracks: There are several reasons to erase tracks. Tracks that have been recorded before must be erased before they can be recorded again. Tracks that are no longer being used should be erased to make more storage space available for new messages. Once a track has been erased, there is no way to recover it, so be careful when deleting tracks, especially when deleting a whole range at once. Deleting tracks can take several seconds, so don't be surprised if it takes a while before you hear the message erased message. If you are erasing a single message, the controller will continue to run normally while it waits for the DVR to finish deleting the message and send "message erased". If you delete a range of DVR messages with one command, the controller will stop everything else it is doing while it tells the DVR to delete each of the tracks. When it is finished, the DVR will speak "message erased" to let you know it is finished. Recording the Prompting Tracks: There are several special messages that are played automatically at certain times. They should be recorded before attempting to use the prompted record command or the mailboxes. The messages shown below are only suggestions; you can record them to say anything you want them to. To record them, enter the commands and speak the messages shown below. For more information about recording tracks, see the "Recording Tracks" section above.  Enter "171 900", unkey, then key and say, "Record your message now"  Enter "171 901", unkey, then key and say, "Message stored". After this and the following commands, the DVR should respond "message stored".  Enter "171 902", unkey, then key and say, "Message erased"  Enter "171 903", unkey, then key and say, "Who is your message for?"  Enter "171 904", unkey, then key and say, "There are no messages"  Enter "171 905", unkey, then key and say, "There is mail for..." If you want to see how your messages sound, you can play them by Command 173 900 (for track 900). If you want to erase one of these tracks so you can record it again, enter Command 174 900 (to erase track 900). After recording these messages, the DVR is ready for use. Flip through the manual and try all of the commands until you are comfortable with them. If you want to erase all of your messages and start over, you can erase them with Command 174 . For an example of how each of the DVR commands can be used, see http://linkcomm.com/wiki/index.php?title=DSP404_DVR_Example.. Making DVR Messages Polite: Currently, DVR command 173 is similar to the synthesized voice command 036 in that they are both impolite (see commands 063 and 064 for more information about "polite" messages). There are no DVR commands similar to the synthesized voice commands 063 (speak politely) or 064 (speak politely and do something if interrupted) in this firmware version (they are planned for a future version), but they can be simulated on the DVR (the big DVR, not the small one) by programming macros similar to those shown belowDVR . To make polite DVR messages, the DVR must be running V1.50 or later firmware; older versions of DVR firmware will continue to work but will not be polite and may cause the following (harmless) message to be printed to the controller's serial port: "DVR is not responding (1), Error sending command to DVR". Speak polite DVR message (like command 063): 055 600 ; erase macro 600 056 600 036 801 ; start polite mode 056 600 173 ; play dvr tracks 056 600 036 802 ; stop polite mode Speak polite DVR message and do macro 380 if interrupted (like command 064): 055 601 ; erase macro 056 601 036 801 ; start polite mode 056 601 173 ; play dvr tracks 056 601 036 803 380 ; stop polite mode, do 380 if interrupted 170: Record and Play Audio Test This command makes the DVR start recording. When you unkey or press a DTMF digit to stop recording, it automatically plays it back. This is useful for testing the DVR and for checking how your signal sounds into the repeater. To use this command enter 170 and unkey, then key up and talk or enter "170 D" and start speaking immediately. When through speaking, unkey and your recording will be played back immediately. The track is automatically erased after it is played back. <170> Parameters: - 170 is the default command name 171: Record DVR Track (non-prompted) This command makes the DVR start recording a track. To use this command enter Command 171 TTT D or unkey. Either way, you message will be recorded and stored in track TTT. <171> t Record track 0..9 <171> tt Record track 00..99 <171> ttt Record track 000..260 Please note that a DVR track that has been recorded before must be erased before it can be recorded again. This is to avoid accidentally recording over an existing message. Parameters: - 171 is the default command name - T, TT, TTT is the DVR track number (1..3 digits, track 0..260) 172: Record DVR Track (prompted) This command has the same result as Command 171: it records a DVR track. The difference is that after entering the Command 172 TTT and unkeying, this command plays a special DVR track to tell you it is ready to start recording. This is useful because it lets you know that the command has been executed and the DVR is ready. After the prompting message is finished, you can key up and start recording. The disadvantage of this command compared with Command 171 is that you have to wait until the prompting message is finished before you can start recording. If you are recording a lot of tracks, it is faster to use Command 171. <172> t Record prompted track t <172> tt Record prompted track tt <172> ttt Record prompted track ttt Please note that a DVR track that has been recorded before must be erased before it can be recorded again. This is to avoid accidentally recording over an existing message. Parameters: - 172 is the default command name - T, TT, TTT is the DVR track number (1..3 digits, track 0..260) 173: Play DVR Tracks This command makes the DVR start playing the specified track or tracks. They will be heard on the ports that are in the current audio routing variable (see Appendix A), just like the other commands that send tones or synthesized voice are. This is the command that you would use in an ID macro to send a DVR ID. <173> ttt Play single track <173> t..t Play multiple in-a-row tracks <173> ttt ttt..ttt Play multiple separate tracks Parameters: - 173 is the default command name - TTT is a DVR track number. If only one track specified, can enter 1..3 digits. If more than one track is specified, must enter groups of three digits. 174: Erase DVR Tracks This command makes the DVR erase the specified track or range of tracks. There are several reasons to erase tracks. Tracks that have been recorded before must be erased before they can be recorded again. Tracks that are no longer being used should be erased to make more storage space available for new messages. Once a track has been erased, there is no way to recover it, so use this command with caution, especially when erasing a range of tracks. <174> ttt Erase single track <174> t..t Erase multiple in-a-row tracks <174> ttt ttt..fff Erase multiple separate tracks Parameters: - 174 is the default command name - TTT is a DVR track number to be erased. If only specify one track can use 1..3 digits. - FFF (optional). If specified, DVR tracks TTT through FFF will be erased. FFF must be larger than TTT. Note: If the DVR track for "message erased" is not heard, make sure you have entered Command 182 1 D or unkey to set up the DVR and that the "message erased" track has been recorded. You may have to wait for several seconds after entering the command for the DVR to finish deleting the message and send "message erased". 175: Record Public Mail This command allows the user to record a message and who it is for and stores it in a public mailbox. It uses some of the special tracks to prompt the user to record the name or call sign and the message, and to tell him that the message has been stored. For more information, see the "Public Mailboxes" section at the beginning of the DVR section. <175> Parameters: - 175 is the default command name 176: Check Public Mailboxes This command recalls who has mail in the public mailboxes. The DVR will either play the special track that says, "There is mail for", then the name or call sign for each of the messages that are stored in the public mailboxes or it will play the special track, "There is no public mail". The names or call signs will be spoken in the order that the messages were recorded. If you want to check the public mail without the DVR saying anything if there is no mail, enter "173 256 257". <176> Parameters: - 176 is the default command name 177: Retrieve Public Mail This command allows a user that has mail in a public mailbox to retrieve it. This command is usually used after checking the public mailboxes with Command 176. When you check the public mailboxes with Command 176, you should keep track of where your name or call sign are in the list of people that have mail. For example, if Command 176 says, "There is mail for Joe, Mary, Bob, Jim", and you are Bob, your mail will be stored in public mailbox #3, because your name is third in the list. To retrieve your mail, you would enter "Command 177 3 D or unkey". <177> s Parameters: - 177 is the default command name - s is which mailbox your mail is in (1..9) 178: Erase Public Mail This command throws away the contents of a public mailbox, the last one that was retrieved. It must be used only after retrieving a public mailbox message with Command 177. It erases only the last public mailbox message that was retrieved; all of the others remain unchanged (although they may be moved up to a lower numbered mailbox to avoid leaving gaps). <178> Parameters: - 178 is the default command name 179: Record Private Mail This command allows the user to record a message and store it in a private mailbox. You must know the mailbox number you wish to leave a message in to use this command. Since each user has his own mailbox, there is no need for you to record his name or call sign as with the public mailboxes. <179> sss Parameters: - 179 is the default command name - SSS is the number of the mailbox to leave the message in 180: Retrieve Private Mail This command allows a user to retrieve the mail that has been left in his private mailbox. If he has no mail, the special DVR track "You have no mail" will be spoken. If there is more than one message in his mailbox, all of them will be spoken consecutively. <180> sss Parameters: - 180 is the default command name - SSS is the number of the mailbox get the mail from 181: Erase Private Mail This command throws away the contents of a private mailbox, the last one that was retrieved. It must be used only after retrieving a private mailbox message with Command 180. It erases all of the messages in that mailbox, but does not affect any of the other private mailboxes. <181> Parameters: - 181 is the default command name Chapter 7: Serial Port Commands This chapter deals with the following topics: Information about serial transfers RS-232 baud rates Other serial port options Sending serial messages out of the main serial port Sending SPI serial data with the output lines Where the Serial Ports Are: The RLC-DSP404 has a serial port on the motherboard (which is the DB-9 located on the front panel) that is used for entering commands on the controller. This is called the main serial port. Each radio port connector also has serial port connections for controlling remote base radios with RS-232 serial ports (see Chapter 1 for the DIP switches that enable them). There is also a type of serial data ("SPI") that can be sent with the open collector output lines on the I/O connectors that is usually used for controlling remote base interfaces (RLC-ICM, Doug Hall RBI-1, or BCD-controlled radios). Controlling what Serial Messages are Sent: This section only refers to the main serial port, since it is the one you use for entering commands and that the controller uses to tell you when there is an error. 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. You can keep the responses to commands entered by DTMF from being suppressed by turning serial suppression off with command 060. This can be handy for figuring out what is going wrong when entering DTMF commands. Commands 162 and 169 bypass the check to see if serial is suppressed so they always print. Since you will normally want serial suppression to be turned on, these commands are useful for sending messages that you always want to be printed, even if the command to send them is entered from a radio port or executed by the scheduler or some other internal device. 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-DSP404 is RS-232 compatible. All you need to connect it to a computer, terminal or modem is the proper cable. Each radio port on the DSP404 also has a RS-232 serial port which can be enabled using DIP switches near the radio port DB-9 connector (see page 1-2 and following for more information). 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. 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-DSP404 uses the open collector output lines to send this type of serial. It is sent automatically by the RBI-1 / RLC-ICM commands and can be sent manually using command 138. Remember that the outputs are open collector and require pullup resistors (pullups are built into the RBI-1 and RLC-ICM). 024: Set Up RS-232 Serial Baud Rate This command allows you to set up the baud rate for the RLC-DSP404's main serial port. The baud rate for the main serial port should be set to match the computer, serial terminal, or modem that you have connected to it to program the controller with (it defaults to 9600 baud). If you are using the serial port for controlling an HF remote base (see Chapter 15), the controller will set the baud rate automatically for the type of HF radio you are using. <024> x..x Parameters:  024 is the default command name.  x..x is the baud rate. Any baud rate from 300-19200 including non-standard rates can be specified. The baud rate you enter will be rounded slightly to the nearest available rate, but should always be compatible with the actual rate selected. The standard baud rates supported are 300, 600, 1200, 2400, 4800, 9600 and 19200 baud. Example: To set the baud rate to 2400 baud <024> 2400 unkey, 'D' or 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 all of the default command names are in upper case (they must be to be executed by DTMF). Converting all of the characters makes it impossible to do a few things however, such as programming serial messages that contain lower case letters. 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. Normally it is buffered so that the controller can continue to run while the serial is sent in the background. Occasionally, usually for debugging purposes, you may want the serial to be sent before execution continues. In this case, you can turn queuing off. It automatically gets turned on whenever the controller is reset. <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 suppress 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 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 (they are sent from macros 300..319 using this command), 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 162. <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 200 characters) or if used in a macro, by the space left in a macro (less than 100 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. Voice response: There is no voice response for this command Notes: To change the baud rate, see command 024. Serial output is normally queued (buffered) so that controller operation does not wait for the message to be sent before continuing. Queueing can be controlled with command 060. 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. 162: Always Send Serial Message out the Main Serial Port This command is identical to Command 032 except that it always sends its message, regardless of whether command 060 is set to suppress serial sending or not. 169: Always Send Serial out Main Serial Port by ASCII Code This command does the same thing as Command 162, but lets you enter characters by their ASCII codes. For each character you want to send, you have to enter a three digit number - that character's ASCII code (in decimal, not hex). This allows you to send characters that are not on the keyboard, or to send characters that are not on a DTMF pad when programming by DTMF. For a table of the ASCII codes, see Appendix G. <169> ccc ccc ... ccc Parameters: - 169 is the default command name - CCC is the ASCII code for one serial character. Notes: To send a space with this command, use the ASCII code 032 (hex 0x20). This command does not automatically send carriage returns (ASCII 013) or line feeds (ASCII 010). If you do send a carriage return, the controller may automatically send a line feed afterward (see command 060). 138: Direct SPI Send using Open Collector Output Lines This command is provided only for advanced use controlling SPI devices. Unless you need to control a serial shift register, ignore this command (it could be used to send data to the Doug Hall RBI-1 or the RLC-ICM, but using the specialized commands is much easier). This command accepts data in hex (two digits per byte) and sends that data in an SPI format (with data and clock line) using the open collector output lines on the Deluxe/Deluxe II board. <138> xx Send individual byte <138> xx..xx Send multiple bytes Parameters: - 138 is the default command name. - XX is the hex number (00..FF) representing a byte of data to send. To send codes with 'E' or 'F', you will have to enter this command from the serial port. You may have to change your force execution digit (see command 078) to be able to enter some hex codes. You must enter an even number of XX digits since it takes two hex digits to make one byte of data. Notes: External shift registers like the 74HC164 will decode the shifted data and return it to 1's and 0's for external BCD radio control. Each hex digit entered corresponds with four binary digits. If you are sending only digits 0..9, they can be used as BCD data. Key Entered Data Sent . Key Entered Data Send 0 0000 . 8 1000 1 0001 . 9 1001 2 0010 . A 1010 3 0011 . B 1011 4 0100 . C 1100 5 0101 . D 1101 6 0110 . E 1110 7 0111 . F 1111 The data is output on the pins of the outputs connector shown below: Data Output - Output #7 (Pin 6) Clock - Output #8 (Pin 2) Ground - Pin 1 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), many of these macros are programmed with examples of what you might want to do: the ID macros speak sample IDs, the courtesy beep macros send beeps and the I/O macros send messages that tell you what changed. You can change what is in any or all of the automatic macros to make them do what you want. Macros numbered 600 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-DSP404 currently supports the more flexible of the two types; eventually it may support both. The kind the RLC-DSP404 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 link port and turn DTMF muting on and change your courtesy beep, you could program a macro to execute the appropriate commands. This type of macro is very similar to the macros that many word processors and other computer programs allow you to make to automate things that you do often. The other commonly used kind of macro (that the RLC-DSP404 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-DSP404 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. Advanced Macro Topics: Limits on Macros: Since one macro can call another macro, you may wonder if macro 600 could call 601, which could call 602, which could call 603, etc. until you had called 100 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 1/2 second or so, the controller may reset itself. It is unlikely that you will ever reach this limit (it would probably take more than 20 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 600. It calls Command 038, macro 601, and Command 000. This can be shown as the level with Roman numerals: I Call Command 038 II Call macro 601 III Call Command 000 and connect port 1 and 3 Macro 601 could contain Command 007 and call macro 602. Since macro 601 is called from macro 600, 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 601 A Call Command 007 B Call macro 602 III Call Command 000 and connect port 1 and 3 Macro 602 could call macros 603,604 and 605. Macro 602 is nested one level deeper than 601, so it is at level 3. I Call Command 038 II Call macro 601 A Call Command 007 B Call macro 602 1 Call macro 603 2 Call macro 604 3 Call macro 605 III Call Command 000 and connect port 1 and 3 Macros 603 , 604 and 605 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-DSP404 will let you nest macros, 5 or 6 levels. If you ever exceed this limit, error macro 309 will be executed. This is the nested macro depth limit. Macros that Accept Data at Runtime: Normally macros must be programmed with all of the data they will need to execute. For example, a macro that dials a phone number could be programmed as follows: 055 600 ; erase macro 600 056 600 112 123 4567 ; call 123-4567 Such a macro will always call the same phone number. It can be executed by entering "600". There is a way to make macros that accept more information at the time they are executed, and pass that data into the commands that are executed by the macro. For example: 055 600 ; erase macro 600 056 600 112 ; phone number will be supplied at runtime contains everything it needs to know to make the call, except for what phone number it is supposed to use. You can tell the controller to get the rest of the information needed to execute the macro at the time you tell it to execute the macro with command 067. For the above example, you could enter: 067 600 07 0 ; make macro 600 accept exactly seven digits Command 067 tells the controller that a macro will need more information at runtime. In this case, we specified that the user would enter exactly seven digits. It would also be possible to let the user enter seven or more digits ("067 600 07 1"), or any number of digits ("067 00 1"). See command 067 for more information. 300..599: Execute an Automatic Macro These commands allows you to manually recall program macro sequences. These sequences are executed automatically by the controller to send IDs, courtesy beeps, alarm analog lines, recall input conditions, etc. These macros are programmed the same way as user macros, but are automatically called by the controller when certain events occur. You can also execute them manually by entering the command name (300 through 599). This is useful for testing the macros to make sure that they are programmed the way you want them to be. They are described in the "Automatic Macro Explanations" section at the end of this chapter. <300>..<599> Parameters: - 300..599 is the default command name. 600..999: Execute a User Macro These commands allow you to execute user macro sequences. These macros are not used by the controller for any specific purpose, so you can use them for any purpose. <600>..<999> Parameters: - 600..999 is the default command name. 055: Erase Macro This command erases a macro. If it is executed after it has been erased, nothing will happen. There is no way to "unerase" a macro that has been erased. <055> mmm Parameters: - 055 is the default command name. - MMM is the command number of the macro to erase. 056: Add 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 600 031 with 20 additional digits: 00 01 02 03 04 05 06 07 08 09 (sends 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 in CW) <056> 600 031 00 01 02 03 04 05 06 07 08 09 D or unkey or 053: Erase Then Add Command To Macro This command is just a shortcut for entering command 055 then 056 (to erase then add a command to a macro). <053> mmm ccc d..d The following examples are equivalent: ; Example #1 055 600 ; erase macro (make sure it is empty) 056 600 066 TEST ; make macro speak "test" ; Example #2 053 600 066 TEST ; erase macro then make it speak "test" 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 MMM Example: Want to execute command 031 using macro 600 031 with 20 additional digits: 00 01 02 03 04 05 06 07 08 09 (sends 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 in CW) <053> 600 031 00 01 02 03 04 05 06 07 08 09 D or unkey or 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 speaks them with the voice synthesizer. 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 Voice 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 300 (Command length not matched error handling macro): You enter the command "054 300 D or unkey or " The serial response is: Macro 300 contains 2 commands: #1 Command #032 with 31 digits of data: Command name length not matched #2 Command #036 with 09 digits of data: 133002028 The voice response is: "M 300" macro number 300 "N2" number of commands in the macro is 2 "C1 32" the first command in the macro is command number 032 (send serial message) "D31" this command has 31 digits of data which are: "Command name length not matched" (speaks each letter, with pauses for spaces) "C2 36" the second command in the macro is command number 9 "D9" this command has 9 digits of data which are: "133002028" the words "Error Two-Hundred" 057: Copy a Macro This command allows you to copy a macro. It erases 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: Erase a Command in a Macro This command allows you to erase a command in a macro without erasing 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 erase. <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 erase (00, 01, 02...) Voice Response: "M 059: Insert a Command in a Macro This command allows you to insert a command in a macro without erasing 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 Voice Response: "M 067: Set Macro Data Length This is an advanced command that lets you specify that a macro should gather some extra information (more digits entered after the name of the macro) when it is executed and pass that information on to the commands inside of the macro. See the examples below for some of the possible uses of this command. <067> mmm recall data length for macro mmm' <067> mmm xx y mmm' is the macro number xx' is number of digits of data y' is 0' if the amount of data must be exact or 1' if more data is OK. Notes: When the macro executes, any commands in the macro that require a fixed amount of data will first take the data that was specified when the macro was programmed, then will take as many of the digits specified at runtime as needed. Commands in the macro that will accept a variable amount of data get all of the remaining digits specified at run-time. Any extra digits will be discarded. Default: <067> mmm 00 0 Examples: Extra autopatch up code: 067 600 01 1 ; allow macro 600 to take 1 or more digits 053 600 112 ; make macro 600 call patch up command ; the phone number will be specified at runtime 010 600 n..n ; rename new patch up code to "n..n" Usage: "n..n " Connect port 3 to the port that user specifies: 067 601 01 0 ; allow macro 600 to take 1 digit 053 601 000 3 ; connect port 3 to port specified at runtime Usage: "601 x" will connect port 3 to port x Automatic Macros 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. 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 300 would execute macro 300). 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 D or unkey or then the macro's number. If you do this from a serial terminal, it will be relatively easy to understand. If you do it from a DTMF pad, the voice message may seem long and complicated. This is because the synthesized voice must spell out the messages that are programmed in the macros. You can learn a lot about how the controller works by looking at what is inside of the macros with Command 054. Command 054 also tells you how many percent full a macro is. Each macro can store 100 bytes of information, about 100 keystrokes. Automatic Macro Explanations Macros 300..319 are where your error messages come from. Whenever an error occurs in the controller, it will cause one of these macros to be executed. To find out what caused the error, remember what the error number is and look at the description of the corresponding macro number below. You can change the error messages to say anything you want them to, or nothing at all, by changing these macros. Please note, however, that if you remove the error messages completely, that you may not be able to tell when an error occurs. See the section about error messages in Chapter 1 for more detailed descriptions. Macro Definition . Macro Definition 300 No matching Command Name . 310 Invalid data value 301 Too few data digits . 311 Command does not exist 302 Too many data digits . 312 Bad Autopatch number 303 Invalid number of data digits . 313 Autopatch error 304 Execution blocked from port . 314 Invalid User 305 User level to low . 315 DVR is busy 306 Reserved . 316 Macro is full 307 Command executed OK . 317 HF Error 308 Internal problem . 318 Not Defined 309 Macro depth problem 319 Not Defined Macros 320..391 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. It would be worth your time to study the way these IDs are programmed at the factory (see Command 054) so that you can make yours work the same way. Note that Command 064 is used to speak the voice IDs so that they will be polite and will automatically call the impolite ID macro (which is usually CW) if they are interrupted. Shortcut: if you want all four of the pending IDs for a port to send the same message, program that message in the first of the four pending ID macros, then program the other three to execute the first one. To change the ID timers, see Command 020. Macro Definition Macro Definition 320 . . Initial ID, Port 1 321 . . Initial ID, Port 2 322 . . Initial ID, Port 3 323 . . Initial ID, Port 4 324 . . Initial ID, Port 5 325 . . Initial ID, Port 6 326 . . Initial ID, Port 7 327 . . Initial ID, Port 8 328 . . Initial ID, Port 9 329 . . Initial ID, Port 10 330 . . Initial ID, Port 11 331 . . Initial ID, Port 12 332 . . Pending ID #1, Port 1 333 . . Pending ID #1, Port 2 334 . . Pending ID #1, Port 3 335 . . Pending ID #1, Port 4 336 . . Pending ID #1, Port 5 337 . . Pending ID #1, Port 6 338 . . Pending ID #1, Port 7 339 . . Pending ID #1, Port 8 340 . . Pending ID #1, Port 9 341 . . Pending ID #1, Port 10 342 . . Pending ID #1, Port 11 343 . . Pending ID #1, Port 12 344 . . Pending ID #2, Port 1 345 . . Pending ID #2, Port 2 346 . . Pending ID #2, Port 3 347 . . Pending ID #2, Port 4 348 . . Pending ID #2, Port 5 349 . . Pending ID #2, Port 6 350 . . Pending ID #2, Port 7 351 . . Pending ID #2, Port 8 352 . . Pending ID #2, Port 9 353 . . Pending ID #2, Port 10 354 . . Pending ID #2, Port 11 355 . . Pending ID #2, Port 12 356 . . Pending ID #3, Port 1 357 . . Pending ID #3, Port 2 358 . . Pending ID #3, Port 3 359 . . Pending ID #3, Port 4 360 . . Pending ID #3, Port 5 361 . . Pending ID #3, Port 6 362 . . Pending ID #3, Port 7 363 . . Pending ID #3, Port 8 364 . . Pending ID #3, Port 9 365 . . Pending ID #3, Port 10 366 . . Pending ID #3, Port 11 367 . . Pending ID #3, Port 12 368 . . Pending ID #4, Port 1 369 . . Pending ID #4, Port 2 370 . . Pending ID #4, Port 3 371 . . Pending ID #4, Port 4 372 . . Pending ID #4, Port 5 373 . . Pending ID #4, Port 6 374 . . Pending ID #4, Port 7 375 . . Pending ID #4, Port 8 376 . . Pending ID #4, Port 9 377 . . Pending ID #4, Port 10 378 . . Pending ID #4, Port 11 379 . . Pending ID #4, Port 12 380 . . Impolite ID, Port 1 381 . . Impolite ID, Port 2 382 . . Impolite ID, Port 3 383 . . Impolite ID, Port 4 384 . . Impolite ID, Port 5 385 . . Impolite ID, Port 6 386 . . Impolite ID, Port 7 387 . . Impolite ID, Port 8 388 . . Impolite ID, Port 9 389 . . Impolite ID, Port 10 390 . . Impolite ID, Port 11 391 . . Impolite ID, Port 12 Macros 392..403 are executed when it is time to send a courtesy beep. You would normally call Command 040 from this macro to generate the tones of your courtesy beep. If you want your courtesy beep to contain several beeps in sequence, you can call Command 040 multiple times within one macro, once for each beep. Note: Before this macro is automatically called after you unkey, the audio routing variable is set to make the tones go to the proper ports, so you do not have to worry about that at all. Just call the commands you want to be executed when it is time for a courtesy beep (you could send beeps, DTMF digits, voice messages...) and the audio will automatically be sent to the correct ports. To change the courtesy beep timers, see Command 020. Macro Definition 392 .Courtesy Beep Slot, Port 1 393 .Courtesy Beep Slot, Port 2 394 .Courtesy Beep Slot, Port 3 395 .Courtesy Beep Slot, Port 4 396 .Courtesy Beep Slot, Port 5 397 .Courtesy Beep Slot, Port 6 398 .Courtesy Beep Slot, Port 7 399 .Courtesy Beep Slot, Port 8 400 .Courtesy Beep Slot, Port 9 401 .Courtesy Beep Slot, Port 10 402 .Courtesy Beep Slot, Port 11 403 .Courtesy Beep Slot, Port 12 Macros 404..419 are called when the analog input lines go into a High alarm. You may want to use these macros to speak an voice message indicating the alarm, start a beaconing alarm (see Chapter 19) and/or take some other action such as turning off an open collector output line. To change how often the RLC-DSP404 checks to see if an alarm has occurred, see the I/O polling timer in Chapter 4. The default is once per second. Macro Definition 404 .High Alarm, Analog Line 1 405 .High Alarm, Analog Line 2 406 .High Alarm, Analog Line 3 407 .High Alarm, Analog Line 4 408 .High Alarm, Analog Line 5 409 .High Alarm, Analog Line 6 410 .High Alarm, Analog Line 7 411 .High Alarm, Analog Line 8 412 .High Alarm, Analog Line 9 413 .High Alarm, Analog Line 10 414 .High Alarm, Analog Line 11 415 .High Alarm, Analog Line 12 416 .High Alarm, Analog Line 13 417 .High Alarm, Analog Line 14 418 .High Alarm, Analog Line 15 419 .High Alarm, Analog Line 16 Macros 420..435 are called when the analog input lines go into a Low alarm. You may want to use these macros to indicate an alarm condition. Macro Definition 420 .Low Alarm, Analog Line 1 421 .Low Alarm, Analog Line 2 422 .Low Alarm, Analog Line 3 423 .Low Alarm, Analog Line 4 424 .Low Alarm, Analog Line 5 425 .Low Alarm, Analog Line 6 426 .Low Alarm, Analog Line 7 427 .Low Alarm, Analog Line 8 428 .Low Alarm, Analog Line 9 429 .Low Alarm, Analog Line 10 430 .Low Alarm, Analog Line 11 431 .Low Alarm, Analog Line 12 432 .Low Alarm, Analog Line 13 433 .Low Alarm, Analog Line 14 434 .Low Alarm, Analog Line 15 435 .Low Alarm, Analog Line 16 Macros 436..451 are called when the analog input lines go out of either High or Low alarm into a Normal condition. You may want to use these macros to indicate that the analog reading is no longer causing an alarm. Macro Definition 436 .Alarm to Normal, Analog Line 1 437 .Alarm to Normal, Analog Line 2 438 .Alarm to Normal, Analog Line 3 439 .Alarm to Normal, Analog Line 4 440 .Alarm to Normal, Analog Line 5 441 .Alarm to Normal, Analog Line 6 442 .Alarm to Normal, Analog Line 7 443 .Alarm to Normal, Analog Line 8 444 .Alarm to Normal, Analog Line 9 445 .Alarm to Normal, Analog Line 10 446 .Alarm to Normal, Analog Line 11 447 .Alarm to Normal, Analog Line 12 448 .Alarm to Normal, Analog Line 13 449 .Alarm to Normal, Analog Line 14 450 .Alarm to Normal, Analog Line 15 451 .Alarm to Normal, Analog Line 16 Macros 452..467 are called when the digital inputs lines go from Low to High. You may want to use these macros to indicate an alarm condition. These macros are only called if the input alarms are enabled with command 092 (see Chapter 12). Macro Definition 452 .Low to High, Input Line 1 453 .Low to High, Input Line 2 454 .Low to High, Input Line 3 455 .Low to High, Input Line 4 456 .Low to High, Input Line 5 457 .Low to High, Input Line 6 458 .Low to High, Input Line 7 459 .Low to High, Input Line 8 460 .Low to High, Input Line 9 461 .Low to High, Input Line 10 462 .Low to High, Input Line 11 463 .Low to High, Input Line 12 464 .Low to High, Input Line 13 465 .Low to High, Input Line 14 466 .Low to High, Input Line 15 467 .Low to High, Input Line 16 Macros 468..483 are called when the digital input lines go from High to Low. You may want to use these macros to indicate an alarm condition. These macros are only called if the input alarms are enabled with command 092 (see Chapter 12). Macro Definition 468 .High to Low, Input Line 1 469 .High to Low, Input Line 2 470 .High to Low, Input Line 3 471 .High to Low, Input Line 4 472 .High to Low, Input Line 5 473 .High to Low, Input Line 6 474 .High to Low, Input Line 7 475 .High to Low, Input Line 8 476 .High to Low, Input Line 9 477 .High to Low, Input Line 10 478 .High to Low, Input Line 11 479 .High to Low, Input Line 12 480 .High to Low, Input Line 13 481 .High to Low, Input Line 14 482 .High to Low, Input Line 15 483 .High to Low, Input Line 16 Macros 484..495 are called when the Time-Out Timer expires. You may want to program these messages to indicate when a time-out condition occurred. They default to speaking "One Time Out" (or whatever receiver it is that just timed out). To adjust the time out timers, see Command 020. Macro Definition 484 .Time-out Timer Message, Port 1 485 .Time-out Timer Message, Port 2 486 .Time-out Timer Message, Port 3 487 .Time-out Timer Message, Port 4 488 .Time-out Timer Message, Port 5 489 .Time-out Timer Message, Port 6 490 .Time-out Timer Message, Port 7 491 .Time-out Timer Message, Port 8 492 .Time-out Timer Message, Port 9 493 .Time-out Timer Message, Port 10 494 .Time-out Timer Message, Port 11 495 .Time-out Timer Message, Port 12 Macros 496..507 are called when the Time-Out Timer comes out of a time-out condition. You may want to program these messages to indicate that a time-out condition has just been cleared. Macro Definition 496 .Time-out Condition Clear Message, Port 1 497 .Time-out Condition Clear Message, Port 2 498 .Time-out Condition Clear Message, Port 3 499 .Time-out Condition Clear Message, Port 4 500 .Time-out Condition Clear Message, Port 5 501 .Time-out Condition Clear Message, Port 6 502 .Time-out Condition Clear Message, Port 7 503 .Time-out Condition Clear Message, Port 8 504 .Time-out Condition Clear Message, Port 9 505 .Time-out Condition Clear Message, Port 10 506 .Time-out Condition Clear Message, Port 11 507 .Time-out Condition Clear Message, Port 12 Macros 508..519 If you don't use preaccess, you can totally ignore these macros. Even if you do use preaccess, you don't have to worry about them. They are automatically renamed and programmed when you configure a port for preaccess with Command 070 or 071. If you are curious, however, read on. When a port is set to require preaccess (either with Command 070 or 071), these macros are automatically programmed and renamed. The access code ("*" for a repeater, "#??" for a link) is actually the new name of these macros. Also, the command decoder is told to ignore every command that is entered from that port except for these macros. When you enter the access code, one of these macros is executed. The commands that are automatically programmed into these macros may do a lot of things (such as start dial tone for a link), but they always do this one thing, they execute Command 074. Command 074 tells the command decoder to let that port access all of the commands in the controller again, but only until the preaccess timer (see Command 020) runs out. You should never have to change the contents of these macros by hand (since Command 070 and 071 do the work for you), but you might want to change their names. When you use Command 070 to configure a port as a preaccess repeater, it assumes that you want the local-mode access code to be "*". If that is not true, you can simply rename the first preaccess macro for that port to something else. Similarly, the link access code that is usually "#" plus two digits, can be changed to any valid command name up to six digits long. Macro Definition 508 .Pre-Access Storage, Port 1 509 .Pre-Access Storage, Port 2 510 .Pre-Access Storage, Port 3 511 .Pre-Access Storage, Port 4 512 .Pre-Access Storage, Port 5 513 .Pre-Access Storage, Port 6 514 .Pre-Access Storage, Port 7 515 .Pre-Access Storage, Port 8 516 .Pre-Access Storage, Port 9 517 .Pre-Access Storage, Port 10 518 .Pre-Access Storage, Port 11 519 .Pre-Access Storage, Port 12 Macro 520 is called whenever the controller is reset, whether it is reset because the power was just turned on, because you pressed the reset button, or because you executed the remote reset command. You can use it to execute any commands that you want to be executed on reset. If you run out of space in this, or any other macro, because you are trying to do too much, just call another macro, or several of them, from this macro and split up the work. Macro Definition 520 .Macro Called on Reset Macro 521 is a temporary macro that is used when appending macros etc. It is of no use to you because it will be overwritten often. Macro Definition 521 .System Temporary Macro Macros 522..537 are called when the corresponding user timer (see Command 020) expires. These timers can be started with Command 022 and stopped with Command 023. They are not normally used, but are provided for users that have a special purpose for them. Macro Definition Macro Definition 522 . . User Timer # 00 523 . . User Timer # 01 524 . . User Timer # 02 525 . . User Timer # 03 526 . . User Timer # 04 527 . . User Timer # 05 528 . . User Timer # 06 529 . . User Timer # 07 530 . . User Timer # 08 531 . . User Timer # 09 532 . . User Timer # 10 533 . . User Timer # 11 534 . . User Timer # 12 535 . . User Timer # 13 536 . . User Timer # 14 537 . . User Timer # 15 Macro 538 is automatically executed immediately before the autopatch is taken off hook when a call is made. It can be used to disconnect link ports before the call begins. Macro Definition 538 .Called before Autopatch is taken Off Hook Macro 539 is automatically executed immediately after the autopatch is hung up. It can be used to reconnect the links that were disconnected in macro . Macro Definition 539 .Called after Autopatch is placed On Hook Macro 540 is used to speak "Autopatch Busy" when you try to use the patch when it is already in use. It is automatically programmed when the controller is reinitialized. You can erase it and program your own autopatch busy message if you wish. Macro Definition 540 .Called when the Autopatch is Busy Macro 541 is used to speak "Autopatch" before the phone number is read back and dialed. It is automatically programmed when you set up the autopatch with Command 110. You can erase it and program your own message if you wish, but be sure that you recall the pre-programmed message first and understand what it does (it may do some other things depending on the number readback mode). You can also change the number of pauses that are spoken after the word "Autopatch" to change the delay before the number readback begins. See also macro 542. Macro Definition 541 .Called before Autopatch number is read-back Macro 542 is used to speak pauses after the number is read back. It is automatically programmed when you set up the autopatch with Command 110. You can change it if you wish, but be sure that you recall the pre-programmed macro first and understand what it does. You can change the number of pauses that are spoken to change the time that you can wait after the number is read back and still be able to kerchunk to make it dial/not dial (depending on the number readback mode). Macro Definition 542 .Called after Autopatch number is read-back Macro 543 is an autopatch macro that is used for number readback mode 2. Macro Definition 543 .Internal Autopatch Macro Macro 544 is used to speak "Call complete at