wiki:spec_WatchdogManager
Watchdog Manager


概要

  • ウォッチドッグタイマを使って、アプリケーションが正常に動作しているかの監視を行う
  • 監視方法は、アライブ監視、デッドライン監視、ロジカル監視の3種類
  • すべての監視は、複数チェックポイントを設定し、各チェックポイントの通過状況によって行う
    • アライブ監視
      • 設定した一定時間内に、設定した範囲の回数だけチェックポイントを通過するかを監視する
    • デッドライン監視
      • 2つのチェックポイントを通過する間に要した時間が、設定した時間内であるかを監視する
    • ロジカル監視
      • 複数のチェックポイントが事前に通過した順序で通過するか監視する
  • 時間管理は、WdgM_MainFunctionを周期的に呼び出すことにより実現する
  • デッドライン監視の時間は、秒単位で設定し、OSのカウンタ等を使って監視する
    • R4.1系ではOSカウンタを使用することが明確化されている
  • 正しく動作している状態では、WdgM_MainFunctionから定期的にWatchdog Interfaceへ、ウォッチドッグタイマがリセットされるタイムアウト値をリセットする
    • タイムアウト値はミリ秒単位で、WdgMTriggerConditionValueに設定する
    • 当然、WdgM_MainFunctionの呼出し間隔より短い時間をタイムアウト値に設定してしまうと、ウォッチドッグタイマがリセットされてしまう
  • API一覧
API ID
[Dec]
ID
[Hex]
WdgM_Init 0 0x00
WdgM_DeInit 1 0x01
WdgM_GetVersionInfo 2 0x02
WdgM_SetMode 3 0x03
WdgM_GetMode 11 0x0B
WdgM_CheckpointReached 14 0x0E
WdgM_UpdateAliveCounter 4 0x04
WdgM_GetLocalStatus 12 0x0C
WdgM_GetGlobalStatus 13 0x0D
WdgM_PerformReset 15 0x0F
WdgM_GetFirstExpiredSEID 16 0x10
WdgM_MainFunction 8 0x08
  • エラーコード一覧
    • "--"はDemにより決定される
エラーコード Dec Hex
WDGM_E_NO_INIT 16 0x10
WDGM_E_PARAM_CONFIG 17 0x11
WDGM_E_PARAM_MODE 18 0x12
WDGM_E_PARAM_SEID 19 0x13
WDGM_E_INV_POINTER 20 0x14
WDGM_E_DISABLE_NOT_ALLOWED 21 0x15
WDGM_E_CPID 22 0x16
WDGM_E_DEPRECATED 23 0x17
WDGM_E_AMBIGIOUS 24 0x18
WDGM_E_SEDEACTIVATED 25 0x19
WDGM_E_SUPERVISION -- --
WDGM_E_SET_MODE -- --
WDGM_E_IMPROPER_CALLER -- --

API仕様

WdgM_Init

void WdgM_Init(const WdgM_ConfigType* ConfigPtr)

WdgM_DeInit

void WdgM_DeInit(void)

WdgM_GetVersionInfo

void WdgM_GetVersionInfo(Std_VersionInfoType* VersionInfo)

WdgM_SetMode

Std_ReturnType WdgM_SetMode(WdgM_ModeType Mode, uint16 CallerID)

WdgM_GetMode

Std_ReturnType WdgM_GetMode(WdgM_ModeType* Mode)

WdgM_CheckpointReached

Std_ReturnType WdgM_CheckpointReached(WdgM_SupervisedEntityIdType SEID, WdgM_CheckpointIdType CheckpointID)

WdgM_UpdateAliveCounter

Std_ReturnType WdgM_UpdateAliveCounter(WdgM_SupervisedEntityIdType SEID)

WdgM_GetLocalStatus

Std_ReturnType WdgM_GetLocalStatus(WdgM_SupervisedEntityIdType SEID, WdgM_LocalStatusType* Status)

WdgM_GetGlobalStatus

Std_ReturnType WdgM_GetGlobalStatus(WdgM_GlobalStatusType* Status)

WdgM_PerformReset

