Ok I recently made another a-pod clone out of my old phoenix like hex I did back when Xan first release
His code. I have been using a Game Stop PS2 controller with no problems. But now that I am running a-pod code on the same hardware I can’t get it to communicate Properly it beeps continually like it is not connected right but if I hold down the triangle button it snaps to initial position and I can operate functions rotate mode, mandibles and others. But it is super slow and it pulses through each step. So I pulled my LM controller off my big A-pod clone and the bot works great. My question is what changed in the PS2 code from phoenix 1.2 to a-pod as to make my Game Stop controller not work but LM controller to work fine .Can some one point me to where and what in the PS2 code I need to adjust to make it compatible again with my Game Stop controller? I am guessing it has to do with timing. I guess not all PS2s are created equal.
Yep, Not all are created equal… Some are very picky on timings… In your project will probably be a file named something like: phoenix_control_ps2.bas
That contains the code to init and read the PS2. As for knowing where in here to change, it often depends on what is failing. I usually end up looking at the data going in and out with logic analyzer to make guess, but…
Then sometimes it is not the timing, it is the voltages. The PS2 is more like a 3.3v machine and we are driving them at 5v. Some work fine with this others don’t. Also depends on what you have it hooked up to. I assume a Bot Board 2 and you are using the standard IO pins, otherwise may need Pull-up resistor.
Good Luck
Kurt
Hi Kurte thanks for responding.
Let me explain, That Game Stop controller has been working on my custom phoenix([size=85] I added a pan & tilt head[/size]) for the past 2 years.Last week I turned that phoenix in to a small a-pod never Evan disconnected the wireless receiver from the bb2 (P12-P15) when I reconfigured it mechanically. I did the SSC32 update, calibrated it. Now it’s like every button on the Game Stop controller in momentary like it is not going in to analog mode But the LM PS2 works great. I will start comparing Phoenix 1.2 ps2.bas with the newer a-pod ps2.bas.
The Lynx controllers have been 5vdc tolerant. The other brands may not be. We have a new board, PS2 Level Shifter that will be added to the store soon. It may be required for the Gamestop controller. Probably not software related…
Good Morning Jim,
I loaded the old 1.2 code back on and I get it to initialize just fine. Hit select you can hear all the beeps for the different gates all the buttons give the right sound. ([size=85]I have servo power turn off since it[/size] [size=85]is mechanically an A-Pod now[/size]). Like I said that Game Stop controller was working on a BB2 Atom pro for 2 years with Phoenix 1.2 and 2.0. I am combing through the 1.2 and a-pod PS2 code I can see differences I am not shure what it is I am looking for. This section here looks interesting #if PS2DAT = 0
PUCR5.bit0 = 1 ; Note these pull-ups may not be sufficient for all PS2 remotes.
#endif
#if PS2DAT = 16
PUCR1.bit1 = 0x1 ; 16 is on H8 P11 which has a pull-up
#endif
That section of code was put in to allow you to maybe move the PS2 to another group of 4 pins. I did this as I wanted to be able to use the hardware serial port, which is on the same pins that the PS2 is setup for on the BB2… The BB2 has Pull UP resistors on P12 and P15 for the use of the PS2. If you go to other pins then I attempted to enable the PUs on a few of the Pins of the Basic Atom Pro 28 that actually has them.
So I don’t know what the difference is…
Kurt
Thanks for the clarification Kurt.
Just confused why it works with one version of phoenix and not the other.
I got it to work again! moved ReInitController
Above this section low PS2SEL
shiftout PS2CMD,PS2CLK,FASTLSBPRE,$1\8]
shiftin PS2DAT,PS2CLK,FASTLSBPOST,[DS2Mode\8]
high PS2SEL
pause 1
It was right below it. I guess that GameStop controller (pelican brand) needed to pass through that section again .