MotoHawk Protocol Execution Priority Definition

The Protocol Execution Priority Definition block allows the developer to specify the priority of the execution of certain aspects of a protocol.

Block ID

Protocol Execution Priority Definition

Library

MotoHawk_Protocols_lib

Description

Overview

Some aspects of a protocol like XCP command processing execute in a polled manner. By default this execution has an implicit execution priority that is typically IDLE. This block allows the priority of this execution to be specified explicitly. Idle may still be used with an explicit definition by specifying Idle for the Execute In attribute.

An execution context other than idle can be selected by specifying Task for the Execute In attribute. A specific Task and polling rate must be specified when Execute In is a Task. The application will attempt to poll for relevent protocol packets at the specified rate and execute them within the executing task. A fast rate can be associated with a low priority thread because multiple poll requests won't stack. Thus, if execution conditions have prevented an existing poll request from being serviced, then subsequent requests will just be discarded rather than queued. This is not considered a failure and won't lead to something like a Rate Group Slip Event.

The block exists so the selected protocol can be given more importance than idle execution and thus can execute in preference to idle to perhaps make communications more responsive in applications with little Idle CPU and/or applications with a long idle loop time. Typically the thread selected will still have a relatively low priority so that it won't impact the execution of time critical functions.

XCP Slave

XCP Command packets are responded to within the execution context specified by this block. By default this is the IDLE thread, which is the execution context that is selected if this block is not populated in the model and the Protocol attributes configured for XCP Slave.

All XCP connections are impacted by the definition.

The block exists so XCP Commands can be given more importance than idle execution and thus can execute in preference to idle to perhaps make communications more responsive in applications with little Idle CPU and/or applications with a long idle loop time. Typically the thread selected will still have a relatively low priority so that it won't impact the execution of time critical functions.

MotoTune

MotoTune packets are responded to within the execution context specified by this block. By default this is the IDLE thread, which is the execution context that is selected if this block is not populated in the model and the Protocol attributes configured for MotoTune.

All MotoTune connections are impacted by the definition.

SAEJ1939

SAEJ1939 processing of incomming messages and scheduling of outgoing messages occur with the execution context specified by this block. By default this is the IDLE thread, which is the execution context that is selected if this block is not populated in the model and the Protocol attributes configured for SAEJ1939.

All SAEJ1939 instances are impacted by the definition.

Block Parameters

Parameter Field Values Comments/Description
Protocol Drop Down
    XCP Slave
    MotoTune
    SAEJ1939
The protocol that this definition applies to.
Execute in Drop Down The execution priority specification type (Idle/Task).
Executing Task Single quote enclosed alpha numeric The name of the Task that the protocol shall execute in. Only visible when Execute In indicates that execution is within a task.
Method of periodic execution specification Dropdown Specifies the method that the block will use to identify the polling period. Only visible when Execute In indicates that execution is within a task.
Polling Period of Execution Numeric Specify the polling period. Data format is based upon the Method of periodic execution specification Only visible when Execute In indicates that execution is within a task.