'{$STAMP BS2px} '{$PBASIC 2.5} RX CON 11 TX CON 9 T1200 CON 3313 '1K2,8,N,1 T2400 CON 1646 '2K4,8,N,1 T4800 CON 813 '4K8,8,N,1 T9600 CON 396 '9K6,8,N,1 T14K4 CON 258 '14K4,8,N,1 T19K2 CON 188 '19K2,8,N,1 T28K8 CON 119 '28K8,8,N,1 E1200 CON 11505 '1K2,7,E,1 E2400 CON 9838 '2K4,7,E,1 E4800 CON 9005 '4K8,7,E,1 E9600 CON 8588 '9K6,7,E,1 E14K4 CON 8450 '14K4,7,E,1 E19K2 CON 8380 '19K2,7,E,1 E28K8 CON 8311 '28K8,7,E,1 'BS2px settings for ODD parity? ' -----[ Variables ]------------------------------------------------------- replayfromPT VAR Byte(16) 'max lenght of this variable ' -----[ Initialization ]-------------------------------------------------- checkPTBaudRate: tryT28K8: DEBUG CLS, "Trying 28.800,8,N,1" SEROUT TX, T28K8,["*99IN=RESET",13] SERIN Rx, T28K8,2500,tryT19K2, [WAIT("#"), STR replayfromPT\16 ] DEBUG CLS, "Baud rate: 28.8", CR,STR replayfromPT,CR GOTO displayBaudchange tryT19K2: DEBUG CLS, "Trying 19.200,8,N,1" SEROUT TX, T19K2,["*99IN=RESET",13] SERIN Rx, T19K2,2500,tryT14K4, [WAIT("#"), STR replayfromPT\16 ] DEBUG CLS, "Baud rate: 19.2", CR,STR replayfromPT,CR GOTO displayBaudchange tryT14K4: DEBUG CLS, "Trying 14.400,8,N,1" SEROUT TX, T14K4,["*99IN=RESET",13] SERIN Rx, T14K4,2500,tryT9600, [WAIT("#"), STR replayfromPT\16 ] DEBUG CLS, "Baud rate: 14.4", CR,STR replayfromPT,CR GOTO displayBaudchange tryT9600: DEBUG CLS, "Trying 9.600,8,N,1" SEROUT TX, T9600,["*99IN=RESET",13] SERIN Rx, T9600,2500,tryT4800, [WAIT("#"), STR replayfromPT\16 ] DEBUG CLS, "Baud rate: 9600", CR,STR replayfromPT,CR GOTO displayBaudchange tryT4800: DEBUG CLS, "Trying 4.800,8,N,1" SEROUT TX, T4800,["*99IN=RESET",13] SERIN Rx, T4800,2500,tryT2400, [WAIT("#"), STR replayfromPT\16 ] DEBUG CLS, "Baud rate: 4800", CR,STR replayfromPT,CR GOTO displayBaudchange tryT2400: DEBUG CLS, "Trying 2.400,8,N,1" SEROUT TX, T2400,["*99IN=RESET",13] SERIN Rx, T2400,2500,tryT1200, [WAIT("#"), STR replayfromPT\16 ] DEBUG CLS, "Baud rate: 2400", CR,STR replayfromPT,CR GOTO displayBaudchange tryT1200: DEBUG CLS, "Trying 1.200,8,N,1" SEROUT TX, T1200,["*99IN=RESET",13] SERIN Rx, T1200,2500,problem, [WAIT("#"), STR replayfromPT\16 ] DEBUG CLS, "Baud rate: 1200", CR,STR replayfromPT,CR GOTO displayBaudchange problem: DEBUG CLS, "Check the connections" 'PAUSE 1000 'GOTO checkPTBaudRate displayBaudchange: DEBUG CR DEBUG "Do you want to change Baud Rate ?" , CR,LF DEBUG "[1] Yes, Show me the options" , CR DEBUG "[2] No, Go to MAIN MENU" , CR changeBaud: 'Possible settings for PT Baud: 'NO parity: 'N12 (1200), N24 (2400), N48 (4800), N96 (9600), N14 (14K4), N19 (19K2), N28 (28K8) 'EVEN parity: 'E12 (1200), E24 (2400), E48 (4800), E96 (9600), E14 (14K4), E19 (19K2), E28 (28K8) 'ODD parity 'O12 (1200), O24 (2400), O48 (4800), O96 (9600), O14 (14K4), O19 (19K2), O28 (28K8) 'This is where I need a variable like "OLDcomm" to replace T14K4 DEBUG CLS, "Changing Baud rate for PT and BS2" SEROUT TX, T14K4,["*99WE",13] 'sending command at Current Baud for BS2 PAUSE 500 SEROUT TX, T14K4,["*99BP=N12",13] 'sending command at Current Baud for BS2 & settings for New PT Baud PAUSE 500 SEROUT TX, T1200,["*99WE",13] 'sending command at New Baud for BS2 to be able to communicate... PAUSE 500 '... with PT at New Baud SEROUT TX, T1200,["*99SP=ALL",13] 'sending command at New Baud for BS2 PAUSE 500 SEROUT TX, T1200,["*99IN=RESET",13] 'sending command at New Baud for BS2 SERIN Rx, T1200, [WAIT("#"), STR replayfromPT\16 ] 'sending command at New Baud for BS2 DEBUG CLS, "Baud rate changed for PT and BS2", CR,STR letta,CR END