RLC-3, RLC-4, RLC-5, RLC-Club Version 1.77 The RLC-3, RLC-4, RLC-5, and RLC-Club have always used the same core software routines. In version 1.77, they have been consolidated even more, so that most of the commands are identical on all four controllers. Since the command numbers didn't quite match up between controllers before, the RLC-4 and RLC-5 command numbers were changed when necessary to make them match the RLC-3 and RLC-Club which were already similar. This change should make it much easier for those that maintain several different controller models. Translation tables showing how the command numbers on the RLC-4 and RLC-5 have been changed between V1.30 and V1.77 have been posted at the addresses: http://www.link-comm.com/anonftp/rlc4/manuals/130_177a.txt and http://www.link-comm.com/anonftp/rlc4/manuals/130_177b.txt. The manual has been updated to include the changes in V1.77. Most of the changes made between V1.75 and V1.77 are also documented in this readme file. PDF and plain text manuals are available from our internet home page or directly at the following addresses: RLC-3: http://www.link-comm.com/anonftp/rlc3/manuals/rlc3_177.pdf http://www.link-comm.com/anonftp/rlc3/manuals/rlc3_177.txt ftp://ftp.link-comm.com/rlc3/manuals/rlc3_177.pdf ftp://ftp.link-comm.com/rlc3/manuals/rlc3_177.txt RLC-4: http://www.link-comm.com/anonftp/rlc4/manuals/rlc4_177.pdf http://www.link-comm.com/anonftp/rlc4/manuals/rlc4_177.txt ftp://ftp.link-comm.com/rlc4/manuals/rlc4_177.pdf ftp://ftp.link-comm.com/rlc4/manuals/rlc4_177.txt RLC-Club: http://www.link-comm.com/anonftp/rlc-club/manuals/club_177.pdf http://www.link-comm.com/anonftp/rlc-club/manuals/club_177.txt ftp://ftp.link-comm.com/rlc-club/manuals/club_177.pdf ftp://ftp.link-comm.com/rlc-club/manuals/club_177.txt The RLC-3 and RLC-Club command numbers are largely unchanged, with the following exceptions (some of these changes occured in previous versions): - Command 007 can now be used to recall as well as set up the DTMF mute/ cover tone/bypass ("007 1" will recall the settings for port 1). Command 008 can still be used to recall those settings as in past versions, but it may be removed in the future. - The format of command 050 was changed in V1.73; see the V1.73 or V1.75 manual for the updated format. It can now be used to recall as well as set up the default audio routing settings. - Command 065 (which used to recall the default audio routing settings) is now an "undo" command for 037 and 038. - Command 115 used to set and 116 used to recall the autopatch predial digits. In V1.77, 115 is a special hang up command (it will only hang up if it is executed from a port that can hear the call, not from a port that is operating independently of the patch). 116 is now used both to set and recall the predial digits. - Command 168 (Set DTMF Acceptance Requirements) has now been removed in favor of extending command 005 to provide better control over when DTMF digits should be accepted. V1.77 was considered to be beta software as of 6-18-97 when it was posted to our web site. Since then, reports have been that it is stable and works very well overall. There is a bug in the preaccess routines (described below), but if you are not using preaccess (or don't even know what it is), that bug should not affect you at all. If you find a bug, please let us know, preferably in writing (by email, snail mail or fax) rather than by phone. As bugs, wordarounds and fixes are available, they will be posted to the listserver (there is a link to the subscription form on our home page) and added to this readme file. The changes made in V1.77 since V1.76 include: - Added keyup delay filter to all controllers. Enabled after a default of 60 seconds of receiver inactivity. When enabled, ignores any keyup shorter than 1/2 second (default), then responds normally. See timer numbers below. If set delay timer to 0, it is disabled. - Changed female morning/afternoon/evening special so switches to evening at 6:00 PM rather than 5:00. - Fixed problem that made the analog low value special words just speak the current value instead. - Added small dvr routines to RLC-4. - Changed the analog high/low storage so it notes the time of the most recent rather than the oldest match. - Added supervisory ptt control and recall to the 4 and 5 as commands 033 and 034. - Fixed the bug in V1.76 that would make the RLC-3 reset or the RLC-Club voice stop working if a transmitter was turned off with command 155. - Fixed a bug that made the RLC-4 V1.30 (and I think some other controllers) send multiple courtesy beeps if the audio routing variable was changed inside the courtesy beep macro. Should never need to do that now anyway, since the courtesy beep enable/disable command now works on the RLC-4 and RLC-5 as command 041. - Added DTMF cover tone and bypass to RLC-4 and RLC-5. See command 007. - Changed DTMF muting routines to avoid the problem of the end of the force-execution digit being passed when used as a mute bypass and using audio delay module. Audio will now remain muted for length of dtmf mute timer after bypass digit is pressed, unless another dtmf digit is detected in which case it is unmuted immediately. - Added DTMF interdigit timer (both discard and timed-execution) to the RLC-4 and RLC-5. - Now reset message start delay timer both when tx comes up as it always has been (to make sure it is up and stable before sending) and when the rx becomes inactive according to the DTMF access mode. This causes the command response to be delayed if the command is executed by unkeying but not if it is executed by pressing the force-execution digit. - RLC-3 and RLC-Club only: made the courtesy beep delay after voice timer also make it delay after tones. - RLC-4: Increased allowed telephone number table from 5 to 20 slots and nuisance number table from 5 to 10 slots. Allowed table now takes two digits to specify. - Now support serial options on the RLC-4 and RLC-5, suppression, line feed sending and case conversion. Still don't queue the serial output like do on the RLC-3 and RLC-Club. See command 060. - Fixed an obscure preaccess problem. If enter #99 (get dial tone) 009 unkey (executes, is still accessed) 009 unkey (executes, is still accessed), #99009 (unkey) it no longer sends dial tone. It used to execute 009 and send dial tone afterward. It sent dial tone because #99 executed as a normal command when you unkeyed rather than immediately because already accessed and it didn't start dial tone until then at which time the 009 had already been received and couldn't cancel the dial tone. Now the command buffer logic cancels dial tone whenever a command is chained on afterward. - Changed RLC4 and RLC5 so they use pre-assigned macros for preaccess like the RLC-3 and RLC-Club do, rather than making the user specify the macro numbers when setting up preaccess. Uses macro numbers ???. - Combined preaccess set-repeater, set-link, turn-off and recall commands on the RLC-4. The functions handled by the old command 070, 071, 072 and 073 are now handled by 073. The format of 073 is: p - recall for port p p0 - turn preaccess off for port p p1 - make port p a preaccess repeater p2dccc - make port p a preaccess link with dial tone if d and code ccc - Now make the reverse patch setup command automatically enable the keyup delay filter for the reverse patch ring detect on all but the RLC-Club which debounces rings another way. It sets it to require rings to be 1/2 second long and re-enables the delay immediately. Should eliminate any possible problems with the new RLC-3 style patch ring detect falsing easily. - Converted the RLC-4 and RLC-5 RBI-1 support to handle the automatic band switching. Now have the following commands: 139 - RLC-ICM setup 140 - radio on/off, tx power low/med/high, offset format 141 - pl freq code, tx on/off, rx on/off 142 - set freq or recall memory 143 - recall current frequency or memory - Delayed the RBI-1 data sends on the RLC-4 and RLC-5 like they have been on the RLC-3 and RLC-Club. Now accumulates changes until timer expires, then sends the combined result. - RLC-4 and RLC-5 only (will add later to the RLC-3 and RLC-Club): added command to control the RBI-1's outputs. Resends the whole frequency when it changes an output rather than just sending one byte. Is delayed like other RBI-1 controls, so can't pulse an output from a macro; the changes will be combined and the last change will be the only one that has an effect. - Added wind speed counter on the RLC-3 and RLC-Club. Command 109 specifies: 0 - turn counter off, 1..5 (Club) or 1..16 (RLC-3) - use specified line as counter. A timer (defaulting to 2.3 seconds) determines how long will count pulses before starting over. Should work with all common anemometers (those whirly things with three cups that spin in the wind) that output pulses proportional to wind speed. Scaling or timer can be changed to match different anemometers. RLC-3: Pulsing line needs to be connected to the contact-closure input and read as an analog input. The analog line of the same number will not be accessable. To read wind speed, hook up the anemometer so that the reed switch that closes as it turns and the magnet rotates by connects the input line on the controller to ground. Using a voltmeter or logic probe, make sure that the line pulses every time the anemometer goes around. On the RLC-Club, it can be connected directly to inputs 1..3, or to input 5 (on pin 4) if you use a pullup resistor to 5 volts. On the RLC-3, it should be connected directly to one of the contact closure inputs. Then use command 109 to tell the controller which input line it is connected to. From that point on, reading the ANALOG line of that number will give you a number related to the wind speed. To make the controller read the wind speed in miles per hour, you will need to find out how fast your anemometer pulses relative to the wind speed. One common anemometer (Davis) is rated at 26.6 pulses per minute per mile per hour. 60/26.6 = 2.2556 seconds to get one pulse per mile per hour. The wind speed timer is set to count the pulses in 2.3 seconds (in V1.77, will be 2.26 in later versions). If the analog conversion ratio is left at the default 1:1 (it can be changed with command 102), the analog line will read the speed in miles per hour. The wind speed measurement can be adjusted by changing the timer or by changing the conversion ratio with command 102. Using the calibrate command for wind speed is not recommended, as any calibration offset will keep it from reading zero when it is calm. You can use command 100 or the analog special words to speak the wind speed, and all of the normal analog high/low readings and alarms will work. - Added some new timers which required changing some of the existing timer numbers. To get the new numbers: RLC-Club Add 20 to all timers numbered 20 or above Timers 19 and 20 are now keyup delay timers Timer 21 is used for caculating wind speed See command 109. Timers 40 and 41 are impolite ID timers Timers 88 and 89 determine how long it takes to re-enable the keyup delay RLC-3 Add 30 to all timers numbered 70 or above Timers 68..75 are now keyup delay timers Timer 76 is used for caculating wind speed. See command 109. Timers 194..201 determine how long it takes to re-enable the keyup delay RLC-4 Add 14 to all timers numbered 26 or above Timer 17 is used to delay sending RBI-1 data Timer 18 is used with the DVR Timers 19..22 are the "mini-hang timer" Timers 23..26 are now keyup delay timers Timers 69..72 are DTMF interdigit timers Timer 73 is used for the reverse patch Timer 74 is used for the DVR Timers 75..78 determine how long it takes to re-enable the keyup delay RLC-5 No changes Timer 13 is used to delay sending RBI-1 data Timer 14 is used with the DVR Timers 15..17 are the "mini-hang timer" Timers 18..20 are now keyup delay timers Timers 46..48 are DTMF interdigit timers Timer 49 is used for the reverse patch Timer 50 is used for the DVR Timers 51..53 determine how long it takes to re-enable the keyup delay - RLC-3 and RLC-Club only: made text to speech function 066 accept dvr1 messages of the format "DVRx", "DVRxx", or "DVRxxx" where xxx is the number of the dvr track. Works with beaconing. - Now poll analog when tones are running. - Fixed a bug with the DTMF cover tone that made the voice only stop the cover tone on port 1. - Expanded command 005 so can set access mode for DTMF separately, rather than using rx access mode for it. Can use to require PL to access commands even if only COR is needed to access the repeater, or to allow commands to be executed using only COR even if PL is required to access the repeater. Commands are now executed when you unkey based on the DTMF access mode rather than the receiver access mode. - Added access mode 5, always active. Should be useful for testing and for hf radios. - Separated dtmf mute logic from other dtmf activity logic. Solved problem when rx in cor but dtmf in cor&pl modes, would not mute dtmf before if only cor present. - Changed the s-meter special words to use the analog high values rather than the current values, so the s-meter will speak the right value even after you unkey. In previous versions, the s-meter would usually read "S 0" regardless of your signal strength because it didn't read the voltage until after you had unkeyed. By using the highest voltage obtained during the keyup rather than the voltage when the signal strength message is actually spoken (usually after unkeying), the s-meter will indicate the peak signal strength obtained. To automatically reset the peak value each time the receiver is keyed, the controller should be programmed something like the following: 157 000 500 ; When RX1 is keyed, do macro 500 053 500 038 ; Make macro 500 work silently 056 500 160 1 1 1 ; (RLC-3) Reset I/O board 1 high ; alarm for line 1 056 500 160 1 1 ; (RLC-Club) Reset high alarm for line 1 The command "157 000 500" sets up an event trigger that will fire whenever the COR signal for port 1 goes active, that is whenever the squelch opens. You will have to change the "000" to the proper event trigger for the receiver that you are reading the signal strength for, if it is not port 1 (see Chapter 8 in manual versions 1.70 or earlier, Chapter 20 in manual versions 1.73 and later for information about event triggers). The "500" is the number of the macro that will be automatically executed when that receiver is keyed. You may need to change every "500" to the number of a macro that is not being used. The following lines tell the controller that when macro 500 is executed, it should silently reset the stored high/peak value for analog line 1. If you are using a different analog line for your s-meter, you will have to change the last digit following the "160" (see Chapter 12 command 160 for more information about clearing stored high/peak values). - Added a digit to command 144 (set offset format) to allow to specify whether entering a '*' allows or suppresses the readback of frequency with command 142 (and on the RLC-3 and RLC-Club, PL frequency when entered with command 146). On frequency, the '*' must go in the decimal place (after the 1MHz digit). On PL, it can go anywhere in the data digits. Defaults to working like it always has (reading the freq back) with '*' allowing you to suppress the readback. If change that with command 144, it will work like the ACC controllers, only reading back if you enter the '*'. - Optimized all of the controllers for speed and made other changes to make the CW timing more accurite. - Was incorrectly setting the need_tail_msg flag every time the tx came up as well as when a connected rx is active. Fixed it. Should solve the problem of getting a tail msg after an ID. - Found that in previous versions, courtesy beeps were turned off on ports that could hear the port that was controlling an hf radio, not for ports that could hear the hf radio itself. - Figured out that the RLC-4 tones on port 1 have always crackled, expecially on higher frequencies like 2000 Hz, because the output pin was actually changed by the ISR rather than automatically by the hardware like the tone pin for ports 2..4 were. Found a way to make port 1 switch with hardware too which solved the crackle. - Now hang up the patch whenever the setup command is executed, even if you are enabling it again. Solves some special cases. - RLC-4 and RLC-5: commands 092 and 106 (which enable/disable the input line and analog alarms) have been removed, since those things can be enabled/disabled with the event triggers already. Known Bugs in V1.77: - When you enter the command to make an autopatch call and unkey, you will get a courtesy beep when it starts to dial (you shouldn't). Courtesy beeps are properly disabled for the remainder of the call. - When a port is configured as a preaccess repeater, it temporarily quits repeating when a '*' is entered, such as when entering a command. This bug only affects repeater ports that are configured for preaccess, and then only when commands are being entered on the local repeater (rather than passing them down the link). There is a workaround that should be satisfactory for most users. The process for entering a command on a preaccess repeater follows: '*' Indicates that a command is to follow and that the links can be temporarily disconnected since the command is intended for the local repeater controller and doesn't need to be sent down the links. The repeater transmitter should remain keyed (but doesn't in V1.77), although it will probably just be transmitting a dead carrier or a DTMF cover tone, depending on how you have the DTMF mute set up. command Any dtmf command, 026 to recall the time for example. The repeater TX should (but doesn't in V1.77) remain up during this time. unkey Causes the command to execute and the voice response to be sent. In V1.77, the repeater TX must key up to send this response since it unkeyed when the '*' was pressed earlier. After the voice response, you should get a courtesy beep, then the hang time, then the TX should drop. In V1.77, you get the voice response, then the MINI hang time and the TX drops (the courtesy beep is omitted and the MINI hang time rather than the normal hang time is used). key & talk The repeater TX should come up immediately when you key up after entering a command. In V1.77, it may not, depending on several factors including whether or not the command you entered was valid, the stop access conditions set with command 075 and the length of the preaccess timer. There is no workaround to keep the repeater TX from dropping when the '*' is received or to restore the courtesy beep and hang time, but those are relatively unimportant when a command is being entered. The more significant problem is the delay in the repeater coming back up after a command has been entered. The workaround for that is to shorten the preaccess timer from 8 to 2 or 3 seconds. By doing that, the timer will normally expire while you are listening to the voice response from the command you entered so it won't cause a delay when you key up again. This bug is also present in V1.76 and possibly some earlier versions. - RLC-Club only: command 034 works correctly to set the internal DVR record level, but when used to recall the current setting, it speaks the wrong number. - In V1.77, the dialing tables were supposed to default to allowing all seven digit numbers. It was also supposed to blocking all four digit numbers and three digit numbers that are not autodials. Those defaults don't get set automatically as they should. You can manually set up the dialing tables to work that way by entering the following commands: RLC-4: 119 00 ### ; allow all 7 digit numbers 121 0 ### ; block all 3 digit numbers 121 1 #### ; block all 4 digit numbers RLC-3 and RLC-Club: 119 000 ### ; allow all 7 digit numbers 121 000 ### ; block all 3 digit numbers 121 001 #### ; block all 4 digit numbers ------------------------------------------------------------ You can find this file and the others described below on our internet ftp site, ftp://ftp.link-comm.com. The easiest way to access it is with a web browser through our home page, http://www.link-comm.com. readme.txt This file. eproms.zip The binary file(s) needed to burn a new eprom. Controller Eprom Type/Speed Checksum ---------- ---------------- -------- RLC-Club 27C040 / 120ns D83E RLC-3 27C010 / 120ns 6F89 & 54DA RLC-4 27C512 / 200ns 2FB2 RLC-5 27C512 / 200ns BF65 If you have any questions, please email (preferred), fax, or call me. Steve Strobel Link Communications, Inc. steve@link-comm.com http://www.link-comm.com (406) 482-7547 fax (406) 482-7515