EtherCAT.Notification (ethercat v0.5.0)

Copy Markdown View Source

Protocol-level runtime notification for one configured slave.

Notifications report EtherCAT runtime facts only. They do not infer machine availability, command completion, or semantic events.

A subscriber receives :slave_state_changed when the slave runtime enters a different EtherCAT state and :domain_status_changed when the lifecycle or cycle health of an attached process-data domain changes.

observed_at is a host monotonic timestamp in microseconds, not wall-clock time or EtherCAT distributed-clock time. Compare it only within the same VM.

Summary

Types

details()

@type details() ::
  %{
    previous_state: EtherCAT.Slave.Status.state(),
    current: EtherCAT.Slave.Status.t()
  }
  | %{current: EtherCAT.Domain.Status.t()}

kind()

@type kind() :: :slave_state_changed | :domain_status_changed

t()

@type t() :: %EtherCAT.Notification{
  details: details(),
  kind: kind(),
  observed_at: integer(),
  slave: atom()
}