foxBMS-UnitTests
1.0.0
The foxBMS Unit Tests API Documentation
|
Diagnosis driver implementation. More...
Go to the source code of this file.
Functions | |
static void | DIAG_Reset (void) |
DIAG_Reset resetsall needed structures. More... | |
static uint8_t | DIAG_EntryWrite (uint8_t eventID, DIAG_EVENT_e event, uint32_t data) |
DIAG_EntryWrite adds an error entry. More... | |
STD_RETURN_TYPE_e | DIAG_Initialize (DIAG_DEV_s *diag_dev_pointer) |
DIAG_Init initializes all needed structures/buffers. More... | |
void | DIAG_PrintErrors (void) |
Prints contents of the error buffer on user request. More... | |
DIAG_RETURNTYPE_e | DIAG_Handler (DIAG_ID_e diag_id, DIAG_EVENT_e event, DIAG_IMPACT_LEVEL_e impact, uint32_t data) |
DIAG_Handler provides generic error handling, based on diagnosis group. More... | |
STD_RETURN_TYPE_e | DIAG_CheckEvent (STD_RETURN_TYPE_e cond, DIAG_ID_e diag_id, DIAG_IMPACT_LEVEL_e impact, uint32_t data) |
DIAG_CheckEvent provides a simple interface to check an event for STD_OK. More... | |
Variables | |
static DIAG_s | diag |
static DIAG_DEV_s * | diag_devptr |
static uint8_t | diag_locked = 0 |
Diagnosis driver implementation.
BSD 3-Clause License Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
We kindly request you to use one or more of the following phrases to refer to foxBMS in your hardware, software, documentation or advertising materials:
″This product uses parts of foxBMS®″
″This product includes parts of foxBMS®″
″This product is derived from foxBMS®″
This diagnose module is responsible for error handling and reporting. Reported errors are logged into the global database and can be reviewed on user request.
Definition in file diag.c.
STD_RETURN_TYPE_e DIAG_CheckEvent | ( | STD_RETURN_TYPE_e | cond, |
DIAG_ID_e | diag_id, | ||
DIAG_IMPACT_LEVEL_e | impact, | ||
uint32_t | data | ||
) |
DIAG_CheckEvent provides a simple interface to check an event for STD_OK.
DIAG_CheckEvent is a wrapper function for DIAG_Handler(). In simple cases where a return value that is not STD_OK (or a 0 casted to STD_OK) should increase the error counter in a diagnosis channel, this function should be used instead of directly calling the DIAG_Handler().
cond | condition |
diag_id | event ID of the event that has occurred |
impact | DIAG_IMPACT_LEVEL_e of DIAG_ID_e |
data | individual information for DIAG_ID_e e.g. string number,.. |
Definition at line 326 of file diag.c.
|
static |
DIAG_EntryWrite adds an error entry.
This function adds an entry to the error buffer. It provides some functionality to prevent duplicates from being logged. Multiple occurring error doesn't get logged anymore after they reached a pre-defined error count.
eventID | ID of entry |
event | OK, NOK or RESET |
data | individual information for DIAG_ID_e e.g. string number,.. |
DIAG_RETURNTYPE_e DIAG_Handler | ( | DIAG_ID_e | diag_id, |
DIAG_EVENT_e | event, | ||
DIAG_IMPACT_LEVEL_e | impact, | ||
uint32_t | data | ||
) |
DIAG_Handler provides generic error handling, based on diagnosis group.
This function calls the handler functions depending on the diagnosis group of call. It needs to get called in every function which wants to apply some kind of diagnosis handling. According to its return value further treatment is either left to the calling module itself, or can be done in the callback function defined in diag_cfg.c
diag_id | DIAG_ID_e of the event that has occurred |
event | event that occurred (OK, NOK, RESET) |
impact | DIAG_IMPACT_LEVEL_e of DIAG_ID_e |
data | individual information for DIAG_ID_e e.g. string number,.. |
Definition at line 199 of file diag.c.
STD_RETURN_TYPE_e DIAG_Initialize | ( | DIAG_DEV_s * | diag_dev_pointer | ) |
DIAG_Init initializes all needed structures/buffers.
This function provides initialization of the diagnose module. In case of miss behaviour it calls Reset and adds an entry into database to ensure data validity/report back malfunction
diag_dev_pointer |
Definition at line 111 of file diag.c.
void DIAG_PrintErrors | ( | void | ) |
|
static |
|
static |