Programming the Timers
Programming the CW Messages
Programming the Flag Bits
Recording the Voice Messages
All programming is done by entering 8-digit DTMF sequences. The first 4 digits are the passcode chosen at initialization. The next 2 digits are an address or a function code. The last 2 digits are the data for address or function. To enter programming information, you must key your radio, enter the 8 digits, then unkey. If the controller understands your sequence, it will respond with "OK" in CW. If there is an error in your sequence, but the passcode is good, the controller will respond with "NG". If the controller does not understand your command at all, it will not respond with anything other than a courtesy beep, and then only if the courtesy beep is enabled. If the controller is disabled, and an unrecognized command is entered, no response will be transmitted at all.
|"NG"||Command address or data is bad|
|Command/password not accepted|
In order to save space, reduce keystrokes, and eliminate some software complexity, all programming addresses and data are entered as hexadecimal numbers. Hexadecimal (or hex, for short) is a base-16 notation that is particularly convenient for use in digital computer systems because each hex digit represents 4 bits of a value. The controller uses pairs of hex digits to represent 8-bit values for the address and data of programming information. Any decimal number from 0 to 255 may be represented by two hex digits. Hex digits are 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, where A through F represent values from 10 to 15. To convert a decimal number from 0 to 255 to hex, divide the decimal number by 16. The quotient (number of whole 16s) forms the left (high) digit, and the remainder forms the right (low) digit. Thus, 60 decimal = 3 x 16 + 12 = 3C hex.
The DTMF keys 0-9 and A-D map directly to their corresponding digits. Use the * key for digit E and the # key for digit F. A 16-key DTMF generator is required to program the controller.
Enter the 4 digit passcode, the timer address, and the timer value,
scaled appropriately. For example, to program the Hang Timer for 10
seconds, enter pppp0264, where pppp is your secret
passcode, 02 is the hang timer address, and 64 is the hexadecimal value
for 100, which would be 10.0 seconds.
To record stored voice messages, use command pppp410x,
where x is the number of the message you want to record, found
in the message contents table. Unkey
after the command sequence, then key up, speak your message, and unkey.
The controller will remove about 100 ms from the end of your message to
remove any squelch crash that might have been recorded.
To play stored voice messages, use command pppp401x, where
x is the number of the stored voice message you want to play.
To play CW messages, use command pppp401x, where x
is the number of the CW message you want to play.
You may wish to have a family member or member of the opposite sex record
your ID messages. The recorded audio sounds natural enough that people
have actually tried to call the amateur whose callsign is recorded in the
controller after the ID message plays!
Hang Timer 02 1/10 25.5 Timeout Timer 03 1 255 ID Timer 04 10 2550
CW messages are programmed by storing encoded CW characters into specific addresses in the controller. Use the Morse Code Character Encoding table and the Programming Memory Map to determine the data and address for the CW message characters. For example, to program "DE N1KDO/R" for the CW ID, you would use the following commands:
pppp0#09 0F 09 D pppp1002 10 02 E pppp1100 11 00 space pppp1205 12 05 N pppp133* 13 3E 1 pppp140D 14 0D K pppp1509 15 09 D pppp160# 16 0F O pppp1729 17 29 / pppp180A 18 0A R pppp19##
End of message marker
The CW ID can store a message of up to 40 characters. Do not exceed 40 characters.
Controller features can be enabled of disabled with the use of the Configuration Flag Bits. These bits are encoded into a single byte, which is programmed into the controller at address 01. Multiple flag bits can be selected by summing their hex weights. For instance, to set up a link controller with no ISD2590, no courtesy tone, and suppress the DTMF muting, you would add 01, 10, and 20 to produce hex 31, which you would then program into address 01 in the controller as pppp0131.
Bit Hex Weight Feature 0 01 ISD Absent 1 02 Simplex repeater mode 2 04 ISD2560 device 3 08 ISD2590 device 4 10 suppress courtesy tone 5 20 suppress DTMF muting 6
use tail message for courtesy tone
7 80 n/a
Stored voice messages can be played and recorded, and CW messages can be played by using the message commands. Command 40 is used to play stored voice or CW messages, and command 41 is used to record stored voice messages.
Enter the 4 digit passcode, the timer address, and the timer value, scaled appropriately. For example, to program the Hang Timer for 10 seconds, enter pppp0264, where pppp is your secret passcode, 02 is the hang timer address, and 64 is the hexadecimal value for 100, which would be 10.0 seconds.
To record stored voice messages, use command pppp410x, where x is the number of the message you want to record, found in the message contents table. Unkey after the command sequence, then key up, speak your message, and unkey. The controller will remove about 100 ms from the end of your message to remove any squelch crash that might have been recorded.
To play stored voice messages, use command pppp401x, where x is the number of the stored voice message you want to play. To play CW messages, use command pppp401x, where x is the number of the CW message you want to play.
You may wish to have a family member or member of the opposite sex record your ID messages. The recorded audio sounds natural enough that people have actually tried to call the amateur whose callsign is recorded in the controller after the ID message plays!
The idea behind this IDing logic is to prevent unnecessary IDing. For instance, if a repeater user keys the machine and announces "This is N1KDO, monitoring", the controller will play the initial ID, and no further IDing will occur unless the repeater is keyed again. If users commence with a QSO, keying the repeater at least once more, the controller will play the normal ID and reset the ID timer when the ID timer expires. If the repeater becomes idle for one ID timer period after the last ID, then the next time it is keyed it will play the initial ID. The intent is that the repeater users only hear the initial ID the first time that they key the repeater.
The controller supports a "Tail Message" that plays the nth time the hang timer expires. The number of times the hang timer must expire before the tail message plays (n) is the "tail message counter" at address 05. The tail message counter can be set from 1 to 255. The tail message is disabled if the tail message counter is set to 0. Program the tail message counter value into address 05.
The tail message can be used as the courtesy tone if bit 6 is set in the configuration flags. In this case, you will likely want to set the tail message counter value to 0 to keep the message from playing twice occasionally. The message could store the sound of a bell, a dog's bark, or the repeater trustee saying "what?"!
|400x||0 <= x <= 3, play CW message x|
|401x||0 <= x <= 3, play voice message x|
|410x||0 <= x <= 3, record voice message x|
|Message Number||Stored Voice||CW|
|0||Initial ID||ID message|
|1||Normal ID message||timeout message ("TO")|
|2||Time-out Message||confirm message ("OK")|
|3||Tail Message||invalid message ("NG")|
|02||32||hang timer preset, in tenths|
|03||1e||time-out timer preset, in seconds|
|04||36||id timer preset, in 10 seconds|
|05||00||tail message counter|
|06||0f||'O' OK Message|
|09||05||'N' NG Message|
|0c||03||'T' TO Message|
|0f||09||'D' CW ID starts here|
|1a||00||can fit 6 letter ID....|
|38||n/a||isd message 0 length, in tenths|
|39||n/a||isd message 1 length, in tenths|
|3a||n/a||isd message 2 length, in tenths|
|3b||n/a||isd message 3 length, in tenths|
|3c||n/a||passcode digit 1|
|3d||n/a||passcode digit 2|
|3e||n/a||passcode digit 3|
|3f||n/a||passcode digit 4|