BS2px not working with SSC-32

Hello guys,

I am having problems geting my BS2px working with the SSC-32. I exported the SEQ BS2 code and saved it as a .bpx program. When it runs the Seq program, the SSC-32s green light flashes every second or so as if it is recieving commands just like the Atom Pro causes the green light to flash when sending serial commands. The BS2px is definetly sending data of some type to the SSC-32 but nothing happens. The servos just sit there.

Strange thing is when I change the Baud value from 6 to 7 the servos move but they zip to a strange position and will sit there and move one more time after a few seconds. My guess is the baud mode is not right?

Any help would be great.

Here is the code:

[code]’ {$STAMP BS2px}
’ {$PBASIC 2.5}

’ ------------------------------------------------------
’ Lynxmotion Visual Sequencer SSC-32 ‘Export’ Program
’ Sequencer SSC-32 project : Brat10s
’ Date : 12/24/2007 8:37:39 PM
’ ------------------------------------------------------
’ Format : Basic Stamp 2px (PBasic 2.5) + SSC-32
’ Original filename : Brat10s
’ ------------------------------------------------------

DATA Word $0005
DATA Word $0060
DATA Word $00B2
DATA Word $0126
DATA Word $0172
DATA Word $0463, Word $0BAA, Word $13F7, Word $1BCF, Word $23AA, Word $7BE8, Word $8405, Word $8BE8, Word $9426, Word $9BE8, Word $981D, Word $981D
DATA Word $03BD, Word $823B, Word $801D, Word $801D
DATA Word $0D1A, Word $156C, Word $1AE2, Word $21BB, Word $7A33, Word $837E, Word $8D4D, Word $9585, Word $901D, Word $901D
DATA Word $0590, Word $15A0, Word $1BCF, Word $23AA, Word $7BE8, Word $84A1, Word $801D, Word $801D
DATA Word $04C3, Word $0A22, Word $125A, Word $1D28, Word $2496, Word $7D80, Word $8A49, Word $925C, Word $901D, Word $901D
DATA Word $03BD, Word $11ED, Word $1BCF, Word $23AA, Word $7BE8, Word $828C, Word $89F8, Word $9244, Word $901D, Word $901D
DATA Word $0D62, Word $15B6, Word $1A5E, Word $2224, Word $79C3, Word $838E, Word $8D85, Word $95E3, Word $901D, Word $901D
DATA Word $0463, Word $1BCF, Word $23AA, Word $7BE8, Word $8405, Word $801D, Word $801D
DATA Word $0605, Word $7C83, Word $84B7, Word $801D, Word $801D
DATA Word $04EF, Word $0BAA, Word $13F7, Word $7BE8, Word $8BE8, Word $9426, Word $901D, Word $901D
DATA Word $0631, Word $001D, Word $001D
DATA Word $0463, Word $8405, Word $801D, Word $801D
DATA Word $0463, Word $0BAA, Word $13F7, Word $1BCF, Word $23AA, Word $7BE8, Word $8405, Word $8BE8, Word $9426, Word $9BE8, Word $981D, Word $981D
DATA Word $03DA, Word $828C, Word $801D, Word $801D
DATA Word $0CDC, Word $153E, Word $839F, Word $8D31, Word $9554, Word $901D, Word $901D
DATA Word $0463, Word $8405, Word $801D, Word $801D
DATA Word $0A72, Word $1294, Word $8A8F, Word $92C5, Word $901D, Word $901D
DATA Word $0573, Word $8496, Word $801D, Word $801D
DATA Word $04FE, Word $0CDC, Word $153E, Word $84CB, Word $801D, Word $801D
DATA Word $0463, Word $8405, Word $801D, Word $801D
DATA Word $03DA, Word $82CC, Word $801D, Word $801D
DATA Word $03BD, Word $838E, Word $8D1A, Word $9544, Word $901D, Word $901D
DATA Word $0463, Word $8405, Word $801D, Word $801D
DATA Word $0A88, Word $12A7, Word $8A8F, Word $92C5, Word $901D, Word $901D
DATA Word $0564, Word $84A1, Word $801D, Word $801D
DATA Word $04EF, Word $0BAA, Word $13F7, Word $8BE8, Word $9426, Word $901D, Word $901D
DATA Word $0463, Word $8405, Word $801D, Word $801D
DATA Word $0463, Word $0BAA, Word $13F7, Word $1BCF, Word $23AA, Word $7BE8, Word $8405, Word $8BE8, Word $9426, Word $9BE8, Word $9812, Word $9812
DATA Word $059E, Word $8491, Word $8012, Word $8012
DATA Word $04D2, Word $0A9D, Word $12D6, Word $8AEF, Word $9334, Word $9012, Word $9012
DATA Word $0454, Word $8405, Word $8012, Word $8012
DATA Word $0463, Word $0C87, Word $14D7, Word $8418, Word $8D04, Word $951C, Word $9012, Word $9012
DATA Word $03DA, Word $82CC, Word $8012, Word $8012
DATA Word $838E, Word $8AEF, Word $9334, Word $9012, Word $9012
DATA Word $0465, Word $8405, Word $8012, Word $8012
DATA Word $05BC, Word $849F, Word $8012, Word $8012
DATA Word $04C3, Word $0ACF, Word $131B, Word $1012, Word $1012
DATA Word $0463, Word $8405, Word $8012, Word $8012
DATA Word $0C87, Word $14D7, Word $8CCF, Word $94E1, Word $9012, Word $9012
DATA Word $03E8, Word $832D, Word $8012, Word $8012
DATA Word $03AE, Word $8B14, Word $9335, Word $9012, Word $9012
DATA Word $0463, Word $8405, Word $8AEF, Word $8812, Word $8812
DATA Word $059E, Word $84A1, Word $8012, Word $8012
DATA Word $0498, Word $0B4D, Word $1392, Word $1012, Word $1012
DATA Word $0463, Word $8405, Word $8012, Word $8012
DATA Word $043C, Word $0C87, Word $14D7, Word $83F8, Word $8C4A, Word $947C, Word $9012, Word $9012
DATA Word $05AD, Word $8491, Word $8012, Word $8012
DATA Word $0BAA, Word $13F7, Word $8BE8, Word $942E, Word $9012, Word $9012
DATA Word $0463, Word $8405, Word $8012, Word $8012
DATA Word $0463, Word $0BAA, Word $13F7, Word $1BCF, Word $23AA, Word $7BE8, Word $8405, Word $8BE8, Word $942E, Word $9BE8, Word $981C, Word $981C
DATA Word $03BD, Word $825B, Word $8C0C, Word $9426, Word $901C, Word $901C
DATA Word $0A9D, Word $12A9, Word $838E, Word $8A88, Word $92C4, Word $901C, Word $901C
DATA Word $0466, Word $841C, Word $801C, Word $801C
DATA Word $0581, Word $0A7D, Word $8491, Word $801C, Word $801C
DATA Word $04A6, Word $0D1A, Word $153F, Word $8D04, Word $9594, Word $901C, Word $901C
DATA Word $043B, Word $83F9, Word $801C, Word $801C
DATA Word $03AE, Word $82AC, Word $8D28, Word $881C, Word $881C
DATA Word $0A7B, Word $1249, Word $837E, Word $8A49, Word $92C4, Word $901C, Word $901C
DATA Word $048A, Word $843D, Word $801C, Word $801C
DATA Word $059E, Word $84A1, Word $801C, Word $801C
DATA Word $05D9, Word $0BAA, Word $13F7, Word $8BE8, Word $9426, Word $901C, Word $901C
DATA Word $0463, Word $8405, Word $801C, Word $801C

