Crate flipdot_core[−][src]
Core types for describing communication with Luminator flip-dot and LED signs.
For the basic task of sign communication, you likely want to use the high-level API
in the flipdot crate instead.
However, flipdot_core is useful for crates that want to interact with the sign protocol
at a lower level than the flipdot crate, or who want to provide their own SignBus
implementations for use by flipdot.
Tested with a MAX3000 90 × 7 side sign. Should work with any flip-dot or LED sign that uses the 7-pin circular connector, but no guarantees.
Intended only for hobbyist and educational purposes. Not affiliated with Luminator in any way.
Examples
use flipdot_core::{Address, Message, Operation, SignBus, SignType, State}; // Assume we have a helper function to obtain a SignBus. let mut bus: Box<dyn SignBus> = get_bus(); // Discover the sign and verify that is has not yet been configured. let message = Message::Hello(Address(3)); let response = bus.process_message(message)?; assert_eq!(Some(Message::ReportState(Address(3), State::Unconfigured)), response); // Request that the sign receive the configuration data and verify that it acknowledges. let message = Message::RequestOperation(Address(3), Operation::ReceiveConfig); let response = bus.process_message(message)?; assert_eq!(Some(Message::AckOperation(Address(3), Operation::ReceiveConfig)), response);
Structs
| Address | The address of a sign, used to identify it on the bus. |
| ChunkCount | The number of chunks sent in |
| Data | Owned or borrowed data to be placed in a |
| Frame | A low-level representation of an Intel HEX data frame. |
| MsgType | A |
| Offset | The memory offset for data sent via a |
| Page | A page of a message for display on a sign. |
| PageId | The page number of a |
Enums
| FrameError | Errors related to reading/writing |
| Message | High-level representation of a sign bus communication message. |
| Operation | Operations that can be requested of a sign, which trigger actions and/or state changes. |
| PageError | Errors relating to |
| SignType | The configuration information for a particular model of sign. |
| SignTypeError | Errors related to |
| State | Possible states that a sign can be in during operation. |
Traits
| SignBus | Abstraction over a bus containing devices that are able to send and receive |