Expand description
§embassy-st7789v-plot
Moteur de tracé de graphiques cartésiens (X, Y) adaptatifs et configurables
pour écrans TFT LCD ST7789V, s’appuyant sur la structure Graphics.
§Caractéristiques principales
#![no_std]+#![forbid(unsafe_code)]: Sûr et embarqué- Zéro allocation dynamique : Buffers statiques uniquement (ring buffer)
- API async : Basée sur Embassy pour ST7789V
- Axes configurables : Graduations statiques avec labels personnalisés
- Grille adaptative : Grille horizontale/verticale pour meilleure lisibilité
- Historique circulaire : Jusqu’à 240 points (limité par la largeur écran)
- Protection des bordures : Les labels de graduations restent à l’écran
§Structures principales
Graphics: Contexte graphique pour les primitives de dessinAxisConfig: Configuration d’un axe (min, max, pas de graduation, label)PlotConfig: Configuration complète du graphique (position, marges, couleurs)LineChart: Gestionnaire du graphique avec données historiques
§Exemple d’utilisation
use embassy_st7789v_plot::{Graphics, AxisConfig, PlotConfig, LineChart};
// Créer les configurations d'axes
let x_axis = AxisConfig::new(0.0, 10.0, 2.0, b"Time (s)");
let y_axis = AxisConfig::new(0.0, 100.0, 20.0, b"Temp (C)");
// Créer la configuration complète du graphique
let config = PlotConfig {
x: 10,
y: 10,
width: 220,
height: 200,
margin_left: 30,
margin_right: 10,
margin_top: 10,
margin_bottom: 30,
x_axis,
y_axis,
bg_color: Color::BLACK,
line_color: Color::GREEN,
axis_color: Color::WHITE,
grid_color: Color::from_rgb(64, 64, 64),
text_color: Color::WHITE,
label_color: Color::CYAN,
};
// Créer le gestionnaire de graphique (N = 100 points max)
let mut chart: LineChart<100> = LineChart::new(config);
// Ajouter des données
chart.push(45.2);
chart.push(47.8);
chart.push(52.1);
// Afficher le graphique
let mut gfx = Graphics::new_no_rst(display);
chart.render(&mut gfx).await;§API asynchrone
Tous les appels de rendu (render, line, pixel) sont asynchrones pour permettre
une meilleure intégration avec l’écosystème Embassy et éviter les blocages lors
de la communication SPI.
Structs§
- Axis
Config - Définit un axe avec graduation statique fixe.
- Graphics
- Line
Chart - Gestionnaire du graphique avec axes statiques configurables.
- Plot
Config - Configuration complète du tracé graphique.
Constants§
- PLOT_
HISTORY_ LIMIT - Taille maximale de l’historique des données du graphique.
Functions§
- line
- Trace une ligne entre deux points en utilisant l’algorithme de Bresenham.