foxBMS
1.5.1
The foxBMS Battery Management System API Documentation
adc.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 adc.h
44
* @author foxBMS Team
45
* @date 2019-01-07 (date of creation)
46
* @updated 2023-02-23 (date of last update)
47
* @version v1.5.1
48
* @ingroup DRIVERS
49
* @prefix ADC
50
*
51
* @brief Headers for the driver for the ADC module.
52
*
53
*/
54
55
#ifndef FOXBMS__ADC_H_
56
#define FOXBMS__ADC_H_
57
58
/*========== Includes =======================================================*/
59
60
#include "
battery_system_cfg.h
"
61
62
#include "HL_adc.h"
63
64
#include <stdint.h>
65
66
/*========== Macros and Definitions =========================================*/
67
68
/** ADC voltage reference, high */
69
#define ADC_VREFHIGH_mV (5000.0f)
70
/** ADC voltage reference, low */
71
#define ADC_VREFLOW_mV (0.0f)
72
/** ADC conversion factor, 12 bit conversion */
73
#define ADC_CONV_FACTOR_12BIT (4096.0f)
74
/** ADC conversion factor, 10 bit conversion */
75
#define ADC_CONV_FACTOR_10BIT (1024.0f)
76
/** ADC conversion offset */
77
#define ADC_CONV_OFFSET (0.5f)
78
79
/** End bit position in ADC Groupx Interrupt Flag Register */
80
#define ADC_CONVERSION_ENDDBIT (8u)
81
82
/**
83
* State for the ADC conversion
84
*/
85
typedef
enum
{
86
ADC_START_CONVERSION
,
87
ADC_WAIT_CONVERSION_FINISHED
,
88
ADC_CONVERSION_FINISHED
,
89
}
ADC_STATE_e
;
90
91
/*========== Extern Constant and Variable Declarations ======================*/
92
93
/*========== Extern Function Prototypes =====================================*/
94
95
/**
96
* @brief controls ADC measurement sequence.
97
*
98
*/
99
extern
void
ADC_Control
(
void
);
100
101
/*========== Externalized Static Functions Prototypes (Unit Test) ===========*/
102
#ifdef UNITY_UNIT_TEST
103
#endif
104
105
#endif
/* FOXBMS__ADC_H_ */
ADC_STATE_e
ADC_STATE_e
Definition:
adc.h:85
ADC_WAIT_CONVERSION_FINISHED
@ ADC_WAIT_CONVERSION_FINISHED
Definition:
adc.h:87
ADC_START_CONVERSION
@ ADC_START_CONVERSION
Definition:
adc.h:86
ADC_CONVERSION_FINISHED
@ ADC_CONVERSION_FINISHED
Definition:
adc.h:88
ADC_Control
void ADC_Control(void)
controls ADC measurement sequence.
Definition:
adc.c:104
battery_system_cfg.h
Configuration of the battery system (e.g., number of battery modules, battery cells,...
src
app
driver
adc
adc.h
Generated by
1.9.1