@startuml
mode compact
scale 100 as 100 pixels
caption "Time [arbitrary unit]"
concise "event[i]" as EV
concise " <U+21B3>.transmit_setup" as TS
concise " <U+21B3>.active_elements[0]" as DLY0
concise " <U+21B3>.active_elements[1]" as DLY1
concise " <U+21B3>.active_elements[2]" as DLY2
concise " <U+21B3>.active_elements[3]" as DLY3
concise " <U+21B3>.active_elements[4]" as DLY4
concise " <U+21B3>.active_elements[5]" as DLY5
concise " <U+21B3>.receive_setup" as RS
@0
EV is {-}
EV@+0 <-> @+100 : event[i].time_offset
TS is {hidden}
DLY0 is {hidden}
DLY1 is {hidden}
DLY2 is {hidden}
DLY3 is {hidden}
DLY4 is {hidden}
DLY5 is {hidden}
RS is {hidden}
@100
EV is "event[i]"
TS@+0 <-> @+100 : transmit_setup.time_offset
TS is {-}
RS@+0 <-> @450: receive_setup.time_offset
RS is {-}
@200
TS is "transmit_setup"
DLY0 is {-}
DLY1 is {-}
DLY2 is {-}
DLY3 is {-}
DLY4 is {-}
DLY5 is {-}
DLY0@+0 <-> @+70 : .delays[0]
DLY1@+0 <-> @+90 : .delays[1]
DLY2@+0 <-> @+110 : .delays[2]
DLY3@+0 <-> @+130 : .delays[3]
DLY4@+0 <-> @+150 : .delays[4]
DLY5@+0 <-> @+170 : .delays[5]
@270
DLY0 is ".excitations[0]"
@+150
DLY0 is {hidden}
@290
DLY1 is ".excitations[1]"
@+150
DLY1 is {hidden}
@310
DLY2 is ".excitations[2]"
@+150
DLY2 is {hidden}
@330
DLY3 is ".excitations[3]"
@+150
DLY3 is {hidden}
@350
DLY4 is ".excitations[4]"
@+150
DLY4 is {hidden}
@370
DLY5 is ".excitations[5]"
@+150
DLY5 is {hidden}
TS is {hidden}
@450
RS is "receive_setup"
@900
RS -> EV : End of event
RS is {hidden}
EV is {hidden}
@enduml