Public protocol description of one decoded signal on a configured slave.
@type direction() :: :input | :output
@type endpoint_type() :: atom()
@type t() :: %EtherCAT.Endpoint{ description: String.t() | nil, direction: direction(), label: String.t() | nil, signal: atom(), type: endpoint_type() }