lis2dh12_params.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2018 Freie Universität Berlin
3  *
4  * This file is subject to the terms and conditions of the GNU Lesser
5  * General Public License v2.1. See the file LICENSE in the top level
6  * directory for more details.
7  */
8 
9 #pragma once
10 
21 #include "board.h"
22 #include "lis2dh12.h"
23 #include "saul_reg.h"
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
33 #ifdef MODULE_LIS2DH12_SPI /* default configuration for SPI mode */
34 #ifndef LIS2DH12_PARAM_SPI
35 #define LIS2DH12_PARAM_SPI SPI_DEV(0)
36 #endif
37 #ifndef LIS2DH12_PARAM_CS
38 #define LIS2DH12_PARAM_CS GPIO_PIN(0, 0)
39 #endif
40 #define LIS2DH12_PARAMS_BUSCFG .spi = LIS2DH12_PARAM_SPI, \
41  .cs = LIS2DH12_PARAM_CS
42 
43 #else /* default configuration for I2C mode */
44 #ifndef LIS2DH12_PARAM_I2C
45 #define LIS2DH12_PARAM_I2C I2C_DEV(0)
46 #endif
47 #ifndef LIS2DH12_PARAM_ADDR
48 #define LIS2DH12_PARAM_ADDR LIS2DH12_ADDR_DEFAULT
49 #endif
50 #define LIS2DH12_PARAMS_BUSCFG .i2c = LIS2DH12_PARAM_I2C, \
51  .addr = LIS2DH12_PARAM_ADDR
52 
53 #endif
54 
55 #ifndef LIS2DH12_PARAM_INT_PIN1
56 #define LIS2DH12_PARAM_INT_PIN1 GPIO_UNDEF
57 #endif
58 
59 #ifndef LIS2DH12_PARAM_INT_PIN2
60 #define LIS2DH12_PARAM_INT_PIN2 GPIO_UNDEF
61 #endif
62 
63 #ifndef LIS2DH12_PARAM_SCALE
64 #define LIS2DH12_PARAM_SCALE LIS2DH12_SCALE_2G
65 #endif
66 #ifndef LIS2DH12_PARAM_RATE
67 #define LIS2DH12_PARAM_RATE LIS2DH12_RATE_100HZ
68 #endif
69 #ifndef LIS2DH12_PARAM_RESOLUTION
70 #define LIS2DH12_PARAM_RESOLUTION LIS2DH12_POWER_NORMAL
71 #endif
72 
73 #ifndef LIS2DH12_PARAMS
74 #ifdef MODULE_LIS2DH12_INT
75 #define LIS2DH12_PARAMS { \
76  LIS2DH12_PARAMS_BUSCFG, \
77  .int1_pin = LIS2DH12_PARAM_INT_PIN1, \
78  .int2_pin = LIS2DH12_PARAM_INT_PIN2, \
79  .scale = LIS2DH12_PARAM_SCALE, \
80  .rate = LIS2DH12_PARAM_RATE, \
81  .resolution = LIS2DH12_PARAM_RESOLUTION, \
82  }
83 #else /* MODULE_LIS2DH12_INT */
84 #define LIS2DH12_PARAMS { \
85  LIS2DH12_PARAMS_BUSCFG, \
86  .scale = LIS2DH12_PARAM_SCALE, \
87  .rate = LIS2DH12_PARAM_RATE, \
88  .resolution = LIS2DH12_PARAM_RESOLUTION, \
89  }
90 #endif /* MODULE_LIS2DH12_INT */
91 #endif /* LIS2DH12_PARAMS */
92 
93 #ifndef LIS2DH12_SAULINFO
94 #define LIS2DH12_SAULINFO { .name = "lis2dh12" }
95 #endif
102 {
103  LIS2DH12_PARAMS
104 };
105 
110 {
111  LIS2DH12_SAULINFO
112 };
113 
114 #ifdef __cplusplus
115 }
116 #endif
117 
Interface definition for the STM LIS2DH12 accelerometer.
static const lis2dh12_params_t lis2dh12_params[]
LIS2DH12 configuration.
static const saul_reg_info_t lis2dh12_saul_info[]
Additional meta information to keep in the SAUL registry.
SAUL registry interface definition.
LIS2DH12 configuration parameters.
Definition: lis2dh12.h:110
Additional data to collect for each entry.
Definition: saul_reg.h:48