Loading...
Searching...
No Matches
aip31068.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2020 Freie Universität Berlin
3 * SPDX-License-Identifier: LGPL-2.1-only
4 */
5
6#pragma once
7
18
19#ifdef __cplusplus
20extern "C"
21{
22#endif
23
24#include "stdbool.h"
25#include "periph/i2c.h"
26
27#include "aip31068_regs.h"
28
42
53
61
69
81
90
107
123
139
157
173
190
207
224
241int aip31068_set_cursor_position(aip31068_t *dev, uint8_t row, uint8_t col);
242
260
279
301
320
336
362 aip31068_custom_symbol_t customSymbol,
363 const uint8_t charmap[]);
364
381 aip31068_custom_symbol_t customSymbol);
382
398int aip31068_print(aip31068_t *dev, const char *data);
399
416
417#ifdef __cplusplus
418}
419#endif
420
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:49
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:32
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:65
aip31068_font_size_t
Size of a character of the display in dots/pixels.
Definition aip31068.h:57
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:51
@ LEFT_TO_RIGHT
Insert text from left to right.
Definition aip31068.h:50
@ CUSTOM_SYMBOL_3
3rd custom symbol
Definition aip31068.h:35
@ CUSTOM_SYMBOL_1
1st custom symbol
Definition aip31068.h:33
@ CUSTOM_SYMBOL_2
2nd custom symbol
Definition aip31068.h:34
@ CUSTOM_SYMBOL_6
6th custom symbol
Definition aip31068.h:38
@ CUSTOM_SYMBOL_7
7th custom symbol
Definition aip31068.h:39
@ CUSTOM_SYMBOL_5
5th custom symbol
Definition aip31068.h:37
@ CUSTOM_SYMBOL_4
4th custom symbol
Definition aip31068.h:36
@ CUSTOM_SYMBOL_8
8th custom symbol
Definition aip31068.h:40
@ BITMODE_8_BIT
Use 8 bit mode.
Definition aip31068.h:67
@ BITMODE_4_BIT
Use 4 bit mode.
Definition aip31068.h:66
@ FONT_SIZE_5x10
Single character has 5x10 pixels.
Definition aip31068.h:59
@ FONT_SIZE_5x8
Single character has 5x8 pixels.
Definition aip31068.h:58
uint_fast8_t i2c_t
Default i2c_t type definition.
Definition i2c.h:155
Low-level I2C peripheral driver interface definition.
AIP31068 device initialization parameters.
Definition aip31068.h:73
uint8_t col_count
Number of columns.
Definition aip31068.h:77
aip31068_font_size_t font_size
Font size.
Definition aip31068.h:78
aip31068_bit_mode_t bit_mode
Bit mode.
Definition aip31068.h:79
i2c_t i2c_dev
I2C device.
Definition aip31068.h:74
uint16_t i2c_addr
I2C address of device.
Definition aip31068.h:75
uint8_t row_count
Number of rows.
Definition aip31068.h:76
AIP31068 PWM device data structure type.
Definition aip31068.h:85
uint8_t _curr_entry_mode_set
Current value of ENTRY_MODE_SET.
Definition aip31068.h:88
uint8_t _curr_display_control
Current value of DISPLAY_CONTROL.
Definition aip31068.h:87
aip31068_params_t params
Device initialization parameters.
Definition aip31068.h:86