Implemented blocking rx
This commit is contained in:
parent
0bfd303a26
commit
95963295e2
10
hardware.hpp
10
hardware.hpp
@ -45,6 +45,16 @@ class Hardware {
|
||||
*Registers::CTRL_STAT_REG_C = controlRegC;
|
||||
}
|
||||
|
||||
static bool rxByteBlocking(typename cfg::data_t &byte) FORCE_INLINE
|
||||
{
|
||||
if (*Registers::CTRL_STAT_REG_A & (1 << CtrlFlagsA::RECEIVE_COMPLETE)) {
|
||||
byte = *Registers::IO_REG;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
static typename cfg::data_t rxByteInterrupt() FORCE_INLINE
|
||||
{
|
||||
return *Registers::IO_REG;
|
||||
|
@ -98,7 +98,7 @@ class Hardware0 {
|
||||
|
||||
static bool rxByte(data_t &byte) FORCE_INLINE
|
||||
{
|
||||
return false;
|
||||
return HardwareImpl::rxByteBlocking(byte);
|
||||
}
|
||||
|
||||
static data_t peek() FORCE_INLINE {}
|
||||
|
@ -102,7 +102,7 @@ class Hardware1 {
|
||||
|
||||
static bool rxByte(data_t &byte) FORCE_INLINE
|
||||
{
|
||||
return false;
|
||||
return HardwareImpl::rxByteBlocking(byte);
|
||||
}
|
||||
|
||||
static data_t peek() FORCE_INLINE {}
|
||||
|
Loading…
Reference in New Issue
Block a user