Homebrew Project Testers wanted: BtEmbedded, a new bluetooth stack

  • Thread starter Thread starter mudrik
  • Start date Start date
  • Views Views 8,285
  • Replies Replies 82
  • Likes Likes 18
One more update: I completely refactored the DS3 driver, and I got to a point where my Chinese replica works both via USB and BT; the problem with these replica model is that it initially presents itself as a real DS3 controller, but if it does not receive some commands that are usually sent by the PS3, it disconnects and re-presents itself as a generic PC controller. So a big part of my time was spent exactly to find out what commands I had to send in order to keep it alive in DS3 mode.

But here's the bad news: I tested all the above on my PC only. When I tested on a real Wii, the controller immediately disconnects when connected over USB, and over BT it just presents itself as a PC controller. I'm not sure why this happens, but the end result is that I have no idea if a real DS3 controller would work on the WIi or not.

Luckily, we have @niuus and maybe other people too, willing to test it ;-) If you have time and patience, please test this latest version of the test app: https://github.com/embedded-game-controller/egc-sdl-test/releases/tag/0.3-wiiu13

Notes:
- When connecting over USB, you need to press the Playstation button in order to have the controller start reporting events
- When connecting over USB, the controller now gets bonded to the Wii console: that is, we rewrite the BT MAC address in its memory, replacing it with the MAC address of the Wii. So in order to use it with the PS3 again, you'll first have to connect it over USB there too.
- If it doesn't connect over USB, please try a couple of times; I don't know why (and if it is my Chinese replica's problem only), but sometimes the initialization fails. If it persists failing, try also to long press the Playstation buffon while connecting (or even after being connected), it might help.
- Also, make sure your controller is original; my copy is so well done, that I wouldn't be able to tell it apart from an original one: it's just that when connecting to a PC I see that the Vendor and Product IDs are initially the Sony ones, and then the change to other IDs.
 
Luckily, we have @niuus and maybe other people too, willing to test it ;-) If you have time and patience, please test this latest version of the test app: https://github.com/embedded-game-controller/egc-sdl-test/releases/tag/0.3-wiiu13
I have good news for you.

100% working. Both Y axis are inverted on each stick, but that's it.

It shakes like a chihuahua, but even the SixAxis is working as it should. :lol:

Pressing the PS button, I believe, makes it pair the first time on the app with the BT hardware on the Wii. After that, you can safely start the app and sync it wirelessly. Everything works as if it was connected by cable.

But here's the bad news: I tested all the above on my PC only. When I tested on a real Wii, the controller immediately disconnects when connected over USB, and over BT it just presents itself as a PC controller. I'm not sure why this happens, but the end result is that I have no idea if a real DS3 controller would work on the WIi or not.
It works immediately even if I connect it post-loading the app. When you disconnect it from the cable, as per native PS3/DS3 behavior, it tries to sync, and it works without problems.

Notes:
- When connecting over USB, you need to press the Playstation button in order to have the controller start reporting events
No need for that here.

- When connecting over USB, the controller now gets bonded to the Wii console: that is, we rewrite the BT MAC address in its memory, replacing it with the MAC address of the Wii. So in order to use it with the PS3 again, you'll first have to connect it over USB there too.
The only mild issue I had at the beginning: the DS3 was previously synced to my PC BT. After testing it while wired, and confirmed everything works, I unplugged the USB cable to try and sync it wirelessly to egc-wiiu13. It had a DSI crash every time. I went to my PS3, synced it there, went back to the Wii, repeated the BT sync process, and then it started working perfectly.

- If it doesn't connect over USB, please try a couple of times; I don't know why (and if it is my Chinese replica's problem only), but sometimes the initialization fails. If it persists failing, try also to long press the Playstation buffon while connecting (or even after being connected), it might help.
No problems at all. I might have pressed the PS button two times just for to be sure, as there is no visual indication that the Wii's BT MAC address has been written to the DS3, but that's it.
 
100% working. Both Y axis are inverted on each stick, but that's it.

And if you move them only slightly, is it still inverted? I had a bug in the test program, where the Y axis was not computed correctly if it was far from the center, but near the center it was OK. And I don't remember if I fixed it before or after preparing the test binary :-)

It shakes like a chihuahua, but even the SixAxis is working as it should. :lol:

Do you mean it's vibrating all the time?

The only mild issue I had at the beginning: the DS3 was previously synced to my PC BT. After testing it while wired, and confirmed everything works, I unplugged the USB cable to try and sync it wirelessly to egc-wiiu13. It had a DSI crash every time. I went to my PS3, synced it there, went back to the Wii, repeated the BT sync process, and then it started working perfectly.

Is it something you can reproduce again? If so, it would be great if you could take a photo of the exception screen, so I can find where it crashed -- it might be a hint of some hidden bug somewhere.
 

Site & Scene News

New Hot Discussed User Submitted