foxBMS
1.4.1
The foxBMS Battery Management System API Documentation
contactor.h
Go to the documentation of this file.
1
/**
2
*
3
* @copyright © 2010 - 2022, 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 2022-10-27 (date of last update)
47
* @version v1.4.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
/*========== Macros and Definitions =========================================*/
62
63
/*========== Extern Constant and Variable Declarations ======================*/
64
65
/*========== Extern Function Prototypes =====================================*/
66
/**
67
* @brief Returns the current contactor state.
68
* @details This function is used in the functioning of the CONT state machine.
69
* @param stringNumber string in which the contactor is placed
70
* @param contactorType contactor type for which the feedback is requested
71
* @return current state, taken from #CONT_ELECTRICAL_STATE_TYPE_e
72
*/
73
extern
CONT_ELECTRICAL_STATE_TYPE_e
CONT_GetContactorState
(uint8_t stringNumber,
CONT_TYPE_e
contactorType);
74
75
/**
76
* @brief Opens the contactor
77
* @details This function makes an open state request to the specific contactor
78
* @param stringNumber String addressed
79
* @param contactor contactor adressed
80
*/
81
extern
STD_RETURN_TYPE_e
CONT_OpenContactor
(uint8_t stringNumber,
CONT_TYPE_e
contactor);
82
83
/**
84
* @brief Closes the contactor
85
* @details This function makes an close state request to the specific contactor
86
* @param stringNumber String addressed
87
* @param contactor contactor adressed
88
*/
89
extern
STD_RETURN_TYPE_e
CONT_CloseContactor
(uint8_t stringNumber,
CONT_TYPE_e
contactor);
90
91
/**
92
* @brief Closes precharge.
93
* @details This function makes a close state request to the precharge
94
* contactor.
95
* @param stringNumber String addressed
96
* @return #STD_OK if requested contactor exists and close requested, otherwise #STD_NOT_OK
97
*/
98
extern
STD_RETURN_TYPE_e
CONT_ClosePrecharge
(uint8_t stringNumber);
99
100
/**
101
* @brief Opens precharge.
102
* @details This function makes an open state request to the precharge
103
* contactor.
104
* @param stringNumber String addressed
105
*/
106
extern
STD_RETURN_TYPE_e
CONT_OpenPrecharge
(uint8_t stringNumber);
107
108
/**
109
* @brief Open all currently closed precharge contactors
110
* @details This function iterates over all contactors and opens all currently
111
* closed precharge contactors
112
* @return none (void)
113
*/
114
extern
void
CONT_OpenAllPrechargeContactors
(
void
);
115
116
/**
117
* @brief checks the feedback of all contactors
118
* @details makes a DIAG entry for each contactor when the feedback does not
119
* match the set value
120
*/
121
extern
void
CONT_CheckFeedback
(
void
);
122
123
/**
124
* @brief initializes the contactor module
125
*/
126
extern
void
CONT_Initialize
(
void
);
127
128
/*========== Externalized Static Functions Prototypes (Unit Test) ===========*/
129
#ifdef UNITY_UNIT_TEST
130
extern
void
TEST_CONT_InitializationCheckOfContactorRegistry(
void
);
131
#endif
/* UNITY_UNIT_TEST */
132
133
#endif
/* FOXBMS__CONTACTOR_H_ */
CONT_CheckFeedback
void CONT_CheckFeedback(void)
checks the feedback of all contactors
Definition:
contactor.c:121
CONT_CloseContactor
STD_RETURN_TYPE_e CONT_CloseContactor(uint8_t stringNumber, CONT_TYPE_e contactor)
Closes the contactor.
Definition:
contactor.c:180
CONT_OpenPrecharge
STD_RETURN_TYPE_e CONT_OpenPrecharge(uint8_t stringNumber)
Opens precharge.
Definition:
contactor.c:209
CONT_OpenContactor
STD_RETURN_TYPE_e CONT_OpenContactor(uint8_t stringNumber, CONT_TYPE_e contactor)
Opens the contactor.
Definition:
contactor.c:161
CONT_GetContactorState
CONT_ELECTRICAL_STATE_TYPE_e CONT_GetContactorState(uint8_t stringNumber, CONT_TYPE_e contactorType)
Returns the current contactor state.
Definition:
contactor.c:232
CONT_OpenAllPrechargeContactors
void CONT_OpenAllPrechargeContactors(void)
Open all currently closed precharge contactors.
Definition:
contactor.c:219
CONT_ClosePrecharge
STD_RETURN_TYPE_e CONT_ClosePrecharge(uint8_t stringNumber)
Closes precharge.
Definition:
contactor.c:199
CONT_Initialize
void CONT_Initialize(void)
initializes the contactor module
Definition:
contactor.c:247
contactor_cfg.h
Header for the configuration for the driver for the contactors.
CONT_TYPE_e
CONT_TYPE_e
Definition:
contactor_cfg.h:84
CONT_ELECTRICAL_STATE_TYPE_e
CONT_ELECTRICAL_STATE_TYPE_e
Definition:
contactor_cfg.h:69
STD_RETURN_TYPE_e
STD_RETURN_TYPE_e
Definition:
fstd_types.h:81
src
app
driver
contactor
contactor.h
Generated by
1.9.1