Zephyr API Documentation 4.0.0-rc3
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
grove_lcd.h
Go to the documentation of this file.
1/* grove_lcd.h - Public API for the Grove RGB LCD device */
2/*
3 * Copyright (c) 2015 Intel Corporation
4 *
5 * SPDX-License-Identifier: Apache-2.0
6 */
7#ifndef ZEPHYR_INCLUDE_DISPLAY_GROVE_LCD_H_
8#define ZEPHYR_INCLUDE_DISPLAY_GROVE_LCD_H_
9
10#include <stdint.h>
11
12#include <zephyr/device.h>
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
32void glcd_print(const struct device *dev, char *data, uint32_t size);
33
34
42void glcd_cursor_pos_set(const struct device *dev, uint8_t col, uint8_t row);
43
49void glcd_clear(const struct device *dev);
50
51/* Defines for the GLCD_CMD_DISPLAY_SWITCH options */
52#define GLCD_DS_DISPLAY_ON (1 << 2)
53#define GLCD_DS_DISPLAY_OFF (0 << 2)
54#define GLCD_DS_CURSOR_ON (1 << 1)
55#define GLCD_DS_CURSOR_OFF (0 << 1)
56#define GLCD_DS_BLINK_ON (1 << 0)
57#define GLCD_DS_BLINK_OFF (0 << 0)
69void glcd_display_state_set(const struct device *dev, uint8_t opt);
70
79
80/* Defines for the GLCD_CMD_INPUT_SET to change text direction */
81#define GLCD_IS_SHIFT_INCREMENT (1 << 1)
82#define GLCD_IS_SHIFT_DECREMENT (0 << 1)
83#define GLCD_IS_ENTRY_LEFT (1 << 0)
84#define GLCD_IS_ENTRY_RIGHT (0 << 0)
95void glcd_input_state_set(const struct device *dev, uint8_t opt);
96
105
106/* Defines for the LCD_FUNCTION_SET */
107#define GLCD_FS_8BIT_MODE (1 << 4)
108#define GLCD_FS_ROWS_2 (1 << 3)
109#define GLCD_FS_ROWS_1 (0 << 3)
110#define GLCD_FS_DOT_SIZE_BIG (1 << 2)
111#define GLCD_FS_DOT_SIZE_LITTLE (0 << 2)
112/* Bits 0, 1 are not defined for this register */
113
123void glcd_function_set(const struct device *dev, uint8_t opt);
124
133
134
135/* Available color selections */
136#define GROVE_RGB_WHITE 0
137#define GROVE_RGB_RED 1
138#define GROVE_RGB_GREEN 2
139#define GROVE_RGB_BLUE 3
145void glcd_color_select(const struct device *dev, uint8_t color);
146
147
156void glcd_color_set(const struct device *dev, uint8_t r, uint8_t g,
157 uint8_t b);
158
159
164#ifdef __cplusplus
165}
166#endif
167
168#endif /* ZEPHYR_INCLUDE_DISPLAY_GROVE_LCD_H_ */
workaround assembler barfing for ST r
Definition asm-macro-32-bit-gnu.h:24
void glcd_display_state_set(const struct device *dev, uint8_t opt)
Function to change the display state.
void glcd_clear(const struct device *dev)
Clear the current display.
uint8_t glcd_input_state_get(const struct device *dev)
return the input set associated with the device
void glcd_function_set(const struct device *dev, uint8_t opt)
Function to set the functional state of the display.
void glcd_cursor_pos_set(const struct device *dev, uint8_t col, uint8_t row)
Set text cursor position for next additions.
void glcd_color_select(const struct device *dev, uint8_t color)
Set LCD background to a predefined color.
uint8_t glcd_display_state_get(const struct device *dev)
return the display feature set associated with the device
uint8_t glcd_function_get(const struct device *dev)
return the function set associated with the device
void glcd_input_state_set(const struct device *dev, uint8_t opt)
Function to change the input state.
void glcd_print(const struct device *dev, char *data, uint32_t size)
Send text to the screen.
void glcd_color_set(const struct device *dev, uint8_t r, uint8_t g, uint8_t b)
Set LCD background to custom RGB color value.
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
Runtime device structure (in ROM) per driver instance.
Definition device.h:412