caffeine-sal 0.1.17
Header-only polymorphic middleware services layer for the Caffeine Framework
Loading...
Searching...
No Matches
cfn_sal_dev_display.h
Go to the documentation of this file.
1
6#ifndef CAFFEINE_SAL_DEV_DISPLAY_H
7#define CAFFEINE_SAL_DEV_DISPLAY_H
8
9#ifdef __cplusplus
10extern "C"
11{
12#endif
13
14/* Includes ---------------------------------------------------------*/
15#include "cfn_sal.h"
16
17/* Defines ----------------------------------------------------------*/
18
19#define CFN_SAL_DEV_TYPE_DISPLAY CFN_SAL_TYPE('D', 'S', 'P')
20
21/* Types Enums ------------------------------------------------------*/
22
28
29/* Types Structs ----------------------------------------------------*/
30
31typedef struct
32{
33 uint16_t width;
34 uint16_t height;
35 uint8_t color_depth;
36 void *custom;
38
39typedef struct cfn_sal_dev_display_s cfn_sal_dev_display_t;
41
43 uint32_t event,
44 uint32_t error,
45 void *user_arg);
46
51{
52 cfn_hal_api_base_t base;
53
54 /* Power & Control */
55 cfn_hal_error_code_t (*turn_on)(cfn_sal_dev_display_t *driver);
56 cfn_hal_error_code_t (*turn_off)(cfn_sal_dev_display_t *driver);
57 cfn_hal_error_code_t (*set_brightness)(cfn_sal_dev_display_t *driver, uint8_t percent);
58 cfn_hal_error_code_t (*set_backlight)(cfn_sal_dev_display_t *driver, uint8_t percent);
59
60 /* Drawing Operations */
61 cfn_hal_error_code_t (*draw_pixel)(cfn_sal_dev_display_t *driver, uint16_t x, uint16_t y, uint32_t color);
62 cfn_hal_error_code_t (*draw_line)(
63 cfn_sal_dev_display_t *driver, uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint32_t color);
64 cfn_hal_error_code_t (*draw_rect)(
65 cfn_sal_dev_display_t *driver, uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint32_t color);
66 cfn_hal_error_code_t (*fill_rect)(
67 cfn_sal_dev_display_t *driver, uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint32_t color);
68 cfn_hal_error_code_t (*draw_bitmap)(
69 cfn_sal_dev_display_t *driver, uint16_t x, uint16_t y, uint16_t w, uint16_t h, const uint8_t *data);
70 cfn_hal_error_code_t (*clear_window)(cfn_sal_dev_display_t *driver, uint16_t x, uint16_t y, uint16_t w, uint16_t h);
71 cfn_hal_error_code_t (*set_cursor)(cfn_sal_dev_display_t *driver, uint16_t x, uint16_t y);
72
73 /* Buffer Management */
74 cfn_hal_error_code_t (*clear)(cfn_sal_dev_display_t *driver);
75 cfn_hal_error_code_t (*update)(cfn_sal_dev_display_t *driver);
76
77 /* Low-level Communication */
78 cfn_hal_error_code_t (*write_data)(cfn_sal_dev_display_t *driver, const uint8_t *data, size_t len);
79 cfn_hal_error_code_t (*write_command)(cfn_sal_dev_display_t *driver, uint8_t cmd);
80
81 /* Configuration */
82 cfn_hal_error_code_t (*set_orientation)(cfn_sal_dev_display_t *driver, uint8_t orientation);
83};
84
86
92
93/* Functions inline ------------------------------------------------- */
94
96 uint32_t peripheral_id,
97 void *dependency,
99 const cfn_sal_phy_t *phy,
100 const cfn_sal_dev_display_config_t *config,
102 void *user_arg)
103{
104 CFN_HAL_POPULATE_DRIVER(
105 driver, CFN_SAL_DEV_TYPE_DISPLAY, peripheral_id, NULL, dependency, api, phy, config, callback, user_arg);
106}
107
109 const cfn_sal_dev_display_config_t *config,
110 const cfn_sal_phy_t *phy,
111 void *dependency,
113 void *user_arg);
115
116CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_init(cfn_sal_dev_display_t *driver)
117{
118 if (!driver)
119 {
120 return CFN_HAL_ERROR_BAD_PARAM;
121 }
122 driver->base.vmt = (const struct cfn_hal_api_base_s *) driver->api;
123 return cfn_hal_base_init(&driver->base, CFN_SAL_DEV_TYPE_DISPLAY);
124}
125
126CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_deinit(cfn_sal_dev_display_t *driver)
127{
128 if (!driver)
129 {
130 return CFN_HAL_ERROR_BAD_PARAM;
131 }
132 return cfn_hal_base_deinit(&driver->base, CFN_SAL_DEV_TYPE_DISPLAY);
133}
134
135CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_config_set(cfn_sal_dev_display_t *driver,
136 const cfn_sal_dev_display_config_t *config)
137{
138 if (!driver)
139 {
140 return CFN_HAL_ERROR_BAD_PARAM;
141 }
142 driver->config = config;
143 return cfn_hal_base_config_set(&driver->base, CFN_SAL_DEV_TYPE_DISPLAY, (const void *) config);
144}
145
146CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_config_get(cfn_sal_dev_display_t *driver,
148{
149 if (!driver || !config || !driver->config)
150 {
151 return CFN_HAL_ERROR_BAD_PARAM;
152 }
153 *config = *(driver->config);
154 return CFN_HAL_ERROR_OK;
155}
156
157CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_callback_register(cfn_sal_dev_display_t *driver,
159 void *user_arg)
160{
161 if (!driver)
162 {
163 return CFN_HAL_ERROR_BAD_PARAM;
164 }
165 driver->cb = callback;
166 driver->cb_user_arg = user_arg;
167 return cfn_hal_base_callback_register(
168 &driver->base, CFN_SAL_DEV_TYPE_DISPLAY, (cfn_hal_callback_t) callback, user_arg);
169}
170
171CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_power_state_set(cfn_sal_dev_display_t *driver,
172 cfn_hal_power_state_t state)
173{
174 if (!driver)
175 {
176 return CFN_HAL_ERROR_BAD_PARAM;
177 }
178 return cfn_hal_power_state_set(&driver->base, CFN_SAL_DEV_TYPE_DISPLAY, state);
179}
180
181CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_event_enable(cfn_sal_dev_display_t *driver, uint32_t event_mask)
182{
183 if (!driver)
184 {
185 return CFN_HAL_ERROR_BAD_PARAM;
186 }
187 return cfn_hal_base_event_enable(&driver->base, CFN_SAL_DEV_TYPE_DISPLAY, event_mask);
188}
189
190CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_event_disable(cfn_sal_dev_display_t *driver,
191 uint32_t event_mask)
192{
193 if (!driver)
194 {
195 return CFN_HAL_ERROR_BAD_PARAM;
196 }
197 return cfn_hal_base_event_disable(&driver->base, CFN_SAL_DEV_TYPE_DISPLAY, event_mask);
198}
199
200CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_event_get(cfn_sal_dev_display_t *driver, uint32_t *event_mask)
201{
202 if (!driver)
203 {
204 return CFN_HAL_ERROR_BAD_PARAM;
205 }
206 return cfn_hal_base_event_get(&driver->base, CFN_SAL_DEV_TYPE_DISPLAY, event_mask);
207}
208
209CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_error_enable(cfn_sal_dev_display_t *driver, uint32_t error_mask)
210{
211 if (!driver)
212 {
213 return CFN_HAL_ERROR_BAD_PARAM;
214 }
215 return cfn_hal_base_error_enable(&driver->base, CFN_SAL_DEV_TYPE_DISPLAY, error_mask);
216}
217
218CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_error_disable(cfn_sal_dev_display_t *driver,
219 uint32_t error_mask)
220{
221 if (!driver)
222 {
223 return CFN_HAL_ERROR_BAD_PARAM;
224 }
225 return cfn_hal_base_error_disable(&driver->base, CFN_SAL_DEV_TYPE_DISPLAY, error_mask);
226}
227
228CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_error_get(cfn_sal_dev_display_t *driver, uint32_t *error_mask)
229{
230 if (!driver)
231 {
232 return CFN_HAL_ERROR_BAD_PARAM;
233 }
234 return cfn_hal_base_error_get(&driver->base, CFN_SAL_DEV_TYPE_DISPLAY, error_mask);
235}
236
237/* Service Specific Functions --------------------------------------- */
238
239CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_turn_on(cfn_sal_dev_display_t *driver)
240{
241 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
242 CFN_HAL_CHECK_AND_CALL_FUNC(CFN_SAL_DEV_TYPE_DISPLAY, turn_on, driver, error);
243 return error;
244}
245
246CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_turn_off(cfn_sal_dev_display_t *driver)
247{
248 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
249 CFN_HAL_CHECK_AND_CALL_FUNC(CFN_SAL_DEV_TYPE_DISPLAY, turn_off, driver, error);
250 return error;
251}
252
253CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_set_brightness(cfn_sal_dev_display_t *driver, uint8_t percent)
254{
255 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
256 CFN_HAL_CHECK_AND_CALL_FUNC_VARG(CFN_SAL_DEV_TYPE_DISPLAY, set_brightness, driver, error, percent);
257 return error;
258}
259
260CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_draw_pixel(cfn_sal_dev_display_t *driver,
261 uint16_t x,
262 uint16_t y,
263 uint32_t color)
264{
265 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
266 CFN_HAL_CHECK_AND_CALL_FUNC_VARG(CFN_SAL_DEV_TYPE_DISPLAY, draw_pixel, driver, error, x, y, color);
267 return error;
268}
269
270CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_fill_rect(
271 cfn_sal_dev_display_t *driver, uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint32_t color)
272{
273 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
274 CFN_HAL_CHECK_AND_CALL_FUNC_VARG(CFN_SAL_DEV_TYPE_DISPLAY, fill_rect, driver, error, x, y, w, h, color);
275 return error;
276}
277
278CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_draw_bitmap(
279 cfn_sal_dev_display_t *driver, uint16_t x, uint16_t y, uint16_t w, uint16_t h, const uint8_t *data)
280{
281 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
282 CFN_HAL_CHECK_AND_CALL_FUNC_VARG(CFN_SAL_DEV_TYPE_DISPLAY, draw_bitmap, driver, error, x, y, w, h, data);
283 return error;
284}
285
286CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_clear(cfn_sal_dev_display_t *driver)
287{
288 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
289 CFN_HAL_CHECK_AND_CALL_FUNC(CFN_SAL_DEV_TYPE_DISPLAY, clear, driver, error);
290 return error;
291}
292
293CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_update(cfn_sal_dev_display_t *driver)
294{
295 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
296 CFN_HAL_CHECK_AND_CALL_FUNC(CFN_SAL_DEV_TYPE_DISPLAY, update, driver, error);
297 return error;
298}
299
300CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_set_backlight(cfn_sal_dev_display_t *driver, uint8_t percent)
301{
302 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
303 CFN_HAL_CHECK_AND_CALL_FUNC_VARG(CFN_SAL_DEV_TYPE_DISPLAY, set_backlight, driver, error, percent);
304 return error;
305}
306
307CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_draw_line(
308 cfn_sal_dev_display_t *driver, uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint32_t color)
309{
310 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
311 CFN_HAL_CHECK_AND_CALL_FUNC_VARG(CFN_SAL_DEV_TYPE_DISPLAY, draw_line, driver, error, x0, y0, x1, y1, color);
312 return error;
313}
314
315CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_draw_rect(
316 cfn_sal_dev_display_t *driver, uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint32_t color)
317{
318 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
319 CFN_HAL_CHECK_AND_CALL_FUNC_VARG(CFN_SAL_DEV_TYPE_DISPLAY, draw_rect, driver, error, x, y, w, h, color);
320 return error;
321}
322
323CFN_HAL_INLINE cfn_hal_error_code_t
324cfn_sal_dev_display_clear_window(cfn_sal_dev_display_t *driver, uint16_t x, uint16_t y, uint16_t w, uint16_t h)
325{
326 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
327 CFN_HAL_CHECK_AND_CALL_FUNC_VARG(CFN_SAL_DEV_TYPE_DISPLAY, clear_window, driver, error, x, y, w, h);
328 return error;
329}
330
331CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_set_cursor(cfn_sal_dev_display_t *driver,
332 uint16_t x,
333 uint16_t y)
334{
335 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
336 CFN_HAL_CHECK_AND_CALL_FUNC_VARG(CFN_SAL_DEV_TYPE_DISPLAY, set_cursor, driver, error, x, y);
337 return error;
338}
339
340CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_write_data(cfn_sal_dev_display_t *driver,
341 const uint8_t *data,
342 size_t len)
343{
344 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
345 CFN_HAL_CHECK_AND_CALL_FUNC_VARG(CFN_SAL_DEV_TYPE_DISPLAY, write_data, driver, error, data, len);
346 return error;
347}
348
349CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_write_command(cfn_sal_dev_display_t *driver, uint8_t cmd)
350{
351 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
352 CFN_HAL_CHECK_AND_CALL_FUNC_VARG(CFN_SAL_DEV_TYPE_DISPLAY, write_command, driver, error, cmd);
353 return error;
354}
355
356CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_set_orientation(cfn_sal_dev_display_t *driver,
357 uint8_t orientation)
358{
359 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
360 CFN_HAL_CHECK_AND_CALL_FUNC_VARG(CFN_SAL_DEV_TYPE_DISPLAY, set_orientation, driver, error, orientation);
361 return error;
362}
363
364#ifdef __cplusplus
365}
366#endif
367
368#endif /* CAFFEINE_SAL_DEV_DISPLAY_H */
Core definitions and macros for Caffeine SAL.
#define CFN_SAL_CREATE_DRIVER_TYPE(prefix, config_type, api_type, phy_type, cb_type)
Definition cfn_sal.h:38
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_write_command(cfn_sal_dev_display_t *driver, uint8_t cmd)
Definition cfn_sal_dev_display.h:349
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_callback_register(cfn_sal_dev_display_t *driver, cfn_sal_dev_display_callback_t callback, void *user_arg)
Definition cfn_sal_dev_display.h:157
struct cfn_sal_dev_display_s cfn_sal_dev_display_t
Definition cfn_sal_dev_display.h:39
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_error_get(cfn_sal_dev_display_t *driver, uint32_t *error_mask)
Definition cfn_sal_dev_display.h:228
cfn_hal_error_code_t cfn_sal_dev_display_construct(cfn_sal_dev_display_t *driver, const cfn_sal_dev_display_config_t *config, const cfn_sal_phy_t *phy, void *dependency, cfn_sal_dev_display_callback_t callback, void *user_arg)
cfn_hal_error_code_t cfn_sal_dev_display_destruct(cfn_sal_dev_display_t *driver)
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_error_disable(cfn_sal_dev_display_t *driver, uint32_t error_mask)
Definition cfn_sal_dev_display.h:218
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_draw_pixel(cfn_sal_dev_display_t *driver, uint16_t x, uint16_t y, uint32_t color)
Definition cfn_sal_dev_display.h:260
void(* cfn_sal_dev_display_callback_t)(cfn_sal_dev_display_t *driver, uint32_t event, uint32_t error, void *user_arg)
Definition cfn_sal_dev_display.h:42
CFN_HAL_INLINE void cfn_sal_dev_display_populate(cfn_sal_dev_display_t *driver, uint32_t peripheral_id, void *dependency, const cfn_sal_dev_display_api_t *api, const cfn_sal_phy_t *phy, const cfn_sal_dev_display_config_t *config, cfn_sal_dev_display_callback_t callback, void *user_arg)
Definition cfn_sal_dev_display.h:95
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_clear(cfn_sal_dev_display_t *driver)
Definition cfn_sal_dev_display.h:286
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_fill_rect(cfn_sal_dev_display_t *driver, uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint32_t color)
Definition cfn_sal_dev_display.h:270
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_draw_bitmap(cfn_sal_dev_display_t *driver, uint16_t x, uint16_t y, uint16_t w, uint16_t h, const uint8_t *data)
Definition cfn_sal_dev_display.h:278
cfn_sal_dev_display_event_t
Definition cfn_sal_dev_display.h:24
@ CFN_SAL_DEV_DISPLAY_EVENT_NONE
Definition cfn_sal_dev_display.h:25
@ CFN_SAL_DEV_DISPLAY_EVENT_REFRESH_DONE
Definition cfn_sal_dev_display.h:26
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_deinit(cfn_sal_dev_display_t *driver)
Definition cfn_sal_dev_display.h:126
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_config_set(cfn_sal_dev_display_t *driver, const cfn_sal_dev_display_config_t *config)
Definition cfn_sal_dev_display.h:135
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_set_orientation(cfn_sal_dev_display_t *driver, uint8_t orientation)
Definition cfn_sal_dev_display.h:356
#define CFN_SAL_DEV_TYPE_DISPLAY
Definition cfn_sal_dev_display.h:19
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_set_backlight(cfn_sal_dev_display_t *driver, uint8_t percent)
Definition cfn_sal_dev_display.h:300
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_turn_on(cfn_sal_dev_display_t *driver)
Definition cfn_sal_dev_display.h:239
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_clear_window(cfn_sal_dev_display_t *driver, uint16_t x, uint16_t y, uint16_t w, uint16_t h)
Definition cfn_sal_dev_display.h:324
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_update(cfn_sal_dev_display_t *driver)
Definition cfn_sal_dev_display.h:293
CFN_HAL_VMT_CHECK(struct cfn_sal_dev_display_api_s)
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_event_get(cfn_sal_dev_display_t *driver, uint32_t *event_mask)
Definition cfn_sal_dev_display.h:200
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_draw_rect(cfn_sal_dev_display_t *driver, uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint32_t color)
Definition cfn_sal_dev_display.h:315
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_event_enable(cfn_sal_dev_display_t *driver, uint32_t event_mask)
Definition cfn_sal_dev_display.h:181
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_power_state_set(cfn_sal_dev_display_t *driver, cfn_hal_power_state_t state)
Definition cfn_sal_dev_display.h:171
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_turn_off(cfn_sal_dev_display_t *driver)
Definition cfn_sal_dev_display.h:246
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_set_cursor(cfn_sal_dev_display_t *driver, uint16_t x, uint16_t y)
Definition cfn_sal_dev_display.h:331
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_draw_line(cfn_sal_dev_display_t *driver, uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint32_t color)
Definition cfn_sal_dev_display.h:307
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_error_enable(cfn_sal_dev_display_t *driver, uint32_t error_mask)
Definition cfn_sal_dev_display.h:209
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_write_data(cfn_sal_dev_display_t *driver, const uint8_t *data, size_t len)
Definition cfn_sal_dev_display.h:340
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_init(cfn_sal_dev_display_t *driver)
Definition cfn_sal_dev_display.h:116
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_config_get(cfn_sal_dev_display_t *driver, cfn_sal_dev_display_config_t *config)
Definition cfn_sal_dev_display.h:146
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_set_brightness(cfn_sal_dev_display_t *driver, uint8_t percent)
Definition cfn_sal_dev_display.h:253
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_dev_display_event_disable(cfn_sal_dev_display_t *driver, uint32_t event_mask)
Definition cfn_sal_dev_display.h:190
Display Virtual Method Table (VMT).
Definition cfn_sal_dev_display.h:51
cfn_hal_error_code_t(* draw_rect)(cfn_sal_dev_display_t *driver, uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint32_t color)
Definition cfn_sal_dev_display.h:64
cfn_hal_error_code_t(* clear_window)(cfn_sal_dev_display_t *driver, uint16_t x, uint16_t y, uint16_t w, uint16_t h)
Definition cfn_sal_dev_display.h:70
cfn_hal_error_code_t(* write_command)(cfn_sal_dev_display_t *driver, uint8_t cmd)
Definition cfn_sal_dev_display.h:79
cfn_hal_error_code_t(* set_brightness)(cfn_sal_dev_display_t *driver, uint8_t percent)
Definition cfn_sal_dev_display.h:57
cfn_hal_error_code_t(* set_orientation)(cfn_sal_dev_display_t *driver, uint8_t orientation)
Definition cfn_sal_dev_display.h:82
cfn_hal_error_code_t(* fill_rect)(cfn_sal_dev_display_t *driver, uint16_t x, uint16_t y, uint16_t w, uint16_t h, uint32_t color)
Definition cfn_sal_dev_display.h:66
cfn_hal_error_code_t(* draw_bitmap)(cfn_sal_dev_display_t *driver, uint16_t x, uint16_t y, uint16_t w, uint16_t h, const uint8_t *data)
Definition cfn_sal_dev_display.h:68
cfn_hal_error_code_t(* turn_on)(cfn_sal_dev_display_t *driver)
Definition cfn_sal_dev_display.h:55
cfn_hal_error_code_t(* update)(cfn_sal_dev_display_t *driver)
Definition cfn_sal_dev_display.h:75
cfn_hal_error_code_t(* turn_off)(cfn_sal_dev_display_t *driver)
Definition cfn_sal_dev_display.h:56
cfn_hal_error_code_t(* clear)(cfn_sal_dev_display_t *driver)
Definition cfn_sal_dev_display.h:74
cfn_hal_error_code_t(* write_data)(cfn_sal_dev_display_t *driver, const uint8_t *data, size_t len)
Definition cfn_sal_dev_display.h:78
cfn_hal_error_code_t(* draw_pixel)(cfn_sal_dev_display_t *driver, uint16_t x, uint16_t y, uint32_t color)
Definition cfn_sal_dev_display.h:61
cfn_hal_error_code_t(* set_backlight)(cfn_sal_dev_display_t *driver, uint8_t percent)
Definition cfn_sal_dev_display.h:58
cfn_hal_api_base_t base
Definition cfn_sal_dev_display.h:52
cfn_hal_error_code_t(* draw_line)(cfn_sal_dev_display_t *driver, uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint32_t color)
Definition cfn_sal_dev_display.h:62
cfn_hal_error_code_t(* set_cursor)(cfn_sal_dev_display_t *driver, uint16_t x, uint16_t y)
Definition cfn_sal_dev_display.h:71
Definition cfn_sal_dev_display.h:32
uint16_t height
Definition cfn_sal_dev_display.h:34
uint8_t color_depth
Definition cfn_sal_dev_display.h:35
void * custom
Definition cfn_sal_dev_display.h:36
uint16_t width
Definition cfn_sal_dev_display.h:33
Generic physical mapping for services.
Definition cfn_sal_types.h:26