PS3 Dualshock 3 / Sixaxis problem

thmsbsh's icon

Hi all,

I'm using a Dualshock 3 to generate a series of MIDI messages to send to any device (in this case a Yamaha Disklavier - mmmm) and I've been trying to develop the patch a little further.

I'm polling the data with the [hi] object with the pad just hooked up via usb. Joysticks control pitch/velocity/chord spacing/scale size etc. It's fairly simple, but when hooked up to the piano, it's actually fairly expressive.

The buttons on the PS3 are supposedly pressure sensitive, yet they all give either 1 or 0 messages. What am I getting wrong?

Also, does anyone have any tips for connecting via bluetooth? Bluetooth Setup Assistant doesn't seem to find the controller. FURTHERMORE! I'd love to get sixaxis working, but it probably requires a driver...

Patch attached, though it's pretty messy, inefficient and embarrassingly amateur.

Also, I'm running OSX Leopard.

===
Link to relevant video, if anyone's interested:
http://www.youtube.com/watch?v=lId4GbakCgw

1879.ps3.maxpat
Max Patch
nix808's icon

I think only L2 and R2 are pressure sensitive perhaps.
All success

thmsbsh's icon

Apparently they all are, and in any case the L2/R2 buttons still only seem to output a binary state.

It's a mystery - I can only imagine that analog data is transmitted in some other way to the digital? Though I can't imagine how or why, even though my knowledge of this sort of thing is minimal at best...

Letraset Catalogue's icon

Hi,
Sorry, I wonder - did you managed to get the 10-bit precision from the analogue sticks of the DualShock3?

edsonedge's icon

Hi thmsbsh

I guess it has to do with how the driver is programmed

what drivers are you using?

it has been a while since I did this but I seem to remember only getting intigers (0/1) from the buttons (except for the trigger buttons) using this driver: http://www.hardcoreware.net/how-to-playstation-3-controller-64-bit-windows-7-vista/

if you need extra analog buttons though you could solder pressure sensors to the input from the analog sticks - that would give you four pressure sensitive buttons

Letraset Catalogue's icon

Hi edsonedge, I'm not sure if you're addressing my question but I guess you might be since mine is recent.

I'm on a mac so I was hoping to pair it without a driver.

I believe that if the analogue stick was giving you 0 to 255 then it's getting 8 bit. If you were getting 0 to 1023 then it was the full 10 bit accuracy.

edsonedge's icon

@letraset

No sorry - I was addressing thmsbsh

I seem to remember it being 8 bit

Letraset Catalogue's icon
akee-rf's icon

Hello,
Actually its true almost all the buttons are pressure sensors, the only problem is that the max "hi" object doesn't see all the informations...
the only workaround is to use quartz composer to open the hid device and then send the info to max thru osc
:)

edsonedge's icon

Cool - thanks freeka

makes me wonder if one can build a 16 pressure sensor sampler controller - using the sixacis as a single board computer and soldering pressure sensors to the buttons.

akee-rf's icon

Hey,
i actually did work on it a bit:
http://www.steim.org/projectblog/?p=1823

the pressure sensors part was tricky, as the sony sensors give really weird values in term of resistance, which wasn't flexible...
you have to add to that all the pressure/button are on a flex board and the connection with the main board isn't strong and there is not really any good point to solder your own sensor.

conclusion: fun in perspective if you have time to spend on it. if not, expect loosing your girlfriend if you got one b-)

edsonedge's icon

Oh allright

then Ill rather get a Make kit

akee-rf's icon

Depend what you want to achieve, FIO + maxuino is a good thing to look at !