foxBMS-UnitTests
1.0.0
The foxBMS Unit Tests API Documentation
vishay_ntcalug01a103g.h
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 vishay_ntcalug01a103g.h
44
* @author foxBMS Team
45
* @date 2018-10-30 (date of creation)
46
* @updated 2021-03-22 (date of last update)
47
* @ingroup TEMPERATURE_SENSORS
48
* @prefix TS
49
*
50
* @brief Resistive divider used for measuring temperature
51
*
52
* V_supply
53
* --.--
54
* |
55
* +-.-+
56
* | |
57
* | | R_1
58
* | |
59
* +-.-+
60
* |
61
* .--- V_adc
62
* |
63
* +-.-+
64
* | |
65
* | | R_2
66
* | |
67
* +-.-+
68
* |
69
* --.--
70
* GND
71
*/
72
73
#ifndef FOXBMS__VISHAY_NTCALUG01A103G_H_
74
#define FOXBMS__VISHAY_NTCALUG01A103G_H_
75
76
/*========== Includes =======================================================*/
77
#include "
general.h
"
78
79
/*========== Macros and Definitions =========================================*/
80
/**
81
* Position of the NTC in the voltage resistor
82
* true: NTC is positioned above the voltage tap for the ADC voltage.
83
* This equals resistor R_1 in the above circuit diagram
84
*
85
* false: NTC is positioned below the voltage tap for the ADC voltage.
86
* This equals resistor R_2 in the above circuit diagram
87
*/
88
#define TS_VISHAY_NTCALUG01A103G_POSITION_IN_RESISTOR_DIVIDER_IS_R_1 (false)
89
90
/** Resistor divider supply voltage in volt */
91
#define TS_VISHAY_NTCALUG01A103G_RESISTOR_DIVIDER_SUPPLY_VOLTAGE_V (3.0f)
92
93
/**
94
* Resistance value of the other resistor (not the NTC) in the resistor
95
* divider in Ohm.
96
*/
97
#define TS_VISHAY_NTCALUG01A103G_RESISTOR_DIVIDER_RESISTANCE_R_1_R_2_Ohm (10000.0f)
98
99
/*========== Extern Constant and Variable Declarations ======================*/
100
/**
101
* @brief returns temperature based on measured ADC voltage.
102
* @param adcVoltage_mV voltage in mV
103
* @return corresponding temperature in deci °C or INT16_MAX/INT16_MIN if
104
* NTC is shorted or got disconnected. The caller of this functions
105
* needs to check for these return values to prevent invalid data.
106
*/
107
extern
int16_t
TS_Vis00GetTemperatureFromLut
(uint16_t adcVoltage_mV);
108
109
/**
110
* @brief returns temperature based on measured ADC voltage
111
* @param adcVoltage_mV voltage in mV
112
* @return corresponding temperature in deci °C
113
*/
114
extern
int16_t
TS_Vis00GetTemperatureFromPolynomial
(uint16_t adcVoltage_mV);
115
116
/*========== Extern Function Prototypes =====================================*/
117
118
/*========== Externalized Static Functions Prototypes (Unit Test) ===========*/
119
120
#endif
/* FOXBMS__VISHAY_NTCALUG01A103G_H_ */
general.h
TODO.
TS_Vis00GetTemperatureFromLut
int16_t TS_Vis00GetTemperatureFromLut(uint16_t adcVoltage_mV)
returns temperature based on measured ADC voltage.
Definition:
vishay_ntcalug01a103g.c:249
TS_Vis00GetTemperatureFromPolynomial
int16_t TS_Vis00GetTemperatureFromPolynomial(uint16_t adcVoltage_mV)
returns temperature based on measured ADC voltage
Definition:
vishay_ntcalug01a103g.c:299
src
app
driver
ts
vishay
ntcalug01a103g
vishay_ntcalug01a103g.h
Generated by
1.8.20