Wobblechar – parse ASCII/UTF-8 waveform diagrams into decoded samples (no_std-compatible)

⚓ Rust    📅 2026-03-08    👤 surdeus    👁️ 3      

surdeus

Coming from embedded C/C++, I wanted a less tedious way to write tests on electronic signals. I saw myself write ascii-waveforms in the docs and thought: Why not use this as input. So I completed this project as a Rust learning project.

Instead of manually constructing test vectors, I wanted to write this:

CLK: _|‾|_|‾|_
DAT: ___‾‾‾___

To then get an iterator of timestep items with decoded values. I also included an index and a changed flag to easily filter the result.

As I am working on embedded, I had to make it completely no_std compatible. If you use it in std-context, I added support for hashmap character-mappers as well.

I think this crate is very useful for testing signal processing logic, protocol decoders, or anything that operates on input signal lines. It supports custom character mappings and labeled multi-line blocks for interleaved signals. Curious if anyone sees other use cases — I was thinking about things like encoding bit patterns for EEPROM initialization. Drop me a line!

1 post - 1 participant

Read full topic

🏷️ Rust_feed