Loading...
Searching...
No Matches
epd_bw_spi_params.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2019 Silke Hofstra
3 * SPDX-License-Identifier: LGPL-2.1-only
4 */
5
6#pragma once
7
17
18#include "board.h"
19#include "epd_bw_spi.h"
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
28static const uint8_t epd_bw_spi_il3829_lut_default_full[] = {
29 0x50, 0xAA, 0x55, 0xAA, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00,
30 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
31 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
32};
33
37static const uint8_t epd_bw_spi_il3829_lut_default_part[] = {
38 0x10, 0x18, 0x18, 0x08, 0x18, 0x18, 0x08, 0x00, 0x00, 0x00,
39 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
40 0x13, 0x14, 0x44, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
41
45#define EPD_BW_SPI_CONTROLLER_IL3829 { \
46 .vcom = 0xA8, \
47 .size_x = 200, \
48 .size_y = 300, \
49 .lut_size = sizeof epd_bw_spi_il3829_lut_default_full, \
50 .lut_full = epd_bw_spi_il3829_lut_default_full, \
51 .lut_part = epd_bw_spi_il3829_lut_default_part, \
52}
53
57#define EPD_BW_SPI_CONTROLLER_SSD1607 EPD_BW_SPI_CONTROLLER_IL3829
58
62#define EPD_BW_SPI_CONTROLLER_SSD1673 { \
63 .vcom = 0xA8, \
64 .size_x = 150, \
65 .size_y = 250, \
66 .lut_size = sizeof epd_bw_spi_il3829_lut_default_full, \
67 .lut_full = epd_bw_spi_il3829_lut_default_full, \
68 .lut_part = epd_bw_spi_il3829_lut_default_part, \
69}
70
74#define EPD_BW_SPI_CONTROLLER_SSD1608 { \
75 .vcom = 0xA8, \
76 .size_x = 240, \
77 .size_y = 320, \
78 .lut_size = sizeof epd_bw_spi_il3829_lut_default_full, \
79 .lut_full = epd_bw_spi_il3829_lut_default_full, \
80 .lut_part = epd_bw_spi_il3829_lut_default_part, \
81}
82
83#ifndef EPD_BW_SPI_DISPLAY_X
87#define EPD_BW_SPI_DISPLAY_X (200)
88#endif
89
90#ifndef EPD_BW_SPI_DISPLAY_Y
94#define EPD_BW_SPI_DISPLAY_Y (200)
95#endif
96
97#ifndef EPD_BW_SPI_PARAM_SPI
101#define EPD_BW_SPI_PARAM_SPI (SPI_DEV(0))
102#endif
103
104#ifndef EPD_BW_SPI_PARAM_SPI_CLK
108#define EPD_BW_SPI_PARAM_SPI_CLK (SPI_CLK_5MHZ)
109#endif
110
114#ifndef EPD_BW_SPI_PARAM_CS
115#define EPD_BW_SPI_PARAM_CS (SPI_CS_UNDEF)
116#endif
117
121#ifndef EPD_BW_SPI_PARAM_DC
122#define EPD_BW_SPI_PARAM_DC (GPIO_UNDEF)
123#endif
124
128#ifndef EPD_BW_SPI_PARAM_RST
129#define EPD_BW_SPI_PARAM_RST (GPIO_UNDEF)
130#endif
131
132#ifndef EPD_BW_SPI_PARAM_BUSY
136#define EPD_BW_SPI_PARAM_BUSY (GPIO_UNDEF)
137#endif
138
139#ifndef EPD_BW_SPI_PARAM_BUSY_VAL
143#define EPD_BW_SPI_PARAM_BUSY_VAL (1)
144#endif
145
146#ifndef EPD_BW_SPI_CONTROLLER
150#define EPD_BW_SPI_CONTROLLER EPD_BW_SPI_CONTROLLER_IL3829
151#endif
152
153#ifndef EPD_BW_SPI_ENTRY_MODE
157#define EPD_BW_SPI_ENTRY_MODE EPD_BW_SPI_Y_INC_X_INC
158#endif
159
160#ifndef EPD_BW_SPI_PARTIAL_REFRESH_MAX
166#define EPD_BW_SPI_PARTIAL_REFRESH_MAX (99)
167#endif
168
169#ifndef EPD_BW_SPI_PARAMS
173#define EPD_BW_SPI_PARAMS { .spi = EPD_BW_SPI_PARAM_SPI, \
174 .spi_clk = EPD_BW_SPI_PARAM_SPI_CLK, \
175 .cs_pin = EPD_BW_SPI_PARAM_CS, \
176 .dc_pin = EPD_BW_SPI_PARAM_DC, \
177 .rst_pin = EPD_BW_SPI_PARAM_RST, \
178 .busy_pin = EPD_BW_SPI_PARAM_BUSY, \
179 .busy_value = EPD_BW_SPI_PARAM_BUSY_VAL, \
180 .controller = EPD_BW_SPI_CONTROLLER, \
181 .entry_mode = EPD_BW_SPI_ENTRY_MODE, \
182 .size_x = EPD_BW_SPI_DISPLAY_X, \
183 .size_y = EPD_BW_SPI_DISPLAY_Y, \
184 .partial_refresh_max = \
185 EPD_BW_SPI_PARTIAL_REFRESH_MAX, \
186}
187#endif
188
196
197#ifdef __cplusplus
198}
199#endif
Generic black/white e-paper/e-ink display SPI driver.
static const epd_bw_spi_params_t epd_bw_spi_params[]
Display driver configuration.
static const uint8_t epd_bw_spi_il3829_lut_default_full[]
Waveform lookup table for a full display refresh for IL3829.
#define EPD_BW_SPI_PARAMS
Parameters to initialize the display with.
static const uint8_t epd_bw_spi_il3829_lut_default_part[]
Waveform lookup table for a partial display refresh for IL3829.
SPI display device initialisation parameters.
Definition epd_bw_spi.h:84