Zephyr Project API 3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
ft8xx_dl.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2020 Hubert Miś
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
12#ifndef ZEPHYR_DRIVERS_MISC_FT8XX_FT8XX_DL_H_
13#define ZEPHYR_DRIVERS_MISC_FT8XX_FT8XX_DL_H_
14
15#include <stdint.h>
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
29#define FT8XX_BITMAPS 1U
31#define FT8XX_POINTS 2U
36#define FT8XX_LINES 3U
38#define FT8XX_LINE_STRIP 4U
40#define FT8XX_EDGE_STRIP_R 5U
42#define FT8XX_EDGE_STRIP_L 6U
44#define FT8XX_EDGE_STRIP_A 7U
46#define FT8XX_EDGE_STRIP_B 8U
51#define FT8XX_RECTS 9U
52
76#define FT8XX_BEGIN(prim) (0x1f000000 | ((prim) & 0x0f))
77
101#define FT8XX_CLEAR(c, s, t) (0x26000000 | \
102 ((c) ? 0x04 : 0) | ((s) ? 0x02 : 0) | ((t) ? 0x01 : 0))
103
113#define FT8XX_CLEAR_COLOR_RGB(red, green, blue) (0x02000000 | \
114 (((uint32_t)(red) & 0xff) << 16) | \
115 (((uint32_t)(green) & 0xff) << 8) | \
116 ((uint32_t)(blue) & 0xff))
117
128#define FT8XX_COLOR_RGB(red, green, blue) (0x04000000 | \
129 (((uint32_t)(red) & 0xff) << 16) | \
130 (((uint32_t)(green) & 0xff) << 8) | \
131 ((uint32_t)(blue) & 0xff))
132
138#define FT8XX_DISPLAY() 0
139
147#define FT8XX_END() 0x21000000
148
162#define FT8XX_LINE_WIDTH(width) (0x0e000000 | ((uint32_t)(width) & 0xfff))
163
183#define FT8XX_TAG(s) (0x03000000 | (uint8_t)(s))
184
197#define FT8XX_VERTEX2F(x, y) (0x40000000 | \
198 (((int32_t)(x) & 0x7fff) << 15) | \
199 ((int32_t)(y) & 0x7fff))
200
216#define FT8XX_VERTEX2II(x, y, handle, cell) (0x80000000 | \
217 (((uint32_t)(x) & 0x01ff) << 21) | \
218 (((uint32_t)(y) & 0x01ff) << 12) | \
219 (((uint32_t)(handle) & 0x1f) << 7) | \
220 ((uint32_t)(cell) & 0x7f))
221
226#ifdef __cplusplus
227}
228#endif
229
230#endif /* ZEPHYR_DRIVERS_MISC_FT8XX_FT8XX_DL_H_ */