|
GPS Device
|
Public functions to interact with the SSD1309 display subsystem. More...

Functions | |
| ERR_te | ssd1309_init_subsys (void) |
| Initializes the SSD1309 subsystem. | |
| ERR_te | ssd1309_deinit_subsys (void) |
| Deinitializes the SSD1309 subsystem. | |
| ERR_te | ssd1309_start_subsys (void) |
| Starts the SSD1309 subsystem. | |
| ERR_te | ssd1309_stop_subsys (void) |
| Stops the SSD1309 subsystem. | |
| ERR_te | ssd1309_get_def_cfg (SSD1309_CFG_ts *ssd1309_cfg_o) |
| Populates a configuration structure with sensible default values. | |
| ERR_te | ssd1309_init_handle (SSD1309_CFG_ts *ssd1309_cfg, SSD1309_HANDLE_ts **ssd1309_handle_o) |
| Initializes the SSD1309 display and sends the full configuration sequence over I2C. | |
| ERR_te | ssd1309_draw_text (char const *text, uint8_t text_len, uint8_t line, bool force) |
| Draws a text string into the framebuffer at the specified line. | |
| ERR_te | ssd1309_draw_rect (uint8_t x_src, uint8_t y_src, uint8_t x_dest, uint8_t y_dest, bool force) |
| Draws a filled rectangle into the framebuffer. | |
| ERR_te | ssd1309_clear_line (uint8_t line, bool force) |
| Clears a single display line in the framebuffer (sets all pixels off). | |
| ERR_te | ssd1309_invert_line (uint8_t line, bool force) |
| Inverts all pixels in a single display line in the framebuffer. | |
| ERR_te | ssd1309_clear_rect (uint8_t x_src, uint8_t y_src, uint8_t x_dest, uint8_t y_dest, bool force) |
| Clears a rectangular region in the framebuffer (sets all pixels off). | |
| ERR_te | ssd1309_invert_rect (uint8_t x_src, uint8_t y_src, uint8_t x_dest, uint8_t y_dest, bool force) |
| Inverts all pixels in a rectangular region of the framebuffer. | |
| ERR_te | ssd1309_update (bool force) |
| Flushes the internal framebuffer to the display over I2C. | |
Public functions to interact with the SSD1309 display subsystem.
| ERR_te ssd1309_init_subsys | ( | void | ) |
Initializes the SSD1309 subsystem.
Resets the internal state, initializes the logging dependency, and registers the CLI commands.
Must be called before any other SSD1309 API function.
Definition at line 488 of file ssd1309.c.


| ERR_te ssd1309_deinit_subsys | ( | void | ) |
Deinitializes the SSD1309 subsystem.
Resets the internal state to zero and deregisters the CLI commands. The subsystem must be stopped before calling this function.
Definition at line 523 of file ssd1309.c.

| ERR_te ssd1309_start_subsys | ( | void | ) |
Starts the SSD1309 subsystem.
Definition at line 551 of file ssd1309.c.

| ERR_te ssd1309_stop_subsys | ( | void | ) |
Stops the SSD1309 subsystem.
Definition at line 575 of file ssd1309.c.
| ERR_te ssd1309_get_def_cfg | ( | SSD1309_CFG_ts * | ssd1309_cfg_o | ) |
Populates a configuration structure with sensible default values.
The default configuration uses:
The I2C instance and GPIO fields are not set and must be filled in by the caller before passing to ssd1309_init_handle.
| [out] | ssd1309_cfg_o | Pointer to the configuration structure to populate. |
Definition at line 599 of file ssd1309.c.

| ERR_te ssd1309_init_handle | ( | SSD1309_CFG_ts * | ssd1309_cfg, |
| SSD1309_HANDLE_ts ** | ssd1309_handle_o ) |
Initializes the SSD1309 display and sends the full configuration sequence over I2C.
Configures the SCL and SDA GPIO pins in open-drain alternate function mode, initializes the I2C peripheral at 400 kHz, and transmits the complete SSD1309 initialization command sequence derived from ssd1309_cfg.
The display is turned off during configuration and turned on at the end.
| [in] | ssd1309_cfg | Pointer to the display configuration structure. |
| [out] | ssd1309_handle_o | Pointer to a handle pointer that will be set to the initialized display instance. |
ssd1309_cfg are NULLInitializes the SSD1309 display and sends the full configuration sequence over I2C.
Definition at line 622 of file ssd1309.c.


