Just wanted to tell that I finally began with integrating Wii support. If it works out you can have one stick supporting all current-gen consoles with only one Dual Strike and a XBox360 PCB.
hehe, sounds nice wonderfull
time to buy a wii
Oh snap that sounds great. I have a feeling I’ll have to be making a trade of losing inverted triggers for wii playability.
I got my own wii and TvC this week so I can help test.
As I am planning now, there might be no need to use S3/S4 for Wii-Support. There are only to data lines so I solder a USB-to-Wiimote passive adapter. There is a connection-sense line, but that can be directly wired to VCC.
But as I have enough to do for University atm, the progression might be slow. For the interested, it’s in the SVN repository under “Firmware/WiiSupport”, but the Wii functionality is just a skeleton currently.
To ease further working modes integration I modularized the code more and built in macro switches to add/remove functionality in “DualStrike.h” (I took the freedom to rename all “ArcadeStick." resources to "DualStrike.”, as this is what it is ).
hehe, jep, feel free to change code as much as you need. If you need some stuff which could simplfy your work, then drop me a line.
I received the Dual Strike SMD Version lately from Gummowned and made my first Dual Mod Fight Pad. Take a look here
AWG30 wire, the little pcb is the SMD version of dual strike.
Dual Strike connected
Wiring is hell
Jo, passt und ist lecker.
Experimental Wii Support
Hi all!
I integrated the Wiimote Extension Library (that OpenCord are using too) into the Dual Strike firmware. But as the Wii code is so big (more than 5000 bytes, I greatly suspect the encryption data to be responsible), you can’t have both PS3 and Wii Classic Controller support.
I soldered an adapter from Wiimote connector to USB connector (instructions are in the firmware update readme). I tested it with my Wiimote, but it wasn’t working. I also soldered another adapter powering the DS over USB, but this wasn’t working either.
I suspect the 3.6V USB data voltage versus the 3.3V Wiimote voltage to be the problem, but I neither have the parts nor the knowledge how to lower the data lines voltage to 3.3V (never got the hang on electronic circuits).
An issue in the USB-powered case might be the Wiimote device detect PIN as it is wired in the connector to VCC: the cable should be plugged in first at the Wiimote side and after that the Dual Strike may be powered on - but at this time the Wiimote already “detected” a device?
An observation: when connected to Dual Strike, the Wiimote seems to be underpowered, the pointer on the screen vanishes except you go right in front of the sensor bar.
Suggestions anyone?
If anyone wants to experiment with the Wii support, the code is in the SVN under “Firmware/WiiSupport”, the precompiled firmwares may be downloaded here.
Greetings!
I love this thread. So awesome. I hope to hop in on this in a bit.
Jep, we added the schematic in the SVN, check it out… who dont want to do the soldering on a breadboard, the PCB goes for 5?..
I found an issue with the current Dual Strike Firmware, but it’s not critical. It’s the support for the analogue trigger values. The test case is the on-screen keyboard of the PS3 (e.g. when you write a message). The functions that are assigned with L2/R2 (change small/capital letters and normal/special characters) are not activated by the appropiate buttons.
I created a firmware that sends these values, but they are only correctly read by the PS3 if I remove the things required for PS-button support I played around and searched the internet for a long time, but I couldn’t find a solution. I greatly suspect that the values sent in the response to the GET_REPORT request influence it, but I could not find any information on the semantics.
I would like to get my hands on a dump of the data sent to and from the PS3 of a correctly working USB-device. Do these things work on a PS3 TE? Then it would be a good target…
The code of this is in the SVN under “Firmware/WiiSuppor”, especially in “ps3/ps3_controller.c”.
Interesting things if found: V-USB does only act as a low-speed device and thus may only send packets of 8 bytes. But you can send bigger reports by sending it in chunks with a maximum of 8 bytes.
I made no great progress with the Wii support, as I am waiting for some parts, but bencao74 pointed out that the TWI pins have to be used. I also found some other problems, but could not test the solutions yet.
Firmware Version 1.7.0
Just uploaded a new firmware to the usual links.
It now supports analogue button and dpad values (like used by SSFIITHDR and the on-screen keyboard)!
YOU HAVE TO RESET TO CONFIGURATION DEFAULTS BECAUSE THE CONFIGURATION FORMAT CHANGED!
You can download the update here.
EDIT: Here follow some technicalities…
I added another portion of the UPCB PS3 HID report descriptor to our report descriptor (some vendor defined usage codes, report size and count as well as an input field) which represents analogue values for the buttons and dpad. What the UPCB doesn’t do but the Dual Strike now is to send the appropriate bytes in the report - it was just a matter of figuring out the mapping. As I understand it the feature report which is defined and sent by us lets the PS3 understand the PS button and analogue button/dpad values in the right way, maybe by identifying some kind of USB controller type.
Quick question: the piggyback connector cables for sale on arcadeforge, are they open on one end or do they have connectors on both ends? The reason i’m asking is because i plan to use a dual strike in conjunction with the Teasy mod and it would require a connector on both ends.
Also bencao, have you considered using screw terminals on your board to connect the 5V, D-, D+ and GND from the xbox usb, rather than using the USB B socket? So instead of having to manufacture a USB B cable from the original xbox cable which is cut away from the pcb, we could just connect those cut wires directly to screw terminals.
I hope i’ve explained this clearly. This would make your pcb very attractive, especially to those who will be purchasing the TEasy board.
Hey AniMax,
I can do such a cable with connectors on both ends of course, TEasy is one fav projects here around, I support it whereever I can :). Currently the one on arcadeforge is open on the one end. GND and VCC are accessible via screw terminals on Dual Strike of course. Im currently working on a new version. I
ll consider laying D+ and D- one the screw terminals. Another option is to leave the USB B socket and solder the lines directly to the D+ and D- solder points. They’re labeled. Is this an alternative?
Also, I will more than likely make cables to go with my board so that the user has a complete kit when they get it in the mail. All the user will have to do is ask for a double ended cable and I can include it as well, we can work the details, but I have a lot of ribbon cable to go with the boards anyway. So an extra crimp is no big deal, especially if it helps support the dual strike.
I believe what AnimaX means is having screw terminal options for the outgoing USB line. So instead of routing in a brand new USB cable and having to cut a wider hole, or even possibly splicing a USB B plug; the user could have the option to just cut the stock USB cable, and screw in the stripped ends to spots on the Dual Strike. Making it so that the user doesn’t need to do anything other than cut and strip the end of the stock cable :tup:.
Another possible option is to have a “dual footprint” of both the USB jack, and 3.5mm screw terminals, placed almost on top of each other, I could draw up a simple diagram to explain better if it would help with showing what I mean. That way you could populate the board either way, dependent on what the user wishes to use. Another option yet is to widen the board just a little and add 2 spots next to your VCC and GND screw terminals for the D+ and D- outgoing line, moving Up/DN/LF/R/S3/HP over an extra 2 spots, but that would make your board very long (at least an extra 7mm for the extra spots), so I think a dual footprint on the outgoing USB line would probably work best for your current layout.
Exactly! It would be great if you two could work together to make this a 100% solderless solution. The outgoing usb is the final hurdle
ok, sounds great. I like this idea, so it’ll be integrated in next version…
Excellent, thats great to hear! When do you plan on launching this new version?
Prototyping boards will arrive in about 4 weeks or something I think…
Will the dual strike ever feature auto detect like the chimp boards?
No, we want to keep the USB communication clear and decided on a configuration menu. In this config menu you set your favourite default console. Set it to PS3 if you plan to play on PS3 and activate with buttons the xbox360. Vice versa you can configure the xbox360 as default.