Pseudocode applies to the [N] device. For details about the details of the device startup, see a dedicated chapter.
if IO Setup enabled
Run IO Setup
DPA Service Mode
if the [N] is bonded and not [Reset]
Default unbonding procedure
while the [N] is not bonded
if not [Reset]
Default bonding procedure
[Init]
Send Reset response to Interface
loop
if DPA Request packet received from the network
if not system packet
if not peer to peer packet
if not FRC request
if not [ReceiveDpaRequest]
if embedded peripheral
Execute embedded DPA peripheral Request
else
if packet was not broadcasted
Wait for [C]>[N] routing to finish
Transmit DPA Response back to the network
if Interface enabled
Send DPA Notification to Interface
Wait for [C]>[N] routing to finish
Execute optional [sync] part of the DPA Request
else
Wait for [C]>[N] routing to finish
if LocalFRC and ( LocalFRC not enabled or not [VerifyLocalFrc] )
Stop processing FRC
if not predefined FRC command
[FrcValue]
Response FRC value
else
if peer to peer packet enabled
else
[Idle]
if local DPA Request packet received from enabled Interface
if not [ReceiveDpaRequest]
if embedded peripheral
Execute embedded DPA peripheral Request
else
Send DPA Response back to Interface
Execute optional [sync] part of the DPA Request
endloop