Developer World
Spresense SDK Library
v3.3.0-375c679
cxd56_bmi160.h
1
/****************************************************************************
2
* boards/arm/cxd56xx/spresense/include/cxd56_bmi160.h
3
*
4
* Licensed to the Apache Software Foundation (ASF) under one or more
5
* contributor license agreements. See the NOTICE file distributed with
6
* this work for additional information regarding copyright ownership. The
7
* ASF licenses this file to you under the Apache License, Version 2.0 (the
8
* "License"); you may not use this file except in compliance with the
9
* License. You may obtain a copy of the License at
10
*
11
* http://www.apache.org/licenses/LICENSE-2.0
12
*
13
* Unless required by applicable law or agreed to in writing, software
14
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
15
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
16
* License for the specific language governing permissions and limitations
17
* under the License.
18
*
19
****************************************************************************/
20
21
#ifndef __BOARDS_ARM_CXD56XX_SPRESENSE_INCLUDE_CXD56_BMI160_H
22
#define __BOARDS_ARM_CXD56XX_SPRESENSE_INCLUDE_CXD56_BMI160_H
23
24
/****************************************************************************
25
* Included Files
26
****************************************************************************/
27
28
#include <nuttx/config.h>
29
30
/****************************************************************************
31
* Public Types
32
****************************************************************************/
33
34
#ifndef __ASSEMBLY__
35
36
/****************************************************************************
37
* Public Data
38
****************************************************************************/
39
40
#undef EXTERN
41
#if defined(__cplusplus)
42
#define EXTERN extern "C"
43
extern
"C"
44
{
45
#else
46
#define EXTERN extern
47
#endif
48
49
/****************************************************************************
50
* Public Function Prototypes
51
****************************************************************************/
52
53
/****************************************************************************
54
* Name: board_bmi160_initialize
55
*
56
* Description:
57
* Initialize BMI160 i2c driver and register the BMI160 device.
58
*
59
****************************************************************************/
60
61
int
board_bmi160_initialize(
int
bus);
62
63
#ifdef CONFIG_SENSORS_BMI160_SCU
64
/****************************************************************************
65
* Name: bmi160_init
66
*
67
* Description:
68
* Initialize BMI160 accelerometer/gyro device
69
*
70
* Input Parameters:
71
* dev - An instance of the SPI or I2C interface to use to communicate
72
* with BMI160
73
* port - I2C port number
74
*
75
* Returned Value:
76
* Zero (OK) on success; a negated errno value on failure.
77
*
78
****************************************************************************/
79
80
#ifdef CONFIG_SENSORS_BMI160_SCU_I2C
81
int
bmi160_init(
struct
i2c_master_s *dev,
int
port);
82
#else
/* CONFIG_SENSORS_BMI160_SCU_SPI */
83
int
bmi160_init(
struct
spi_dev_s *dev);
84
#endif
85
86
/****************************************************************************
87
* Name: bmi160gyro_register
88
*
89
* Description:
90
* Register the BMI160 gyro character device as 'devpath'
91
*
92
* Input Parameters:
93
* devpath - The full path to the driver to register. E.g., "/dev/gyro"
94
* minor - The number of sequencer
95
* dev - An instance of the SPI or I2C interface to use to communicate
96
* with BMI160
97
* port - I2C port number
98
*
99
* Returned Value:
100
* Zero (OK) on success; a negated errno value on failure.
101
*
102
****************************************************************************/
103
104
#ifdef CONFIG_SENSORS_BMI160_SCU_I2C
105
int
bmi160gyro_register(
const
char
*devpath,
int
minor,
106
struct
i2c_master_s *dev,
int
port);
107
#else
/* CONFIG_SENSORS_BMI160_SCU_SPI */
108
int
bmi160gyro_register(
const
char
*devpath,
int
minor,
109
struct
spi_dev_s *dev);
110
#endif
111
112
/****************************************************************************
113
* Name: bmi160accel_register
114
*
115
* Description:
116
* Register the BMI160 accelerometer character device as 'devpath'
117
*
118
* Input Parameters:
119
* devpath - The full path to the driver to register. E.g., "/dev/accel"
120
* minor - The number of sequencer
121
* dev - An instance of the SPI or I2C interface to use to communicate
122
* with BMI160
123
* port - I2C port number
124
*
125
* Returned Value:
126
* Zero (OK) on success; a negated errno value on failure.
127
*
128
****************************************************************************/
129
130
#ifdef CONFIG_SENSORS_BMI160_SCU_I2C
131
int
bmi160accel_register(
const
char
*devpath,
int
minor,
132
struct
i2c_master_s *dev,
int
port);
133
#else
/* CONFIG_SENSORS_BMI160_SCU_SPI */
134
int
bmi160accel_register(
const
char
*devpath,
int
minor,
135
struct
spi_dev_s *dev);
136
#endif
137
138
#endif
/* CONFIG_SENSORS_BMI160_SCU */
139
140
#undef EXTERN
141
#if defined(__cplusplus)
142
}
143
#endif
144
145
#endif
/* __ASSEMBLY__ */
146
#endif
/* __BOARDS_ARM_CXD56XX_SPRESENSE_INCLUDE_CXD56_BMI160_H */
spresense
nuttx
boards
arm
cxd56xx
spresense
include
cxd56_bmi160.h
Generated by
1.9.4