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;
|
*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
|
static typename cfg::data_t rxByteInterrupt() FORCE_INLINE
|
||||||
{
|
{
|
||||||
return *Registers::IO_REG;
|
return *Registers::IO_REG;
|
||||||
|
@ -98,7 +98,7 @@ class Hardware0 {
|
|||||||
|
|
||||||
static bool rxByte(data_t &byte) FORCE_INLINE
|
static bool rxByte(data_t &byte) FORCE_INLINE
|
||||||
{
|
{
|
||||||
return false;
|
return HardwareImpl::rxByteBlocking(byte);
|
||||||
}
|
}
|
||||||
|
|
||||||
static data_t peek() FORCE_INLINE {}
|
static data_t peek() FORCE_INLINE {}
|
||||||
|
@ -102,7 +102,7 @@ class Hardware1 {
|
|||||||
|
|
||||||
static bool rxByte(data_t &byte) FORCE_INLINE
|
static bool rxByte(data_t &byte) FORCE_INLINE
|
||||||
{
|
{
|
||||||
return false;
|
return HardwareImpl::rxByteBlocking(byte);
|
||||||
}
|
}
|
||||||
|
|
||||||
static data_t peek() FORCE_INLINE {}
|
static data_t peek() FORCE_INLINE {}
|
||||||
|
Loading…
Reference in New Issue
Block a user