1 /****************************************************************************** 2 * Filename: tempdiode.h 3 * 4 * Description: Defines and prototypes for reading the high accuracy temperature diode 5 * 6 * Copyright (c) 2023, Texas Instruments Incorporated 7 * All rights reserved. 8 * 9 * Redistribution and use in source and binary forms, with or without 10 * modification, are permitted provided that the following conditions are met: 11 * 12 * 1) Redistributions of source code must retain the above copyright notice, 13 * this list of conditions and the following disclaimer. 14 * 15 * 2) Redistributions in binary form must reproduce the above copyright notice, 16 * this list of conditions and the following disclaimer in the documentation 17 * and/or other materials provided with the distribution. 18 * 19 * 3) Neither the name of the ORGANIZATION nor the names of its contributors may 20 * be used to endorse or promote products derived from this software without 21 * specific prior written permission. 22 * 23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 24 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 25 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 26 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 27 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 28 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 29 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 30 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 31 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 32 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 33 * POSSIBILITY OF SUCH DAMAGE. 34 * 35 ******************************************************************************/ 36 37 #ifndef __tempdiode_H__ 38 #define __tempdiode_H__ 39 40 //***************************************************************************** 41 // 42 //! \addtogroup peripheral_group 43 //! @{ 44 //! \addtogroup tempdiode_api 45 //! @{ 46 // 47 //***************************************************************************** 48 49 #include <stdint.h> 50 51 //***************************************************************************** 52 // 53 // If building with a C++ compiler, make all of the definitions in this header 54 // have a C binding. 55 // 56 //***************************************************************************** 57 #ifdef __cplusplus 58 extern "C" { 59 #endif 60 61 //***************************************************************************** 62 // 63 // API Functions and prototypes 64 // 65 //***************************************************************************** 66 67 //***************************************************************************** 68 // 69 //! \brief Reads temperature from high accuracy temperature diode 70 //! 71 //! This function reads the temperature from the high-accuracy temperature diode 72 //! The returned result contains 4 fractional bits. For example: 73 //! 0x00000200 = +32.0000 degC 74 //! 0x0000020C = +32.7500 degC 75 //! 0xFFFFFEC3 = -19.8125 degC 76 //! 77 //! \warning This function uses the SoC ADC to measure the temperature. This 78 //! function must not be called while the ADC driver is active, or the SoC ADC 79 //! is open. 80 //! 81 //! \warning This function uses the internal test-bus (ATEST) to measure the 82 //! temperature. The test-bus must not be used when calling this function. 83 //! 84 //! \note Due to long and repeated ADC sampling, this function takes 85 //! roughly 8 milliseconds to execute. 86 //! 87 //! \return Ambient temperature in degrees Celcius, with 4 fractional bits 88 // 89 //***************************************************************************** 90 extern int32_t TempDiodeGetTemp(void); 91 92 //***************************************************************************** 93 // 94 // Mark the end of the C bindings section for C++ compilers. 95 // 96 //***************************************************************************** 97 #ifdef __cplusplus 98 } 99 #endif 100 101 //***************************************************************************** 102 // 103 //! Close the Doxygen group. 104 //! @} 105 //! @} 106 // 107 //***************************************************************************** 108 109 #endif // __tempdiode_H__ 110