-
Notifications
You must be signed in to change notification settings - Fork 10
Open
Description
Parallax IDE may not be flushing it's receive buffer after a reset condition is delivered to the BASIC Stamp, or not waiting long enough before flushing. See BASIC Stamp Programming Protocol v1.1 page 5.
After the following program is downloaded to the BS2 module, Parallax IDE is often unable to identify (or download) to the BS2 again whereas on the same computer the BSE software is able to do both with no problem. See this demo video for an example. Sometimes Parallax IDE is able to identify again, but unable to download and it displays a toast saying "Serial port not open."
UPDATE: Here's a more in-depth video using a different PBASIC program to cause the problem.
' BRANCH.BS2
' This program shows how the value of idx controls the destination of the
' BRANCH instruction.
' {$STAMP BS2}
' {$PBASIC 2.5}
idx VAR Nib
Main:
DEBUG "idx: ", DEC1 idx, " "
BRANCH idx, [Task_0, Task_1, Task_2] ' branch to task
DEBUG "BRANCH target error...", CR, CR ' ... unless out of range
Next_Task:
idx = idx + 1 // 4 ' force idx to be 0..3
PAUSE 250
GOTO Main
Task_0:
DEBUG "BRANCHed to Task_0", CR
GOTO Next_Task
Task_1:
DEBUG "BRANCHed to Task_1", CR
GOTO Next_Task
Task_2:
DEBUG "BRANCHed to Task_2", CR
GOTO Next_Task