Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
component.h
00001 /** 00002 ****************************************************************************** 00003 * @file component.h 00004 * @author MEMS Application Team 00005 * @brief This header file contains the functions prototypes common for all 00006 * drivers 00007 ****************************************************************************** 00008 * @attention 00009 * 00010 * <h2><center>© COPYRIGHT(c) 2018 STMicroelectronics</center></h2> 00011 * 00012 * Redistribution and use in source and binary forms, with or without modification, 00013 * are permitted provided that the following conditions are met: 00014 * 1. Redistributions of source code must retain the above copyright notice, 00015 * this list of conditions and the following disclaimer. 00016 * 2. Redistributions in binary form must reproduce the above copyright notice, 00017 * this list of conditions and the following disclaimer in the documentation 00018 * and/or other materials provided with the distribution. 00019 * 3. Neither the name of STMicroelectronics nor the names of its contributors 00020 * may be used to endorse or promote products derived from this software 00021 * without specific prior written permission. 00022 * 00023 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00024 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00025 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00026 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 00027 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00028 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 00029 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 00030 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00031 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00032 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00033 * 00034 ****************************************************************************** 00035 */ 00036 00037 /* Define to prevent recursive inclusion -------------------------------------*/ 00038 #ifndef __COMPONENT_H 00039 #define __COMPONENT_H 00040 00041 #ifdef __cplusplus 00042 extern "C" { 00043 #endif 00044 00045 00046 00047 /* Includes ------------------------------------------------------------------*/ 00048 00049 #include <stdint.h> 00050 00051 /** @addtogroup BSP BSP 00052 * @{ 00053 */ 00054 00055 /** @addtogroup COMPONENTS COMPONENTS 00056 * @{ 00057 */ 00058 00059 /** @addtogroup COMMON COMMON 00060 * @{ 00061 */ 00062 00063 /** @addtogroup COMPONENT COMPONENT 00064 * @{ 00065 */ 00066 00067 /** @addtogroup COMPONENT_Public_Constants Public constants 00068 * @{ 00069 */ 00070 00071 /** 00072 * @brief NULL pointer definition 00073 */ 00074 #ifndef NULL 00075 #define NULL ( void * )0 00076 #endif 00077 00078 /** 00079 * @} 00080 */ 00081 00082 /** @addtogroup COMPONENT_Public_Types COMPONENT Public Types 00083 * @{ 00084 */ 00085 00086 /** 00087 * @brief Component's Context structure definition. 00088 */ 00089 typedef struct 00090 { 00091 00092 /* Identity */ 00093 uint8_t who_am_i; 00094 00095 /* Configuration */ 00096 uint8_t ifType; /* 0 means I2C, 1 means SPI, etc. */ 00097 uint8_t address; /* Sensor I2C address (NOTE: Not a unique sensor ID). */ 00098 uint8_t spiDevice; /* Sensor Chip Select for SPI Bus */ 00099 uint8_t instance; /* Sensor instance (NOTE: Sensor ID unique only within its class). */ 00100 uint8_t isInitialized; /* Sensor setup done. */ 00101 uint8_t isEnabled; /* Sensor ON. */ 00102 uint8_t isCombo; /* Combo sensor (component consists of more sensors). */ 00103 00104 /* Pointer to the Data */ 00105 void *pData; 00106 00107 /* Pointer to the Virtual Table */ 00108 void *pVTable; 00109 /* Pointer to the Extended Virtual Table */ 00110 void *pExtVTable; 00111 } DrvContextTypeDef; 00112 00113 00114 00115 /** 00116 * @brief Component's Status enumerator definition. 00117 */ 00118 typedef enum 00119 { 00120 COMPONENT_OK = 0, 00121 COMPONENT_ERROR, 00122 COMPONENT_TIMEOUT, 00123 COMPONENT_NOT_IMPLEMENTED 00124 } DrvStatusTypeDef; 00125 00126 /** 00127 * @} 00128 */ 00129 00130 /** 00131 * @} 00132 */ 00133 00134 /** 00135 * @} 00136 */ 00137 00138 /** 00139 * @} 00140 */ 00141 00142 /** 00143 * @} 00144 */ 00145 00146 #ifdef __cplusplus 00147 } 00148 #endif 00149 00150 #endif /* __COMPONENT_H */ 00151 00152 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
Generated on Tue Jul 12 2022 16:29:49 by
