2#ifndef SA_OLED_SSD130X_H
3#define SA_OLED_SSD130X_H
39 i2c_address_ =
config.i2c_address;
50 for(
size_t i = 0;
i <
size;
i++)
110 pin_reset_.
pin =
config.pin_config.reset;
179 clk_delay =
config.pin_config.sclk_delay;
189 pin_reset_.
pin =
config.pin_config.reset;
201 SoftSpiTransmit(
cmd);
207 for(
size_t i = 0;
i <
size;
i++)
208 SoftSpiTransmit(
buff[
i]);
215 val = ((
val & 0x01) << 7) | ((
val & 0x02) << 5) | ((
val & 0x04) << 3)
216 | ((
val & 0x08) << 1) | ((
val & 0x10) >> 1) | ((
val & 0x20) >> 3)
217 | ((
val & 0x40) >> 5) | ((
val & 0x80) >> 7);
219 for(
uint8_t bit = 0
u; bit < 8u; bit++)
244template <
size_t w
idth,
size_t height,
typename Transport>
349 size_t Width()
const {
return width; };
354 if(x >= width || y >=
height)
357 buffer_[x + (y / 8) * width] |= (1 << (y % 8));
359 buffer_[x + (y / 8) * width] &= ~(1 << (y % 8));
Result Init(const Config &config)
Result TransmitBlocking(uint16_t address, uint8_t *data, uint16_t size, uint32_t timeout)
Definition leddriver.h:33
void Init(I2CHandle i2c, const uint8_t(&addresses)[numDrivers], DmaBuffer dma_buffer_a, DmaBuffer dma_buffer_b, dsy_gpio_pin oe_pin={DSY_GPIOX, 0})
Definition leddriver.h:65
Definition oled_ssd130x.h:144
void SendData(uint8_t *buff, size_t size)
Definition oled_ssd130x.h:204
void SendCommand(uint8_t cmd)
Definition oled_ssd130x.h:198
void Init(const Config &config)
Definition oled_ssd130x.h:172
Definition oled_ssd130x.h:66
void SendCommand(uint8_t cmd)
Definition oled_ssd130x.h:122
void SendData(uint8_t *buff, size_t size)
Definition oled_ssd130x.h:128
void Init(const Config &config)
Definition oled_ssd130x.h:103
Definition oled_ssd130x.h:246
void Update()
Definition oled_ssd130x.h:373
size_t Height() const
Definition oled_ssd130x.h:350
void Fill(bool on)
Definition oled_ssd130x.h:362
size_t Width() const
Definition oled_ssd130x.h:349
void Init(Config config)
Definition oled_ssd130x.h:253
Transport transport_
Definition oled_ssd130x.h:393
void DrawPixel(uint_fast8_t x, uint_fast8_t y, bool on)
Definition oled_ssd130x.h:352
uint8_t buffer_[width *height/8]
Definition oled_ssd130x.h:394
Definition oled_ssd130x.h:16
void Init(const Config &config)
Definition oled_ssd130x.h:37
void SendData(uint8_t *buff, size_t size)
Definition oled_ssd130x.h:48
void SendCommand(uint8_t cmd)
Definition oled_ssd130x.h:42
Result BlockingTransmit(uint8_t *buff, size_t size, uint32_t timeout=100)
Result Init(const Config &config)
static void Delay(uint32_t delay_ms)
static void DelayTicks(uint32_t delay_ticks)
void dsy_gpio_write(const dsy_gpio *p, uint8_t state)
void dsy_gpio_init(const dsy_gpio *p)
void dsy_gpio_toggle(const dsy_gpio *p)
@ DSY_GPIO_MODE_OUTPUT_PP
Definition gpio.h:159
@ DSY_GPIOB
Definition daisy_core.h:183
@ DSY_GPIOG
Definition daisy_core.h:188
@ DSY_GPIOD
Definition daisy_core.h:185
@ DSY_GPIOX
Definition daisy_core.h:193
@ DSY_GPIOC
Definition daisy_core.h:184
Hardware defines and helpers for daisy field platform.
Definition index.h:2
Mode mode
Definition i2c.h:64
Speed speed
Definition i2c.h:63
struct daisy::I2CHandle::Config::@13 pin_config
Peripheral periph
Definition i2c.h:56
Definition oled_ssd130x.h:147
void Defaults()
Definition oled_ssd130x.h:161
Config()
Definition oled_ssd130x.h:148
uint32_t sclk_delay
Definition oled_ssd130x.h:155
struct daisy::SSD130x4WireSoftSpiTransport::Config::@10 pin_config
dsy_gpio_pin sclk
Definition oled_ssd130x.h:156
dsy_gpio_pin dc
Definition oled_ssd130x.h:158
dsy_gpio_pin mosi
Definition oled_ssd130x.h:157
dsy_gpio_pin reset
Definition oled_ssd130x.h:159
Definition oled_ssd130x.h:69
dsy_gpio_pin dc
Definition oled_ssd130x.h:78
SpiHandle::Config spi_config
Definition oled_ssd130x.h:75
void Defaults()
Definition oled_ssd130x.h:81
dsy_gpio_pin reset
Definition oled_ssd130x.h:79
struct daisy::SSD130x4WireSpiTransport::Config::@9 pin_config
Config()
Definition oled_ssd130x.h:70
Definition oled_ssd130x.h:249
Transport::Config transport_config
Definition oled_ssd130x.h:250
Definition oled_ssd130x.h:19
uint8_t i2c_address
Definition oled_ssd130x.h:26
void Defaults()
Definition oled_ssd130x.h:27
I2CHandle::Config i2c_config
Definition oled_ssd130x.h:25
Config()
Definition oled_ssd130x.h:20
ClockPolarity clock_polarity
Definition spi.h:100
Peripheral periph
Definition spi.h:96
struct daisy::SpiHandle::Config::@16 pin_config
Mode mode
Definition spi.h:97
dsy_gpio_pin nss
Definition spi.h:84
ClockPhase clock_phase
Definition spi.h:101
BaudPrescaler baud_prescaler
Definition spi.h:103
Direction direction
Definition spi.h:98
unsigned long datasize
Definition spi.h:99
Definition daisy_core.h:205
dsy_gpio_mode mode
Definition gpio.h:177
dsy_gpio_pin pin
Definition gpio.h:176