Modbux.Rtu (Modbux v0.3.14)

View Source

RTU message helper, functions that handles RTU responses/requests messages.

Summary

Functions

pack_req(cmd)

@spec pack_req(
  {:fc | :phr | :rc | :rhr | :ri | :rir, integer(), integer(),
   maybe_improper_list() | integer()}
) :: <<_::16, _::_*8>>

pack_res(arg)

@spec pack_res({any(), integer(), integer(), integer()}) :: <<_::16, _::_*8>>

pack_res(cmd, values)

@spec pack_res(
  <<_::16, _::_*8>>
  | {:fc | :phr | :rc | :rhr | :ri | :rir, integer(), any(),
     maybe_improper_list() | integer()},
  any()
) :: <<_::16, _::_*8>>

parse_req(wraped)

@spec parse_req(<<_::16, _::_*8>>) ::
  {:einval | :error | :fc | :phr | :rc | :rhr | :ri | :rir, byte(), char(),
   [any()] | char()}

parse_res(cmd, wraped)

@spec parse_res(any(), <<_::16, _::_*8>>) ::
  nil | [any()] | {:error, any()} | {:error, byte(), <<_::104>>}

req_len(cmd)

@spec req_len({:fc | :phr | :rc | :rhr | :ri | :rir, any(), any(), any()}) ::
  integer()

res_len(cmd)

@spec res_len({:fc | :phr | :rc | :rhr | :ri | :rir, any(), any(), any()}) :: number()

unwrap(data)

@spec unwrap(<<_::16, _::_*8>>) :: binary()

wrap(payload)

@spec wrap(binary()) :: <<_::16, _::_*8>>