| ERR_te ssd1309_draw_text | ( | char const * | text, |
| uint8_t | text_len, | ||
| uint8_t | line, | ||
| bool | force ) |
Draws a text string into the framebuffer at the specified line.
Renders characters from the built-in 8×8 font table into the framebuffer. Each character occupies 8 columns; characters wrap to the next line if they exceed the display width. The framebuffer is not flushed to the display; call ssd1309_update to make the changes visible.
Supports printable ASCII characters (0x20–0x7E).
| [in] | text | Pointer to the text string to render. |
| [in] | text_len | Number of characters to render from text. |
| [in] | line | Display line (1–8, top to bottom) where text begins. |
| [in] | force | If true, bypasses the initialized/started guard. |
force is falseline is out of rangeDefinition at line 806 of file ssd1309.c.

| ERR_te ssd1309_draw_rect | ( | uint8_t | x_src, |
| uint8_t | y_src, | ||
| uint8_t | x_dest, | ||
| uint8_t | y_dest, | ||
| bool | force ) |
Draws a filled rectangle into the framebuffer.
Sets all pixels within the rectangle defined by (x_src, y_src) to (x_dest, y_dest) in the framebuffer. Coordinates are 1-based. The framebuffer is not flushed; call ssd1309_update to display the result.
| [in] | x_src | Left edge of the rectangle (1–128). |
| [in] | y_src | Top edge of the rectangle (1–64). |
| [in] | x_dest | Right edge of the rectangle (1–128, must be ≥ x_src). |
| [in] | y_dest | Bottom edge of the rectangle (1–64, must be ≥ y_src). |
| [in] | force | If true, bypasses the initialized/started guard. |
force is falsex_src > x_dest Definition at line 843 of file ssd1309.c.

| ERR_te ssd1309_clear_line | ( | uint8_t | line, |
| bool | force ) |
Clears a single display line in the framebuffer (sets all pixels off).
Equivalent to calling ssd1309_clear_rect over the full width of the given line. The framebuffer is not flushed; call ssd1309_update afterwards.
| [in] | line | Display line to clear (1–8). |
| [in] | force | If true, bypasses the initialized/started guard. |
force is falseline is out of rangeClears a single display line in the framebuffer (sets all pixels off).
Definition at line 901 of file ssd1309.c.


| ERR_te ssd1309_invert_line | ( | uint8_t | line, |
| bool | force ) |
Inverts all pixels in a single display line in the framebuffer.
Equivalent to calling ssd1309_invert_rect over the full width of the given line. Used by the menu module to simulate a selection highlight. The framebuffer is not flushed; call ssd1309_update afterwards.
| [in] | line | Display line to invert (1–8). |
| [in] | force | If true, bypasses the initialized/started guard. |
force is falseline is out of rangeDefinition at line 924 of file ssd1309.c.


| ERR_te ssd1309_clear_rect | ( | uint8_t | x_src, |
| uint8_t | y_src, | ||
| uint8_t | x_dest, | ||
| uint8_t | y_dest, | ||
| bool | force ) |
Clears a rectangular region in the framebuffer (sets all pixels off).
Clears all pixels within the rectangle defined by (x_src, y_src) to (x_dest, y_dest). Coordinates are 1-based. The framebuffer is not flushed; call ssd1309_update to display the result.
| [in] | x_src | Left edge (1–128). |
| [in] | y_src | Top edge (1–64). |
| [in] | x_dest | Right edge (1–128, must be ≥ x_src). |
| [in] | y_dest | Bottom edge (1–64, must be ≥ y_src). |
| [in] | force | If true, bypasses the initialized/started guard. |
force is falsex_src > x_dest Clears a rectangular region in the framebuffer (sets all pixels off).
Definition at line 947 of file ssd1309.c.

| ERR_te ssd1309_invert_rect | ( | uint8_t | x_src, |
| uint8_t | y_src, | ||
| uint8_t | x_dest, | ||
| uint8_t | y_dest, | ||
| bool | force ) |
Inverts all pixels in a rectangular region of the framebuffer.
XORs all pixels within the rectangle defined by (x_src, y_src) to (x_dest, y_dest). Coordinates are 1-based. The framebuffer is not flushed; call ssd1309_update to display the result.
| [in] | x_src | Left edge (1–128). |
| [in] | y_src | Top edge (1–64). |
| [in] | x_dest | Right edge (1–128, must be ≥ x_src). |
| [in] | y_dest | Bottom edge (1–64, must be ≥ y_src). |
| [in] | force | If true, bypasses the initialized/started guard. |
force is falsex_src > x_dest Definition at line 1005 of file ssd1309.c.

| ERR_te ssd1309_update | ( | bool | force | ) |
Flushes the internal framebuffer to the display over I2C.
Transmits the full 128×8-page framebuffer to the SSD1309 over I2C, making all pending framebuffer changes visible on the display.
| [in] | force | If true, bypasses the initialized/started guard. |
force is falseDefinition at line 1064 of file ssd1309.c.

