foxBMS - Unit Tests
1.5.1
The foxBMS Unit Tests API Documentation
contactor.h
Go to the documentation of this file.
1
/**
2
*
3
* @copyright © 2010 - 2023, Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V.
4
* All rights reserved.
5
*
6
* SPDX-License-Identifier: BSD-3-Clause
7
*
8
* Redistribution and use in source and binary forms, with or without
9
* modification, are permitted provided that the following conditions are met:
10
*
11
* 1. Redistributions of source code must retain the above copyright notice, this
12
* list of conditions and the following disclaimer.
13
*
14
* 2. Redistributions in binary form must reproduce the above copyright notice,
15
* this list of conditions and the following disclaimer in the documentation
16
* and/or other materials provided with the distribution.
17
*
18
* 3. Neither the name of the copyright holder nor the names of its
19
* contributors may be used to endorse or promote products derived from
20
* this software without specific prior written permission.
21
*
22
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
25
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
26
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
28
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
30
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
31
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
*
33
* We kindly request you to use one or more of the following phrases to refer to
34
* foxBMS in your hardware, software, documentation or advertising materials:
35
*
36
* - ″This product uses parts of foxBMS®″
37
* - ″This product includes parts of foxBMS®″
38
* - ″This product is derived from foxBMS®″
39
*
40
*/
41
42
/**
43
* @file contactor.h
44
* @author foxBMS Team
45
* @date 2020-02-11 (date of creation)
46
* @updated 2023-02-23 (date of last update)
47
* @version v1.5.1
48
* @ingroup DRIVERS
49
* @prefix CONT
50
*
51
* @brief Headers for the driver for the contactors.
52
*
53
*/
54
55
#ifndef FOXBMS__CONTACTOR_H_
56
#define FOXBMS__CONTACTOR_H_
57
58
/*========== Includes =======================================================*/
59
#include "
contactor_cfg.h
"
60
61
#include "
fstd_types.h
"
62
63
#include <stdint.h>
64
65
/*========== Macros and Definitions =========================================*/
66
67
/*========== Extern Constant and Variable Declarations ======================*/
68
69
/*========== Extern Function Prototypes =====================================*/
70
/**
71
* @brief Returns the current contactor state.
72
* @details This function is used in the functioning of the CONT state machine.
73
* @param stringNumber string in which the contactor is placed
74
* @param contactorType contactor type for which the feedback is requested
75
* @return current state, taken from #CONT_ELECTRICAL_STATE_TYPE_e
76
*/
77
extern
CONT_ELECTRICAL_STATE_TYPE_e
CONT_GetContactorState
(uint8_t stringNumber,
CONT_TYPE_e
contactorType);
78
79
/**
80
* @brief Opens the contactor
81
* @details This function makes an open state request to the specific contactor
82
* @param stringNumber String addressed
83
* @param contactor contactor addressed
84
*/
85
extern
STD_RETURN_TYPE_e
CONT_OpenContactor
(uint8_t stringNumber,
CONT_TYPE_e
contactor);
86
87
/**
88
* @brief Closes the contactor
89
* @details This function makes an close state request to the specific contactor
90
* @param stringNumber String addressed
91
* @param contactor contactor addressed
92
*/
93
extern
STD_RETURN_TYPE_e
CONT_CloseContactor
(uint8_t stringNumber,
CONT_TYPE_e
contactor);
94
95
/**
96
* @brief Closes precharge.
97
* @details This function makes a close state request to the precharge
98
* contactor.
99
* @param stringNumber String addressed
100
* @return #STD_OK if requested contactor exists and close requested, otherwise #STD_NOT_OK
101
*/
102
extern
STD_RETURN_TYPE_e
CONT_ClosePrecharge
(uint8_t stringNumber);
103
104
/**
105
* @brief Opens precharge.
106
* @details This function makes an open state request to the precharge
107
* contactor.
108
* @param stringNumber String addressed
109
*/
110
extern
STD_RETURN_TYPE_e
CONT_OpenPrecharge
(uint8_t stringNumber);
111
112
/**
113
* @brief Open all currently closed precharge contactors
114
* @details This function iterates over all contactors and opens all currently
115
* closed precharge contactors
116
* @return none (void)
117
*/
118
extern
void
CONT_OpenAllPrechargeContactors
(
void
);
119
120
/**
121
* @brief checks the feedback of all contactors
122
* @details makes a DIAG entry for each contactor when the feedback does not
123
* match the set value
124
*/
125
extern
void
CONT_CheckFeedback
(
void
);
126
127
/**
128
* @brief initializes the contactor module
129
*/
130
extern
void
CONT_Initialize
(
void
);
131
132
/*========== Externalized Static Functions Prototypes (Unit Test) ===========*/
133
#ifdef UNITY_UNIT_TEST
134
extern
void
TEST_CONT_InitializationCheckOfContactorRegistry
(
void
);
135
#endif
136
137
#endif
/* FOXBMS__CONTACTOR_H_ */
CONT_CheckFeedback
void CONT_CheckFeedback(void)
checks the feedback of all contactors
Definition:
contactor.c:125
CONT_CloseContactor
STD_RETURN_TYPE_e CONT_CloseContactor(uint8_t stringNumber, CONT_TYPE_e contactor)
Closes the contactor.
Definition:
contactor.c:184
CONT_OpenPrecharge
STD_RETURN_TYPE_e CONT_OpenPrecharge(uint8_t stringNumber)
Opens precharge.
Definition:
contactor.c:213
CONT_OpenContactor
STD_RETURN_TYPE_e CONT_OpenContactor(uint8_t stringNumber, CONT_TYPE_e contactor)
Opens the contactor.
Definition:
contactor.c:165
TEST_CONT_InitializationCheckOfContactorRegistry
void TEST_CONT_InitializationCheckOfContactorRegistry(void)
Definition:
contactor.c:257
CONT_GetContactorState
CONT_ELECTRICAL_STATE_TYPE_e CONT_GetContactorState(uint8_t stringNumber, CONT_TYPE_e contactorType)
Returns the current contactor state.
Definition:
contactor.c:236
CONT_OpenAllPrechargeContactors
void CONT_OpenAllPrechargeContactors(void)
Open all currently closed precharge contactors.
Definition:
contactor.c:223
CONT_ClosePrecharge
STD_RETURN_TYPE_e CONT_ClosePrecharge(uint8_t stringNumber)
Closes precharge.
Definition:
contactor.c:203
CONT_Initialize
void CONT_Initialize(void)
initializes the contactor module
Definition:
contactor.c:251
contactor_cfg.h
Header for the configuration for the driver for the contactors.
CONT_TYPE_e
CONT_TYPE_e
Definition:
contactor_cfg.h:85
CONT_ELECTRICAL_STATE_TYPE_e
CONT_ELECTRICAL_STATE_TYPE_e
Definition:
contactor_cfg.h:70
fstd_types.h
Definition of foxBMS standard types.
STD_RETURN_TYPE_e
STD_RETURN_TYPE_e
Definition:
fstd_types.h:82
src
app
driver
contactor
contactor.h
Generated by
1.9.1