================================================================ D A S -- DTMF ACCESSORY SQUELCH CONFIGURATION REFERENCE GUIDE 951105/Iss-1 ================================================================ Paul Newland, ad7i Post Office Box 205 Holmdel, NJ 07733 ad7i@tapr.org ---------------------------------------------------------- | Copyright (c) 1995 by Paul Newland, P.E. | | All Rights Reserved. This guide may be reproduced | | by radio amateurs for their own personal use, provided | | this copyright notice is included in any reproduction. | ---------------------------------------------------------- ******************************************************************* * NOTES * * * * SPECIAL TYPESETTING FUNCTIONS (I.E., FOOTNOTES, ITALICS, * * ETC.) ARE MARKED WITHIN THE TEXT USING A DOUBLE SLASH (LIKE * * THIS //). * * * ******************************************************************* INTRODUCTION ------------------------------------ DAS (DTMF Accessory Squelch) acts like a switch connected in series between the speaker output of your VHF or UHF transceiver and an external speaker. DAS will monitor a radio channel for you, with the speaker switch open so the speaker remains silent, until someone sends one of the DTMF sequences you have selected. When DAS hears your your personal Touch-Tone ID sequence on the radio channel it will light a LED, sound an buzzer and close the series speaker switch so that you can hear the audio of the calling station. An introductory discussion of DAS was published in //QST//, December, 1995, pages 25-31. The "DAS Configuration Reference Guide", this paper, provides a more complete description of each programming option, the purpose of the option and how the various options may interact. There are also a series of DAS application notes that may be of particular interest to those with special application needs. All relevant DAS documentation, other than the //QST// article itself, is available electroncially from the TAPR FTP file server as well DAS CONFIG REF GUIDE -2- 951105/Iss-1 as the ARRL BBS//1. CONFIGURATION ------------------------------------ This section outlines how to enter and exit the configuration (CONFIG) mode. It also details the various configuration commands and options and how to use them. To issue CONFIG commands or to change CONFIG values DAS must be in the CONFIG mode. Whenever a command is issued to establish a set of defaults or change a configuration bit, that data is stored to the EEPROM automatically. Enter the CONFIG mode by pressing and holding the CLR button for 3 seconds. You should now see that the STA lamp is winking (mostly ON with very short periods of OFF, repeated at regular intervals). This indicates that DAS is in the CONFIG mode. When DAS is in the CONFIG mode it ALWAYS considers the * (STAR) to be the "delete all previous input" command and the # (POUND) to mark the end of a configuration command. There is no "no more input" timer when DAS is in the CONFIG mode. When in the CONFIG mode, DAS will do nothing until you enter the # (POUND) symbol to mark the end of your CONFIG command. Within 3 seconds of entering a # (POUND) to mark the end of a CONFIG command you should see a "command accepted" or "command rejected" flash code on the URG and PER LEDs. The command accepted flash code consists of the URG and PER LEDs both on, simultaneously, for about two seconds. The command failed flash code consists of the URG and PER LEDs alternating on and off (like railway grade-crossing warning lights), for about two seconds. To lessen the likelihood of bogus inputs, start each CONFIG command with a * (STAR) to erase any prior extraneous DTMF digits. Any options or ID sequences that you change while in the CONFIG mode will automatically be stored in the EEPROM and retained for the life of the device, even if power is removed. To leave the CONFIG mode press and immediately release CLR to return to the decoder mode. Observe that all LEDs are now off. Configuration Commands ------------------------------------ This section details the CONFIG commands. DAS CONFIG REF GUIDE -3- 951105/Iss-1 ------------------------------------------------------------------ | LEAVE CONFIG MODE COMMAND | | Execute: *0# ------------------------------------------------------------------ This command causes DAS to behave as though the CLR button was pressed and immediately released. This command provides an alternative means to leave the CONFIG mode. ------------------------------------------------------------------ | SET PER ID SEQUENCE | | Execute: *1nnnnnnn# ------------------------------------------------------------------ This command causes DAS to store "nnnnnnn" as the PER ID sequence. The number of digits in "nnnnnnn" can range from 1 to 7, inclusive. An entry of "*1#" disables the PER ID decoder operation. ------------------------------------------------------------------ | SET GRP ID SEQUENCE | | Execute: *2nnn# ------------------------------------------------------------------ This command causes DAS to store "nnn" as the GRP ID sequence. The number of digits in "nnn" can range from 1 to 3, inclusive. An entry of "*2#" disables the GRP ID decoder operation. ------------------------------------------------------------------ | ESTABLISH ALL SELCAL DEFAULT VALUES | (including PER and GRP ID Sequences) | | Execute: *30# ------------------------------------------------------------------ This command causes DAS to take the SELCAL default values from the microcomputer (U1) and save them to EEPROM (U2). Use this command to re-initialize DAS to all SELCAL default values. ------------------------------------------------------------------ | READ EEPROM DATA TO RAM | | Execute: *31# ------------------------------------------------------------------ This command causes DAS to load all options and ID sequence from EEPROM to U1's RAM. Since the EEPROM data should be the same as that in the microcomputer's RAM before this action, this command really only tests the EEPROM for correct checksum. DAS CONFIG REF GUIDE -4- 951105/Iss-1 ------------------------------------------------------------------ | ESTABLISH SELCAL DEFAULT OPTION VALUES | (without changing PER and GRP ID Sequences) | | Execute: *32# ------------------------------------------------------------------ This command causes DAS to take only the SELCAL default option values from the microcomputer (U1) and save them to EEPROM (U2). This command will not affect the previously stored ID sequences. ------------------------------------------------------------------ | ESTABLISH GENERAL PURPOSE CONTROLLER DEFAULT OPTION VALUES | (without changing PER and GRP ID Sequences) | | Execute: *33# ------------------------------------------------------------------ This command causes DAS to take only the CONTROLLER default option values from the microcomputer (U1) and save them to EEPROM (U2). This command will not affect the previously stored ID sequences. ------------------------------------------------------------------ | ESTABLISH REMOTE RESET CONTROLLER DEFAULT OPTION VALUES | (without changing PER and GRP ID Sequences) | | Execute: *34# ------------------------------------------------------------------ This command causes DAS to take only the RESETTER default option values from the microcomputer (U1) and save them to EEPROM (U2). This command will not affect the previously stored ID sequences. ------------------------------------------------------------------ | LOAD OPTION BIT VALUE | | | Execute: *4abd# ------------------------------------------------------------------ This command causes DAS to activate or disable a particular option. The address of the option byte is "a", bit position is "b" and data is "d". All values are octal. "a" can range from 0 to 2 inclusive, "b" can range from 0 to 7 inclusive and "c" should be 0 for disable or 1 for activate (LSB of entry is actually used so other values do not cause errors). This is the format of the commands used to change option flag values. DAS CONFIG REF GUIDE -5- 951105/Iss-1 ------------------------------------------------------------------ | LOAD BYTE VALUE | | | Execute: *5aaddd# ------------------------------------------------------------------ This command causes DAS to load bytes in the ID sequence area. The byte address is "aa" and the data is "ddd". All values are octal. "aa" can range from 00 to 13 inclusive and "ddd" can range from 000 to 377 inclusive. This command only loads the area used for the ID sequences and can not be used to load options 8 bits at a time. The PER ID sequence locations start at address 00 and end at address 07. The GRP ID sequence locations start at address 10 and end at address 13. All ID sequence strings must end with at least one null (000) value. It's extremely unlikely that you will ever need to use this command. ------------------------------------------------------------------ | FLASH SYSTEM STATUS INFORMATION ON LEDS AS NIBBLES | | Execute: *7# ------------------------------------------------------------------ This command causes DAS to show values of various internal conditions. These values are shown as nibbles on the four LEDs (LSB on URG, MSB on STA). Each nibble is displayed as follows: First 200 ms all four LEDs are active to mark the start of the nibble; for the next four seconds those bits of the nibble that are high are shown as illuminated LEDs, those bits of the nibble that are low are shown as dark LEDs; the next two seconds all LEDs are dark. Bytes are output as high nibble followed by low nibble. The bytes are output in the following order: 1. Highest Address Used For Stack 2. Configuration Options, Register 0 (400x-407x) 3. Configuration Options, Register 1 (410x-417x) 4. Configuration Options, Register 2 (420x-427x) 5. Firmware Release Date, Year and Month HiNib: Units of Year, LoNib: Month (1-9, A, B & C) 6. Firmware Release Date: Day-of-Month packed BCD, set MSB (d7) if code has been patched 7. PERsonal ID digit sequence 8. GRouP ID digit sequence When all listed data have been displayed the DAS program will jump to code address 0 (almost the same as if a hardware reset signal was received). OPTIONS ------------------------------------ This section details the option flags (or just options). It provides specific sequences to activate or disable various options. It also provides information about what each option DAS CONFIG REF GUIDE -6- 951105/Iss-1 controls and how it interacts with other options. The default SELCAL option state is marked by "(DEF)". ------------------------------------------------------------------ | SELCAL CONTROL | | Activate: *4001# (DEF) Disable: *4000# ------------------------------------------------------------------ This option controls the signal source for the relays, K1 (speaker) and K2 (horn) as well as the LEDs. When SELCAL CONTROL is active K1 and K2 are controlled by the speaker timer and the horn timer respectively and the URG, PER and GRP LEDs flash patterns are set by the particular DTMF sequence received (LITZ, Personal ID, Group ID, respectively). When SELCAL CONTROL disabled, K1 and K2 are controlled by the state of internal flags NVK1 and NVK2 while the LEDs are set by the LED flash codes. NVK1, NVK2 and the flash codes are set or clear by the respective PER-PLUS function. NOTE: When SELCAL CONTROL is ACTIVE the LED flash codes established by normal SELCAL decoder operation can be overwritten by PER-PLUS sequences if the REMOTE LED CHANGES OK option is active. ------------------------------------------------------------------ | SCANSTOP OT0 / TRANSPOND OT1 | | Activate: *4011# (DEF) Disable: *4010# ------------------------------------------------------------------ When this option is ACTIVE DAS will use the OT0 output as a ScanStop signal. The OT0 signal is active (sink current to ground) whenever a DTMF signal is being received or the speaker control timer is active. OT0 can be used to control an external channel advance circuit to keep it from advancing (scanning). When ACTIVE DAS will also use the OT1 output as a Transpond signal. The OT1 signal is active (sink current to ground) whenever the horn timer is active and the last decoded sequence was a PER ID sequence. OT1 can be used to control an external transponder circuit that keys the PTT of a transmitter while sending a distinctive audio signal (that includes legal ID, if necessary). NOTE: OT1 will not provide a transpond signal under any condition if SEARCH FOR PERSONAL SEQUENCE is set to ACTIVE. DAS CONFIG REF GUIDE -7- 951105/Iss-1 ------------------------------------------------------------------ | LONG TONE ZERO | | Activate: *4021# (DEF) Disable: *4020# ------------------------------------------------------------------ This feature controls DAS's response to long DTMF symbol 0. When ACTIVE the decoder will respond to long DTMF 0 with a flutter indication on the URG LED, and the optioned speaker and horn relay durations. When DISABLED the decoder will not respond to long DTMF symbol 0. ------------------------------------------------------------------ | LONG DIGIT DETECTION | | Activate: *4031# Disable: *4030# (DEF) ------------------------------------------------------------------ This feature controls DAS's response to any long DTMF Digit symbol (1 through 8 inclusive, excluding 9 and 0). When ACTIVE the decoder will respond to any long DTMF digit symbol (other than 0 and 9) with an interrupted flutter indication on the GRP LED, and the optioned speaker and horn relay durations. When DISABLED the decoder will not respond to any long DTMF symbol (other than 0). ------------------------------------------------------------------ | STAR IS WILD CARD CHARACTER | | Activate: *4041# Disable: *4040# (DEF) ------------------------------------------------------------------ When this option is ACTIVE DAS will consider the reception of a * (STAR) symbol to the the same as the digit configured for the decoder at that position. For example, if the programmed Primary sequence is 1234 and WILD was ACTIVE and the received sequence was 1*3* (or **34 or 1**4 or ****) the decoder would respond as though it had received 1234). The same wild card operation would hold true for the GRP ID sequence. When DISABLED, the decoder will consider the * (STAR) symbol to be a wrong digit and will not respond to the received sequence. COMMENT: The STAR IS WILD CARD CHARACTER feature is useful if you need to create group calling with a hierarchy. For example, assume all members in your group have programmed their decoders for STAR IS WILD CARD CHARACTER to be ACTIVE. Additionally, people in group "1" are assigned Primary sequences of the set 713, 714, 715, 716 and people in group 3 are assigned Primary sequences of the set 734, 735, 736, 737. If you which to reach user 735 then send #735# on the radio channel. If you wish to reach all members of group 3, send #73*#. If you wish to reach all members of groups 1 & 3, send #7**#. Thus, you can use the wild card character (*) to select groups of people. DAS CONFIG REF GUIDE -8- 951105/Iss-1 NOTE: You should not activate both STAR IS WILD CARD CHARACTER and the STAR IS REGISTER CLEAR COMMAND options -- results are unpredictable and probably undesired. ------------------------------------------------------------------ | STAR IS CLEAR REGISTER COMMAND | | Activate: *4051# Disable: *4050# (DEF) ------------------------------------------------------------------ When this option is ACTIVE DAS will consider the reception of a * (STAR) symbol to be a command to clear the received digit register. One can think of this feature as providing a sending station with the ability to abort an ID sequence in progress and start over. It may be handy to correct dialing errors. For example, if a station wanted to signal user 7135 and user 7135 had STAR IS CLEAR REGISTER set to ACTIVE, then the calling station could send 714 (realize the error, and then send) *7135# to alert user 7135. ------------------------------------------------------------------ | LONG TIMER FOR SPEAKER | | Activate: *4061# Disable: *4060# (DEF) ------------------------------------------------------------------ When this option is ACTIVE DAS will use a 180 second timer for the speaker relay. When DISABLED, the decoder will use the normal 30 second timer for the speaker relay. Long timer values are useful if long voice messages are expected or when using DAS as part of a scanning system, since the hold time following a detected ID sequence is determined by the speaker timer. ------------------------------------------------------------------ | LONG TIMER FOR HORN | | Activate: *4071# Disable: *4070# (DEF) ------------------------------------------------------------------ When this option is ACTIVE DAS will use a 5 second timer for the horn (and external alarm relay) driver circuit. When DISABLED, the decoder will use the normal 2 second timer for the horn (and external alarm relay) driver circuit. DAS CONFIG REF GUIDE -9- 951105/Iss-1 ------------------------------------------------------------------ | LED CHANGES VIA PER-PLUS OK | | Activate: *4101# Disable: *4100# (DEF) ------------------------------------------------------------------ When this option is ACTIVE DAS will allow those PER-PLUS commands that affect the LEDs to control the LEDs and overwrite values set by detected DTMF ID sequences. When disabled, the only way to control the LEDs is by detection of LiTZ, PRG, GRP or Long Digit DTMF sequences. ------------------------------------------------------------------ | REMOTE CONFIGURATION OK | | Activate: *4111# Disable: *4110# (DEF) ------------------------------------------------------------------ When this option is ACTIVE DAS will enter the configuration mode (just as through someone had pressed and held the CLR button for 2 seconds) when it receives the configuration sequence. The configuration sequence is composed as follows: # 285 2682 # PER-ID # where 285 2682 (ATLANTA on the DTMF keypad) is an arbitrary but mandatory code (required to lessen the likelyhood of unwanted entry into the configuration mode, either accidently or by malicious intent), where # is the DTMF # (POUND) symbol and PER-ID is the Personal ID sequence configured for that particular decoder. If you don't like the value 285 2682 you may patch the DAS object code to select a new value -- see "PATCHING HARDCODED VALUES" (the value is stored in ASCII, must end with a null (0H), and must not exceed 7 bytes {plus the terminating null}). When DISABLED, the decoder will only enter the configuration mode by a manual depression of the CLR button. NOTE: Since remote configuration makes use of the PER ID sequence, if SPECIAL SEQUENCE REQUIRED is ACTIVE then both the "NEWPORT" and "ATLANTA" sequences will need to be transmitted (order doesn't matter) before sending the PER ID sequence to remotely enter the CONFIG mode. ---------------------------------------------------------------- | SPECIAL SEQUENCE REQUIRED | | Activate: *4121# Disable: *4120# (DEF) ---------------------------------------------------------------- When this option is ACTIVE DAS will only process sequences that make use of the PER ID sequence if a special sequence was previously detected. When the special sequence is detected an internal flag is set. That internal flag remains set until a sequence is received that doesn't match any expected sequence (PER, PER+CMD, GRP, SPECIAL {NEWPORT, ATLANTA}). Thus, to clear DAS CONFIG REF GUIDE -10- 951105/Iss-1 this internal flag simply send "#1#", provided you haven't chosen your PRI or GRP ID sequence to be the single digit "1". The special sequence is: # 639 7678 # where 639 7678 (NEWPORT on the DTMF keypad) is an arbitrary but mandatory code (required to lessen the likelyhood of unwanted processing of PER-PLUS commands, either accidently or by malicious intent) and where # is the DTMF # (POUND) symbol. If you don't like the value 639 7678 you may patch the DAS object code to select a new value -- see "PATCHING HARDCODED VALUES" (the value is stored in ASCII, must end with a null (0H), and must not exceed 7 bytes {plus the terminating null}). For example, REMOTE CONFIGURATION OK is active and SPECIAL SEQUENCE REQUIRED is active, and the PER ID sequence was 987 then to cause this DAS unit to enter the CONFIG mode by remote means, one correct sequence would be # 639 7678 # 285 2682 # 987 # When this option is DISABLED, DAS will function normally. ---------------------------------------------------------------- | TERMINATE SPEAKER TIMER ON DTMF '9' | | Activate: *4131# Disable: *4130# (DEF) ---------------------------------------------------------------- When this option is ACTIVE DAS will terminate the speaker timer (cause it to reach the timed-out state) when the decoder detects DTMF '9'. This is useful if the sender of a message wants to cause the receiver's speaker to be disabled immediately after delivering a voice message. This feature is especially useful in conjunction with the SPEAKER TIMER DOESN'T RUN option. ---------------------------------------------------------------- | SPEAKER TIMER DOESN'T RUN | | Activate: *4141# Disable: *4140# (DEF) ---------------------------------------------------------------- When this option is ACTIVE DAS will not increment the speaker timer when it has been re-started. Instead, on decoding a LiTZ, PER or GRP (or Long Digit if ACTIVE) the speaker timer will be stalled and the speaker relay will remain in the "decoded" state until DTMF symbol 9 is detected (but only if the TERMINATE SPEAKER TIMER ON DTMF '9' option is ACTIVE). When DISABLED, the decoder provides normal timing functions for the speaker control relay (K1) normally associated with the SELCAL decoder operation. COMMENT: This option, along with TERMINATE SPEAKER TIMER ON DTMF '9' option is intended to to implement a point to DAS CONFIG REF GUIDE -11- 951105/Iss-1 multi-point selective announcement system. The decoder is used to selectively enable or disable speakers on that circuit. Once a particular decoder has responded to one of its programmed sequences, the speaker relay (K1) remains active until that decoder detects DTMF "9". By combining this feature with the STAR IS WILD CARD CHARACTER capability, and a judicious selection of decoding sequences, a powerful hierarchical voice announcement system can be created. ---------------------------------------------------------------- | SPEAKER RELAY (K1) ENERGIZED FOR GUARD | | Activate: *4151# (DEF) Disable: *4150# ---------------------------------------------------------------- This option determines if the speaker relay (K1) is normally energized when the speaker is expected to be quiet (guard mode). For most SELCAL decoder applications, this option will be ACTIVE because the normally closed contacts will control the audio and thus, the relay should normally be energized to quiet the speaker (guard). That way the speaker is "cut through" (via the normally closed contacts) when power is removed from the decoder. In battery powered SELCAL applications, the relay should normally be de-energized (DISABLED) to conserve power. In these cases the normally open contacts should be used for the speaker audio circuit (normally open contacts referes to normally open when the relay is de-energized). For controller applications, the relay can function either way. It's up to the user. ---------------------------------------------------------------- | MICUP IS CLR | | Activate: *4161# Disable: *4160# (DEF) ---------------------------------------------------------------- When this option is ACTIVE if the microphone is wired to MICUP and the microphone is removed from its hanger, the decoder will treat this state change as equivalent to pressing and immediately releasing the CLR button. When DISABLED, only momentarily pressing the CLR button will clear the decoder LEDs as well as the speaker and horn timers. This option has no effect on MICUP's control of the speaker control relay, K1. It is not possible for the MICUP input to affect entry to or exit from the CONFIG mode, regardless of the state of the MICUP IS CLR option. DAS CONFIG REF GUIDE -12- 951105/Iss-1 ---------------------------------------------------------------- | SEARCH FOR PERSONAL SEQUENCE | | Activate: *4171# Disable: *4170# (DEF) ---------------------------------------------------------------- When this option is ACTIVE DAS will search the received digit register to see if any contiguous portion of that register contains a perfect match with the complete PER ID sequence configured for that decoder, regardless of leading or trailing characters within the received digit register or the timing of the received data or reception of the # symbol. This operation may be useful if you need to recreate a "wrong digit reset" decoder, like those implemented with combinational logic. When ACTIVE, the decoder will NOT accept any PER-PLUS commands or remote configuration. When DISABLED, the decoder provides functions normally associated with the SELCAL decoder operation. COMMENT: Making this feature ACTIVE tends to cripple many of the advanced features of the decoder. Also, because the # (POUND) (and data entry time-out timer) demarcation is not used when this feature is ACTIVE, it greatly increases the likelyhood of false positive decoding on autopatch and other control codes on the channel. DO NOT activate this feature unless you are really sure it is is a good choice for your application! CONTROLLER OPERATIONS ------------------------------------ DAS normally provides the functionality of a SELCAL decoder, as described in the //QST// article. However, by changing some of the options, DAS can serve as a general purpose control device that will look for DTMF commands that instruct it to set its outputs to particular states. It can also be configured to serve as a computer "reset controller" where it can be used to reset all computer devices at a remote (and perhaps difficult to reach) site. And it can also serve as a simple remote transceiver (remote-base) controller. General Purpose Controller Functions ------------------------------------ When DAS is optioned to serve as a General Purpose Controller the normal SELCAL functions are disabled. The easiest way to quickly configure DAS as a General Purpose Controller is to issue the ESTABLISH GENERAL PURPOSE CONTROLLER DEFAULT OPTION VALUES command (*33#) when in the CONFIG mode. When DAS has been configured in this manner, commands in the form of the PER ID sequence immediately followed by a two digit command value will change the state of a particular DAS output. This command format, PER+CMD, is called a PER PLUS COMMAND (pronounced "PURR PLUS COMMAND") All state changes, except those that change the output for two seconds, will be stored in the EEPROM so that the state will be retained following a power interruption. The PER-PLUS commands DAS CONFIG REF GUIDE -13- 951105/Iss-1 are listed in Table 1 below. NOTE: DAS will not respond to PER-PLUS commands that contain a * (STAR) as part of the PER ID even if STAR IS WILD CARD CHARACTER set to ACTIVE. NOTE: When operating on vulnerable or unsecure channels consider setting the SPECIAL SEQUENCE REQUIRED option to Active to reduce the likelyhood of malicious or inadvertant DTMF transmissions changing the state of your DAS unit. TABLE 1 -- PER-PLUS CODES CODE Function -------- ---------------------------------- PER+00 [#] OT0 tri-state output PER+01 [#] OT0 current sink to ground output PER+02 [#] OT0 change state for 2 seconds PER+10 [#] OT1 tri-state output PER+11 [#] OT1 current sink to ground output PER+12 [#] OT1 change state for 2 seconds PER+20 [#] K1 (NVK1) inactive PER+21 [#] K1 (NVK1) active PER+32 [#] K1 change state for 2 seconds PER+30 [#] K2 (NVK2) inactive PER+31 [#] K2 (NVK2) active PER+32 [#] K2 change for 2 seconds PER+33 [#] Enter K2 CONTROL MODE (see below) PER+4n [#] Set LED-0 (URG) to flash code "n" PER+5n [#] Set LED-1 (PER) to flash code "n" PER+6n [#] Set LED-2 (GRP) to flash code "n" TABLE 2 -- LED FLASH CODES Flash Code Action ------------ --------------------- 0 off (tri-state output) 1 on (sink current to ground) 2 flutter (50 mS on, 50 mS off) 3 interrupted flutter (50 mS on, 50 mS off, 6 times; on solid for 600 mS; repeated) 4 wink (550 mS on, 50 mS off) 5 strobe (50 mS on, 1150 mS off) 6 fast flashing (200 mS on, 200 mS off) 7 slow flashing (600 mS on, 600 mS off) See DAS Application Note 5 for more information on using DAS as a DAS CONFIG REF GUIDE -14- 951105/Iss-1 remote control device. Reset Controller Functions ------------------------------------ When DAS is optioned to serve as a Reset Controller most normal SELCAL functions are disabled. The easiest way to quickly configure DAS as a Reset Controller is to issue the ESTABLISH RESET CONTROLLER DEFAULT OPTION VALUES command (*34#) when in the CONFIG mode. When DAS has been configured in this manner, it operates as a SELCAL decoder with the LED outputs also controlled by PER PLUS commands. The kicker here is that the special sequence must be received before the PER ID sequence or the PER PLUS commands in order to be effective. That reduces the likelyhood of malicious or inadvertant DTMF transmissions selecting your DAS unit. For site reset control, it's expected that K1's contacts will be wired to control a relay within each computer device that provides contacts to the reset circuit. To do a reset the control operator would send DTMF # 639 7678 # PER-ID # (where 639 7678 is NEWPORT on the DTMF keypad). When these sequences were detected, K1 would be momentarily activated and would reset all devices at the site. Additionally, if useful, the OTx & LEDx outputs could also be used to control other devices at the site. See DAS Application Note 5 for more information on using DAS as a remote computer reset controller. K2 Control Mode ------------------------------------ The K2 Control Mode was designed to allow a user to control one or more radio transceivers that might be connected to some sort of multi-drop (order wire or party line) wire-line or radio audio circuit. DAS in K2 Control Mode could be used to select a particular remote radio transceiver and to provide on/off transmitter (PTT) control of that transceiver. The K2 Control Mode is accessed by the PER+33 command (see Table 1 above). Also, to ensure that all options are configured correctly for K2 Conrol Mode operation, you should issue the ESTABLISH GENERAL PURPOSE CONTROLLER DEFAULT OPTION VALUES command (*33#) when in the CONFIG mode. When DAS is in the K2 Control Mode only the CLR button (which will probably never be pressed), DTMF "*" and DTMF "0" have an effect on DAS (all DAS outputs, other than K1 and K2, retain their current state). On entry to the K2 Control Mode K1 is energized and K2 is de-energized. K1 remains energized as long as DAS is in the K2 Control Mode. When DAS detects DTMF "0" and then detects DAS CONFIG REF GUIDE -15- 951105/Iss-1 the absence of DTMF "0" K2 is energized. When DAS detects DTMF "*" and then detects the absence of DTMF "*" K2 is de-energized. Each press of CLR has the same effect as detecting DTMF "*" and then detecting the absence of DTMF "*". NOTE: Note that the K1 and K2 relays change state when the detected DTMF signal is REMOVED from DAS, not when it is first applied to DAS. K2 is normally de-energized by the detection of DTMF "*". However, a timeout timer will also de-energize K2 if it remains energized for more than 30 seconds. The speaker timer provides the timing of this time-out feature. To increase the time-out time to 180 seconds set option LONG TIMER FOR SPEAKER to ACTIVE. To totally disable the time-out timer (so that it will never cause K2 to be de-energized) set option SPEAKER TIMER DOESN'T RUN to ACTIVE. DAS will leave the K2 Control Mode when DAS detects three consecutive DTMF "*" signals. When DAS leaves the K2 Control Mode it de-energizes K1 and K2 and then jumps to code address zero. Because of the total restart of the system program there may be some brief (one second) change in output state of the LED or OT outputs. However, after the program resumes normal execution, those outputs should be restored to their respective prior conditions, since those states were stored in the EEPROM. See DAS Application Note 5 for more information on using the K2 Control Mode for remote radio control applications. PATCHING HARDCODED VALUES ------------------------------------ Many of the system parameters for DAS are hard coded into the system. For example, the functions of * and # are hardcoded into the system. Additionally, the minimum duration of a DTMF symbol for it to be consider a "long" symbol is two seconds, which is hardcoded into the system. As always seems to happen, there are some people that have valid reasons for wanting to do something other than what I've chosen as the hardcoded values. For those that need to use other values, an object code patch table is shown in the Appendix. There isn't a lot of explaination about how to change these values. If you have experience doing such things, that's great -- have at it. However, what little support I offer to users is not extended to those that patch the code. For those the choose to patch the code in any way, please do and note the following. The date that I released the code is stored as two bytes and it's stored in two separate locations in the object code of the system. Please set the MSB (d7) of the "day-of-month" byte in both places so that anyone that may get your modified code will at least know it has been modified from the original. As always, if you choose patch the object code and encounter bugs, you are on your own. DAS CONFIG REF GUIDE -16- 951105/Iss-1 NOTES ------------------------------------ 1. TAPR FTP File Server ftp.tapr.org, look in /tapr/das. TAPR on the Web at "http://www.tapr.org". ARRL BBS, +1 860 594 0306, 8-N-1, look in the FILES area, search on DAS. DAS CONFIG REF GUIDE -17- 951105/Iss-1 A P P E N D I X INDIVIDUAL OPTION CONFIGURATION COMMANDS Selcal Option Default Sequence Option Name Value Off On ------------ --- ---- ---- SELCAL CONTROL On 4000 4001 SCANSTOP OT0, TRANS OT1 On 4010 4011 LONG TONE ZERO (LITZ) On 4020 4021 LONG DIGIT DETECTION Off 4030 4031 STAR IS WILDCARD CHAR Off 4040 4041 STAR IS CLEAR REGISTER Off 4050 4051 SPEAKER 180 SECS Off 4060 4061 HORN 5 SECS Off 4070 4071 LEDS VIA PER+CMD OK Off 4100 4101 REMOTE CONFIG OK Off 4110 4111 SPEC SEQ REQUIRED Off 4120 4121 TERM SPEAKER TMR ON '9' Off 4130 4131 SPEAKER TMR DOESN'T RUN Off 4140 4141 SPK RLY ENERG FOR GUARD On 4150 4151 MICUP IS CLR Off 4160 4161 SEARCH FOR PER ID Off 4170 4171 DEFAULT COMMAND VALUES FOR SELCAL, CONTROLLER & RESETTER (30/32) (33) (34) Selcal Contrl Resetter Default Default Default Option Name Values Values Values ------------ ------- ------- ------- SELCAL CONTROL Actv Disab Actv SCANSTOP OT0, TRANS OT1 Actv Disab Disab LONG TONE ZERO (LITZ) Actv Disab Disab LONG DIGIT DETECTION Disab Disab Disab STAR IS WILDCARD CHAR Disab Disab Disab STAR IS CLEAR REGISTER Disab Disab Actv SPEAKER 180 SECS Disab Disab Disab HORN 5 SECS Disab Disab Disab LEDS VIA PER+CMD OK Disab Actv Actv REMOTE CONFIG OK Disab Disab Disab SPEC SEQ REQUIRED Disab Disab Actv TERM SPEAKER TMR ON '9' Disab Disab Disab SPEAKER TMR DOESN'T RUN Disab Disab Disab SPK RLY ENERG FOR GUARD Actv Disab Disab MICUP IS CLR Disab Disab Disab SEARCH FOR PER ID Disab Disab Disab DAS CONFIG REF GUIDE -18- 951105/Iss-1 GLOBAL OPTIONS CONFIGURATION COMMANDS Cmd Description ------ ----------------------------------- 0 Leave CONFIG mode (like pressing CLR) 1nnn Configure PER ID sequence as nnn 2nnn Configure GRP ID sequence as nnn 30 Establish all SELCAL default values (incl PER/GRP IDs) 31 Get Values from EEPROM (and test checksum) 32 Establish SELCAL std options (w/o changing PER/GRP IDs) 33 Establish CONTROLLER std options (w/o changing PER/GRP IDs) 34 Establish REMOTE RESET std options (w/o changing PER/GRP IDs) 4abd Write bit at option address "a", position "b" with data "c" 5aaccc Write byte at sequence address "aa", with data "ddd" (octal) 7 System Status Display PATCH ADDRESS TABLE Approx Hex Current Hex Value or (Asc) Addr or [Dec] Description ---- ----------- ------------------------------ 0002 32,38,35... DTMF ATLANTA, Remote Configuration Sequence 000D 36,33,39... DTMF NEWPORT, Special Sequence 0022 5B Release Date, Units of Year, Month (1/9, A/C) 0023 03 Release Date, Day-Of-Month, Packed BCD 01DB 2a (*) Wild Character (when enabled) 029D 03 Number of K2 off char (*) to exit Fast K2 mode 02B7 2a (*) Fast K2 off char (when enabled) 02C8 30 (0) Fast K2 on char (when enabled) 0435 31,32,33 (123) Default PER ID code (8 bytes total) 043D 34,35,36 (456) Default GRP ID code (4 bytes total) 0540 2a (*) Decoder Clear Reg char (when enabled) 0547 23 (#) Decoder Enter char 055A 2a (*) Config Clear Reg char 0561 23 (#) Config Enter char 0591 64 [100] End of input duration (20 mS units) 05BA 64 [100] Minimum Long Tone Duration (20 mS units) 0712 5B Release Date, Units of Year, Month (1/9, A/C) 0715 03 Release Date, Day-Of-Month, Packed BCD 0747 14 [20] CLR Btn Timer for Config Entry (100 mS units) 075B 14 [20] Short Horn Timer Value (100 mS units) 0761 32 [50] Long Horn Timer Value (100 mS units) 077B 1E [30] Short Speaker Timer Value (1 sec units) 0781 B4 [180] Long Speaker Timer Value (1 sec units) DAS CONFIG REF GUIDE -19- 951105/Iss-1 CHARACTER CONVERSION TABLE Below is a conversion table that lists decimal (DEC), octal (OCT), hexadecimal (HEX) and ASCII (ASC) equivalent values. DEC OCT HEX ASC DEC OCT HEX ASC DEC OCT HEX ASC --- --- --- --- --- --- --- --- --- --- --- --- 0 000 0 43 053 2B + 86 126 56 V 1 001 1 44 054 2C , 87 127 57 W 2 002 2 45 055 2D - 88 130 58 X 3 003 3 46 056 2E . 89 131 59 Y 4 004 4 47 057 2F / 90 132 5A Z 5 005 5 48 060 30 0 91 133 5B [ 6 006 6 49 061 31 1 92 134 5C 7 007 7 50 062 32 2 93 135 5D ] 8 010 8 51 063 33 3 94 136 5E ^ 9 011 9 52 064 34 4 95 137 5F _ 10 012 A 53 065 35 5 96 140 60 ` 11 013 B 54 066 36 6 97 141 61 a 12 014 C 55 067 37 7 98 142 62 b 13 015 D 56 070 38 8 99 143 63 c 14 016 E 57 071 39 9 100 144 64 d 15 017 F 58 072 3A : 101 145 65 e 16 020 10 59 073 3B ; 102 146 66 f 17 021 11 60 074 3C < 103 147 67 g 18 022 12 61 075 3D = 104 150 68 h 19 023 13 62 076 3E > 105 151 69 i 20 024 14 63 077 3F ? 106 152 6A j 21 025 15 64 100 40 @ 107 153 6B k 22 026 16 65 101 41 A 108 154 6C l 23 027 17 66 102 42 B 109 155 6D m 24 030 18 67 103 43 C 110 156 6E n 25 031 19 68 104 44 D 111 157 6F o 26 032 1A 69 105 45 E 112 160 70 p 27 033 1B 70 106 46 F 113 161 71 q 28 034 1C 71 107 47 G 114 162 72 r 29 035 1D 72 110 48 H 115 163 73 s 30 036 1E 73 111 49 I 116 164 74 t 31 037 1F 74 112 4A J 117 165 75 u 32 040 20 75 113 4B K 118 166 76 v 33 041 21 ! 76 114 4C L 119 167 77 w 34 042 22 " 77 115 4D M 120 170 78 x 35 043 23 # 78 116 4E N 121 171 79 y 36 044 24 $ 79 117 4F O 122 172 7A z 37 045 25 % 80 120 50 P 123 173 7B { 38 046 26 & 81 121 51 Q 124 174 7C | 39 047 27 ' 82 122 52 R 125 175 7D } 40 050 28 ( 83 123 53 S 126 176 7E ~ 41 051 29 ) 84 124 54 T 127 177 7F 42 052 2A * 85 125 55 U ---ooOoo---