Current protocol lifecycle and cycle health for one process-data domain.
Domain status is retained by each attached slave runtime and included in the
atomic result of EtherCAT.subscribe/2.
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
@type cycle_health() :: :not_ready | :healthy | :degraded
@type lifecycle() :: :open | :cycling | :stopped
@type t() :: %EtherCAT.Domain.Status{ cycle_health: cycle_health(), id: atom(), lifecycle: lifecycle(), observed_at: integer(), reason: term() | nil }