foxBMS - Unit Tests
1.2.1
The foxBMS Unit Tests API Documentation
|
Headers for the configuration of the algorithm module. More...
#include "general.h"
Go to the source code of this file.
Data Structures | |
struct | ALGO_TASKS |
Macros | |
#define | ALGO_TICK_MS (100u) |
Typedefs | |
typedef STD_RETURN_TYPE_e | ALGO_INITIALIZATION_FUNCTION_f(void) |
typedef void | ALGO_COMPUTATION_FUNCTION_f(void) |
typedef enum ALGO_STATE | ALGO_STATE_e |
typedef struct ALGO_TASKS | ALGO_TASKS_s |
Enumerations | |
enum | ALGO_STATE { ALGO_UNINITIALIZED , ALGO_READY , ALGO_RUNNING , ALGO_BLOCKED , ALGO_FAILED_INIT } |
Functions | |
void | ALGO_MarkAsDone (uint32_t algorithmIndex) |
Mark the current algorithm as done (will reset to ALGO_READY if possible) More... | |
Variables | |
ALGO_TASKS_s | algo_algorithms [] |
const uint16_t | algo_length |
Headers for the configuration of the algorithm module.
SPDX-License-Identifier: BSD-3-Clause
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:
Definition in file algorithm_cfg.h.
#define ALGO_TICK_MS (100u) |
task timeslot where the ALGO main function is called. Repetition time of algorithm cycle time must be multiple of this
Definition at line 66 of file algorithm_cfg.h.
typedef void ALGO_COMPUTATION_FUNCTION_f(void) |
function type for the computation function of an algorithm
Definition at line 77 of file algorithm_cfg.h.
typedef STD_RETURN_TYPE_e ALGO_INITIALIZATION_FUNCTION_f(void) |
function type for the initialization function of an algorithm
Definition at line 72 of file algorithm_cfg.h.
typedef enum ALGO_STATE ALGO_STATE_e |
states that an algorithm can take
typedef struct ALGO_TASKS ALGO_TASKS_s |
Struct representing the key parameters of an algorithm
enum ALGO_STATE |
states that an algorithm can take
Enumerator | |
---|---|
ALGO_UNINITIALIZED | This is the default value indicating that initialization has not run yet |
ALGO_READY | This indicates that the algorithm is ready to be run on next time slot |
ALGO_RUNNING | This indicates that the algorithm is currently running. Note that it may not spend more than ALGO_TASKS::maxCalculationDuration_ms in this state. |
ALGO_BLOCKED | This indicates that the algorithm has violated its maximum calculation duration. |
ALGO_FAILED_INIT | This indicates a failed initialization. |
Definition at line 80 of file algorithm_cfg.h.
void ALGO_MarkAsDone | ( | uint32_t | algorithmIndex | ) |
Mark the current algorithm as done (will reset to ALGO_READY if possible)
[in] | algorithmIndex | index entry of the algorithm |
Definition at line 78 of file algorithm_cfg.c.
|
extern |
Array with pointer to the different algorithms
array of algorithms that should be executed
Definition at line 66 of file algorithm_cfg.c.
|
extern |
number of executed algorithms
Definition at line 70 of file algorithm_cfg.c.