wayne roberts
/
CB-LORA-MR_utility
test sending sensor results over lora radio. Accelerometer and temp/pressure.
Embed:
(wiki syntax)
Show/hide line numbers
x_nucleo_iks01a2_accelero.h
Go to the documentation of this file.
00001 /** 00002 ****************************************************************************** 00003 * @file x_nucleo_iks01a2_accelero.h 00004 * @author MEMS Application Team 00005 * @brief This file contains definitions for the x_nucleo_iks01a2_accelero.c 00006 ****************************************************************************** 00007 * @attention 00008 * 00009 * <h2><center>© COPYRIGHT(c) 2018 STMicroelectronics</center></h2> 00010 * 00011 * Redistribution and use in source and binary forms, with or without modification, 00012 * are permitted provided that the following conditions are met: 00013 * 1. Redistributions of source code must retain the above copyright notice, 00014 * this list of conditions and the following disclaimer. 00015 * 2. Redistributions in binary form must reproduce the above copyright notice, 00016 * this list of conditions and the following disclaimer in the documentation 00017 * and/or other materials provided with the distribution. 00018 * 3. Neither the name of STMicroelectronics nor the names of its contributors 00019 * may be used to endorse or promote products derived from this software 00020 * without specific prior written permission. 00021 * 00022 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00023 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00024 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00025 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 00026 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00027 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 00028 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 00029 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00030 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00031 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00032 * 00033 ****************************************************************************** 00034 */ 00035 00036 /* Define to prevent recursive inclusion -------------------------------------*/ 00037 #ifndef __X_NUCLEO_IKS01A2_ACCELERO_H 00038 #define __X_NUCLEO_IKS01A2_ACCELERO_H 00039 00040 #ifdef __cplusplus 00041 extern "C" { 00042 #endif 00043 00044 00045 00046 /* Includes ------------------------------------------------------------------*/ 00047 //#include "LSM6DSL_ACC_GYRO_driver_HL.h" 00048 //#include "LSM303AGR_ACC_driver_HL.h" 00049 #include "LIS2DH12_ACC_driver_HL.h" 00050 //#include "H3LIS331DL_ACC_driver_HL.h" 00051 //#include "LIS2DW12_ACC_driver_HL.h" 00052 //#include "AIS328DQ_ACC_driver_HL.h" 00053 //#include "AIS3624DQ_ACC_driver_HL.h" 00054 //#include "ISM303DAC_ACC_MAG_driver_HL.h" 00055 //#include "ISM330DLC_ACC_GYRO_driver_HL.h" 00056 //#include "IIS2DLPC_ACC_driver_HL.h" 00057 //#include "LSM6DSO_ACC_GYRO_driver_HL.h" 00058 //#include "LSM6DSR_ACC_GYRO_driver_HL.h" 00059 #include "x_nucleo_iks01a2.h" 00060 00061 00062 00063 /** @addtogroup BSP BSP 00064 * @{ 00065 */ 00066 00067 /** @addtogroup X_NUCLEO_IKS01A2 X_NUCLEO_IKS01A2 00068 * @{ 00069 */ 00070 00071 /** @addtogroup X_NUCLEO_IKS01A2_ACCELERO Accelero 00072 * @{ 00073 */ 00074 00075 /** @addtogroup X_NUCLEO_IKS01A2_ACCELERO_Public_Types Public types 00076 * @{ 00077 */ 00078 00079 typedef enum 00080 { 00081 ACCELERO_SENSORS_AUTO = -1, /* Always first element and equal to -1 */ 00082 LIS2DH12_0, /* DIL24 adapter. */ 00083 /* TEST_X_0 * For sensor availability test */ 00084 } ACCELERO_ID_t; 00085 00086 /** 00087 * @} 00088 */ 00089 00090 /** @addtogroup X_NUCLEO_IKS01A2_ACCELERO_Public_Defines Public defines 00091 * @{ 00092 */ 00093 00094 //#define ACCELERO_SENSORS_MAX_NUM 14 00095 #define ACCELERO_SENSORS_MAX_NUM 2 00096 00097 /** 00098 * @} 00099 */ 00100 00101 /** @addtogroup X_NUCLEO_IKS01A2_ACCELERO_Public_Function_Prototypes Public function prototypes 00102 * @{ 00103 */ 00104 00105 /* Sensor Configuration Functions */ 00106 DrvStatusTypeDef BSP_ACCELERO_Init(ACCELERO_ID_t id, void **handle); 00107 DrvStatusTypeDef BSP_ACCELERO_DeInit(void **handle); 00108 DrvStatusTypeDef BSP_ACCELERO_Sensor_Enable(void *handle); 00109 DrvStatusTypeDef BSP_ACCELERO_Sensor_Disable(void *handle); 00110 DrvStatusTypeDef BSP_ACCELERO_IsInitialized(void *handle, uint8_t *status); 00111 DrvStatusTypeDef BSP_ACCELERO_IsEnabled(void *handle, uint8_t *status); 00112 DrvStatusTypeDef BSP_ACCELERO_IsCombo(void *handle, uint8_t *status); 00113 DrvStatusTypeDef BSP_ACCELERO_Get_Instance(void *handle, uint8_t *instance); 00114 DrvStatusTypeDef BSP_ACCELERO_Get_WhoAmI(void *handle, uint8_t *who_am_i); 00115 DrvStatusTypeDef BSP_ACCELERO_Check_WhoAmI(void *handle); 00116 DrvStatusTypeDef BSP_ACCELERO_Get_Axes(void *handle, SensorAxes_t *acceleration); 00117 DrvStatusTypeDef BSP_ACCELERO_Get_AxesRaw(void *handle, SensorAxesRaw_t *value); 00118 DrvStatusTypeDef BSP_ACCELERO_Get_Sensitivity(void *handle, float *sensitivity); 00119 DrvStatusTypeDef BSP_ACCELERO_Get_ODR(void *handle, float *odr); 00120 DrvStatusTypeDef BSP_ACCELERO_Set_ODR(void *handle, SensorOdr_t odr); 00121 DrvStatusTypeDef BSP_ACCELERO_Set_ODR_Value(void *handle, float odr); 00122 DrvStatusTypeDef BSP_ACCELERO_Get_FS(void *handle, float *fullScale); 00123 DrvStatusTypeDef BSP_ACCELERO_Set_FS(void *handle, SensorFs_t fullScale); 00124 DrvStatusTypeDef BSP_ACCELERO_Set_FS_Value(void *handle, float fullScale); 00125 DrvStatusTypeDef BSP_ACCELERO_Get_Axes_Status(void *handle, uint8_t *xyz_enabled); 00126 DrvStatusTypeDef BSP_ACCELERO_Set_Axes_Status(void *handle, uint8_t *enable_xyz); 00127 DrvStatusTypeDef BSP_ACCELERO_Read_Reg(void *handle, uint8_t reg, uint8_t *data); 00128 DrvStatusTypeDef BSP_ACCELERO_Write_Reg(void *handle, uint8_t reg, uint8_t data); 00129 DrvStatusTypeDef BSP_ACCELERO_Get_DRDY_Status(void *handle, uint8_t *status); 00130 00131 DrvStatusTypeDef BSP_ACCELERO_Enable_Free_Fall_Detection_Ext(void *handle, SensorIntPin_t int_pin); 00132 DrvStatusTypeDef BSP_ACCELERO_Disable_Free_Fall_Detection_Ext(void *handle); 00133 DrvStatusTypeDef BSP_ACCELERO_Get_Free_Fall_Detection_Status_Ext(void *handle, uint8_t *status); 00134 DrvStatusTypeDef BSP_ACCELERO_Set_Free_Fall_Threshold_Ext(void *handle, uint8_t thr); 00135 00136 DrvStatusTypeDef BSP_ACCELERO_Enable_Pedometer_Ext(void *handle); 00137 DrvStatusTypeDef BSP_ACCELERO_Disable_Pedometer_Ext(void *handle); 00138 DrvStatusTypeDef BSP_ACCELERO_Get_Pedometer_Status_Ext(void *handle, uint8_t *status); 00139 DrvStatusTypeDef BSP_ACCELERO_Get_Step_Count_Ext(void *handle, uint16_t *step_count); 00140 DrvStatusTypeDef BSP_ACCELERO_Reset_Step_Counter_Ext(void *handle); 00141 DrvStatusTypeDef BSP_ACCELERO_Set_Pedometer_Threshold_Ext(void *handle, uint8_t thr); 00142 00143 DrvStatusTypeDef BSP_ACCELERO_Enable_Tilt_Detection_Ext(void *handle, SensorIntPin_t int_pin); 00144 DrvStatusTypeDef BSP_ACCELERO_Disable_Tilt_Detection_Ext(void *handle); 00145 DrvStatusTypeDef BSP_ACCELERO_Get_Tilt_Detection_Status_Ext(void *handle, uint8_t *status); 00146 00147 DrvStatusTypeDef BSP_ACCELERO_Enable_Wake_Up_Detection_Ext(void *handle, SensorIntPin_t int_pin); 00148 DrvStatusTypeDef BSP_ACCELERO_Disable_Wake_Up_Detection_Ext(void *handle); 00149 DrvStatusTypeDef BSP_ACCELERO_Get_Wake_Up_Detection_Status_Ext(void *handle, uint8_t *status); 00150 DrvStatusTypeDef BSP_ACCELERO_Set_Wake_Up_Threshold_Ext(void *handle, uint8_t thr); 00151 00152 DrvStatusTypeDef BSP_ACCELERO_Enable_Single_Tap_Detection_Ext(void *handle, SensorIntPin_t int_pin); 00153 DrvStatusTypeDef BSP_ACCELERO_Disable_Single_Tap_Detection_Ext(void *handle); 00154 DrvStatusTypeDef BSP_ACCELERO_Get_Single_Tap_Detection_Status_Ext(void *handle, uint8_t *status); 00155 DrvStatusTypeDef BSP_ACCELERO_Enable_Double_Tap_Detection_Ext(void *handle, SensorIntPin_t int_pin); 00156 DrvStatusTypeDef BSP_ACCELERO_Disable_Double_Tap_Detection_Ext(void *handle); 00157 DrvStatusTypeDef BSP_ACCELERO_Get_Double_Tap_Detection_Status_Ext(void *handle, uint8_t *status); 00158 DrvStatusTypeDef BSP_ACCELERO_Set_Tap_Threshold_Ext(void *handle, uint8_t thr); 00159 DrvStatusTypeDef BSP_ACCELERO_Set_Tap_Shock_Time_Ext(void *handle, uint8_t time); 00160 DrvStatusTypeDef BSP_ACCELERO_Set_Tap_Quiet_Time_Ext(void *handle, uint8_t time); 00161 DrvStatusTypeDef BSP_ACCELERO_Set_Tap_Duration_Time_Ext(void *handle, uint8_t time); 00162 00163 DrvStatusTypeDef BSP_ACCELERO_Enable_6D_Orientation_Ext(void *handle, SensorIntPin_t int_pin); 00164 DrvStatusTypeDef BSP_ACCELERO_Disable_6D_Orientation_Ext(void *handle); 00165 DrvStatusTypeDef BSP_ACCELERO_Get_6D_Orientation_Status_Ext(void *handle, uint8_t *status); 00166 DrvStatusTypeDef BSP_ACCELERO_Get_6D_Orientation_XL_Ext(void *handle, uint8_t *xl); 00167 DrvStatusTypeDef BSP_ACCELERO_Get_6D_Orientation_XH_Ext(void *handle, uint8_t *xh); 00168 DrvStatusTypeDef BSP_ACCELERO_Get_6D_Orientation_YL_Ext(void *handle, uint8_t *yl); 00169 DrvStatusTypeDef BSP_ACCELERO_Get_6D_Orientation_YH_Ext(void *handle, uint8_t *yh); 00170 DrvStatusTypeDef BSP_ACCELERO_Get_6D_Orientation_ZL_Ext(void *handle, uint8_t *zl); 00171 DrvStatusTypeDef BSP_ACCELERO_Get_6D_Orientation_ZH_Ext(void *handle, uint8_t *zh); 00172 00173 DrvStatusTypeDef BSP_ACCELERO_Get_Event_Status_Ext(void *handle, ACCELERO_Event_Status_t *status); 00174 00175 DrvStatusTypeDef BSP_ACCELERO_FIFO_Set_ODR_Value_Ext(void *handle, float odr); 00176 DrvStatusTypeDef BSP_ACCELERO_FIFO_Get_Full_Status_Ext(void *handle, uint8_t *status); 00177 DrvStatusTypeDef BSP_ACCELERO_FIFO_Get_Empty_Status_Ext(void *handle, uint8_t *status); 00178 DrvStatusTypeDef BSP_ACCELERO_FIFO_Get_Overrun_Status_Ext(void *handle, uint8_t *status); 00179 DrvStatusTypeDef BSP_ACCELERO_FIFO_Get_Pattern_Ext(void *handle, uint16_t *pattern); 00180 DrvStatusTypeDef BSP_ACCELERO_FIFO_Get_Data_Ext(void *handle, uint8_t *aData); 00181 DrvStatusTypeDef BSP_ACCELERO_FIFO_Get_Num_Of_Samples_Ext(void *handle, uint16_t *nSamples); 00182 DrvStatusTypeDef BSP_ACCELERO_FIFO_Set_Decimation_Ext(void *handle, uint8_t decimation); 00183 DrvStatusTypeDef BSP_ACCELERO_FIFO_Get_Axis_Ext(void *handle, int32_t *acceleration); 00184 DrvStatusTypeDef BSP_ACCELERO_FIFO_Set_Mode_Ext(void *handle, uint8_t mode); 00185 DrvStatusTypeDef BSP_ACCELERO_FIFO_Set_INT1_FIFO_Full_Ext(void *handle, uint8_t status); 00186 DrvStatusTypeDef BSP_ACCELERO_FIFO_Set_INT1_FIFO_Overrun_Ext(void *handle, uint8_t status); 00187 DrvStatusTypeDef BSP_ACCELERO_FIFO_Set_Watermark_Level_Ext(void *handle, uint16_t watermark); 00188 DrvStatusTypeDef BSP_ACCELERO_FIFO_Set_Stop_On_Fth_Ext(void *handle, uint8_t status); 00189 00190 DrvStatusTypeDef BSP_ACCELERO_Set_Interrupt_Latch_Ext(void *handle, uint8_t status); 00191 DrvStatusTypeDef BSP_ACCELERO_Set_SelfTest_Ext(void *handle, uint8_t status); 00192 00193 DrvStatusTypeDef BSP_ACCELERO_Get_SuperRawAxes_Ext(void *handle, int16_t *acceleration, ACTIVE_AXIS_t axis); 00194 DrvStatusTypeDef BSP_ACCELERO_Get_OpMode_Ext(void *handle, OP_MODE_t *opMode); 00195 DrvStatusTypeDef BSP_ACCELERO_Set_OpMode_Ext(void *handle, OP_MODE_t opMode); 00196 DrvStatusTypeDef BSP_ACCELERO_Get_Active_Axis_Ext(void *handle, ACTIVE_AXIS_t *axis); 00197 DrvStatusTypeDef BSP_ACCELERO_Set_Active_Axis_Ext(void *handle, ACTIVE_AXIS_t axis); 00198 DrvStatusTypeDef BSP_ACCELERO_Enable_HP_Filter_Ext(void *handle); 00199 DrvStatusTypeDef BSP_ACCELERO_Disable_HP_Filter_Ext(void *handle); 00200 DrvStatusTypeDef BSP_ACCELERO_ClearDRDY_Ext(void *handle, ACTIVE_AXIS_t axisActive); 00201 DrvStatusTypeDef BSP_ACCELERO_Set_INT1_DRDY_Ext(void *handle, INT1_DRDY_CONFIG_t drdyStatus); 00202 DrvStatusTypeDef BSP_ACCELERO_Set_DRDY_Mode_Ext(void *handle, DRDY_MODE_t drdyMode); 00203 00204 DrvStatusTypeDef BSP_LSM303AGR_AVAIL_Ext(void **handle); 00205 DrvStatusTypeDef BSP_LSM6DSL_AVAIL_Ext(void **handle); 00206 DrvStatusTypeDef BSP_LIS2DH12_AVAIL_Ext(void **handle); 00207 DrvStatusTypeDef BSP_LSM6DSL_DIL24_AVAIL_Ext(void **handle); 00208 00209 /** 00210 * @} 00211 */ 00212 00213 /** 00214 * @} 00215 */ 00216 00217 /** 00218 * @} 00219 */ 00220 00221 /** 00222 * @} 00223 */ 00224 00225 #ifdef __cplusplus 00226 } 00227 #endif 00228 00229 #endif /* __X_NUCLEO_IKS01A2_ACCELERO_H */ 00230 00231 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
Generated on Tue Jul 12 2022 16:29:50 by 1.7.2