BMI160 Initial

Dependents:   MAX32630HSP3_IMU_HelloWorld MAX32630HSP3_IMU_HelloWorld MAX32630HSP3_Pitch_Charles Maxim_Squeeks

Revision:
9:ca6b5fecdd63
Parent:
8:a89b529b1d96
Child:
10:9e219f2f1fb3
--- a/bmi160.h	Tue Dec 20 00:10:04 2016 +0000
+++ b/bmi160.h	Tue Dec 20 01:08:33 2016 +0000
@@ -279,6 +279,18 @@
         SENS_16G,     ///<Accelerometer range +-16G
     };
     
+    ///Structure for holding accelerometer configuration
+    struct AccConfig
+    {
+        AccRange range;
+        AccUnderSampling us;
+        AccBandWidthParam bwp;
+        AccOutPutDataRate odr;
+    };
+    
+    ///Accelerometer default configuration
+    static const AccConfig DEFAULT_ACC_CONFIG;
+    
     ///BMI160 Power Modes
     enum PowerModes
     {
@@ -419,36 +431,26 @@
     ///On Entry:
     ///@param[in] axis - Sensor axis
     ///@param[in] data - AxisData structure
+    ///@param[in] accConfig - Accelerometer configuration structure
     ///
     ///On Exit:
     ///@param[out] data - Structure holds raw and scaled axis data
     ///
     ///@returns 0 on success, non 0 on failure
-    int32_t getAccAxis(SensorAxis axis, AxisData &data);
+    int32_t getAccAxis(SensorAxis axis, AxisData &data, AccConfig accConfig);
     
     
     ///@brief Get accelerometer xyz axis as float.\n
     ///
     ///On Entry:
     ///@param[in] data - SensorData structure
+    ///@param[in] accConfig - Accelerometer configuration structure
     ///
     ///On Exit:
     ///@param[out] data - Structure holds raw and scaled data for all three axis
     ///
     ///@returns 0 on success, non 0 on failure
-    int32_t getAccXYZ(SensorData &data);
-
-    
-protected:
-
-    struct AccConfig
-    {
-        AccRange range;
-        AccUnderSampling us;
-        AccBandWidthParam bwp;
-        AccOutPutDataRate odr;
-    };
-    
+    int32_t getAccXYZ(SensorData &data, AccConfig accConfig);  
 };