RLC-3, RLC-4, RLC-5, RLC-Club Version 1.78 V1.77 has been found to be a very stable software version. It does, however, have a few bugs in the preaccess routines (which most people don't use, but are very important to others). V1.78 is primarily intended to fix those preaccess problems, although it has some other improvements as well. It also improves the error checking for the voice synthesizer routines on the RLC-3 and RLC-Club. Because the changes between V1.77 and V1.78 are so minor, a complete V1.78 manual is not available. Instead, there is a small addendum to the V1.77 manual. The V1.77 manuals with the addendum are available from Link Communications in printed form ($20 each) or can be downloaded for free. PDF and plain text manuals are available from our internet home page or directly at the following addresses. The V1.78 addendum is available at similar addresses (replace 177 with 178 below): 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 changes made in V1.78 include: Added extended outputs with command 096 on all controllers. Allows external shift registers such as are used on many BCD boards to be connected to three of the controller's output lines to provide up to 64 output lines. If you are using the Doug Hall RBI-1 or RLC-ICM, the data line will be shared (except on the RLC-3); the clock line and latch line will be separate so you can use both at the same time. Whenever command 096 is executed to set or recall the state of an output line, the controller shifts out 64 bits of information representing the state of each of the outputs. Extended output line 64 is shifted out first, line 1 last. The data is also updated when the controller is reset and the extended outputs are enabled. Format: 096 0 ; Disable, this is the default. Keeps the controller ; from messing with the built-in outputs on reset, ; trying to shift the data out. 096 1 ; Enable the extended outputs 096 xx ; Recall the state of output "xx" 096 xx 1 ; Turn output "xx" on 097 xx 0 ; Turn output "xx" off Connection to the controller: Data Clock Latch RLC-3 8 7 6 Output lines on I/O board 1 RLC-4 3 2 1 Output lines on DB-25 RLC-5 8 6 5 Output lines on I/O board RLC-Club 7 6 5 Output lines on Deluxe board Added command 141 on RLC-3 and RLC-Club (already had it as command 144 on the RLC-4 and RLC-5) to turn the outputs on the RBI-1 on/off and recall them. Format: 141 x ; recall state of output 'x' 141 x 1 ; turn output 'x' on 141 x 0 ; turn output 'x' off HF Changes: - Fixed a problem that could have kept the HF routines from properly calling the event triggers for each band. It could also have called the event trigger before the first one that it should have been able to when a -1 was passed into the function. - How handles default values when change bands - Offset - In V1.70, set to zero every time changed frequency. Was bad for bumping. - In V1.77, set to default for the band and turn it on every time changed frequency. The default for the band did not (and still doesn't) get set to zero when turned offset off, so every time changed frequency, it would turn the split back on. - In V1.78, set to default for the band and turn split on or off to match whether it was on or off last time on that band. If want it to always default to off on that band but to stick when change frequencies within the band, can use event triggers to do it. - Mode - In V1.70, updated mode according to hard-coded algorithm every time changed frequency. Just bumping would change the mode; very frustrating. - In V1.77, updated mode every time changed from a frequency that defaults (using the hard-coded algorithm) to one mode to a frequency that defaults to a different mode: bad when you don't want to follow the hard-coded algorithm - doesn't keep your defaults for each band. It also doesn't use the algorithm if switch between bands that both use the same default mode (if using 2m sideband and change to 220, will not change to FM; if using 20m and change to 220, it will). - In V1.78, update mode every time change frequencies. Update it to the mode last used on that band. If turn split off on a band, it will stay off if you change to another band then back. But it will keep track of the offset you use the last time the split was on, so you can turn split back on without resetting what the offset should be. - PL - In V1.77, I think the PL setting was global. If you turned it on it stayed on even if you switched bands. Now it is always restored to the way you had it the last time you used the current band, just like like the offset/split and mode are. - Split 10m into two bands: below 29MHz and 29MHz and up. The former defaults to USB, the latter to FM. Since they are now treated like totally separate bands, command 197 should have two entries for 10m. The last few event triggers (see Chapter 20) will also be changed slightly, as there will be an extra entry in the HF band event triggers. Add one to the numbers for the event triggers above 219 on the RLC-3, 089 on the RLC-Club. - Made frequency recall command " 8" also recall the PL frequency if either encode or decode are enabled. Still need to do " 28" to recall whether encode, decode or both are turned on. Will also make the memory recall command work the same way. Confirmed that on the RLC-4, there is no need to use the nuisance table to block two digit numbers > 50, as they just cause an error. Fixed the voice readback for command 084. It used to speak two words but only define one, so it spoke an extra word that changed depending on the scheduler slot number. Changed the RLC-3 motherboard software to compensate for the fact that the order of the DTMF digits on the radio cards has always been wrong. In previous versions, had to tell the controller to send "A67" to get it to send "*67". Now it works as expected. Made event trigger for "hang up command 115 blocked" only get fired when the patch is actually in use. It used to happen whenever 115 was executed and was not currently using the patch. Now default callsign readback of all autodial slots to off. They used to get turned on every time the controller reset. Now they get turned on automatically one at a time when callsigns are programmed for that user with command 191. Command 126 can be used to make it read back the number even if a callsign has been programmed. Defaulted keyup delay filters off. Just need to to set the keyup delay timer values to 50 (1/2 second) or so to turn them on. The 60 second reset timer is still the same. Changed command 078 (set command executor options). Made all of the digits except the port number optional. Can now recall its own settings, making command 079 unnecessary (but leaving it in for now). If try to specify a decimal digit for the force-execution digit, it will instead change the force-execution digit for the specified port to match that of the source that entered the command. If the command was entered by an internal source (such as a user timer executing a macro), the decimal digit will be used literally. This provides protection against accidently changing the force- execution digit to a decimal digit, but makes it possible if it is ever necessary (I can't imagine why you would want to). Preaccess Changes: - Fixed problem that let a port get isolated from itself. When hit '*' to enter a command on a repeater, it would isolate the repeater from itself, letting the tx drop. The same problem kept it from getting courtesy beeps at those times. - Fixed a problem that kept ports using preaccess from being able to execute commands consistently. When the DTMF interdigit timer expired and the port was not set for timed execution, the code used internally to clear the DTMF entry buffer was confusing the preaccess system. It now knows how to handle that code, and command 075 gives you two options for it (described below). There was a workaround: setting the DTMF interdigit timer to 0 kept the code from ever being sent and let commands be executed consistently. - Expanded command 075 (set stop access conditions) to specify whether to stop access when the esc (interdigit timer expired) and force-execution codes are received. The effects of this are explained below in the force-execution section. Changed some of the default values for the other codes (now default chaining off). - The force-execution digit is still allowed as part of the preaccess code (although you may have to change the force- execution digit to set the access code that way). It is handled as follows: - When the access code has not been entered yet (or has been partially entered), if the next digit of the access code is the force-execution digit, it is handled normally. That is, if the correct digit is entered, the controller begins looking for the following digit of the access code or if that digit was the last digit of the access code, it considers the code to be complete. If the wrong digit is entered next, the access code is rejected and any following digits are ignored until access is cleared. - When the access code has not been entered yet (or has been partially entered), and the next digit of the access code is NOT the force-execution digit, but the force-execution digit is received, the result depends on the command 075 setting for clearing access when the force-execution digit is received. If it is not set to clear access, everything works normally, that is the access code is rejected and following digits are ignored until access is cleared. If the force-execution digit is set to clear access things work a little differently than normal. In this case, the access code is rejected and access is cleared immediately, so that the correct access code can be entered following the force-execution digit and be accepted. This is most relevant when another site has an access code containing this controller's force-execution digit. If, for example, the other site's access code is "#1D" and they enter "#1Dxxx", this controller will see "#1" "xxx". If "xxx" was this site's access code it would accept it when it shouldn't, otherwise "xxx" will be seen as an invalid access code and will be rejected (the same result as if "#1D" had been rejected initially). The thing to watch out for is to make sure that if other sites use 'D' in their access codes and you have command 075 set to reset preaccess when the force- execution digit is received, that the other site does not have any commands "xxx" that make the digits following the 'D' match your access code. - If an access code has been rejected (such that digits being entered are ignored), the force-execution digit will only clear access and allow you to try entering the access code again if command 075 is set to make the force-execution digit to stop access. - After the access code has been entered and accepted, 'D' will always be passed on to the command executor, so it can force any digits that were entered after the access code to be processed. It may also activate the DTMF bypass feature. Whether or not the 'D' will clear access or not is dependent on the setting of command 075. - Confirmed that with all of the changes, the patch now works right when use it from a preaccess repeater. In at least some previous versions, you couldn't hear the audio from the phone for a while after placing the call because the port was isolated. It might still be possible to make it do that now with the right combination of stop-access flags, but the defaults work fine. - Now include command 077 (isolate port) automatically in preaccess links' macros so they won't hold up the backbone while accepting commands. Should work to add that command manually in earlier versions. Now default to allowing all 7 digit numbers on all controllers (slot 0 of the allow table). Also block all 3 digit and 4 digit numbers in slots 0 and 1 of the nuisance table. Blocking 3 digit is not necessary (but isn't hurting anything) on the RLC-3 since all three digit numbers are autodials. On the Club, it blocks three digit numbers > 500. Fixed command 034 on the Club. It has always set the level correctly, but in previous versions when used to recall the level, it has spoken the wrong value. Fixed command 050. To clear the current value, you used to have to enter a port number of 0. Now it automatically clears the value each time you specify a new one. Voice Synthesizer and DVR1 Changes: - Changed how the RLC-3 and Club switches between DVR and synthesized voice audio. Now does not turn off the audio switch between words or DVR tracks to avoid any possibility of clicking. - Made the RLC-Club DVR LED blink when the DVR1 is waiting to record. It already did it for the internal DVR. - Added command 168 on the RLC-3 and RLC-Club to report by serial and voice some info about voice synthesizer errors. The "Failure" codes are enumerated as VERROR in voice.h. - Removed the ping timer voice checks on the RLC-3 since the new timer described below should do the same job better. - Added a timer to truncate a word if it goes past a default of 1.5 seconds. Should keep controller from locking up if the voice synth fails to tell the controller when a word is finished. The RLC-3 has done this in the past using the ping timer, but that took 20..30 seconds. Timer is 022 on the Club, 077 on the RLC-3. - Now just call record voice errors and call handle_end_of_word whenever something goes wrong with the voice synthesizer rather than resetting the controller. Spurrious interrupt still resets controller since it can be caused by other things as well. - Now hold the init line low on the voice synth whenever it is not speaking. Doesn't change current consumption because the chip automatically powered itself down anyway, but will allow me to make it stop speaking at any point or to clear errors by calling handle_end_of_word. Known Problems and Workarounds: - If you plan to use the reverse patch in mode 2 (DTMF control mode), you will need to use command 075 to clear the stop access conditions first. If you do not, it will only let you execute one command, then it will ignore you. The workaround in V1.78 is to execute command 075 manually: "075 P 00000" where P is 3 for the RLC-Club, 4 for the RLC-4, and the patch port on the RLC-3. - V1.77 workaround (not needed in V1.78): When placing a call from a preaccess repeater while links are connected, the links may not be automatically included in the call as they should be. The solution is to enter "075 P 111" where P is the port number of the preaccess repeater. - RLC-4 workaround (V1.77 and V1.78): to change the frequency of the tone heard when you enter the access code of a preaccess link, use command 049 and the following format: "049 P ffff 0000" where P is the port number and ffff is the frequency in Hertz. The final four 0's will not be needed in future versions. - RLC-3 and RLC-Club workaround: when using command 190 to recall the user level required to execute a large range of commands, the controller may reset rather than providing the command response. To avoid this, turn off serial queuing with "060 0110" first: 060 0110 ; turn serial queueing off 190 000 500 ; recall level for commands 0-500 060 0111 ; turn serial queueing back on - The synthesized voice words "goodbye", "tick/toc", "approach" and "Mount Hamilton" may not work correctly. They should be corrected in a future version. ------------------------------------------------------------------------ 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 EOA8 RLC-3 27C010 / 120ns 076A & EBB7 RLC-4 27C512 / 200ns F000 RLC-5 27C512 / 200ns D4E4 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