PS controller synchronization

Hi Jim,

I was following your tutorial on how to synchronize the Lynxmotion wireless playstation controller and ran in to a problem. I am using the Bot Board II. I have a brand new 9V battery powering the board. The results are only FF 255. The receiver and controller red LEDs blink. The green LED on the receiver is solid on. Included is a pic of the setup and my code.

Thank you for your help!

;PS2 Controller / BotBoard II
DAT con P12
CMD con P13
SEL con P14
CLK con P15
;-----------------------------

'declare variables
temp var byte(19)
mode var byte
index var byte
R2 var bit
L2 var bit

;PS2Init
high CLK

low SEL
shiftout CMD,CLK,FASTLSBPRE,$1\8,$43\8,$0\8,$1\8,$0\8] ;CONFIG_MODE_ENTER
high SEL
pause 1

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_LOCK
high SEL
pause 100

low SEL
shiftout CMD,CLK,FASTLSBPRE,$01\8,$4F\8,$00\8,$FF\8,$FF\8,$03\8,$00\8,$00\8,$00\8] ;SET_DS2_NATIVE_MODE
high SEL
pause 1

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
pause 1

low SEL
shiftout CMD,CLK,FASTLSBPRE,$01\8,$43\8,$00\8,$00\8,$5A\8,$5A\8,$5A\8,$5A\8,$5A\8] ;CONFIG_MODE_EXIT_DS2_NATIVE
high SEL
pause 1

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_MODE_EXIT
high SEL
pause 1

main

;-----------PS2 Mode----------
low SEL
; asking “mode” to PS2 controller
shiftout CMD,CLK,FASTLSBPRE,$1\8]
; reading “mode” from PS2 controller
; 73(hex) is dualshock1 (digital buttons)
; 79(hex) is dualshock2 (analog buttons)
shiftin DAT,CLK,FASTLSBPOST,[mode\8]
high SEL
;-----------------------------

pause 1

;-----------PS2 Data----------
low SEL
; asking data to PS2 controller
shiftout CMD,CLK,FASTLSBPRE,$1\8,$42\8]
; reading data from controller
; (don’t use a “for-next” loop, it’s too slow to read PS2 data)
shiftin DAT,CLK,FASTLSBPOST,[temp(0)\8,temp(1)\8,temp(2)\8,temp(3)\8,temp(4)\8,temp(5)\8,temp(6)\8,temp(7)\8,temp(8)\8, |
temp(9)\8,temp(10)\8,temp(11)\8,temp(12)\8,temp(13)\8,temp(14)\8,temp(15)\8,temp(16)\8,temp(17)\8,temp(18)\8]
high SEL

L2 = temp(17)
R2 = temp(18)
;-----------------------------

;-----------Basic Micro IDE terminal----------
; sending carriage return (CR = 13) and the PS2 mode(hex) to the PC
serout S_OUT,I57600,[13, hex2 mode\2] ; Basic Micro IDE <= 05.3.0.0

for index = 1 to 18 ; temp(0) contains a dummy variable so we don’t send it to the PC
; sending all the data to the PC
serout S_OUT,I57600," ", dec3 temp(index)\3] ; Basic Micro IDE <= 05.3.0.0

next
;-----------------------------
goto main
results.PNG

This part of the code says it will talk to the PS2 controller on these pins.

;PS2 Controller / BotBoard II
DAT con P12
CMD con P13
SEL con P14
CLK con P15

But you have them connected to 4,5,6,7 I think…

you will need to remove the ps2 from those pins and connect them to pins 12,13,14,15 as stated in the code.
PS2.JPG

Thank you for the help!

I know am receiving the same results as the tutorial.

The red LEDs on the receiver and remote still blink. Do you think the remote is defective?

thanls!
results2.PNG

I got it all fixed and working. Thanks!

:open_mouth: What was it!

I moved the receiver to pins 12-15

thanks

Awesome! 8) thanks