Brick Groove Machine 0.9.3
Firmware embarqué pour contrôleur/synthé Brick
 
Chargement...
Recherche...
Aucune correspondance
drv_display.h
Aller à la documentation de ce fichier.
1
18#ifndef DRV_DISPLAY_H
19#define DRV_DISPLAY_H
20
21#include "ch.h"
22#include "brick_config.h"
23#include "hal.h"
24#include <stdint.h>
25#include "font.h"
26
27/* ====================================================================== */
28/* CONFIGURATION GÉNÉRALE */
29/* ====================================================================== */
30
32#define OLED_WIDTH 128
33
35#define OLED_HEIGHT 64
36
37/* ====================================================================== */
38/* FONCTIONS API */
39/* ====================================================================== */
40
46void drv_display_init(void);
47
51void drv_display_clear(void);
52
58void drv_display_update(void);
59
64uint8_t* drv_display_get_buffer(void);
65
71void drv_display_start(void);
72
73/* ====================================================================== */
74/* GESTION DES POLICES */
75/* ====================================================================== */
76
81void drv_display_set_font(const font_t *font);
82
83/* ====================================================================== */
84/* DESSIN ET RENDU TEXTE */
85/* ====================================================================== */
86
93void drv_display_draw_char(uint8_t x, uint8_t y, char c);
94
101void drv_display_draw_text(uint8_t x, uint8_t y, const char *txt);
102
109void drv_display_draw_number(uint8_t x, uint8_t y, int num);
110
111/* ====================================================================== */
112/* VARIANTES DE RENDU AVANCÉES */
113/* ====================================================================== */
114
122void drv_display_draw_text_with_font(const font_t *font, uint8_t x, uint8_t y, const char *txt);
123
135 uint8_t x, uint8_t baseline_y,
136 const char *txt);
137
148void drv_display_draw_char_in_box(const font_t *font,
149 uint8_t x, uint8_t y,
150 uint8_t box_w, uint8_t box_h, char c);
151
152#endif /* DRV_DISPLAY_H */
Configuration matérielle et paramètres globaux du firmware Brick.
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.
Definition drv_display.c:244
void drv_display_init(void)
Initialise le contrôleur OLED et le framebuffer.
Definition drv_display.c:114
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.
Definition drv_display.c:223
void drv_display_clear(void)
Efface tout le contenu du framebuffer.
Definition drv_display.c:145
void drv_display_draw_char(uint8_t x, uint8_t y, char c)
Dessine un caractère ASCII à la position spécifiée.
Definition drv_display.c:180
void drv_display_update(void)
Transfère le contenu du framebuffer vers l’écran OLED.
Definition drv_display.c:152
void drv_display_set_font(const font_t *font)
Définit la police courante utilisée pour le rendu texte.
Definition drv_display.c:169
uint8_t * drv_display_get_buffer(void)
Retourne un pointeur vers le framebuffer local (1 bit/pixel).
Definition drv_display.c:86
void drv_display_start(void)
Démarre le thread d’affichage automatique (~30 FPS).
Definition drv_display.c:276
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.
Definition drv_display.c:200
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.
Definition drv_display.c:212
void drv_display_draw_number(uint8_t x, uint8_t y, int num)
Affiche un nombre entier sous forme décimale.
Definition drv_display.c:235
Interface générique pour la gestion des polices bitmap dans l’UI.
Structure décrivant une police bitmap à largeur fixe.
Definition font.h:36