foxBMS  1.0.0
The foxBMS Battery Management System API Documentation
masterinfo.c
Go to the documentation of this file.
1 /**
2  *
3  * @copyright © 2010 - 2021, Fraunhofer-Gesellschaft zur Foerderung der
4  * angewandten Forschung e.V. All rights reserved.
5  *
6  * BSD 3-Clause License
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions are met:
9  * 1. Redistributions of source code must retain the above copyright notice,
10  * this list of conditions and the following disclaimer.
11  * 2. Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in the
13  * documentation and/or other materials provided with the distribution.
14  * 3. Neither the name of the copyright holder nor the names of its
15  * contributors may be used to endorse or promote products derived from
16  * this software without specific prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28  * POSSIBILITY OF SUCH DAMAGE.
29  *
30  * We kindly request you to use one or more of the following phrases to refer
31  * to foxBMS in your hardware, software, documentation or advertising
32  * materials:
33  *
34  * ″This product uses parts of foxBMS®″
35  *
36  * ″This product includes parts of foxBMS®″
37  *
38  * ″This product is derived from foxBMS®″
39  *
40  */
41 
42 /**
43  * @file masterinfo.c
44  * @author foxBMS Team
45  * @date 2020-07-08 (date of creation)
46  * @updated 2020-07-08 (date of last update)
47  * @ingroup GENERAL
48  * @prefix MINFO
49  *
50  * @brief General foxBMS-master system information
51  *
52  * @details This file contains the implementation to gather information on the
53  * foxBMS-Master and its connected peripherals on the master PCB.
54  *
55  */
56 
57 /*========== Includes =======================================================*/
58 #include "masterinfo.h"
59 
60 #include "fassert.h"
61 
62 /*========== Macros and Definitions =========================================*/
63 
64 /*========== Static Constant and Variable Definitions =======================*/
65 /** variable that tracks the state of the system */
67  .resetSource = NO_RESET,
68  .debugProbe = MINFO_DEBUG_PROBE_NOT_CONNECTED,
69 };
70 
71 /*========== Extern Constant and Variable Definitions =======================*/
72 
73 /*========== Static Function Prototypes =====================================*/
74 
75 /*========== Static Function Implementations ================================*/
76 
77 /*========== Extern Function Implementations ================================*/
78 void MINFO_SetResetSource(resetSource_t resetSource) {
79  /* Set system reset source */
80  minfo_state.resetSource = resetSource;
81 }
82 
83 resetSource_t MINFO_GetResetSource(void) {
84  return minfo_state.resetSource;
85 }
86 
88  minfo_state.debugProbe = state;
89 }
90 
92  return minfo_state.debugProbe;
93 }
94 
95 /*========== Externalized Static Function Implementations (Unit Test) =======*/
fassert.h
Assert macro implementation.
minfo_state
static MINFO_MASTER_STATE_s minfo_state
Definition: masterinfo.c:66
MINFO_GetResetSource
resetSource_t MINFO_GetResetSource(void)
Get reason for last reset.
Definition: masterinfo.c:83
MINFO_GetDebugProbeConnectionState
MINFO_DEBUG_PROBE_CONNECTION_STATE_e MINFO_GetDebugProbeConnectionState(void)
Get state if debugger is connected or not.
Definition: masterinfo.c:91
MINFO_MASTER_STATE::resetSource
resetSource_t resetSource
Definition: masterinfo.h:76
MINFO_MASTER_STATE::debugProbe
MINFO_DEBUG_PROBE_CONNECTION_STATE_e debugProbe
Definition: masterinfo.h:77
MINFO_DEBUG_PROBE_NOT_CONNECTED
@ MINFO_DEBUG_PROBE_NOT_CONNECTED
Definition: masterinfo.h:66
MINFO_DEBUG_PROBE_CONNECTION_STATE_e
enum MINFO_DEBUG_PROBE_CONNECTION_STATE MINFO_DEBUG_PROBE_CONNECTION_STATE_e
MINFO_MASTER_STATE
state of the system
Definition: masterinfo.h:75
MINFO_SetResetSource
void MINFO_SetResetSource(resetSource_t resetSource)
Set reason for last reset.
Definition: masterinfo.c:78
MINFO_SetDebugProbeConnectionState
void MINFO_SetDebugProbeConnectionState(MINFO_DEBUG_PROBE_CONNECTION_STATE_e state)
Check if debug probe is connected.
Definition: masterinfo.c:87
masterinfo.h
General foxBMS-master system information.