Crate flipdot_core

Source
Expand description

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, PageFlipStyle, 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 SendData messages, reported by DataChunksSent.
Data
Owned or borrowed data to be placed in a Frame.
Frame
A low-level representation of an Intel HEX data frame.
MsgType
A Frame’s message type.
Offset
The memory offset for data sent via a SendData message.
Page
A page of a message for display on a sign.
PageId
The page number of a Page.

Enums§

FrameError
Errors related to reading/writing Frames of data.
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 Pages.
PageFlipStyle
Whether the sign or controller (ODK) is in charge of flipping pages.
SignType
The configuration information for a particular model of sign.
SignTypeError
Errors related to SignTypes.
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 Messages.