foxBMS  1.0.0
The foxBMS Battery Management System API Documentation
ftask_cfg.c File Reference

Task configuration. More...

#include "ftask_cfg.h"
#include "HL_gio.h"
#include "HL_het.h"
#include "adc.h"
#include "algorithm.h"
#include "bal.h"
#include "bms.h"
#include "can.h"
#include "database.h"
#include "diag.h"
#include "dma.h"
#include "fram.h"
#include "imd.h"
#include "interlock.h"
#include "meas.h"
#include "redundancy.h"
#include "sbc.h"
#include "sof.h"
#include "spi.h"
#include "sps.h"
#include "state_estimation.h"
#include "sys.h"
#include "sys_mon.h"
Include dependency graph for ftask_cfg.c:

Go to the source code of this file.

Functions

void FTSK_UserCodeEngineInit (void)
 Initializes the database. More...
 
void FTSK_UserCodeEngine (void)
 Engine task for the database and the system monitoring module. More...
 
void FTSK_UserCodePreCyclicTasksInitialization (void)
 Initialization function before all tasks started. More...
 
void FTSK_UserCodeCyclic1ms (void)
 Cyclic 1 ms task. More...
 
void FTSK_UserCodeCyclic10ms (void)
 Cyclic 10 ms task. More...
 
void FTSK_UserCodeCyclic100ms (void)
 Cyclic 100 ms task. More...
 
void FTSK_UserCodeCyclicAlgorithm100ms (void)
 Cyclic 100 ms task for algorithms. More...
 
void FTSK_UserCodeIdle (void)
 Idle task. More...
 

Variables

OS_TASK_DEFINITION_s ftsk_taskDefinitionEngine
 Definition of the engine task. More...
 
OS_TASK_DEFINITION_s ftsk_taskDefinitionCyclic1ms
 Task configuration of the cyclic 1 ms task. More...
 
OS_TASK_DEFINITION_s ftsk_taskDefinitionCyclic10ms
 Task configuration of the cyclic 10 ms task. More...
 
OS_TASK_DEFINITION_s ftsk_taskDefinitionCyclic100ms
 Task configuration of the cyclic 100 ms task. More...
 
OS_TASK_DEFINITION_s ftsk_taskDefinitionCyclicAlgorithm100ms
 Task configuration of the cyclic 100 ms task for algorithms. More...
 

Detailed Description

Task configuration.

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:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

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®″

Author
foxBMS Team
Date
2019-08-26 (date of creation)
Updated
2021-03-24 (date of last update)
Prefix
FTSK

Definition in file ftask_cfg.c.

Function Documentation

◆ FTSK_UserCodeCyclic100ms()

void FTSK_UserCodeCyclic100ms ( void  )

Cyclic 100 ms task.

TODO

Definition at line 199 of file ftask_cfg.c.

Here is the call graph for this function:

◆ FTSK_UserCodeCyclic10ms()

void FTSK_UserCodeCyclic10ms ( void  )

Cyclic 10 ms task.

TODO

Definition at line 179 of file ftask_cfg.c.

Here is the call graph for this function:

◆ FTSK_UserCodeCyclic1ms()

void FTSK_UserCodeCyclic1ms ( void  )

Cyclic 1 ms task.

TODO

Definition at line 169 of file ftask_cfg.c.

Here is the call graph for this function:

◆ FTSK_UserCodeCyclicAlgorithm100ms()

void FTSK_UserCodeCyclicAlgorithm100ms ( void  )

Cyclic 100 ms task for algorithms.

TODO

Definition at line 211 of file ftask_cfg.c.

Here is the call graph for this function:

◆ FTSK_UserCodeEngine()

void FTSK_UserCodeEngine ( void  )

Engine task for the database and the system monitoring module.

Start up after scheduler start. First task to be run, all other tasks only starts when this task has started

Warning
Do not change the content of this function. This will very likely break the system. This function is kept in the configuration file to have a uniform task configuration.

Definition at line 136 of file ftask_cfg.c.

Here is the call graph for this function:

◆ FTSK_UserCodeEngineInit()

void FTSK_UserCodeEngineInit ( void  )

Initializes the database.

Start up after scheduler starts

Warning
Do not change the content of this function. This will very likely break the system. This function is kept in the configuration file to have a uniform task configuration.

Definition at line 115 of file ftask_cfg.c.

Here is the call graph for this function:

◆ FTSK_UserCodeIdle()

void FTSK_UserCodeIdle ( void  )

Idle task.

Called by vApplicationIdleHook() if configUSE_IDLE_HOOK in FreeRTOSConfig.h is enabled. If you do not need this hook, you can disable it in the FreeRTOS configuration.

Definition at line 220 of file ftask_cfg.c.

◆ FTSK_UserCodePreCyclicTasksInitialization()

void FTSK_UserCodePreCyclicTasksInitialization ( void  )

Initialization function before all tasks started.

This function is called after the scheduler started but before any cyclic task runs. Here modules get initialized that are not used during the startup process.

Definition at line 145 of file ftask_cfg.c.

Here is the call graph for this function:

Variable Documentation

◆ ftsk_taskDefinitionCyclic100ms

OS_TASK_DEFINITION_s ftsk_taskDefinitionCyclic100ms
Initial value:

Task configuration of the cyclic 100 ms task.

Cyclic 100 ms task

