*********************************************************** * * * THE PICAXE-18X REPEATER CONTROLLER PROGRAMMING GUIDE * * * * LATEST CHANGE 5-6-2010 * * * *********************************************************** LATEST CHANGES: 20-9-2008 Posted on the net. LATEST CHANGES: 7-3-2009 Updated guide to reflect new Morse code routine. LATEST CHANGES: 11-3-2009 Posted on the net. LATEST CHANGES: 4-4-2009 Fixed some typo's and added a few little additions. LATEST CHANGES: 4-4-2009 Posted on the net. LATEST CHANGES: 10-1-2010 Posted on the net as Ver3. LATEST CHANGES: 5-6-2010 Fixed typo's. LATEST CHANGES: 17-2-2011 Posted on the net as Ver5. If you decide to build this controller, here are a few things you probably need to know. Programming is done in Decimal, not HEX! DTMF keys 0 - 9 are the only valid keys! Just trying to keep it simple! Also, The best way to change any of the default values is to simply use the PICAXE programming software program. Start the PICAXE software, import the PICAXE-18X Repeater Controller program code, change any default settings to your liking and then download the controller program into the PICAXE-18X chip with all your changes. Too easy! (The "settings" are in the PICAXE EEPROM) OR..... as a bench test set up. 1) If you choose this way, then you will need the repeater receiver speaker audio connected into the controller boards RX Audio input. The controller board may need adjusting once the audio is hooked up. This is the 10K pot on the controllers "RXAF" input. I don't know if low level audio will work, I never tried it. 2) You will also need to simulate the COR input. This requires a short piece of wire that goes from the controllers 5VDC rail, to the "COR" input. (see the schematic) 3) At the same time you key up your HT, place the 5 VDC wire on the COR input. The COR yellow LED should come on. Now press some tones while still keyed up, the green "DTMF Tones Valid" LED should come on every time you press a DTMF key on your HT. If not, adjust the 10K pot on the controllers "RXAF" input. If so, you're ready to make changes to the default settings. OR..... connected to your repeater. 1) You will need a radio that transmits DTMF tones. A typical HT radio with DTMF tone keypad will do. 2) The controller needs to be hooked up to your repeater and operating properly so when you key up your HT, the controllers "COR" LED comes on and the controllers "DTMF Tones Valid" LED comes on every time you press a key on the keypad of your HT. YOU'RE READY TO MAKE SOME CHANGES.... One of the first settings you will probably want to change with your DTMF capable HT, is the Passcode as described below. CHANGING THE DEFAULT PASSCODE FROM #123 TO SOMETHING ELSE Option #1 1) Shut off the 13.8 volts to the controller. 2) Locate the initializing switch S2 and put it into the "initialize" position. 3) Turn Power on. 4) You should hear three .25 second beeps from the controller card speaker. (The controller has now initialized and loaded in all default values) 5) Now key up your HT and transmit 3 DTMF tones. Only keys 0 - 9 are valid! Only the numbers 000 - 255 are valid as a password. Hold the DTMF key presses for at least .25 seconds. If you press Keys A B C D E or F, this may have undesirable results!!! 6) Now unkey your HT and you should hear the controller send the letter "K" back if the Passcode has been successfully changed. If not, the controller will send the letters "NO". This is because you sent invalid numbers, not enough numbers or unkeyed during the the Passcode change. Be it you unkeyed your HT or the COR dropped do to a weak signal etc. etc. Recycle the power and listen for the 3 beeps. Key in the DTMF tones again for the new passcode change. 7) When successful, remember to put the initializing switch back into the normal position!!! This is where it should be all the time unless a Passcode change is required. If you forget, the repeater will have no audio output!!! Also, write the passcode number down and put it in a safe place. 8) You have 1 minute to key in 3 DTMF tones from the time you hear the 3 beeps or else the controller ID's in Morse and escapses from the initializing mode and into thenormal repeater mode. You'll have t recycle power again if you waited to long. Option #2 NOTE: Another way to change the passcode is as follows: 1) Locate the initializing switch S2 and put it into the "initialize" position. 2) Locate, press and release the MCLR reset push button S1. You should hear the three .25 second beeps. 3) Key up and enter the 3 DTMF tones as said above. 4) Now put the initializing switch S2 back into the normal position. CHANGING OTHER DEFAULT VALUES: When changing other default values, the format to make a change is ### ### ###. A total of 9 DTMF key presses are required to change any default value. Keys 0 - 9 only! The first 3 key presses are the passcode. The default passcode is the number 123. The next 3 key presses is the number of the EEPROM memory location to write to. Valid numbers are 000 - 255. The last 3 key presses is the data to write to the Memory location. Again, 000 - 255 are the only valid numbers. CHANGING THE CALLSIGN: This example is for keying in the default callsign. Enter the following DTMF Tones, assuming the default passcode is #123. The heat sheet is at the bottom of this guide. Key up your HT and press 123001009 (this writes the number 009 to memory location 001) (letter D) Unkey and listen for the letter "K", valid entry. Letters "NO" if invalid, then repeat. Key up your HT again and press 123002002 (this writes the number 002 to memory location 002) (letter E) Unkey and listen for the letter "K", valid entry. Letters "NO" if invalid, then repeat. Key up your HT again and press 123003000 (this writes the number 000 to memory location 003) (space) Unkey and listen for the letter "K", valid entry. Letters "NO" if invalid, then repeat. Key up your HT again and press 123004024 (this writes the number 024 to memory location 004) (letter V) Unkey and listen for the letter "K", valid entry. Letters "NO" if invalid, then repeat. Key up your HT again and press 123005013 (this writes the number 013 to memory location 005) (letter K) Unkey and listen for the letter "K", valid entry. Letters "NO" if invalid, then repeat. Key up your HT again and press 123006033 (this writes the number 033 to memory location 006) (number 6) Unkey and listen for the letter "K", valid entry. Letters "NO" if invalid, then repeat. Key up your HT again and press 123007016 (this writes the number 016 to memory location 007) (letter H) Unkey and listen for the letter "K", valid entry. Letters "NO" if invalid, then repeat. Key up your HT again and press 123008024 (this writes the number 024 to memory location 008) (letter V) Unkey and listen for the letter "K", valid entry. Letters "NO" if invalid, then repeat. Key up your HT again and press 123009041 (this writes the number 041 to memory location 009) (forward slash) Unkey and listen for the letter "K", valid entry. Letters "NO" if invalid, then repeat. Key up your HT again and press 123010010 (this writes the number 010 to memory location 010) (letter R) Unkey and listen for the letter "K", valid entry. Letters "NO" if invalid, then repeat. Key up your HT again and press 123011255 (this writes the number 255 to memory location 011) (E.O.M. ((End Of Message designator)) Unkey and listen for the letter "K", valid entry. Letters "NO" if invalid, then repeat. Don't forget the E.O.M. designator for the "ID" if the repeater callsign is less then 11 characters long. You're Done!!! CHANGING THE TIME OUT TIMER: Another example is to change the "Time Out Timer" default value from "2" (minutes) to 3. Assuming the default passcode is #123. Key up your HT and press the following DTMF tone keys # 123006003. This writes the number 003 into memory location 106 Unkey and listen for the letter "K", valid entry. Letters "NO" if invalid, if invalid then repeat. You're Done! CHANGING THE MORSE CODE TONE: Another example is to change the "TONE" for the Morse Code routine from default value "112" to 114. (a higher frequency) Assuming the default passcode is #123. Key up your HT and press the following DTMF tone keys #123101114. This writes the number 114 into memory location 101. Unkey and listen for the letter "K", valid entry. Letters "NO" if invalid, if invalid then repeat. You're Done! Be realistic in the values you choose. A new value of 255, which is a valid number, will probably not work. The "defaults" are a pretty good choice. Possibly slightly tweak them. CHANGING THE MORSE CODE SPEED: The default is 6 and this is a dit at about 15 WPM. The dah (3 x dit) and the space (5 x dit) are calculated in the program. Key up your HT and enter the following DTMF keys #123102005 (a 5 will be about 12 WPM, I think) Unkey and listen for the letter "K", valid entry. Letters "NO" if invalid, then repeat. You're Done! Change the other defaults as required. SOME SPECIAL CONTROL CODES: Sending PASSCODE + 255 + 000 normal TX radio repeater operation. TX radio with transmit as required. Sending PASSCODE + 255 + 001 inhibits the repeater TX radio from keying up. No TX output! TX OFF!!! Sending PASSCODE + 000 + 255 forces the repeater to ID. Sending PASSCODE + 000 + 254 ***not used anymore*** Sending PASSCODE + 000 + 253 ***not used anymore*** Sending PASSCODE + 000 + 252 forces the repeater controller to turn ON the spare MOSFET switch. Sending PASSCODE + 000 + 251 forces the repeater controller to turn OFF the spare MOSFET switch. MEMORY NUMBER OF LOCATIONS LOCATIONS DEFAULT VALUE COMMENTS: REM D E V K 6 H V / R EOM EEPROM 1, (9,2,0,24,13,33,16,24,41,10,255) 'Maximum of 11 letters. EEprom locations 1 - 11. The letter/number 'cheat sheet is at the end of the program code. The longest available call is 11 elements. 'Example: "DE_XX#XXX/R". Use the number 255 to end your callsign if it is shorter then '11 elements. The number 255 is the E.O.M. - End of message designator. Use a 0 "zero" 'for a space. EEPROM 12, (13) 'SENDS LETTER K, EEprom location 12 EEPROM 13, (3,15) 'SENDS LETTERS T_O, EEprom locations 13 - 14 EEPROM 15, (5,15) 'SENDS LETTERS N_O, EEprom locations 15 - 16 EEPROM 17, (10) 'SENDS LETTER R, EEprom locations 17 EEPROM 100, (123) 'PASSCODE, EEprom location 100, Default Passcode is 123 EEPROM 101, (112) 'TONE, Tone Pitch for Speaker Output, Callsign ID, around 110 - 115 is good EEPROM 102, (6) 'MORSE SPEED - EEprom Value. Dit length = Dit length x 1, Dash length = Dit length x 3, 'Character Space = Dit length x 3, Word Space = Dit length x 5 EEPROM 103, (10) 'PRE BEEP DELAY, Delay after the COR has dropped and before the Roger Beep. Delay in 10mS x N, 'maximum 2.55 seconds EEPROM 104, (15) 'HANG TIMER, This is the Hang Time Delay in 100mS x N, maximum 25.5 seconds EEPROM 105, (1) 'SEND - Silence or "ROGER BEEP" or the LETTER "K" or the LETTER "R" after unkeying. Silence = 0, 'Beep = 1, "K" = 2 and "R" = 3 EEPROM 106, (2) 'TIMER1 - This is the TIME OUT TIMER, 0 - 20 minutes (much more then 20 minutes will not work!) 'A value of 0 = off. EEPROM 107, (15) 'TIMER2 - This is the ID TIMER, 0 - 20 minutes (much more then 20 minutes will not work!) 'A value of 0 = off. EEPROM 108, (0) 'MUTES DTMF TONES, 0 = No, 1 = Yes EEPROM 109, (0) 'TURN FAN ON OR NOT, This is to use the Fan Relay or not. 0 = No, 1 = Yes EEPROM 110, (2) 'Silence, Beep or notify in CW the letters N_O that DTMF tones were an incorrect sequence or value. '0 = Silence, 1 = Beep and 2 = N_O. 0 (zero) is good if you have an IRLP node operating. No matter 'what, after a correct sequence of 9 digits, the controller will still send a letter "K" in Morse. EEPROM 255, (0) 'SWITCH PTT LINE OFF, *** BEWARE, THIS CAN MUTE THE REPEATERS TRANSMITTER RADIO *** '0 = No, 1 = Yes, (0 = PTT Switches On and Off as required, 1 = PTT Always Off!!! Example of the my local repeater callsign setup. REM V K 6 R W R EOM 0 0 0 0 REM EEPROM 1, (24,13,33,10,14,10,255,0 ,0, 0, 0) ***The default setup from thoses EEPROM locations used above*** PASSCODE: 123 TONE: about 100hz. MORSE SPEED: about 15 WPM PRE BEEP DELAY: 100mS. HANG TIMER: 1500mS. or 1.5 seconds SEND AFTER UNKEYING: beep TIME OUT TIMER: 2 minutes ID TIMER: 15 minutes MUTE DTMF TONES: no TURN FAN ON OR NOT: no BAD DTMF TONES SENT: sends "N_O" MUTE REPEATER: no REM FOR THOSE WHO DON'T KNOW MORSE CODE:) REM A .- B -... C -.-. D -.. E . F ..-. REM G --. H .... I .. J .--- K -.- L .-.. REM M -- N -. O --- P .--. Q --.- R .-. REM S ... T - U ..- V ...- W .-- X -..- REM Y -.-- Z --.. REM 1 .---- 2 ..--- 3 ...-- 4 ....- 5 ..... REM 6 -.... 7 --... 8 ---.. 9 ----. 0 ----- REM FULL STOP [.] .-.-.- COLON [:] ---... REM COMMA [,] --..-- SEMICOLON [;] -.-.-. REM QUESTION MARK [?] ..--.. EQUAL SIGN double dash [=] -...- REM APOSTROPHE ['] .----. PLUS [+] .-.-. REM EXCLAMATION MARK [!] -.-.-- HYPHEN minus [-] -....- REM FWD SLASH [/] -..-. UNDERSCORE [_] ..--.- REM PARENTHESIS open [(] -.--. QUOTATION MARK ["] .-..-. REM PARENTHESIS closed [)] -.--.- DOLLAR SIGN [$] ...-..- REM AMPERSAND [&] .-... AT SIGN [@] .--.-. REM *** ENCODED CHARACTER NUMBERS *** REM LETTERS, NUMBERS AND PUNCTUATION USED TO PROGRAM YOUR MESSAGES IN THE REPEATER CONTROLLER REM A 6, B 17, C 21, D 9, E 2, F 20, REM G 11, H 16, I 4, J 30, K 13, L 18, REM M 7, N 5, O 15, P 22, Q 27, R 10, REM S 8, T 3, U 12, V 24, W 14, X 25, REM Y 29, Z 19, REM 1 62, 2 60, 3 56, 4 48, 5 32, REM 6 33, 7 35, 8 39, 9 47, 0 63, REM FULL STOP [.] 106 COLON [:] 71 REM COMMA [,] 115 SEMICOLON [;] 85 REM QUESTION MARK [?] 76 EQUAL SIGN double dash [=] 49 REM APOSTROPHE ['] 94 PLUS [+] 42 REM EXCLAMATION MARK [!] 117 HYPHEN minus [-] 97 REM FWD SLASH [/] 41 UNDERSCORE [_] 108 REM PARENTHESIS open [(] 45 QUOTATION MARK ["] 82 REM PARENTHESIS closed [)] 109 DOLLAR SIGN [$] 200 REM AMPERSAND [&] 34 AT SIGN [@] 86 REM THE NUMBER 255 IS NOT ACTUALLY AN ENCODED CHARACTER IN THIS PROGRAM, BUT IS RESERVED FOR REM E.O.M., "END OF MESSAGE" IN THE MORSE CODE ROUTINE.