Controller: Always check for access byte
This commit is contained in:
@ -89,18 +89,27 @@ bool DigitalController::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(ID);
|
||||
m_transfer_state = TransferState::IDMSB;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
*data_out = 0xFF;
|
||||
return (data_in == 0x01);
|
||||
}
|
||||
|
||||
*data_out = 0xFF;
|
||||
return false;
|
||||
}
|
||||
|
||||
case TransferState::IDMSB:
|
||||
|
||||
Reference in New Issue
Block a user