Loading...
Searching...
No Matches
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
20
21#include "board.h"
22#include "lis2dh12.h"
23#include "saul_reg.h"
24
25#ifdef __cplusplus
26extern "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
97
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