CC26xx Driver Library
Main Page
APIs
Register Descriptions
Online Resources
aon_batmon.c
Go to the documentation of this file.
1
/******************************************************************************
2
* Filename: aon_batmon.c
3
* Revised: 2015-12-07 16:22:56 +0100 (Mon, 07 Dec 2015)
4
* Revision: 45269
5
*
6
* Description: Driver for the AON Battery and Temperature Monitor
7
*
8
* Copyright (c) 2015, Texas Instruments Incorporated
9
* All rights reserved.
10
*
11
* Redistribution and use in source and binary forms, with or without
12
* modification, are permitted provided that the following conditions are met:
13
*
14
* 1) Redistributions of source code must retain the above copyright notice,
15
* this list of conditions and the following disclaimer.
16
*
17
* 2) Redistributions in binary form must reproduce the above copyright notice,
18
* this list of conditions and the following disclaimer in the documentation
19
* and/or other materials provided with the distribution.
20
*
21
* 3) Neither the name of the ORGANIZATION nor the names of its contributors may
22
* be used to endorse or promote products derived from this software without
23
* specific prior written permission.
24
*
25
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
26
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
29
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35
* POSSIBILITY OF SUCH DAMAGE.
36
*
37
******************************************************************************/
38
39
#include <
driverlib/aon_batmon.h
>
40
#include <inc/hw_fcfg1.h>
41
42
//*****************************************************************************
43
//
44
// AONBatMonTemperatureGetDegC()
45
// Returns sign extended temperature in Deg C (-256 .. +255)
46
//
47
//*****************************************************************************
48
int32_t
49
AONBatMonTemperatureGetDegC
(
void
)
50
{
51
int32_t signedTemp ;
// Signed extended temperature with 8 fractional bits
52
int32_t tempCorrection ;
// Voltage dependent temp correction with 8 fractional bits
53
int8_t voltageSlope ;
// Signed byte value representing the TEMP slope with battery voltage, in degrees C/V, with 4 fractional bits.
54
55
//
56
// Shift left then right to sign extend the BATMON_TEMP field
57
//
58
signedTemp = ((((int32_t)HWREG(
AON_BATMON_BASE
+
AON_BATMON_O_TEMP
))
59
<< ( 32 - AON_BATMON_TEMP_INT_W -
AON_BATMON_TEMP_INT_S
))
60
>> ( 32 - AON_BATMON_TEMP_INT_W -
AON_BATMON_TEMP_INT_S
));
61
62
//
63
// Typecasting voltageSlope to int8_t prior to assignment in order to make sure sign extension works properly
64
// Using byte read (HWREGB) in order to make more efficient code since voltageSlope is assigned to bits[7:0] of
FCFG1_O_MISC_TRIM
65
//
66
voltageSlope = ((int8_t)HWREGB(
FCFG1_BASE
+
FCFG1_O_MISC_TRIM
));
67
tempCorrection = (( voltageSlope * (((int32_t)HWREG(
AON_BATMON_BASE
+
AON_BATMON_O_BAT
)) - 0x300 )) >> 4 );
68
69
return
((( signedTemp - tempCorrection ) + 0x80 ) >> 8 );
70
}
71
72
73
// See aon_batmon.h for implementation of remaining functions
AONBatMonTemperatureGetDegC
int32_t AONBatMonTemperatureGetDegC(void)
Get the current temperature measurement as a signed value in Deg Celsius.
Definition:
aon_batmon.c:49
aon_batmon.h
..\driverlib
aon_batmon.c
© Copyright 2016 Texas Instruments Incorporated. All rights reserved.