6#ifndef CAFFEINE_SAL_DEV_DISPLAY_H
7#define CAFFEINE_SAL_DEV_DISPLAY_H
19#define CFN_SAL_DEV_TYPE_DISPLAY CFN_SAL_TYPE('D', 'S', 'P')
96 uint32_t peripheral_id,
104 CFN_HAL_POPULATE_DRIVER(
120 return CFN_HAL_ERROR_BAD_PARAM;
122 driver->base.vmt = (
const struct cfn_hal_api_base_s *) driver->api;
130 return CFN_HAL_ERROR_BAD_PARAM;
140 return CFN_HAL_ERROR_BAD_PARAM;
142 driver->config = config;
149 if (!driver || !config || !driver->config)
151 return CFN_HAL_ERROR_BAD_PARAM;
153 *config = *(driver->config);
154 return CFN_HAL_ERROR_OK;
163 return CFN_HAL_ERROR_BAD_PARAM;
165 driver->cb = callback;
166 driver->cb_user_arg = user_arg;
167 return cfn_hal_base_callback_register(
172 cfn_hal_power_state_t state)
176 return CFN_HAL_ERROR_BAD_PARAM;
185 return CFN_HAL_ERROR_BAD_PARAM;
195 return CFN_HAL_ERROR_BAD_PARAM;
204 return CFN_HAL_ERROR_BAD_PARAM;
213 return CFN_HAL_ERROR_BAD_PARAM;
223 return CFN_HAL_ERROR_BAD_PARAM;
232 return CFN_HAL_ERROR_BAD_PARAM;
241 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
248 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
255 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
265 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
273 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
281 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
288 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
295 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
302 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
310 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
318 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
323CFN_HAL_INLINE cfn_hal_error_code_t
326 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
335 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
344 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
351 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
359 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
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