IRPyro API demo
Shows the basic functionality of the IRPyro API
main.h
Go to the documentation of this file.
1 /**
2 ******************************************************************************
3 * @file main.h
4 * @author _KEMET, Ltd
5 * @date March 2018
6 * @version Release 1.0.6
7 * @copyright (c) 2018 _KEMET, Ltd
8 * @brief Function prototypes and initialization macros for example code
9 ******************************************************************************
10  @attention <h2><center>&copy; COPYRIGHT 2018 _KEMET, Ltd</center></h2>
11  @verbatim
12  Copyright (c) 2018, _KEMET, Ltd
13  All rights reserved.
14 
15  THIS SOFTWARE IS PROVIDED BY _KEMET, Ltd ''AS IS'' AND ANY
16  EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18  DISCLAIMED. IN NO EVENT SHALL _KEMET, Ltd BE LIABLE FOR ANY
19  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25  @endverbatim
26 ******************************************************************************
27 */
28 /* Includes ------------------------------------------------------------------*/
29 #include "IRPyro_API_multi_device_layer.h"
30 
31 /* USER DEFINED MACROS TO SET DEFAULT VALUES */
32 /* Initialization Macros ---------------------------------------------------- */
33 /*
34  .AFE_register.S7_S0 = 0, // Sample rate 1 ms
35  .AFE_register.LP = LOW_POWER_DISABLE, // Low power disabled
36  .AFE_register.HP = HP_DISABLE, // High pass filter disabled
37  .AFE_register.C_LP = LOW_PASS_180, // Low pass filter selected to 180 Hz
38  .AFE_register.CLK_OUT = CLK_ENABLE, // Internal clock output ENABLED
39  .AFE_register.SYNC = MASTER, // Device set to master
40  .AFE_register.TEMP = TEMP_DISABLE, // Temperature detection off
41  .AFE_register.INT = INT_ENABLE, // Asserted LOW when data ready
42 */
43 #define AFE_INIT_DEFAULT(X) AFE_reg_type X = { \
44  .S7_S0 = 0, \
45  .LP = LOW_POWER_DISABLE, \
46  .HP = HP_ENABLE, \
47  .C_LP = LOW_PASS_180, \
48  .CLK_OUT = CLK_ENABLE, \
49  .SYNC = MASTER, \
50  .TEMP = TEMP_DISABLE, \
51  .INT = INT_ENABLE \
52 }
53 /*
54  .status_bit = CH_ENABLE, // Channel enabled
55  .Feedback_transconductance = TCONDUCT_1_2T, // Gain to 1.2T
56  .High_pass_filter_setting = HIGH_PASS_1HZ, // High pass filter to 1Hz
57  .Feedback_cap = FEEDBACK_50_20, // Feedback cap to 50 fF
58 
59 */
60 #define CCP_INIT_DEFAULT(X) CCP_reg_type X = { \
61  .status_bit = CH_ENABLE, \
62  .Feedback_transconductance = TCONDUCT_1_2T, \
63  .High_pass_filter_setting = HIGH_PASS_1HZ, \
64  .Feedback_cap = FEEDBACK_50_20 \
65 }
66 
67 /*
68  .UHT = 0xFF,
69  .ULT = 0xFF,
70  .LHT = 0x00,
71  .LLT = 0x00,
72  .WT_Threshold = 0x10,
73  .DP0_DP2 = REF_CH_0,
74  .CH0_CH2 = SEL_CH_2,
75  .ST = SLEEP_MODE_ONE_CH,
76 
77 */
78 #define WUP_INIT_DEFAULT(X) WUP_reg_type X ={ \
79  .UHT = MAX_WUP_THRESHOLD, .ULT = MAX_WUP_THRESHOLD, \
80  .LHT = MIN_WUP_THRESHOLD, .LLT = MIN_WUP_THRESHOLD, \
81  .WT_Threshold = DEFAULT_NO_EVENTS, \
82  .DP0_DP2 = REF_CH_2, \
83  .CH0_CH2 = SEL_CH_2, \
84  .ST = SLEEP_MODE_ONE_CH \
85 }
86 
87 /*
88  Macro with default values
89  */
90 #define IRPyro_INIT_DEFAULT(X) IRPyro_sensor_device_type X = { \
91  .CS_Port = 2, \
92  .INT_Port = 1, \
93  .CS_Pin = 1, \
94  .INT_Pin= 4, \
95  .address = 0x65, \
96  number_of_active_channels= 1 \
97 }
98 /************************ _KEMET 2017 *****END OF FILE****/