EtherCAT.Simulator.Transport.Udp.Fault (ethercat v0.4.2)

Copy Markdown View Source

Builder API for EtherCAT.Simulator.Transport.Udp.inject_fault/1.

Typical usage:

alias EtherCAT.Simulator.Transport.Udp
alias EtherCAT.Simulator.Transport.Udp.Fault

Udp.inject_fault(Fault.truncate())
Udp.inject_fault(Fault.wrong_idx() |> Fault.next(3))
Udp.inject_fault(Fault.script([Fault.unsupported_type(), Fault.replay_previous()]))
Fault.describe(Fault.truncate() |> Fault.next(2))

Summary

Types

mode()

@type mode() :: :truncate | :unsupported_type | :wrong_idx | :replay_previous

t()

@type t() :: %EtherCAT.Simulator.Transport.Udp.Fault{
  count: non_neg_integer(),
  kind: :counted | :script,
  mode: mode() | nil,
  script: [mode()] | nil
}

Functions

describe(fault)

next(fault, count \\ 1)

@spec next(t(), pos_integer()) :: t()

normalize(raw_fault)

replay_previous()

@spec replay_previous() :: t()

script(steps)

@spec script([t(), ...]) :: t()

truncate()

@spec truncate() :: t()

unsupported_type()

@spec unsupported_type() :: t()

wrong_idx()

@spec wrong_idx() :: t()