85 #if !defined(BOARD_ATTINY) 110 __attribute__((always_inline))
112 uint8_t ix = (pin >> 3);
113 return ((
m_port[ix] & _BV(pin & 0x7)) != 0);
123 __attribute__((always_inline))
125 uint8_t ix = (pin >> 3);
126 return ((
m_port[ix] & _BV(pin & 0x7)) == 0);
134 void set(uint8_t pin)
135 __attribute__((always_inline))
137 uint8_t ix = (pin >> 3);
138 m_port[ix] |= _BV(pin & 0x7);
147 __attribute__((always_inline))
149 uint8_t ix = (pin >> 3);
150 m_port[ix] &= ~_BV(pin & 0x7);
159 __attribute__((always_inline))
172 __attribute__((always_inline))
182 __attribute__((always_inline))
197 uint8_t data =
m_port[ix];
222 __attribute__((always_inline))
232 __attribute__((always_inline))
242 __attribute__((always_inline))
Pulse high on end of transaction.
void acquire(Driver *dev)
void is_clear(uint8_t pin)
void transfer_start(uint8_t data)
SRPO(Board::DigitalPin cs=Board::D10, SPI::Clock rate=SPI::DEFAULT_CLOCK)
OutputPin(SRPO< N > *srpo, uint8_t pin)
static const uint8_t PINS
Driver(Board::DigitalPin cs, Pulse pulse=DEFAULT_PULSE, Clock rate=DEFAULT_CLOCK, uint8_t mode=0, Order order=MSB_ORDER, Interrupt::Handler *irq=NULL)