Expand description
Rust library for live decoding and encoding of morse code messages. Supports multiple embedded devices and operating systems by being no_std.
You can create messages by sending individual high and low signals in milliseconds to decoder, from the keyboard, mouse clicks, or a button connected to some embedded device. Decoder supports three precision (difficulty) modes. Lazy (easiest), Accurate (hardest) and Farnsworth mode (somewhere inbetween)
Use the encoder to turn your messages or characters into morse code strings or create a sequence of signals to drive an external component such as an LED, step motor or speaker.
§Features
- Decoder
- Encoder
UTF-8 is supported behind a feature flag. When not used it should not interfere with embedded device applications.
The lib is no_std outside testing to make sure it will work on embedded devices as well as operating systems.
Re-exports§
pub use charsets::CharacterSet;
pub use charsets::MorseCodeSet;
pub use charsets::DEFAULT_CHARACTER_SET_LENGTH;
pub use charsets::DEFAULT_CHARACTER_SET;
pub use charsets::DEFAULT_MORSE_CODE_SET;
Modules§
- Contains morse code to character set mappings.
- Live decoder for morse code that converts morse code to characters. Supports real-time decoding of incoming signals and decoding prepared morse signals. This module supports Farnsworth timing mode and can be used for morse code practice.
- Morse code encoder to turn text into morse code text or signals.
- Message struct to hold decoded message or message to be encoded.
Enums§
- Building block of morse characters.
Constants§
- If a decoding error happens, we put this character as a placeholder.
- We use this character to fill message arrays so when we encounter this char it actually means there’s no character there.
- This corresponds to empty character ’ ’ which is the default character