Okay, so I’m new to this programming language. I think it’s called MBasic or something like that. I know a decent amount of C++ and a little Java, but I really can’t figure this out. I just need to know how to use servos in the code just like they’re being used in this example code. The only problem is I can’t figure out how to create them, like creating a servo variable and saying what port its on. I see it says “lservo var sword” and “rservo var sword” but I have pretty much no idea what that means, besides that it’s creating a servo variable. I just need to know how to create them and use them in the code. I basically just need to modify the existing “drive” code to work with 9 servos instead of 2. I don’t understand what’s going on at the end where it says “this is where the servo motor controller is directed” either. Anyways, thanks in advance for the help, and here is the code I’m trying to modify.
[code]'Work in progress!
LED con P0
;PS2 Controller / BotBoard I
;DAT con P4
;CMD con P5
;SEL con P6
;CLK con P7
;PS2 Controller / BotBoard II
DAT con P12
CMD con P13
SEL con P14
CLK con P15
temp1 var byte
index var byte
temp var byte(6)
cntr var byte
mode var byte
rhori var word
rvert var word
lhori var word
lvert var word
lservo var sword
rservo var sword
small var byte
large var byte
high CLK
test
low SEL
shiftout CMD,CLK,FASTLSBPRE,$1\8,$43\8,$0\8,$1\8,$0\8] ;Config Enable
high SEL
low SEL
shiftout CMD,CLK,FASTLSBPRE,$01\8,$44\8,$00\8,$01\8,$03\8,$00\8,$00\8,$00\8,$00\8] ;Set Mode and Fix(Analog
high SEL
pause 100
low SEL
shiftout CMD,CLK,FASTLSBPRE,$01\8,$4D\8,$00\8,$00\8,$01\8,$ff\8,$ff\8,$ff\8,$ff\8] ;Vibration Enable
high SEL
low SEL
shiftout CMD,CLK,FASTLSBPRE,$01\8,$4F\8,$00\8,$FF\8,$FF\8,$03\8,$00\8,$00\8,$00\8] ;Enable Pressure
high SEL
low SEL
shiftout CMD,CLK,FASTLSBPRE,$01\8,$43\8,$00\8,$00\8,$5A\8,$5A\8,$5A\8,$5A\8,$5A\8] ;Press_trans_start
high SEL
low SEL
shiftout CMD,CLK,FASTLSBPRE,$01\8,$43\8,$00\8,$00\8,$00\8,$00\8,$00\8,$00\8,$00\8] ;Config Exit
high SEL
main
’ This section find the mode the PSX controller is in.
low SEL
shiftout CMD,CLK,FASTLSBPRE,$1\8]
shiftin DAT,CLK,FASTLSBPOST,[mode\8]
high SEL
low SEL
shiftout CMD,CLK,FASTLSBPRE,$1\8,$42\8]
for index = 0 to 2
shiftin DAT,CLK,FASTLSBPOST,[temp(index)\8]
next
high SEL
low SEL
shiftout CMD,CLK,FASTLSBPRE,$1\8,$42\8,$0\8,small\8,large\8]
for index = 3 to 6
shiftin DAT,CLK,FASTLSBPOST,[temp(index)\8]
next
high SEL
’ This section does the mixing for throttle steering on a diff steered vehicle.
rhori = (255 + temp(3))
rvert = (255 + temp(4))
lhori = (255 + temp(5))
lvert = (255 + temp(6))
lservo = 383 + ((lhori-383) + (lvert-383))
rservo = 383 + ((lvert-383) - (lhori-383))
if lservo < 255 then
lservo = 255
endif
if lservo > 510 then
lservo = 510
endif
if rservo < 255 then
rservo = 255
endif
if rservo > 510 then
rservo = 510
endif
lservo = 4 * (lservo - 383)
rservo = 4 * (rservo - 383)
’ The following can be used as a debug to see the values of the joysticks and buttons.
’ serout S_OUT,i57600,[13]
’ for index = 1 to 6
’ serout S_OUT,i57600," ",dec3 temp(index)\3]
’ next
’ serout S_OUT,i57600," “,dec3 rhori\3]
’ serout S_OUT,i57600,” ",dec3 rvert\3]
’ serout S_OUT,i57600," LH “,dec3 lhori\3]
’ serout S_OUT,i57600,” LV “,dec3 lvert\3]
’ serout S_OUT,i57600,” LS “,sdec3 lservo\6]
’ serout S_OUT,i57600,” RS ",sdec3 rservo\6]
’ The following code relates to the internal vibrator motors and is not used in this application.
small = 0 'temp(7)
large = 0 'temp(8)
’ This section is where the servo style motor controller is directed.
servo 0, lservo, 1
servo 1, rservo, 1
goto main[/code]