Phoenix/BB2/Basic Atom Pro/PS2 controller woes

So I built my Phoenix over the weekend… SSC-32/Bluetooth control works fine. I followed the instructions to precisely on hooking up the Basic Atom Pro/Bot Board and wireless PS2 controller, successfully downloaded the code provided in the tutorial… but I can’t seem to get any luck in actually controlling it.

With a direct wired PS2 controller, I get a beeping nonstop when I apply power (which I believe indicates it doesnt detect my controller) and when I hook up a wireless PS2 controller, the receiver light blinks rapidly but never connects with the controller (but no beeping).

I’ve checked my wiring 10 times over, checked the wired and wireless controllers on my PS2, and even bought a different brand wireless PS2 controller (A Madcatz) and it does the same thing, receiver blinks but doesnt connect to the controller. I also tried a different Basic Atom Pro, no luck there either.

Thoughts?

Did you build it with the Bot Board 2 or with the older ABB board?
Obviously a picture would help. Check to make sure your PS2 connectors are plugged correctly into pins 12-15. Also make sure your power jumper for P12-p15 is to +5v. Not sure what else to check from info.

Good Luck
Kurt

This is a Bot Board 2. All my PS2 connections and jumper settings have been verified literally 10 times over… I’m pretty good with electronics in general, which is why I’m confused why an essentially ‘plug and play’ isn’t working as it should.

I can post a picture if needed, but I’m 100% sure that everything is hooked up exactly as specified in the Phoenix build article.

I might try another Bot Board 2… luckily I have a spare laying around :stuck_out_tongue:

No luck on the 2nd Bot Board… hrm.

Hrm… Perplexing. We will need to see an image of the wiring just to make sure it’s not something simple. :wink: Which program are you using? link?

I ordered a Lynx PS2 controller and wiring harness, so before we go any further I’ll test using those.

Beyond strange…

Received my Lynxmotion PS2 and wiring cable in today. Using the Lynxmotion controller, everything works great.

Previous wireless controllers #1 & #2 work just fine in my PS2, however unplugging the Lynx receiver and plugging in these receivers = no go. Same with the normal wired PS2 controller? What the heck?

I’ve decided this is an elaborate scheme staged by Jim to make me buy a Lynxmotion controller :stuck_out_tongue: He must have snuck into my house and rigged all of my PS2 controllers to fail!

Phoenix is working great, amazing hexapod! Thanks for the prompt shipping Jim!

If you had access to a logic analyzer you could log the communications between the PS2 and each manufacturer and possibly determine what makes one work and the other not when driven by the routines in the BAP.

Yes, and I would not be scratching my head nearly as much had the stock PS2 controller worked…

Oh well, I have it working. Some things are better left alone less I risk my sanity.

When I original got the PS2 controller sworking on BasicAtom/Pro I found there was a lot of difference between the delays needed between different commands being sent to different brand controllers. Because we don’t use the ATN pin to see if the controller is ready some controllers will fail to initialize. Since the real PS2 does use that pin it doesn’t have a problem with those controllers. Basically you just need to tweak the delays between the init commands until you get it. What Jim has works for his controllers so eveything is green. :slight_smile:

I am sort-of curious about this post as we still see several posts by people having problems with different PS2 controllers including some of the Lynxmotion ones.

You mentioned that we don’t use the ATN pin, but I know that we do set the attention line in the code. Did you mean to say that we did not use the ACK pin? I assume that you did not use this pin as in basic you probably could not test this bit and jump back into a shiftout or shiftin basic command fast enough.

Would it make sense for someone to rewrite this in assembly language for the atom pro, possibly modeling it after a Serial Peripheral Interface (SPI) type code with a MISO and a MOSI type of pins as it looks like the underlying PS2 controller is using? This code could easily wait in a loop until the Ack comes, with probably some form of timeout…

Kurt

I have about a dozen different PS2 controllers I could send you. hint hint… :wink:

I have 3 (4 if you count two of yours). So maybe I will take a look after Thanksgiving…

yes, I was talking about the ACK line from the PS2, not the ATN pin on the module. Been a while since I looked at the pinout names. I could never get a good signal from it that told me anything(eg when it was no longer busy). I admit I didn’t spend much time on figuring that out either. :slight_smile:

As for someone writing an assembly command to handle the true SPI and busy signal, I’m not going to stand in anyones way. :slight_smile: