This library is meant to be an easy to use serial implementation of FLEM.
- Disconnect now disposes of the serial port object. This fixes an issue when using
connectsubsequent times.
- Expanded
ConnectionSettingsto include parity, stop bits, and flow control. - Added
update_connection_settingstoFlemSerialto alter the connection settings.
- Updated
flem-serial-rsto use the newflem::traits::Channel, this is a breaking change
FLEM stands for Flexible, Lightweight, Embedded Messaging protocol. It is designed to work on embedded targets as well as host devices using a common codebase to encode and decode any type of data that can be converted to a byte array.
If you need to get data to and from an embedded target using UART communications, this is a candidate solution.
- Setup FLEM on an embedded target. This is extremely device specific, but we have used FLEM on the TM4C and STM32 processors.
Stay tuned for a starter project on the STM32 Nucleo. In general, configure the embedded targets UART peripheral, and follow
examples in FLEM to
construct()a packet, handle the packet, and transmit a response. Alternatively, the embedded target can spontanesouly emit packet through events. - Setup a Rust program on the host device that uses this library. Follow the
flem_serial_example.rsto list ports, connect to a target port, send packets, and receive / handle packets.