How come this doesn't work?

jmumby

Senior Member
Im trying to have a telnet session using numbers to select menu options the code relevant to this is below (28x1)

Code:
MENU:
SEROUT ECHO_TX,ECHO_BAUD,(" 1.RESET MEMORY ADDRESS",CR,LF)
SEROUT ECHO_TX,ECHO_BAUD,(CR,LF)
SEROUT ECHO_TX,ECHO_BAUD,(" 2.FORMAT MEMORY CARD",CR,LF)
SEROUT ECHO_TX,ECHO_BAUD,(CR,LF)
SEROUT ECHO_TX,ECHO_BAUD,(" 3.ECHO MEMORY CONTENTS",CR,LF)
SEROUT ECHO_TX,ECHO_BAUD,(CR,LF)
SEROUT ECHO_TX,ECHO_BAUD,(" 4.GET CURRENT SD ADDRESS",CR,LF)
SEROUT ECHO_TX,ECHO_BAUD,(CR,LF)
SEROUT ECHO_TX,ECHO_BAUD,("ENTERING SNOOP MODE IN 5 SECONDS",CR,LF)
SEROUT ECHO_TX,ECHO_BAUD,(CR,LF)
SEROUT ECHO_TX,ECHO_BAUD,("0>")

SERIN ECHO_RX,ECHO_BAUD,B1
SEROUT ECHO_TX,ECHO_BAUD,(B1)
IF B1="1" THEN RESET_MEM
IF B1="2" THEN FORMAT
IF B1="3" THEN ECHO_OUT
IF B1="4" THEN MEMORY_ADDRESS
GOTO MENU
It echo's back the key I have entered but it does not choose the corresponding option. This works for SERRXD.

Also, what baud rate are you using ? Try with 2400 baud.
 
Last edited by a moderator:

hippy

Ex-Staff (retired)
Try this ...

Code:
MENU:
  ::
SEROUT ECHO_TX,ECHO_BAUD,("0>")

SERIN ECHO_RX,ECHO_BAUD,B1
SEROUT ECHO_TX,ECHO_BAUD,(B1)
IF B1="1" THEN MENU
IF B1="2" THEN MENU
IF B1="3" THEN MENU
IF B1="4" THEN MENU
SEROUT ECHO_TX,ECHO_BAUD,(" FAILED(",#B1,") ",CR,LF)
GOTO MENU
If you get any "FAILED" there's a problem which needs investigating, if not then it looks like the problem is with the routines being called, not this dispatching routine.
 
Top