Interface du driver OLED SPI SSD1309 (128×64) pour Brick. Plus de détails...
Aller au code source de ce fichier.
Macros | |
#define | OLED_WIDTH 128 |
Largeur en pixels de l’écran OLED. | |
#define | OLED_HEIGHT 64 |
Hauteur en pixels de l’écran OLED. | |
Fonctions | |
void | drv_display_init (void) |
Initialise le contrôleur OLED et le framebuffer. | |
void | drv_display_clear (void) |
Efface tout le contenu du framebuffer. | |
void | drv_display_update (void) |
Transfère le contenu du framebuffer vers l’écran OLED. | |
uint8_t * | drv_display_get_buffer (void) |
Retourne un pointeur vers le framebuffer local (1 bit/pixel). | |
void | drv_display_start (void) |
Démarre le thread d’affichage automatique (~30 FPS). | |
void | drv_display_set_font (const font_t *font) |
Définit la police courante utilisée pour le rendu texte. | |
void | drv_display_draw_char (uint8_t x, uint8_t y, char c) |
Dessine un caractère ASCII à la position spécifiée. | |
void | drv_display_draw_text (uint8_t x, uint8_t y, const char *txt) |
Affiche une chaîne de caractères à partir d’une position donnée. | |
void | drv_display_draw_number (uint8_t x, uint8_t y, int num) |
Affiche un nombre entier sous forme décimale. | |
void | drv_display_draw_text_with_font (const font_t *font, uint8_t x, uint8_t y, const char *txt) |
Dessine du texte avec une police spécifique sans changer la police globale. | |
void | drv_display_draw_text_at_baseline (const font_t *font, uint8_t x, uint8_t baseline_y, const char *txt) |
Dessine du texte aligné sur une ligne de base commune. | |
void | drv_display_draw_char_in_box (const font_t *font, uint8_t x, uint8_t y, uint8_t box_w, uint8_t box_h, char c) |
Dessine un caractère centré dans une boîte rectangulaire. | |
Interface du driver OLED SPI SSD1309 (128×64) pour Brick.
Ce module fournit une API haut niveau pour le rendu graphique sur écran OLED :
font_t
)drv_display_update()
si le thread d’affichage n’est pas démarré. #define OLED_HEIGHT 64 |
Hauteur en pixels de l’écran OLED.
#define OLED_WIDTH 128 |
Largeur en pixels de l’écran OLED.
void drv_display_clear | ( | void | ) |
Efface tout le contenu du framebuffer.
Efface tout le contenu du framebuffer.
void drv_display_draw_char | ( | uint8_t | x, |
uint8_t | y, | ||
char | c | ||
) |
Dessine un caractère ASCII à la position spécifiée.
x | Position horizontale en pixels. |
y | Position verticale en pixels. |
c | Caractère à afficher. |
Dessine un caractère ASCII à la position spécifiée.
void drv_display_draw_char_in_box | ( | const font_t * | font, |
uint8_t | x, | ||
uint8_t | y, | ||
uint8_t | box_w, | ||
uint8_t | box_h, | ||
char | c | ||
) |
Dessine un caractère centré dans une boîte rectangulaire.
font | Police utilisée. |
x | Coin supérieur gauche de la boîte (X). |
y | Coin supérieur gauche de la boîte (Y). |
box_w | Largeur de la boîte. |
box_h | Hauteur de la boîte. |
c | Caractère à afficher. |
void drv_display_draw_number | ( | uint8_t | x, |
uint8_t | y, | ||
int | num | ||
) |
Affiche un nombre entier sous forme décimale.
x | Coordonnée X du texte. |
y | Coordonnée Y du texte. |
num | Valeur entière à afficher. |
Affiche un nombre entier sous forme décimale.
void drv_display_draw_text | ( | uint8_t | x, |
uint8_t | y, | ||
const char * | txt | ||
) |
Affiche une chaîne de caractères à partir d’une position donnée.
x | Coordonnée X du premier caractère. |
y | Coordonnée Y du texte. |
txt | Pointeur vers la chaîne à afficher (terminée par \0 ). |
Affiche une chaîne de caractères à partir d’une position donnée.
void drv_display_draw_text_at_baseline | ( | const font_t * | font, |
uint8_t | x, | ||
uint8_t | baseline_y, | ||
const char * | txt | ||
) |
Dessine du texte aligné sur une ligne de base commune.
Utile pour aligner verticalement plusieurs polices différentes.
font | Police à utiliser. |
x | Coordonnée X de départ. |
baseline_y | Position verticale de la ligne de base. |
txt | Texte à afficher. |
Dessine du texte aligné sur une ligne de base commune.
void drv_display_draw_text_with_font | ( | const font_t * | font, |
uint8_t | x, | ||
uint8_t | y, | ||
const char * | txt | ||
) |
Dessine du texte avec une police spécifique sans changer la police globale.
font | Police à utiliser pour ce rendu. |
x | Coordonnée X du texte. |
y | Coordonnée Y du texte. |
txt | Texte à afficher. |
Dessine du texte avec une police spécifique sans changer la police globale.
uint8_t * drv_display_get_buffer | ( | void | ) |
Retourne un pointeur vers le framebuffer local (1 bit/pixel).
Retourne un pointeur vers le framebuffer local (1 bit/pixel).
void drv_display_init | ( | void | ) |
Initialise le contrôleur OLED et le framebuffer.
Configure le bus SPI, le SSD1309 et charge la police par défaut (FONT_5X7
).
Initialise le contrôleur OLED et le framebuffer.
void drv_display_set_font | ( | const font_t * | font | ) |
Définit la police courante utilisée pour le rendu texte.
font | Pointeur vers la structure de police à utiliser. |
void drv_display_start | ( | void | ) |
Démarre le thread d’affichage automatique (~30 FPS).
Initialise l’écran et lance un thread dédié au rafraîchissement.
Démarre le thread d’affichage automatique (~30 FPS).
void drv_display_update | ( | void | ) |
Transfère le contenu du framebuffer vers l’écran OLED.
À appeler périodiquement si le thread automatique n’est pas utilisé.