foxBMS
1.3.0
The foxBMS Battery Management System 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_s |
Macros | |
#define | ALGO_TICK_MS (100u) |
Typedefs | |
typedef STD_RETURN_TYPE_e | ALGO_INITIALIZATION_FUNCTION_f(void) |
typedef void | ALGO_COMPUTATION_FUNCTION_f(void) |
Enumerations | |
enum | ALGO_STATE_e { ALGO_UNINITIALIZED , ALGO_READY , ALGO_RUNNING , ALGO_BLOCKED , ALGO_FAILED_INIT , ALGO_REINIT_REQUESTED } |
Functions | |
void | ALGO_MarkAsDone (uint32_t algorithmIndex) |
Mark the current algorithm as done (will reset to ALGO_READY if possible) More... | |
void | ALGO_MarkAsReinit (uint32_t algorithmIndex) |
mark a algorithm as requiring a reinitialization. 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.
typedef void ALGO_COMPUTATION_FUNCTION_f(void) |
function type for the computation function of an algorithm
Definition at line 78 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 73 of file algorithm_cfg.h.
enum ALGO_STATE_e |
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_s::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. |
ALGO_REINIT_REQUESTED | This indicates that a reinitialization of the algorithm has been requested. |
Definition at line 81 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 79 of file algorithm_cfg.c.
void ALGO_MarkAsReinit | ( | uint32_t | algorithmIndex | ) |
mark a algorithm as requiring a reinitialization.
[in] | algorithmIndex | index entry of the algorithm |
Definition at line 90 of file algorithm_cfg.c.
|
extern |
Array with pointer to the different algorithms
array of algorithms that should be executed
Definition at line 67 of file algorithm_cfg.c.
|
extern |
number of executed algorithms
Definition at line 71 of file algorithm_cfg.c.