MotoHawk Application Monitor (2nd Generation)

This MotoHawk™ block sets up the Continuous Built-In Tests (CBIT) in every MotoHawk application. Code is generated to monitor the stack, heap, and starvation timer.

Block ID



MotoHawk_lib/System Debug Blocks


This block is used to monitor the application's stack, heap, idle CPU usage, and OS errors for MotoCoder targets like those modules using the 5xxx and S12(X) processors. Upon discovery of a critical error, the application is stopped and certain actuators shut down safely. These currently include the Injector and Spark Sequence blocks. In the "System | Debug | Application Monitor" section, various display variables may be used to diagnose the problem.

At any time, the application is in one of five states: Init, Run, Prepare to Pause, Pause, or Stop, and may be manually set from Instrumentation.

Init pauses after it has started up and before it runs any application code.

Run has the program run until the application monitor is triggered for low stacks/heap, or high processor use.

Pause stops the application where it currently is in the application. I/O is still running. To enter pause using an instrumentation tool requires that the Prepare to Pause state first be entered. This is to ensure that stalling the application is a conscious decision. Operation is the same as Run while in the Prepare to Pause state.

The stop state stops the application where it is and puts all outputs in a safe state (this includes MPRD).

Some modules require a reset for the calibrations to be saved into the module memory. Select "Save Cals, Shutdown Power, and Reset" in these cases. The module will save the calibrations and do a warm reset. This option may only be selected when the application is stopped.

Block Parameters

Parameter Field Values Comments/Description
Application Monitor Status Create/Do not Create Select to create or not create status.
Enable Monitor Disabled / Enabled Enable/Disable this monitor.
Pause Point   Set Pause point, if any, for monitoring status.
Pause After Application Initializes As listed.
Pause Before Application Initializes As listed.
Pause During Shutdown As listed. Does not power off after shutdown procedures and allows to monitor application status.
Pause Point Disabled As listed.