Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ' CoreBASIC script by Iain Derrington
- '
- ' Demo program to read commands sent over a
- ' Bluetooth serial link.
- '
- ' http://soldercore.com
- '
- INSTALL "UART" AS UART
- '
- UART.SPEED = 9600
- UART.DATA = 8 ' 8 data bits
- UART.PARITY = 0 ' no parity
- UART.STOP = 1 ' 1 stop bit
- '
- PIN 2 AS DIGITAL OUTPUT
- '
- DIM MYBUF(10)
- HEAD = 0
- '
- CLS
- '
- 'Uncomment line below to configure the BT device
- 'CALL CHECK_BT_MODULE
- '
- PRINT "Waiting for Cmd"
- '
- 'Read data out of the UART buffer.
- 'Waiting for a linefeed to delimit a cmd
- WHILE 1
- WAIT UART.READY > 0
- '
- MYBUF(HEAD) = UART.READ(1)
- '
- IF ASC(MYBUF(HEAD)) = %LF THEN
- CALL CMD_CNTRL(MYBUF(0 TO HEAD - 1))
- HEAD = 0
- ELSE
- HEAD = HEAD + 1
- ENDIF
- '
- IF HEAD > 9 THEN HEAD = 0
- WEND
- '
- END
- '
- '***********************************************************
- '
- DEFPROC CMD_CNTRL(CMD)
- CMD = MERGE(CMD)
- '
- CASE CMD
- WHEN "Hello"
- CALL HELLO
- WHEN "LED ON"
- CALL LED(1)
- WHEN "LED OFF"
- CALL LED(0)
- WHEN "ETC ETC"
- 'You get the idea
- OTHERWISE
- PRINT "Don't recognise the command", CMD
- UART.TX = "Don't think so"
- ENDCASE
- ENDPROC
- '
- '**************************************************************
- '
- DEFPROC HELLO
- PRINT "Hello From Android"
- UART.TX = "Hello from SolderCore"
- ENDPROC
- '
- DEFPROC LED(STATE)
- IF(STATE) THEN
- PRINT "LED "; $GREEN; "on!"
- PRINT $WHITE;
- '
- ELSE
- PRINT "LED "; $RED; "off!"
- PRINT $WHITE;
- ENDIF
- PIN 2 = STATE
- ENDPROC
- '
- '************************************************************
- '
- DEFPROC CHECK_BT_MODULE()
- '
- UART.PRINT = "AT"
- WAIT UART.LEFT = 0
- TIMER = 0
- REPEAT
- UNTIL(TIMER > 4000) OR (UART.READY >= 2)
- '
- IF TIMER > 4000 THEN
- PRINT "No BT module found!"
- ELSE
- PRINT "BT module found!"
- S = UART.RX(2)
- UART.PRINT = "AT+NAMESOLDERCORE"
- WAIT UART.LEFT = 0
- '
- TIMER = 0
- REPEAT
- UNTIL(TIMER > 4000) OR (UART.READY >= 9)
- '
- IF TIMER > 4000 THEN
- PRINT "No Response...Weird"
- ELSE
- WHILE UART.READY > 0
- PRINT CHR(UART.READ);
- WEND
- ENDIF
- ENDIF
- ENDPROC
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement