mirror of
https://github.com/AxioDL/boo.git
synced 2025-06-27 08:53:34 +00:00
final messsage added
This commit is contained in:
parent
79b9e0fd9b
commit
cf0eaad388
@ -25,6 +25,7 @@ public:
|
||||
bool sendInterruptTransfer(uint8_t pipe, const uint8_t* data, size_t length);
|
||||
size_t receiveInterruptTransfer(uint8_t pipe, uint8_t* data, size_t length);
|
||||
virtual void transferCycle() {};
|
||||
virtual void finalCycle() {};
|
||||
|
||||
/* High-Level API */
|
||||
bool sendReport(const uint8_t* data, size_t length);
|
||||
|
@ -49,6 +49,7 @@ class CDolphinSmashAdapter final : public CDeviceBase
|
||||
bool m_didHandshake;
|
||||
void deviceDisconnected();
|
||||
void transferCycle();
|
||||
void finalCycle();
|
||||
public:
|
||||
CDolphinSmashAdapter(CDeviceToken* token);
|
||||
~CDolphinSmashAdapter();
|
||||
|
@ -48,9 +48,9 @@ parseState(IDolphinSmashAdapterCallback::SDolphinControllerState* stateOut, uint
|
||||
stateOut->m_btns = (uint16_t)payload[1] << 8 | (uint16_t)payload[2];
|
||||
|
||||
stateOut->m_leftStick[0] = payload[3];
|
||||
stateOut->m_leftStick[1] = payload[4] ^ 0xFF;
|
||||
stateOut->m_leftStick[1] = payload[4];
|
||||
stateOut->m_rightStick[0] = payload[5];
|
||||
stateOut->m_rightStick[1] = payload[6] ^ 0xFF;
|
||||
stateOut->m_rightStick[1] = payload[6];
|
||||
stateOut->m_analogTriggers[0] = payload[7];
|
||||
stateOut->m_analogTriggers[1] = payload[8];
|
||||
|
||||
@ -118,6 +118,15 @@ void CDolphinSmashAdapter::transferCycle()
|
||||
}
|
||||
};
|
||||
|
||||
void CDolphinSmashAdapter::finalCycle()
|
||||
{
|
||||
if (m_didHandshake)
|
||||
{
|
||||
uint8_t rumbleMessage[5] = {0x11, 0, 0, 0, 0};
|
||||
sendInterruptTransfer(0, rumbleMessage, sizeof(rumbleMessage));
|
||||
}
|
||||
};
|
||||
|
||||
void CDolphinSmashAdapter::deviceDisconnected()
|
||||
{
|
||||
|
||||
|
@ -146,9 +146,8 @@ class CHIDDeviceIOKit final : public IHIDDevice
|
||||
|
||||
/* Start transfer loop */
|
||||
while (device->m_runningTransferLoop)
|
||||
{
|
||||
device->m_devImp.transferCycle();
|
||||
}
|
||||
device->m_devImp.finalCycle();
|
||||
|
||||
/* Cleanup */
|
||||
(*intf)->USBInterfaceClose(intf);
|
||||
|
@ -1,5 +1,8 @@
|
||||
|
||||
#if __APPLE__
|
||||
#include <CoreFoundation/CoreFoundation.h>
|
||||
#else
|
||||
#endif
|
||||
#include <stdio.h>
|
||||
#include <boo.hpp>
|
||||
|
||||
@ -55,7 +58,10 @@ int main(int argc, char** argv)
|
||||
{
|
||||
}
|
||||
|
||||
#if __APPLE__
|
||||
CFRunLoopRun();
|
||||
#else
|
||||
#endif
|
||||
|
||||
delete ctx;
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user