eLooM for STM32 application  v3.3.0
A framework for multitasking low power embedded applications powerd by STM32
Loading...
Searching...
No Matches
IApplicationErrorDelegate.h File Reference

Application error manager delegate. More...

+ Include dependency graph for IApplicationErrorDelegate.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef struct _IApplicationErrorDelegate IApplicationErrorDelegate
 

Functions

static sys_error_code_t IAEDInit (IApplicationErrorDelegate *_this, void *pParams)
 
static sys_error_code_t IAEDOnStartApplication (IApplicationErrorDelegate *_this, ApplicationContext *pxContext)
 
static sys_error_code_t IAEDProcessEvent (IApplicationErrorDelegate *_this, ApplicationContext *pxContext, SysEvent xEvent)
 
static sys_error_code_t IAEDOnNewErrEvent (IApplicationErrorDelegate *_this, SysEvent xEvent)
 
static boolean_t IAEDIsLastErrorPending (IApplicationErrorDelegate *_this)
 
static sys_error_code_t IAEDAddFirstResponder (IApplicationErrorDelegate *_this, IErrFirstResponder *pFirstResponder, uint8_t nPriority)
 
static sys_error_code_t IAEDRemoveFirstResponder (IApplicationErrorDelegate *_this, IErrFirstResponder *pFirstResponder)
 
static uint8_t IAEDGetMaxFirstResponderPriority (const IApplicationErrorDelegate *_this)
 
static void IAEDResetCounter (IApplicationErrorDelegate *_this)
 

Detailed Description

Application error manager delegate.

Author
STMicroelectronics - ST-Korea - MCD Team
Version
3.0.0
Date
Aug 4, 2017

This interface is implemented by a application specific object that is in charge to manage the error events. The application can implement the SysGetErrorDelegate() function to provide its own IApplicationErrorDelegate.

Attention

Copyright (c) 2017 STMicroelectronics. All rights reserved.

This software is licensed under terms that can be found in the LICENSE file in the root directory of this software component. If no LICENSE file comes with this software, it is provided AS-IS.

Typedef Documentation

◆ IApplicationErrorDelegate

Function Documentation

◆ IAEDAddFirstResponder()

static sys_error_code_t IAEDAddFirstResponder ( IApplicationErrorDelegate _this,
IErrFirstResponder pFirstResponder,
uint8_t  nPriority 
)
inlinestatic

Add a first responder object. The first responders are grouped in a priority set. Zero is the highest priority. If an IErrFirstResponder object with the same priority was already added, then it is replaced with the new one.

Parameters
_this[IN] specifies a pointer to an IApplicationErrorDelegate object.
pFirstResponder[IN] specifies a pointer to the a first responder object. If it is NULL then the IErrFirstResponder with nPriority priority is removed from the application error delegate.
nPriority[IN] specifies the priority of the error first responder. Zero is the highest priority.
Returns
SYS_NO_ERROR_CODE if success, an error code otherwise.

◆ IAEDGetMaxFirstResponderPriority()

static uint8_t IAEDGetMaxFirstResponderPriority ( const IApplicationErrorDelegate _this)
inlinestatic

Get the highest priority allowed for a first responder object.

Parameters
_this[IN] specifies a pointer to an IApplicationErrorDelegate object.
Returns
he highest priority allowed for a first responder object.

◆ IAEDInit()

static sys_error_code_t IAEDInit ( IApplicationErrorDelegate _this,
void *  pParams 
)
inlinestatic

Initialize the driver. This method should be used by a task object during the hardware initialization process.

Parameters
_this[IN] specifies a pointer to an IApplicationErrorDelegate object.
pParamsspecifies a pointer to a subclass defined initialization parameters.
Returns
SYS_NO_ERROR_CODE if success, an error code otherwise.

◆ IAEDIsLastErrorPending()

static boolean_t IAEDIsLastErrorPending ( IApplicationErrorDelegate _this)
inlinestatic

Used by the AED to notify the system if the last error has been recovered or not.

Parameters
_this[IN] specifies a pointer to an IApplicationErrorDelegate object.
Returns
TRUE if the last error has been recovered, FALSE otherwise

◆ IAEDOnNewErrEvent()

static sys_error_code_t IAEDOnNewErrEvent ( IApplicationErrorDelegate _this,
SysEvent  xEvent 
)
inlinestatic

The INIT task call this method as soon as a new error event is posted by the application. This allows the application error delegate to provide a first respond to critical errors. The application error delegate should notify the first responder objects starting from the highest priority one.

Parameters
_this[IN] specifies a pointer to an IApplicationErrorDelegate object.
xEventxEvent [IN] specifies an error event
Returns
SYS_NO_EROR_CODE if success, an error code otherwise.

◆ IAEDOnStartApplication()

static sys_error_code_t IAEDOnStartApplication ( IApplicationErrorDelegate _this,
ApplicationContext pxContext 
)
inlinestatic

Called by the system just before the control is released to the application tasks.

Parameters
_this[IN] specifies a pointer to an IApplicationErrorDelegate object.
pxContext[IN] specifies a pointer to the application context.
Returns
SYS_NO_ERROR_CODE if success, an error code otherwise.

◆ IAEDProcessEvent()

static sys_error_code_t IAEDProcessEvent ( IApplicationErrorDelegate _this,
ApplicationContext pxContext,
SysEvent  xEvent 
)
inlinestatic

The INIT task uses this function to deliver an error event to the application error manager delegate object.

Parameters
_this[IN] specifies a pointer to an IApplicationErrorDelegate object.
pxContext[IN] specifies a pointer to the application context.
xEvent[IN] specifies an error event
Returns
SYS_NO_ERROR_CODE if success, an error code otherwise.

◆ IAEDRemoveFirstResponder()

static sys_error_code_t IAEDRemoveFirstResponder ( IApplicationErrorDelegate _this,
IErrFirstResponder pFirstResponder 
)
inlinestatic

Remove a first responder object rom the application error delegate.

Parameters
_this[IN] specifies a pointer to an IApplicationErrorDelegate object.
pFirstResponder[IN] specifies a pointer to the a first responder object to be removed.
Returns
SYS_NO_ERROR_CODE if success, an error code otherwise.

◆ IAEDResetCounter()

static void IAEDResetCounter ( IApplicationErrorDelegate _this)
inlinestatic

Reset the counter of the AED. Usually an AED use some kind of timeout to check that all managed tasks are working fine. A task should call this method before a critical operation, that is for example a write operation in FLASH or EEPROM, or a long critical section. For convenience the managed task interface has a function IMTResetAEDCounter() that can be used by a task instead of call directly this function.

Parameters
_this[IN] specifies a pointer to an IApplicationErrorDelegate object.