Kinetis SDK v.1.2 Demo Applications User's Guide  Rev. 0
Freescale Semiconductor, Inc.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
hvac_public.h
Go to the documentation of this file.
1 /*
2 * Copyright (c) 2014, Freescale Semiconductor, Inc.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without modification,
6 * are permitted provided that the following conditions are met:
7 *
8 * o Redistributions of source code must retain the above copyright notice, this list
9 * of conditions and the following disclaimer.
10 *
11 * o Redistributions in binary form must reproduce the above copyright notice, this
12 * list of conditions and the following disclaimer in the documentation and/or
13 * other materials provided with the distribution.
14 *
15 * o Neither the name of Freescale Semiconductor, Inc. nor the names of its
16 * contributors may be used to endorse or promote products derived from this
17 * software without specific prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
23 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
26 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */
30 
31 #ifndef __HVAC_PUBLIC_H__
32 #define __HVAC_PUBLIC_H__
33 
35 // Includes
37 
38 #include <stdint.h>
39 #include <stdbool.h>
40 
42 // Definitions
44 
45 // HVAC user interface
46 #define HVAC_TEMP_TOLERANCE 0 // in 1/10 degree
47 #define HVAC_TEMP_SW_DELTA 5 // in 1/10 degree
48 
49 // ambient temperature change emulation
50 #define HVAC_TEMP_UPD_DELTA 1 // in 1/10 degree
51 #define HVAC_TEMP_UPDATE_RATE 1 // in seconds
52 
53 #define HVAC_TEMP_MINIMUM 0 // in Celsius
54 #define HVAC_TEMP_MAXIMUM 500 // in Celsius
55 
56 typedef enum {
63 
64 typedef enum {
71 } HVAC_Input_t;
72 
73 
74 typedef enum {
79 } HVAC_Mode_t;
80 
81 typedef enum {
84 } FAN_Mode_t;
85 
86 typedef enum {
90 
91 extern void HVAC_SetDesiredTemperature(uint32_t);
92 extern uint32_t HVAC_GetDesiredTemperature(void);
93 
94 extern void HVAC_SetFanMode(FAN_Mode_t);
95 extern FAN_Mode_t HVAC_GetFanMode(void);
96 
97 extern void HVAC_SetHVACMode(HVAC_Mode_t);
98 extern HVAC_Mode_t HVAC_GetHVACMode(void);
99 extern char * HVAC_HVACModeName(HVAC_Mode_t mode);
100 
101 extern uint32_t HVAC_ConvertCelsiusToDisplayTemp(uint32_t temp);
102 extern uint32_t HVAC_ConvertDisplayTempToCelsius(uint32_t display_temp);
105 extern char HVAC_GetTemperatureSymbol(void);
106 
107 extern uint32_t HVAC_GetAmbientTemperature(void);
108 extern uint32_t HVAC_GetActualTemperature(void);
109 extern void HVAC_ReadAmbientTemperature(void);
110 
111 extern bool HVAC_GetOutput(HVAC_Output_t);
112 extern char * HVAC_GetOutputName(HVAC_Output_t);
113 
114 
115 
116 #endif
Definition: hvac_public.h:70
Definition: hvac_public.h:67
void HVAC_SetHVACMode(HVAC_Mode_t)
Set HVAC mode.
Definition: hvac_util.c:153
void HVAC_SetFanMode(FAN_Mode_t)
get fan mode.
Definition: hvac_util.c:137
Definition: hvac_public.h:82
Definition: hvac_public.h:83
char * HVAC_GetOutputName(HVAC_Output_t signal)
Get output name.
Definition: hvac_io.c:224
Definition: hvac_public.h:68
bool HVAC_GetOutput(HVAC_Output_t signal)
Get the output state.
Definition: hvac_io.c:216
HVAC_Mode_t
Definition: hvac_public.h:74
uint32_t HVAC_ConvertDisplayTempToCelsius(uint32_t display_temp)
Convert temperature.
Definition: hvac_util.c:99
Definition: hvac_public.h:69
Definition: hvac_public.h:58
uint32_t HVAC_GetDesiredTemperature(void)
Get desired temperature.
Definition: hvac_util.c:115
Definition: hvac_public.h:75
uint32_t HVAC_GetActualTemperature(void)
Get actual temperature.
Definition: hvac_util.c:161
Definition: hvac_public.h:78
void HVAC_SetDesiredTemperature(uint32_t)
Set desired temperature.
Definition: hvac_util.c:122
Definition: hvac_public.h:77
Definition: hvac_public.h:66
uint32_t HVAC_GetAmbientTemperature(void)
Get ambient temperature.
Definition: hvac_io.c:232
HVAC_Mode_t HVAC_GetHVACMode(void)
Get HVAC mode.
Definition: hvac_util.c:145
void HVAC_SetTemperatureScale(Temperature_Scale_t)
Set temperature scale.
Definition: hvac_util.c:176
Definition: hvac_public.h:60
HVAC_Output_t
Definition: hvac_public.h:56
Temperature_Scale_t HVAC_GetTemperatureScale(void)
Get temperature scale.
Definition: hvac_util.c:168
Definition: hvac_public.h:57
uint32_t HVAC_ConvertCelsiusToDisplayTemp(uint32_t temp)
Convert temperature to display.
Definition: hvac_util.c:83
Definition: hvac_public.h:61
Definition: hvac_public.h:59
Definition: hvac_public.h:87
FAN_Mode_t HVAC_GetFanMode(void)
Get fan mode.
Definition: hvac_util.c:130
FAN_Mode_t
Definition: hvac_public.h:81
Temperature_Scale_t
Definition: hvac_public.h:86
Definition: hvac_public.h:65
char HVAC_GetTemperatureSymbol(void)
Get temperature symbol.
Definition: hvac_util.c:184
void HVAC_ReadAmbientTemperature(void)
Get ambient temperature.
Definition: hvac_io.c:240
HVAC_Input_t
Definition: hvac_public.h:64
Definition: hvac_public.h:88
Definition: hvac_public.h:76
char * HVAC_HVACModeName(HVAC_Mode_t mode)
Get HVAC mode.
Definition: hvac_util.c:75