PreviousNext
Node
Help > Custom DPA Handler > Events Flow > Node

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

                            [Handle Peripheral Request]

                        [BeforeSendingDpaResponse]

                    if packet was not broadcasted

                        Wait for [C]>[N] routing to finish

                        Transmit DPA Response back to the network

                    [Notification]

                    if Interface enabled

                        Send DPA Notification to Interface

                    Wait for [C]>[N] routing to finish

                    Execute optional [sync] part of the DPA Request

                    [AfterRouting]

                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

                    [PeerToPeer]

    else

        [Idle]

 

    if local DPA Request packet received from enabled Interface

        if not [ReceiveDpaRequest]

            if embedded peripheral

                Execute embedded DPA peripheral Request

            else

                [Handle Peripheral Request]

            [BeforeSendingDpaResponse]

        Send DPA Response back to Interface

        [Notification]

        Execute optional [sync] part of the DPA Request

        [AfterRouting]

endloop