A .NET extensible library for sending and receiving formatted packets over a data link.
The library comes with an implementation that allows to send DLE-STX DLE-ETX
framed packets over Serial Port
.
DLE
bytes in the payload are escaped by stuffing them with another DLE
byte, making a DLE-DLE
sequence.
var dataLink = new DataLink();
// Gets the list of supported interfaces
// The default implementation returns the list of COM serial ports
var devices = dataLink.GetDeviceNames();
// Use SelectDevice to select the communication interface
dataLink.SelectDevice(devices[0]);
// Subscribe to the PacketReceived event
// The event will be raised when a new correctly formatted packet is ready
dataLink.PacketReceived += (sender, payload) => Console.WriteLine(Convert.ToHexString(payload));
// Frame the packet and send it over the data link
dataLink.Send(Encoding.ASCII.GetBytes("Hello DataLink!"));
You can customize the communication channel and packet formatting by implementing the interfaces ICommunicationChannel
and IPacketFormatter
, and injecting them in the DataLink
constructor.
- Writing summaries