5.2. VTM Safety Example

5.2.1. Introduction

This example demonstrates the usage of the VTM to detect overtemperature events and signal the events through the ESM. The example shows how to configure the VTM for the various alerts and listen for VTM events using the ESM. It also shows forcing an error in order to demonstrate application notification of overtemperature events.

The example demonstrates:

  • Configuring the VTM thresholds

  • Early alert event detection

  • Critial threshold event detection

  • Follow-up event notification when temperature has dropped to a safe level

5.2.2. Use Cases

Use Case

Description

ESM

Input Event

UC-1

Configuration of VTM threshold to trigger early warning, then return thresholds back to normal to simulate “cooling down”.

WKUP_ESM0

WKUP_VTM0_THERM_LVL_GT_TH1_INTR_0 Temp greater than early warning threshold

UC-2

Configuration of VTM to trigger early warning, then alter the thresholds again to pass temperature critical threshold. Then, return thresholds back to normal to simulate “cooling down”.

WKUP_ESM0

WKUP_VTM0_THERM_LVL_GT_TH2_INTR_0

5.2.3. Example Details

The example should be loaded to the hardware using the Secondary Boot Loader (SBL) from the SDK.

Example Name

Location

Build Command

vtm_app

[sdl_install_dir]/examples/vtm/

make vtm_app PROFILE=release

5.2.4. Expected Output

VTM Example Application

VTM_ESM_init: Init WKUP ESM complete

VTM_ESM_init complete
Starting Use Case 0

    Got gtThr1 interrupt through ESM module

    Crossed early warning threshold of gt_thr1
    System should take action to implement system cooling

  ESM Call back function called : instType 0x1, intType 0x2, grpChannel 0x0, index 0x8, intSrc 0x8
  Take action
  ESM instance #1, ESM interrupt type = Low Priority ESM event

    Got ltThr0 interrupt through ESM module

    System at a temperature below the threshold of lt_thr0
    System running at a safe temperature

  ESM Call back function called : instType 0x1, intType 0x2, grpChannel 0x0, index 0x9, intSrc 0x9
  Take action
  ESM instance #1, ESM interrupt type = Low Priority ESM event

  ESM Call back function called : instType 0x1, intType 0x1, grpChannel 0x0, index 0xa, intSrc 0xa
  Take action
  ESM instance #1, ESM interrupt type = High Priority ESM event
case 0 sucess

 Use Case 0 completed: Input Event Trigger = Step completed successfully,

Starting Use Case 1

    Got gtThr1 interrupt through ESM module

    Crossed early warning threshold of gt_thr1
    System should take action to implement system cooling

  ESM Call back function called : instType 0x1, intType 0x2, grpChannel 0x0, index 0x8, intSrc 0x8
  Take action
  ESM instance #1, ESM interrupt type = Low Priority ESM event

    Got gtThr2 interrupt through ESM module

    Crossed critical threshold of gt_thr2
    System should take critical action to implement system cooling

  ESM Call back function called : instType 0x1, intType 0x1, grpChannel 0x0, index 0xa, intSrc 0xa
  Take action
  ESM instance #1, ESM interrupt type = High Priority ESM event

    Got gtThr1 interrupt through ESM module

    Crossed early warning threshold of gt_thr1
    System should take action to implement system cooling

  ESM Call back function called : instType 0x1, intType 0x2, grpChannel 0x0, index 0x8, intSrc 0x8
  Take action
  ESM instance #1, ESM interrupt type = Low Priority ESM event

    Got ltThr0 interrupt through ESM module

    System at a temperature below the threshold of lt_thr0
    System running at a safe temperature

  ESM Call back function called : instType 0x1, intType 0x2, grpChannel 0x0, index 0x9, intSrc 0x9
  Take action
  ESM instance #1, ESM interrupt type = Low Priority ESM event

 Use Case 1 completed: Input Event Trigger = Step completed successfully,


ESM Example Application summary
-------------------------------
Completed 2 Test Cases
Received 2 High Priority Interrupts
Received 5 Low Priority Interrupts

Test Case Event Log
------------------

Test Case 0: ESM Call back function called : grpChannel 0x0, index 0x8, intSrc 0x8
  ESM instance #1, ESM interrupt type = Low Priority ESM event

Test Case 0: ESM Call back function called : grpChannel 0x0, index 0x9, intSrc 0x9
  ESM instance #1, ESM interrupt type = Low Priority ESM event

Test Case 0: ESM Call back function called : grpChannel 0x0, index 0xa, intSrc 0xa
  ESM instance #1, ESM interrupt type = High Priority ESM event

Test Case 1: ESM Call back function called : grpChannel 0x0, index 0x8, intSrc 0x8
  ESM instance #1, ESM interrupt type = Low Priority ESM event

Test Case 1: ESM Call back function called : grpChannel 0x0, index 0xa, intSrc 0xa
  ESM instance #1, ESM interrupt type = High Priority ESM event

Test Case 1: ESM Call back function called : grpChannel 0x0, index 0x8, intSrc 0x8
  ESM instance #1, ESM interrupt type = Low Priority ESM event

Test Case 1: ESM Call back function called : grpChannel 0x0, index 0x9, intSrc 0x9
  ESM instance #1, ESM interrupt type = Low Priority ESM event

 VTM Example Application: Complete
 All Use cases have passed.
main.c:531:vtm_example_app:PASS

-----------------------
1 Tests 0 Failures 0 Ignored

5.2.5. Reference

VTM User Guide