Definition at line 99 of file ftask_cfg.c.

◆ ftsk_taskDefinitionCyclic10ms

OS_TASK_DEFINITION_s ftsk_taskDefinitionCyclic10ms
Initial value:

Task configuration of the cyclic 10 ms task.

Cyclic 10 ms task

Definition at line 97 of file ftask_cfg.c.

◆ ftsk_taskDefinitionCyclic1ms

OS_TASK_DEFINITION_s ftsk_taskDefinitionCyclic1ms
Initial value:

Task configuration of the cyclic 1 ms task.

Cyclic 1 ms task

Definition at line 95 of file ftask_cfg.c.

◆ ftsk_taskDefinitionCyclicAlgorithm100ms

OS_TASK_DEFINITION_s ftsk_taskDefinitionCyclicAlgorithm100ms
Initial value:

Task configuration of the cyclic 100 ms task for algorithms.

Cyclic 100 ms task for algorithms

Definition at line 104 of file ftask_cfg.c.

◆ ftsk_taskDefinitionEngine

OS_TASK_DEFINITION_s ftsk_taskDefinitionEngine
Initial value:

Definition of the engine task.

Task configuration of the engine task.

Task is not delayed after the scheduler starts. This task must have the highest priority.

Warning
Do not change the configuration of this task. This will very likely break the system.

Definition at line 93 of file ftask_cfg.c.

FTSK_TSK_CYCLIC_1MS_CYCLE_TIME
#define FTSK_TSK_CYCLIC_1MS_CYCLE_TIME
Cycle time of 1ms task.
Definition: ftask_cfg.h:82
FTSK_TSK_CYCLIC_ALGORITHM_100MS_STACKSIZE
#define FTSK_TSK_CYCLIC_ALGORITHM_100MS_STACKSIZE
Stack size of cyclic 100 ms task for algorithms.
Definition: ftask_cfg.h:112
FTSK_TSK_CYCLIC_1MS_PHASE
#define FTSK_TSK_CYCLIC_1MS_PHASE
Phase of cyclic 1ms task.
Definition: ftask_cfg.h:79
FTSK_TSK_CYCLIC_100MS_STACK_SIZE
#define FTSK_TSK_CYCLIC_100MS_STACK_SIZE
Stack size of cyclic 100 ms task.
Definition: ftask_cfg.h:100
OS_PRIORITY_HIGH
@ OS_PRIORITY_HIGH
Definition: os.h:82
OS_PRIORITY_ABOVE_HIGH
@ OS_PRIORITY_ABOVE_HIGH
Definition: os.h:83
FTSK_TSK_CYCLIC_100MS_PHASE
#define FTSK_TSK_CYCLIC_100MS_PHASE
Phase of cyclic 100 ms task.
Definition: ftask_cfg.h:103
FTSK_TSK_CYCLIC_10MS_CYCLE_TIME
#define FTSK_TSK_CYCLIC_10MS_CYCLE_TIME
Cycle time of 10 ms task.
Definition: ftask_cfg.h:94
FTSK_TSK_CYCLIC_10MS_PHASE
#define FTSK_TSK_CYCLIC_10MS_PHASE
Phase of cyclic 10 ms task.
Definition: ftask_cfg.h:91
FTSK_TSK_CYCLIC_ALGORITHM_100MS_CYCLE_TIME
#define FTSK_TSK_CYCLIC_ALGORITHM_100MS_CYCLE_TIME
Cycle time of 100ms task for algorithms.
Definition: ftask_cfg.h:118
FTSK_TSK_ENGINE_CYCLE_TIME
#define FTSK_TSK_ENGINE_CYCLE_TIME
Cycle time of engine task.
Definition: ftask_cfg.h:70
FTSK_TSK_CYCLIC_1MS_STACK_SIZE
#define FTSK_TSK_CYCLIC_1MS_STACK_SIZE
Stack size of cyclic 1 ms task.
Definition: ftask_cfg.h:76
FTSK_TSK_CYCLIC_100MS_CYCLE_TIME
#define FTSK_TSK_CYCLIC_100MS_CYCLE_TIME
Cycle time of 100ms task.
Definition: ftask_cfg.h:106
OS_PRIORITY_REAL_TIME
@ OS_PRIORITY_REAL_TIME
Definition: os.h:86
FTSK_TSK_CYCLIC_10MS_STACK_SIZE
#define FTSK_TSK_CYCLIC_10MS_STACK_SIZE
Stack size of cyclic 10 ms task.
Definition: ftask_cfg.h:88
FTSK_TSK_ENGINE_PHASE
#define FTSK_TSK_ENGINE_PHASE
Phase of engine task.
Definition: ftask_cfg.h:67
OS_PRIORITY_NORMAL
@ OS_PRIORITY_NORMAL
Definition: os.h:80
OS_PRIORITY_ABOVE_NORMAL
@ OS_PRIORITY_ABOVE_NORMAL
Definition: os.h:81
FTSK_TSK_CYCLIC_ALGORITHM_100MS_PHASE
#define FTSK_TSK_CYCLIC_ALGORITHM_100MS_PHASE
Phase of cyclic 100 ms task for algorithms.
Definition: ftask_cfg.h:115
FTSK_TSK_ENGINE_STACK_SIZE
#define FTSK_TSK_ENGINE_STACK_SIZE
Stack size of engine task.
Definition: ftask_cfg.h:64