Bliss-Box API (Application programming interface)
The 4-play and the Gamer-Pro products have both a software and hardware Interface that can be used to communicate with the controller at both high and low levels. USB is a great solution but it does have limitations. Also the HID USB driver is even more limited in the sense of features vs a driver based USB implementation. Bliss-Box products use HID for convenience as dealing with drivers was never any fun but also has an API for advanced features. The mechanism for the API is in two parts (Software and hardware).
The Software interface uses USB control transfers. This does still rely on the USB HID driver but allows data to be transferred that HID does not allow. For example but not limited to; Pressure buttons, LCD and memory pack data exchange, faster poll rates, and direct native talk to the controller. Bliss-Box has developed a software application that shows how this works. The application is an open source application that demos most all the API has to offer. The source can be found here. And the application can be downloaded here.
For the documented API see the following link.
Low Level API
( Only available on 3.0) – If the 3.0 download is not available please contact us. When the LLAPI (Low Level API) is better documented, the link will be available.
The LLAPI uses the already available USB lines. To invoke the API you simply bring both d- and d+ high with external or internal pull ups. This condition will not cause any abnormal condition to existing USB hardware so it’s safe to use in both cases. When the Gamer-Pro or 4-Play detects the condition, it will go in to bridge mode. So this can be asserted via software or hardware in your connecting device.
Once in bridge mode and can send and receive data.
List of projects using the LLAPI (If you would like to be added contact us).
|0x11||RUBMLE_CONST_START_FROM_PARMS||Must set parms first|
|0x14||RUBMLE_SINE_START_FROM_PARMS||Must set parms first|
|0x20||SET_MODES||Bitmask of modes link.|
|0x21||GET_MODES||Bitmask of modes link.|
|0x22||SET_MAPPER||Followed by 24 bytes each a button|
|0x23||SET_PLAYER||sets player ID|
CONTROLLER_POLL byte 0 return info.
|0x01-254||NO_ERROR||Type of controller returned|
|0x03||ERROR_AP_NO_REPORT||Auto pause returned|
|0xFF||ERROR_NO_COMMAND||No command was read|
|0xF1||ERROR_UNKNOWN_COMMAND||Command not understood|
|Send / Set||function||parms (parms follow command)|