void WdgM_PerformReset(void)

WdgM_GetFirstExpiredSEID

Std_ReturnType WdgM_GetFirstExpiredSEID(WdgM_SupervisedEntityIdType* SEID)

WdgM_MainFunction

void WdgM_MainFunction(void)

コンフィギュレーション仕様

WdgMConfigSet

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet
  • 型:Container
  • 多重度:1

WdgMInitialMode

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMInitialMode
  • 型:Reference
  • 多重度:1

WdgMDemEventParameterRefs

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMDemEventParameterRefs
  • 型:Container
  • 多重度:0..1

WDGM_E_IMPROPER_CALLER

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMDemEventParameterRefs/WDGM_E_IMPROPER_CALLER
  • 型:Reference
  • 多重度:0..1

WDGM_E_MONITORING

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMDemEventParameterRefs/WDGM_E_MONITORING
  • 型:Reference
  • 多重度:0..1

WDGM_E_SET_MODE

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMDemEventParameterRefs/WDGM_E_SET_MODE
  • 型:Reference
  • 多重度:0..1

WdgMMode

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode
  • 型:Container
  • 多重度:1..255

WdgMExpiredSupervisionCycleTol

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMExpiredSupervisionCycleTol
  • 型:IntegerParam
  • 多重度:1

WdgMModeId

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMModeId
  • 型:IntegerParam
  • 多重度:1

WdgMSupervisionCycle

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMSupervisionCycle
  • 型:FloatParam
  • 多重度:1

WdgMAliveSupervision

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMAliveSupervision
  • 型:Container
  • 多重度:0..65535

WdgMExpectedAliveIndications

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMAliveSupervision/WdgMExpectedAliveIndications
  • 型:IntegerParam
  • 多重度:1

WdgMMaxMargin

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMAliveSupervision/WdgMMaxMargin
  • 型:IntegerParam
  • 多重度:1

WdgMMinMargin

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMAliveSupervision/WdgMMinMargin
  • 型:IntegerParam
  • 多重度:1

WdgMSupervisionReferenceCycle

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMAliveSupervision/WdgMSupervisionReferenceCycle
  • 型:IntegerParam
  • 多重度:1

WdgMAliveSupervisionCheckpointRef

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMAliveSupervision/WdgMAliveSupervisionCheckpointRef
  • 型:Reference
  • 多重度:1

WdgMDeadlineSupervision

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMDeadlineSupervision
  • 型:Container
  • 多重度:0..65535

WdgMDeadlineMax

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMDeadlineSupervision/WdgMDeadlineMax
  • 型:FloatParam
  • 多重度:1

WdgMDeadlineMin

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMDeadlineSupervision/WdgMDeadlineMin
  • 型:FloatParam
  • 多重度:1

WdgMDeadlineStartRef

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMDeadlineSupervision/WdgMDeadlineStartRef
  • 型:Reference
  • 多重度:1

WdgMDeadlineStopRef

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMDeadlineSupervision/WdgMDeadlineStopRef
  • 型:Reference
  • 多重度:1

WdgMExternalLogicalSupervision

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMExternalLogicalSupervision
  • 型:Container
  • 多重度:0..65535

WdgMExternalCheckpointFinalRef

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMExternalLogicalSupervision/WdgMExternalCheckpointFinalRef
  • 型:Reference
  • 多重度:1..65535

WdgMExternalCheckpointInitialRef

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMExternalLogicalSupervision/WdgMExternalCheckpointInitialRef
  • 型:Reference
  • 多重度:1..65535

WdgMExternalTransition

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMExternalLogicalSupervision/WdgMExternalTransition
  • 型:Container
  • 多重度:0..65535

WdgMExternalTransitionDestRef

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMExternalLogicalSupervision/WdgMExternalTransition/WdgMExternalTransitionDestRef
  • 型:Reference
  • 多重度:1

WdgMExternalTransitionSourceRef

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMExternalLogicalSupervision/WdgMExternalTransition/WdgMExternalTransitionSourceRef
  • 型:Reference
  • 多重度:1