SeqIndex VAR Word
Index VAR Word
IndexFrom VAR Word
IndexTo VAR Word
LastServo VAR Byte
TmpServo VAR Byte
TmpValue VAR Word
DejaVu VAR Bit

LastServo = 99
DejaVu = 0

PAUSE 500

Main:
FOR SeqIndex = 0 TO 3
READ SeqIndex * 2, Word IndexFrom
READ (SeqIndex + 1) * 2 , Word IndexTo
FOR Index = IndexFrom TO IndexTo - 1
READ Index * 2, Word TmpValue
TmpServo = TmpValue >> 11
TmpValue = TmpValue & 2047
IF LastServo = TmpServo THEN
TmpValue = TmpValue << 5
IF DejaVu THEN
PAUSE TmpValue
LastServo = 99
ELSE
SEROUT 8,6,“T”, DEC TmpValue, 13]
DejaVu = DejaVu ^ 1
ENDIF
ELSE
TmpValue = TmpValue + 500
SEROUT 8,6,"#", DEC TmpServo, “P”, DEC TmpValue]
DejaVu = 0
LastServo = TmpServo
ENDIF
NEXT
NEXT
END[/code]

Well I figured out the problem and got the BS2px talking with the SSC-32.

For some strange reason, The SSC-32 needs to be set to 9600 baud and the BS2px needs to be set at T2400 baud? All I know is that this combination works.

Woo Hoo, It works! :laughing: 8)

I have been testing the BS2px with the SSC-32 and it works well. I have noticed the delay between individual steps is a little longer than the BAP.

Another problem I encountered was at the end of the sequences I had an END command in the program yet after 10 to 15 seconds, my bot began to run through the entire program again. I fixed this problem by using the STOP command and all is good now. In the Basic Stamp IDE, The help file mentioned there is a glitch with the END command.

I hope this information is helpful to anyone else with a BS2px.

Ok, more “oops” information:

I figured out why my BS2PX was working at T2400 baud when the jumper on the ssc-32 was set to 9600 baud. It was my fault, I thought I put the baud jumper on the ssc-32 to 9600, but what happened was, I only caught one pin! I did not have the light turned on in my home office so it was dark, and the ssc-32 was installed on the bot facing down so when I went to twist it over, with all the servo wires connected, it was hard to see the pins.

Since only one pin of the header had the jumper, it was the same as having no jumpers at all. This configuration is equal to 2400 baud, hence my, result of 2400 in the code. I want to try 9600 to see how that performs. 2400 works ok, but it has a delay between steps, and I would like for it to be a little faster.

Back again! :laughing:

Well, I learned some more about the BS2px and discovered is CAN communicate @ 38.4k baud! I set the SSC-32 jumper to 38.4k and changed the BS2px sequence code to use 38.4k baud, and it worked very well, and it’s just as fast as the Basic Atom PRO, as far as baud communication goes.

The BS2px is a nice MCU for basic Seq animation. The BS2px and the Atom PRO are equal performers when communicating with the SSC-32. For those that need faster program execution to drive sensors and larger program memory space, the BAP is the way to go, otherwise there is no difference in performance when running programmed sequences.

I eventually want to take advantage of the BS2px built in comparators to possibly hook up my bot “ears” and have the code react to sounds.

I realize I’m a lone gunner in here, but at least this information is available to anyone considering a BS2px.

I’m glad you got it going. I read your post and said to myself, “Mike and his Stamp baudrate issues…” :unamused: lol. I couldn’t think if anything to tell you to try though…

Ah ha ha…

You’re right! I do seem to have baud rate issues!

sigh… what can I say. :smiley: