cpu_ltdc.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2021 Inria
3  * SPDX-License-Identifier: LGPL-2.1-only
4  */
5 
6 #pragma once
7 
18 #include <stdint.h>
19 
20 #include "periph/cpu_gpio.h"
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
29 typedef struct {
30  gpio_t pin;
32 } ltdc_gpio_t;
33 
37 typedef struct {
38  uint8_t bus;
39  uint32_t rcc_mask;
44  ltdc_gpio_t r_pin[8];
45  ltdc_gpio_t g_pin[8];
46  ltdc_gpio_t b_pin[8];
47  uint8_t hsync;
48  uint8_t vsync;
49  uint8_t hbp;
50  uint8_t hfp;
51  uint8_t vbp;
52  uint8_t vfp;
53 } ltdc_conf_t;
54 
58 void ltdc_init(void);
59 
63 void ltdc_clear(void);
64 
74 void ltdc_map(uint16_t x1, uint16_t x2, uint16_t y1, uint16_t y2, const uint16_t *color);
75 
85 void ltdc_fill(uint16_t x1, uint16_t x2, uint16_t y1, uint16_t y2, const uint16_t color);
86 
87 #ifdef __cplusplus
88 }
89 #endif
90 
GPIO CPU definitions for the STM32 family.
void ltdc_clear(void)
Clear the LTDC display.
void ltdc_init(void)
Initialize the LTDC (LCD-TFT Display Controller) peripheral.
void ltdc_map(uint16_t x1, uint16_t x2, uint16_t y1, uint16_t y2, const uint16_t *color)
Map a buffer of RGB565 (16bit depth) colors to the display.
void ltdc_fill(uint16_t x1, uint16_t x2, uint16_t y1, uint16_t y2, const uint16_t color)
Fill a region of the display with the same color.
gpio_af_t
Override alternative GPIO mode options.
Definition: periph_cpu.h:162
LTDC Peripheral configuration.
Definition: cpu_ltdc.h:37
ltdc_gpio_t vsync_pin
Vertical synchronization pin.
Definition: cpu_ltdc.h:43
uint8_t hsync
Horizontal synchronization.
Definition: cpu_ltdc.h:47
ltdc_gpio_t hsync_pin
Horizontal synchronization pin.
Definition: cpu_ltdc.h:42
uint8_t hbp
Horizontal back porch.
Definition: cpu_ltdc.h:49
uint8_t vbp
Vertical back porch.
Definition: cpu_ltdc.h:51
uint32_t rcc_mask
bit in clock enable register
Definition: cpu_ltdc.h:39
ltdc_gpio_t de_pin
Data enable pin.
Definition: cpu_ltdc.h:41
uint8_t bus
APB bus.
Definition: cpu_ltdc.h:38
uint8_t vsync
Vertical synchronization.
Definition: cpu_ltdc.h:48
uint8_t hfp
Horizontal front porch.
Definition: cpu_ltdc.h:50
ltdc_gpio_t clk_pin
CLK pin.
Definition: cpu_ltdc.h:40
uint8_t vfp
Vertical front porch.
Definition: cpu_ltdc.h:52
LTDC GPIO configuration.
Definition: cpu_ltdc.h:29
gpio_t pin
GPIO pin.
Definition: cpu_ltdc.h:30
gpio_af_t af
Alternate function.
Definition: cpu_ltdc.h:31