diff --git a/src/bmi160/CMakeLists.txt b/src/bmi160/CMakeLists.txt index 8e342b74..5897de2f 100644 --- a/src/bmi160/CMakeLists.txt +++ b/src/bmi160/CMakeLists.txt @@ -1,6 +1,6 @@ upm_mixed_module_init (NAME bmi160 DESCRIPTION "Bosch Sensortec IMU (triaxial Accelerometer, Triaxial Gyroscope and Magnetometer Interface)" - C_HDR bmi160.h bosch_bmi160.h + C_HDR bmi160.h bmi160_defs.h bosch_bmi160.h C_SRC bmi160.c bosch_bmi160.c CPP_HDR bmi160.hpp CPP_SRC bmi160.cxx diff --git a/src/bmi160/bmi160.h b/src/bmi160/bmi160.h index 37640d2f..1a929a49 100644 --- a/src/bmi160/bmi160.h +++ b/src/bmi160/bmi160.h @@ -33,8 +33,7 @@ extern "C" { #endif #include "bosch_bmi160.h" - -#define BMI160_CHIP_ID 0xd1 +#include "bmi160_defs.h" /** * @brief BMI160 3-axis Accelerometer, Gyroscope and (optionally) a @@ -89,21 +88,6 @@ extern "C" { } *bmi160_context; - typedef enum { - BMI160_ACC_RANGE_2G = 0, // 2 Gravities - BMI160_ACC_RANGE_4G, - BMI160_ACC_RANGE_8G, - BMI160_ACC_RANGE_16G - } BMI160_ACC_RANGE_T; - - typedef enum { - BMI160_GYRO_RANGE_125 = 0, // 125 degrees/sec - BMI160_GYRO_RANGE_250, - BMI160_GYRO_RANGE_500, - BMI160_GYRO_RANGE_1000, - BMI160_GYRO_RANGE_2000 - } BMI160_GYRO_RANGE_T; - /** * bmi160 constructor * diff --git a/src/bmi160/bmi160_defs.h b/src/bmi160/bmi160_defs.h new file mode 100644 index 00000000..fd4277cb --- /dev/null +++ b/src/bmi160/bmi160_defs.h @@ -0,0 +1,51 @@ +/* + * Author: Jon Trulson + * Copyright (c) 2017 Intel Corporation. + * + * The MIT License + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#define BMI160_CHIP_ID 0xd1 + + typedef enum { + BMI160_ACC_RANGE_2G = 0, // 2 Gravities + BMI160_ACC_RANGE_4G, + BMI160_ACC_RANGE_8G, + BMI160_ACC_RANGE_16G + } BMI160_ACC_RANGE_T; + + typedef enum { + BMI160_GYRO_RANGE_125 = 0, // 125 degrees/sec + BMI160_GYRO_RANGE_250, + BMI160_GYRO_RANGE_500, + BMI160_GYRO_RANGE_1000, + BMI160_GYRO_RANGE_2000 + } BMI160_GYRO_RANGE_T; + +#ifdef __cplusplus +} +#endif diff --git a/src/bmi160/javaupm_bmi160.i b/src/bmi160/javaupm_bmi160.i index b4fe4bdd..57603b42 100644 --- a/src/bmi160/javaupm_bmi160.i +++ b/src/bmi160/javaupm_bmi160.i @@ -5,6 +5,7 @@ %include "../java_buffer.i" %include "std_string.i" +%include "bmi160_defs.h" %{ #include "bmi160.hpp" %} diff --git a/src/bmi160/jsupm_bmi160.i b/src/bmi160/jsupm_bmi160.i index 3c491e8a..88f2fe1b 100644 --- a/src/bmi160/jsupm_bmi160.i +++ b/src/bmi160/jsupm_bmi160.i @@ -5,6 +5,7 @@ %pointer_functions(float, floatp); +%include "bmi160_defs.h" %include "bmi160.hpp" %{ #include "bmi160.hpp" diff --git a/src/bmi160/pyupm_bmi160.i b/src/bmi160/pyupm_bmi160.i index 34873d6a..382c7bad 100644 --- a/src/bmi160/pyupm_bmi160.i +++ b/src/bmi160/pyupm_bmi160.i @@ -11,6 +11,7 @@ %pointer_functions(float, floatp); +%include "bmi160_defs.h" %include "bmi160.hpp" %{ #include "bmi160.hpp"