| Crates.io | minitel-esp |
| lib.rs | minitel-esp |
| version | 0.1.1 |
| created_at | 2025-01-04 10:58:54.881126+00 |
| updated_at | 2025-01-04 12:35:36.730682+00 |
| description | Minitel integration for ESP32 board |
| homepage | |
| repository | https://github.com/plule/minitel |
| max_upload_size | |
| id | 1503801 |
| size | 11,201 |
This is an experimental rust development stack dedicated to the Minitel.
In its current state, it can be used to:
.vdt filesIt includes an integration of ratatui, a library to write console applications.
The minitel crate contains everything needed for development, though most its feature are behind feature gates. Its module are:
stum feature.ws feature.esp feature.ratatui feature.These modules are re-export from their respective crates [minitel_stum], [minitel_ws], [minitel_esp] and [minitel_ratatui], with some additional glue code for common scenarios.
Lastly, [minitel-app-example] is a demonstration application that can be built both as a server serving a websocket, or as an embedded ESP32 firmware.
These crates are focused on the Télétel Vidéotex standard, which is the one specific to the Minitel.
It does not include any management for the "mixte" or "téléinformatique" modes.
minitel-app-exampleThis crates is a sample app that can be built into a websocket server or an embedded ESP32 plugged on the minitel serial port.
Building for a websocket server: cargo build -p minitel-app-example --features ws.
Building for ESP32: cargo +esp --config minitel-app-example/cargo-config-esp.toml build -p minitel-app-example --features=esp.
Targetting an ESP32 requires to have setup an environment ready for ESP32 using the standard library.
minitel::ratatui includes a backend to run ratatui programs on Minitel. This backend supports most of the basic ratatui features.
It carries limitations from the Minitel standard. The most impactful one is the requirement of using space characters for changing certain attributes (background color, invert).
As a result, to control the background color, you must ensure to start the area with a space. Block's padding are useful to ensure this is the case, by adding a left padding: .padding(Padding::left(1)).
The current implementation does not take advantage of the Repeat control code, making page drawing slower than it should.
Using the esp feature requires to have setup an environment ready for ESP32 using the standard library.
By default, on docs.rs a fake documentation stub will be built for the main esp members. The actual doc can be built with cargo +esp doc --config minitel-app-example/cargo-config-esp.toml --features ratatui,esp --open