Loading...
Searching...
No Matches
aip31068.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2020 Freie Universität Berlin
3 *
4 * This file is subject to the terms and conditions of the GNU Lesser
5 * General Public License v2.1. See the file LICENSE in the top level
6 * directory for more details.
7 */
8
9#pragma once
10
21
22#ifdef __cplusplus
23extern "C"
24{
25#endif
26
27#include "stdbool.h"
28#include "periph/i2c.h"
29
30#include "aip31068_regs.h"
31
45
56
64
72
84
93
110
126
142
160
176
193
210
227
244int aip31068_set_cursor_position(aip31068_t *dev, uint8_t row, uint8_t col);
245
263
282
304
323
339
365 aip31068_custom_symbol_t customSymbol,
366 const uint8_t charmap[]);
367
384 aip31068_custom_symbol_t customSymbol);
385
401int aip31068_print(aip31068_t *dev, const char *data);
402
419
420#ifdef __cplusplus
421}
422#endif
423
Register definitions for the AIP31068 I2C LCD controller.
int aip31068_clear(aip31068_t *dev)
Clear the display and set the cursor to position (0, 0).
int aip31068_init(aip31068_t *dev, const aip31068_params_t *params)
Initialization.
int aip31068_turn_off(aip31068_t *dev)
Turn off the display.
aip31068_text_insertion_mode_t
Defines the direction of the text insertion.
Definition aip31068.h:52
int aip31068_move_cursor_right(aip31068_t *dev)
Move the cursor one unit to the right.
int aip31068_print_custom_symbol(aip31068_t *dev, aip31068_custom_symbol_t customSymbol)
Print a custom symbol by key reference.
int aip31068_move_cursor_left(aip31068_t *dev)
Move the cursor one unit to the left.
int aip31068_print(aip31068_t *dev, const char *data)
Print a string.
int aip31068_set_cursor_visible(aip31068_t *dev, bool visible)
Show or hide the cursor.
aip31068_custom_symbol_t
Keys for custom symbols.
Definition aip31068.h:35
int aip31068_print_char(aip31068_t *dev, char c)
Print a single character.
aip31068_bit_mode_t
Bit mode for the display.
Definition aip31068.h:68
aip31068_font_size_t
Size of a character of the display in dots/pixels.
Definition aip31068.h:60
int aip31068_turn_on(aip31068_t *dev)
Turn on the display.
int aip31068_set_auto_scroll_enabled(aip31068_t *dev, bool enabled)
Enable or disable automated scrolling.
int aip31068_set_cursor_position(aip31068_t *dev, uint8_t row, uint8_t col)
Move the cursor to a given position.
int aip31068_scroll_display_right(aip31068_t *dev)
Scroll the entire display content (all lines) one unit to the right.
int aip31068_set_custom_symbol(aip31068_t *dev, aip31068_custom_symbol_t customSymbol, const uint8_t charmap[])
Create a custom symbol.
int aip31068_scroll_display_left(aip31068_t *dev)
Scroll the entire display content (all lines) one unit to the left.
int aip31068_set_cursor_blinking_enabled(aip31068_t *dev, bool enabled)
Enable or disable cursor blinking.
int aip31068_set_text_insertion_mode(aip31068_t *dev, aip31068_text_insertion_mode_t mode)
Set the direction from which the text is inserted, starting from the cursor.
int aip31068_return_home(aip31068_t *dev)
Reset cursor position to (0, 0) and scroll display to original position.
@ RIGHT_TO_LEFT
Insert text from right to left.
Definition aip31068.h:54
@ LEFT_TO_RIGHT
Insert text from left to right.
Definition aip31068.h:53
@ CUSTOM_SYMBOL_3
3rd custom symbol
Definition aip31068.h:38
@ CUSTOM_SYMBOL_1
1st custom symbol
Definition aip31068.h:36
@ CUSTOM_SYMBOL_2
2nd custom symbol
Definition aip31068.h:37
@ CUSTOM_SYMBOL_6
6th custom symbol
Definition aip31068.h:41
@ CUSTOM_SYMBOL_7
7th custom symbol
Definition aip31068.h:42
@ CUSTOM_SYMBOL_5
5th custom symbol
Definition aip31068.h:40
@ CUSTOM_SYMBOL_4
4th custom symbol
Definition aip31068.h:39
@ CUSTOM_SYMBOL_8
8th custom symbol
Definition aip31068.h:43
@ BITMODE_8_BIT
Use 8 bit mode.
Definition aip31068.h:70
@ BITMODE_4_BIT
Use 4 bit mode.
Definition aip31068.h:69
@ FONT_SIZE_5x10
Single character has 5x10 pixels.
Definition aip31068.h:62
@ FONT_SIZE_5x8
Single character has 5x8 pixels.
Definition aip31068.h:61
uint_fast8_t i2c_t
Default i2c_t type definition.
Definition i2c.h:144
Low-level I2C peripheral driver interface definition.
AIP31068 device initialization parameters.
Definition aip31068.h:76
uint8_t col_count
Number of columns.
Definition aip31068.h:80
aip31068_font_size_t font_size
Font size.
Definition aip31068.h:81
aip31068_bit_mode_t bit_mode
Bit mode.
Definition aip31068.h:82
i2c_t i2c_dev
I2C device.
Definition aip31068.h:77
uint16_t i2c_addr
I2C address of device.
Definition aip31068.h:78
uint8_t row_count
Number of rows.
Definition aip31068.h:79
AIP31068 PWM device data structure type.
Definition aip31068.h:88
uint8_t _curr_entry_mode_set
Current value of ENTRY_MODE_SET.
Definition aip31068.h:91
uint8_t _curr_display_control
Current value of DISPLAY_CONTROL.
Definition aip31068.h:90
aip31068_params_t params
Device initialization parameters.
Definition aip31068.h:89