Added force inline to reduce code size
This commit is contained in:
parent
aac73447b3
commit
6861b8f5d1
@ -41,7 +41,6 @@ enum class ControlFlagsA0 {
|
|||||||
DATA_REG_EMPTY = UDRE0,
|
DATA_REG_EMPTY = UDRE0,
|
||||||
TRANSMIT_COMPLETE = TXC0,
|
TRANSMIT_COMPLETE = TXC0,
|
||||||
RECEIVE_COMPLETE = RXC0,
|
RECEIVE_COMPLETE = RXC0,
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class ControlFlagsB0 {
|
enum class ControlFlagsB0 {
|
||||||
@ -86,7 +85,7 @@ constexpr int operator<<(const int &lhs, const ControlFlagsC0 &rhs)
|
|||||||
template <class Registers, typename CtrlFlagsA, typename CtrlFlagsB, typename CtrlFlagsC, class cfg, Mode mode>
|
template <class Registers, typename CtrlFlagsA, typename CtrlFlagsB, typename CtrlFlagsC, class cfg, Mode mode>
|
||||||
class Hardware {
|
class Hardware {
|
||||||
public:
|
public:
|
||||||
static void init()
|
static void init() FORCE_INLINE
|
||||||
{
|
{
|
||||||
constexpr auto baudVal = calcBaud();
|
constexpr auto baudVal = calcBaud();
|
||||||
|
|
||||||
@ -107,7 +106,7 @@ class Hardware {
|
|||||||
*Registers::CTRL_STAT_REG_C = controlRegC;
|
*Registers::CTRL_STAT_REG_C = controlRegC;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void txByte(typename cfg::data_t byte)
|
static void txByte(typename cfg::data_t byte) FORCE_INLINE
|
||||||
{
|
{
|
||||||
while (!(*Registers::CTRL_STAT_REG_A & (1 << CtrlFlagsA::DATA_REG_EMPTY)))
|
while (!(*Registers::CTRL_STAT_REG_A & (1 << CtrlFlagsA::DATA_REG_EMPTY)))
|
||||||
;
|
;
|
||||||
@ -220,7 +219,7 @@ class Hardware0 {
|
|||||||
using data_t = typename cfg::data_t;
|
using data_t = typename cfg::data_t;
|
||||||
static constexpr auto DATA_BITS = cfg::DATA_BITS;
|
static constexpr auto DATA_BITS = cfg::DATA_BITS;
|
||||||
|
|
||||||
static void init()
|
static void init() FORCE_INLINE
|
||||||
{
|
{
|
||||||
HardwareImpl::init();
|
HardwareImpl::init();
|
||||||
}
|
}
|
||||||
@ -230,9 +229,9 @@ class Hardware0 {
|
|||||||
HardwareImpl::txByte(byte);
|
HardwareImpl::txByte(byte);
|
||||||
}
|
}
|
||||||
|
|
||||||
static data_t rxByte() {}
|
static data_t rxByte() FORCE_INLINE {}
|
||||||
|
|
||||||
static data_t peek() {}
|
static data_t peek() FORCE_INLINE {}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
using HardwareImpl = detail::Hardware<detail::Registers0, detail::ControlFlagsA0, detail::ControlFlagsB0,
|
using HardwareImpl = detail::Hardware<detail::Registers0, detail::ControlFlagsA0, detail::ControlFlagsB0,
|
||||||
|
@ -81,7 +81,7 @@ class Hardware1 {
|
|||||||
using data_t = typename cfg::data_t;
|
using data_t = typename cfg::data_t;
|
||||||
static constexpr auto DATA_BITS = cfg::DATA_BITS;
|
static constexpr auto DATA_BITS = cfg::DATA_BITS;
|
||||||
|
|
||||||
static void init()
|
static void init() FORCE_INLINE
|
||||||
{
|
{
|
||||||
HardwareImpl::init();
|
HardwareImpl::init();
|
||||||
}
|
}
|
||||||
@ -91,9 +91,9 @@ class Hardware1 {
|
|||||||
HardwareImpl::txByte(byte);
|
HardwareImpl::txByte(byte);
|
||||||
}
|
}
|
||||||
|
|
||||||
static data_t rxByte() {}
|
static data_t rxByte() FORCE_INLINE {}
|
||||||
|
|
||||||
static data_t peek() {}
|
static data_t peek() FORCE_INLINE {}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
using HardwareImpl = detail::Hardware<detail::Registers1, detail::ControlFlagsA1, detail::ControlFlagsB1,
|
using HardwareImpl = detail::Hardware<detail::Registers1, detail::ControlFlagsA1, detail::ControlFlagsB1,
|
||||||
|
Loading…
Reference in New Issue
Block a user