48 } __attribute__((packed));
67 virtual bool begin() = 0;
74 virtual bool end() = 0;
134 __attribute__((always_inline))
146 virtual void set_cursor(uint8_t x, uint8_t y) = 0;
172 __attribute__((always_inline))
196 virtual void begin() = 0;
202 virtual void end() = 0;
209 virtual void write(uint8_t data) = 0;
217 virtual void write(
const void* buf,
size_t size) = 0;
231 #if !defined(BOARD_ATTINY) 275 m_sdin.write(data, m_sclk);
285 virtual void write(
const void* buf,
size_t size)
287 uint8_t* dp = (uint8_t*) buf;
288 while (size--) m_sdin.write(*dp++, m_sclk);
307 #if !defined(BOARD_ATTINY) 351 virtual void write(
const void* buf,
size_t size)
372 } __attribute__((packed));
376 ::
Keypad(scheduler, pin, m_map)
381 static const uint16_t m_map[] PROGMEM;
uint8_t m_y
Cursor position y.
uint8_t transfer(uint8_t data)
uint8_t m_x
Cursor position x.
virtual void write(const void *buf, size_t size)
virtual int write(const void *buf, size_t size)
void acquire(Driver *dev)
virtual void display_inverse()
virtual void display_off()=0
virtual void write(const void *buf, size_t size)
virtual void backlight_off()
virtual void set_cursor(uint8_t x, uint8_t y)=0
void set_tab_step(uint8_t step)
OutputPin m_sdin
Serial data input.
SPI3W(Board::DigitalPin sce=Board::D9)
void get_cursor(uint8_t &x, uint8_t &y) const
virtual void display_on()=0
virtual void write(uint8_t data)
Serial3W(Board::DigitalPin sdin=Board::D6, Board::DigitalPin sclk=Board::D7, Board::DigitalPin sce=Board::D9)
void write(const void *buf, size_t count)
virtual void backlight_on()
virtual void write(uint8_t data)
virtual void display_clear()=0
virtual void display_contrast(uint8_t level)
OutputPin m_sclk
Serial clock input.
OutputPin m_sce
Chip enable.
Keypad(Job::Scheduler *scheduler, Board::AnalogPin pin=Board::A0)
TextMode text_mode(TextMode mode)
virtual void display_normal()
uint8_t get_tab_step() const