Controller: Always check for access byte

This commit is contained in:
Albert Liu
2021-02-21 15:20:31 -08:00
parent 30bcf280d4
commit 329e8317b4
12 changed files with 100 additions and 39 deletions

View File

@ -167,18 +167,27 @@ bool AnalogJoystick::Transfer(const u8 data_in, u8* data_out)
{
case TransferState::Idle:
{
// ack when sent 0x01, send ID for 0x42
*data_out = 0xFF;
if (data_in == 0x01)
{
m_transfer_state = TransferState::Ready;
return true;
}
return false;
}
case TransferState::Ready:
{
if (data_in == 0x42)
{
*data_out = Truncate8(GetID());
m_transfer_state = TransferState::IDMSB;
return true;
}
else
{
*data_out = 0xFF;
return (data_in == 0x01);
}
*data_out = 0xFF;
return false;
}
case TransferState::IDMSB: