summaryrefslogtreecommitdiffstats
path: root/soc_temperature_hal/hal_api/soc_temperature_hal.h
blob: 16c5f6d42a05bc9cb7fbc94968707551134e181e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/*
 * @copyright Copyright (c) 2017-2020 TOYOTA MOTOR CORPORATION.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/**
 * @file soc_temperature_hal.h
 */

#ifndef HAL_API_SOC_TEMPERATURE_HAL_H_
#define HAL_API_SOC_TEMPERATURE_HAL_H_

#include <native_service/frameworkunified_types.h>

/** @addtogroup soc_temperature_hal
 *  @{
 */

#ifdef __cplusplus
extern "C" {
#endif  // __cplusplus

/**
 * \ingroup GetSoCTemperature
 * \~english @par Brief
 *           Get SoC temperature value(unit:celsius).
 * \~english @param [out] temperature
 *      float*   -    degree celsius
 * \~english @retval eFrameworkunifiedStatusOK  Success
 * \~english @retval eFrameworkunifiedStatusNullPointer  NULL pointer specified
 * \~english @retval eFrameworkunifiedStatusFail  Abnormal Error (system error)
 * \~english @par Prerequisite
 *        - The SoC has temperature sensor, and the thermal driver is available.
 * \~english @par Change of internal state
 *        - Change of internal state according to the API does not occur.
 * \~english @par Conditions of processing failure
 *        - Parameter temperature is NULL[eFrameworkunifiedStatusNullPointer]
 *        - System error(open/read/close failed)[eFrameworkunifiedStatusFail]
 * \~english @par Classification
 *        Public
 * \~english @par Type
 *        Sync
 * \~english @par Detail
 *        - Get SoC temperature value.
 *        - On success eFrameworkunifiedStatusOK is returned and the parameter temperature is set.
 *        - Not eFrameworkunifiedStatusOK is returned if an error occurred.
 *        - Return value shall be checked before temperature is refered.
 *        - Sample code:
 *            @code
 *            #include <stdio.h>
 *            #include <stdlib.h>
 *            #include <soc_temperature_hal.h>
 *            #include <native_service/frameworkunified_types.h>
 *
 *            int main(int argc, char *argv[]) {
 *              float temperature = 0.0f;
 *              EFrameworkunifiedStatus status = GetSoCTemperature(&temperature);
 *              if (status != eFrameworkunifiedStatusOK) {
 *                printf("Get SoC temperature failed\n");
 *                exit(EXIT_FAILURE);
 *              }
 *              printf("SoC temperature: %f\n", temperature);
 *              exit(EXIT_SUCCESS);
 *            }
 *            @endcode
 * \~english @see
 *        - None
 */
EFrameworkunifiedStatus GetSoCTemperature(float* temperature);

#ifdef __cplusplus
}
#endif  // __cplusplus

/** @}*/  // end of soc_temperature_hal

#endif  // HAL_API_SOC_TEMPERATURE_HAL_H_