21 #ifndef COSA_SOFT_SRPO_HH 22 #define COSA_SOFT_SRPO_HH 95 __attribute__((always_inline))
97 uint8_t ix = (pin >> 3);
98 return ((
m_port[ix] & _BV(pin & 0x7)) != 0);
108 __attribute__((always_inline))
110 uint8_t ix = (pin >> 3);
111 return ((
m_port[ix] & _BV(pin & 0x7)) == 0);
119 void set(uint8_t pin)
120 __attribute__((always_inline))
122 uint8_t ix = (pin >> 3);
123 m_port[ix] |= _BV(pin & 0x7);
132 __attribute__((always_inline))
134 uint8_t ix = (pin >> 3);
135 m_port[ix] &= ~_BV(pin & 0x7);
144 __attribute__((always_inline))
157 __attribute__((always_inline))
167 __attribute__((always_inline))
197 __attribute__((always_inline))
207 __attribute__((always_inline))
217 __attribute__((always_inline))
void is_clear(uint8_t pin)
OutputPin(SRPO< N > *srpo, uint8_t pin)
static const uint8_t PINS
SRPO(Board::DigitalPin sda=Board::D3, Board::DigitalPin scl=Board::D4)