WdgMLocalStatusParams

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMLocalStatusParams
  • 型:Container
  • 多重度:0..65535

WdgMFailedAliveSupervisionRefCycleTol

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMLocalStatusParams/WdgMFailedAliveSupervisionRefCycleTol
  • 型:IntegerParam
  • 多重度:1

WdgMLocalStatusSupervisedEntityRef

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMLocalStatusParams/WdgMLocalStatusSupervisedEntityRef
  • 型:Reference
  • 多重度:1

WdgMTrigger

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMTrigger
  • 型:Container
  • 多重度:0..255

WdgMTriggerConditionValue

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMTrigger/WdgMTriggerConditionValue
  • 型:IntegerParam
  • 多重度:1

WdgMWatchdogMode

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMTrigger/WdgMWatchdogMode
  • 型:EnumerationParam
  • 多重度:1

WdgMTriggerWatchdogRef

/AUTOSAR/EcucDefs/WdgM/WdgMConfigSet/WdgMMode/WdgMTrigger/WdgMTriggerWatchdogRef
  • 型:Reference
  • 多重度:1

WdgMGeneral

/AUTOSAR/EcucDefs/WdgM/WdgMGeneral
  • 型:Container
  • 多重度:1

WdgMDefensiveBehavior

/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMDefensiveBehavior
  • 型:BooleanParam
  • 多重度:1

WdgMDemStoppedSupervisionReport

/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMDemStoppedSupervisionReport
  • 型:BooleanParam
  • 多重度:1

WdgMDevErrorDetect

/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMDevErrorDetect
  • 型:BooleanParam
  • 多重度:1

WdgMImmediateReset

/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMImmediateReset
  • 型:BooleanParam
  • 多重度:1

WdgMOffModeEnabled

/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMOffModeEnabled
  • 型:BooleanParam
  • 多重度:1

WdgMVersionInfoApi

/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMVersionInfoApi
  • 型:BooleanParam
  • 多重度:1

WdgMCallerIds

/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMCallerIds
  • 型:Container
  • 多重度:0..1

WdgMCallerId

/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMCallerIds/WdgMCallerId
  • 型:IntegerParam
  • 多重度:0..255

WdgMSupervisedEntity

/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity
  • 型:Container
  • 多重度:0..65535

WdgMSupervisedEntityId

/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMSupervisedEntityId
  • 型:IntegerParam
  • 多重度:1

WdgMEcucPartitionRef

/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMEcucPartitionRef
  • 型:Reference
  • 多重度:0..1

WdgMOsApplicationRef

/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMOsApplicationRef
  • 型:Reference
  • 多重度:0..1

WdgMInternalCheckpointInitialRef

/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMInternalCheckpointInitialRef
  • 型:Reference
  • 多重度:1

WdgMInternallCheckpointFinalRef

/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMInternallCheckpointFinalRef
  • 型:Reference
  • 多重度:1..65535

WdgMCheckpoint

/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMCheckpoint
  • 型:Container
  • 多重度:1..65535

WdgMCheckpointId

/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMCheckpoint/WdgMCheckpointId
  • 型:IntegerParam
  • 多重度:1

WdgMInternalTransition

/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMInternalTransition
  • 型:Container
  • 多重度:0..65535

WdgMInternalTransitionDestRef

/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMInternalTransition/WdgMInternalTransitionDestRef
  • 型:Reference
  • 多重度:1

WdgMInternalTransitionSourceRef

/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMSupervisedEntity/WdgMInternalTransition/WdgMInternalTransitionSourceRef
  • 型:Reference
  • 多重度:1

WdgMWatchdog

/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMWatchdog
  • 型:Container
  • 多重度:0..255

WdgMWatchdogName

/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMWatchdog/WdgMWatchdogName
  • 型:StringParam
  • 多重度:1

WdgMWatchdogDeviceRef

/AUTOSAR/EcucDefs/WdgM/WdgMGeneral/WdgMWatchdog/WdgMWatchdogDeviceRef
  • 型:Reference
  • 多重度:1
Last modified 3 years ago Last modified on 07/01/15 18:51:06