43 __attribute__((always_inline))
45 return (_BV(Board::BIT(
pin)));
53 static volatile uint8_t*
PIN(uint8_t
pin)
54 __attribute__((always_inline))
56 return (Board::SFR(
pin));
64 static volatile uint8_t*
DDR(uint8_t
pin)
65 __attribute__((always_inline))
67 return (Board::SFR(
pin) + 1);
75 static volatile uint8_t*
PORT(uint8_t
pin)
76 __attribute__((always_inline))
78 return (Board::SFR(
pin) + 2);
87 } __attribute__((packed));
113 __attribute__((always_inline))
123 __attribute__((always_inline))
133 __attribute__((always_inline))
143 __attribute__((always_inline))
153 __attribute__((always_inline))
163 __attribute__((always_inline))
173 __attribute__((always_inline))
194 __attribute__((always_inline))
204 operator bool() const
205 __attribute__((always_inline))
216 __attribute__((always_inline))
236 volatile uint8_t*
PIN()
const 245 volatile uint8_t*
DDR()
const 264 __attribute__((always_inline))
266 return (Board::PCIMR(m_pin));
275 #define asserted(pin) \ 276 for (uint8_t __i = (pin.toggle(), 1); __i != 0; __i--, pin.toggle())
static bool read(Board::DigitalPin pin)
static uint8_t MASK(uint8_t pin)
volatile uint8_t *const m_sfr
static volatile uint8_t * PIN(uint8_t pin)
Pin & operator>>(uint8_t &var)
static volatile uint8_t * PORT(uint8_t pin)
volatile uint8_t * PORT() const
volatile uint8_t * PIN() const
volatile uint8_t * PCIMR() const
static volatile uint8_t * DDR(uint8_t pin)
volatile uint8_t * DDR() const