Expand description
§embassy-ssd1306-graphics
Couche graphique 2D no_std pour écrans OLED SSD1306 (128×64),
construite au-dessus de embassy-ssd1306.
§Rôle exact de ce crate
Le driver embassy-ssd1306 fournit déjà :
draw_pixel(),draw_hline(),draw_vline()draw_rect(),draw_filled_rect()draw_char(),draw_str(),draw_i16()draw_bitmap()clear(),fill(),flush()
Ce crate ne duplique rien. Il ajoute uniquement les primitives que le driver ne propose pas :
| Fonction | Algorithme |
|---|---|
line() | Bresenham integer-only |
circle | Midpoint integer-only |
fill_circle | Midpoint + hlines |
triangle | 3 appels à line() |
ellipse | Midpoint généralisé |
bezier_quad | De Casteljau integer-only |
fill_triangle | Scanline integer-only |
§Architecture
┌──────────────────────────────────────┐
│ Votre application │
│ line() / circle() / triangle() … │
│ oled.draw_str() / oled.draw_i16() │ ← driver direct pour le texte
└──────────┬───────────────────────────┘
│ &mut Graphics │ &mut Ssd1306
┌──────────▼───────────┐ │
│ Graphics (ce crate) │ │
│ clipping · pixel() │ │
└──────────┬───────────┘ │
└─────────────────────┘
│ draw_pixel()
┌──────────────────▼───────────────────┐
│ embassy-ssd1306 (driver) │
│ framebuffer · I2C · flush() │
└──────────────────────────────────────┘§Patron de borrow
Graphics tient un &mut Ssd1306 pour toute sa durée de vie.
Pour appeler oled.flush(), oled.clear() ou oled.draw_str(),
gfx doit être sorti de portée au préalable.
loop {
oled.clear();
{
let mut gfx = Graphics::new(&mut oled);
line(&mut gfx, 0, 0, 127, 63, true);
circle(&mut gfx, 64, 32, 20, true);
} // ← borrow libéré
oled.draw_str(40, 3, b"RPi2350");
oled.flush().await.unwrap();
}Structs§
- Graphics
- Contexte graphique.
Functions§
- bezier_
quad - Trace une courbe de Bézier quadratique (3 points de contrôle).
- circle
- Trace le contour d’un cercle.
- ellipse
- Trace le contour d’une ellipse.
- fill_
circle - Remplit un cercle (disque plein).
- fill_
triangle - Remplit un triangle défini par trois sommets.
- line
- Trace une ligne entre
(x0, y0)et(x1, y1). - triangle
- Trace le contour d’un triangle défini par trois sommets.