Now it’s time to connect my hardware to the Djay.
And it works! 🙂
Now I have a Reloop Beatpad clone, but without the HID interface, and with 48KHz sampling rate. It seems that the application only needs the VID, PID, maybe string descriptors and MIDI interface. I made further experiments, and it works even with a 2 channel soundcard.
Further reverse engineering:
I used the Ellisys Explorer 200 Pro USB analyzer to sniff the packets between my iPad and Reloop Beatpad.
Unfortunatelly the picture quality is poor, but summery of the log is this:
The application gets the descriptors. It sets the sampling frequency with a SetCur Setup package to the class. After it, the Beatpad sends a note on and a note off MIDI packet. Then the software sends an empty SysEx message to the controller. Reads String descriptors, Set the Interface 1 Alternate Setting 1, which enables the ISO out endpoint in Beatpad.
Then the app sends 300 bytes of MIDI data to the controller, and the controller sends back some MIDI commands as well.
I captured a sequence where I pushed the left deck play button and added it to my pushbutton external interrupt. The message is 0x09 0x91 0x60 0x7F. So now I can start and stop the music with my board in the software. I think this is a good progress 🙂