59 static DrvContextTypeDef HUMIDITY_SensorHandle[ HUMIDITY_SENSORS_MAX_NUM ];
60 static HUMIDITY_Data_t HUMIDITY_Data[ HUMIDITY_SENSORS_MAX_NUM ];
61 static HTS221_H_Data_t HTS221_H_0_Data;
71 static DrvStatusTypeDef BSP_HTS221_HUMIDITY_Init(
void **handle );
95 case HUMIDITY_SENSORS_AUTO:
98 if( BSP_HTS221_HUMIDITY_Init(handle) == COMPONENT_ERROR )
100 return COMPONENT_ERROR;
106 if( BSP_HTS221_HUMIDITY_Init(handle) == COMPONENT_ERROR )
108 return COMPONENT_ERROR;
119 static DrvStatusTypeDef BSP_HTS221_HUMIDITY_Init(
void **handle )
121 HUMIDITY_Drv_t *driver = NULL;
123 if(HUMIDITY_SensorHandle[ HTS221_H_0 ].isInitialized == 1)
126 return COMPONENT_ERROR;
131 return COMPONENT_ERROR;
135 HUMIDITY_SensorHandle[ HTS221_H_0 ].who_am_i = HTS221_WHO_AM_I_VAL;
136 HUMIDITY_SensorHandle[ HTS221_H_0 ].ifType = 0;
137 HUMIDITY_SensorHandle[ HTS221_H_0 ].address = HTS221_ADDRESS_DEFAULT;
138 HUMIDITY_SensorHandle[ HTS221_H_0 ].instance = HTS221_H_0;
139 HUMIDITY_SensorHandle[ HTS221_H_0 ].isInitialized = 0;
140 HUMIDITY_SensorHandle[ HTS221_H_0 ].isEnabled = 0;
141 HUMIDITY_SensorHandle[ HTS221_H_0 ].isCombo = 1;
142 HUMIDITY_SensorHandle[ HTS221_H_0 ].pData = (
void * )&HUMIDITY_Data[ HTS221_H_0 ];
143 HUMIDITY_SensorHandle[ HTS221_H_0 ].pVTable = (
void * )&HTS221_H_Drv;
144 HUMIDITY_SensorHandle[ HTS221_H_0 ].pExtVTable = 0;
146 HTS221_H_0_Data.comboData = &HTS221_Combo_Data[0];
147 HUMIDITY_Data[ HTS221_H_0 ].pComponentData = (
void * )&HTS221_H_0_Data;
148 HUMIDITY_Data[ HTS221_H_0 ].pExtData = 0;
150 *handle = (
void *)&HUMIDITY_SensorHandle[ HTS221_H_0 ];
152 driver = ( HUMIDITY_Drv_t * )((DrvContextTypeDef *)(*handle))->pVTable;
154 if ( driver->Init == NULL )
156 memset((*handle), 0,
sizeof(DrvContextTypeDef));
158 return COMPONENT_ERROR;
161 if ( driver->Init( (DrvContextTypeDef *)(*handle) ) == COMPONENT_ERROR )
163 memset((*handle), 0,
sizeof(DrvContextTypeDef));
165 return COMPONENT_ERROR;
181 DrvContextTypeDef *ctx = (DrvContextTypeDef *)(*handle);
182 HUMIDITY_Drv_t *driver = NULL;
186 return COMPONENT_ERROR;
189 driver = ( HUMIDITY_Drv_t * )ctx->pVTable;
191 if ( driver->DeInit == NULL )
193 return COMPONENT_ERROR;
196 if ( driver->DeInit( ctx ) == COMPONENT_ERROR )
198 return COMPONENT_ERROR;
201 memset(ctx, 0,
sizeof(DrvContextTypeDef));
219 DrvContextTypeDef *ctx = (DrvContextTypeDef *)handle;
220 HUMIDITY_Drv_t *driver = NULL;
224 return COMPONENT_ERROR;
227 driver = ( HUMIDITY_Drv_t * )ctx->pVTable;
229 if ( driver->Sensor_Enable == NULL )
231 return COMPONENT_ERROR;
234 if ( driver->Sensor_Enable( ctx ) == COMPONENT_ERROR )
236 return COMPONENT_ERROR;
253 DrvContextTypeDef *ctx = (DrvContextTypeDef *)handle;
254 HUMIDITY_Drv_t *driver = NULL;
258 return COMPONENT_ERROR;
261 driver = ( HUMIDITY_Drv_t * )ctx->pVTable;
263 if ( driver->Sensor_Disable == NULL )
265 return COMPONENT_ERROR;
268 if ( driver->Sensor_Disable( ctx ) == COMPONENT_ERROR )
270 return COMPONENT_ERROR;
286 DrvContextTypeDef *ctx = (DrvContextTypeDef *)handle;
290 return COMPONENT_ERROR;
293 if ( status == NULL )
295 return COMPONENT_ERROR;
298 *status = ctx->isInitialized;
313 DrvContextTypeDef *ctx = (DrvContextTypeDef *)handle;
317 return COMPONENT_ERROR;
320 if ( status == NULL )
322 return COMPONENT_ERROR;
325 *status = ctx->isEnabled;
340 DrvContextTypeDef *ctx = (DrvContextTypeDef *)handle;
344 return COMPONENT_ERROR;
347 if ( status == NULL )
349 return COMPONENT_ERROR;
352 *status = ctx->isCombo;
367 DrvContextTypeDef *ctx = (DrvContextTypeDef *)handle;
371 return COMPONENT_ERROR;
374 if ( instance == NULL )
376 return COMPONENT_ERROR;
379 *instance = ctx->instance;
396 DrvContextTypeDef *ctx = (DrvContextTypeDef *)handle;
397 HUMIDITY_Drv_t *driver = NULL;
401 return COMPONENT_ERROR;
404 driver = ( HUMIDITY_Drv_t * )ctx->pVTable;
406 if ( who_am_i == NULL )
408 return COMPONENT_ERROR;
410 if ( driver->Get_WhoAmI == NULL )
412 return COMPONENT_ERROR;
414 if ( driver->Get_WhoAmI( ctx, who_am_i ) == COMPONENT_ERROR )
416 return COMPONENT_ERROR;
433 DrvContextTypeDef *ctx = (DrvContextTypeDef *)handle;
434 HUMIDITY_Drv_t *driver = NULL;
438 return COMPONENT_ERROR;
441 driver = ( HUMIDITY_Drv_t * )ctx->pVTable;
443 if ( driver->Check_WhoAmI == NULL )
445 return COMPONENT_ERROR;
447 if ( driver->Check_WhoAmI( ctx ) == COMPONENT_ERROR )
449 return COMPONENT_ERROR;
467 DrvContextTypeDef *ctx = (DrvContextTypeDef *)handle;
468 HUMIDITY_Drv_t *driver = NULL;
472 return COMPONENT_ERROR;
475 driver = ( HUMIDITY_Drv_t * )ctx->pVTable;
477 if ( humidity == NULL )
479 return COMPONENT_ERROR;
481 if ( driver->Get_Hum == NULL )
483 return COMPONENT_ERROR;
485 if ( driver->Get_Hum( ctx, humidity ) == COMPONENT_ERROR )
487 return COMPONENT_ERROR;
505 DrvContextTypeDef *ctx = (DrvContextTypeDef *)handle;
506 HUMIDITY_Drv_t *driver = NULL;
510 return COMPONENT_ERROR;
513 driver = ( HUMIDITY_Drv_t * )ctx->pVTable;
517 return COMPONENT_ERROR;
519 if ( driver->Get_ODR == NULL )
521 return COMPONENT_ERROR;
523 if ( driver->Get_ODR( ctx, odr ) == COMPONENT_ERROR )
525 return COMPONENT_ERROR;
545 DrvContextTypeDef *ctx = (DrvContextTypeDef *)handle;
546 HUMIDITY_Drv_t *driver = NULL;
550 return COMPONENT_ERROR;
553 driver = ( HUMIDITY_Drv_t * )ctx->pVTable;
557 return COMPONENT_ERROR;
560 if ( driver->Read_Reg == NULL )
562 return COMPONENT_ERROR;
565 if ( driver->Read_Reg( ctx, reg, data ) == COMPONENT_ERROR )
567 return COMPONENT_ERROR;
586 DrvContextTypeDef *ctx = (DrvContextTypeDef *)handle;
587 HUMIDITY_Drv_t *driver = NULL;
591 return COMPONENT_ERROR;
594 driver = ( HUMIDITY_Drv_t * )ctx->pVTable;
596 if ( driver->Write_Reg == NULL )
598 return COMPONENT_ERROR;
601 if ( driver->Write_Reg( ctx, reg, data ) == COMPONENT_ERROR )
603 return COMPONENT_ERROR;
621 DrvContextTypeDef *ctx = (DrvContextTypeDef *)handle;
622 HUMIDITY_Drv_t *driver = NULL;
626 return COMPONENT_ERROR;
629 driver = ( HUMIDITY_Drv_t * )ctx->pVTable;
631 if ( driver->Get_DRDY_Status == NULL )
633 return COMPONENT_ERROR;
636 if ( driver->Get_DRDY_Status( ctx, status ) == COMPONENT_ERROR )
638 return COMPONENT_ERROR;
653 DrvContextTypeDef *ctx = (DrvContextTypeDef *)handle;
654 HUMIDITY_Drv_t *driver = NULL;
658 return COMPONENT_ERROR;
661 driver = ( HUMIDITY_Drv_t * )ctx->pVTable;
663 if ( driver->Set_ODR == NULL )
665 return COMPONENT_ERROR;
667 if ( driver->Set_ODR( ctx, odr ) == COMPONENT_ERROR )
669 return COMPONENT_ERROR;
687 DrvContextTypeDef *ctx = (DrvContextTypeDef *)handle;
688 HUMIDITY_Drv_t *driver = NULL;
692 return COMPONENT_ERROR;
695 driver = ( HUMIDITY_Drv_t * )ctx->pVTable;
697 if ( driver->Set_ODR_Value == NULL )
699 return COMPONENT_ERROR;
701 if ( driver->Set_ODR_Value( ctx, odr ) == COMPONENT_ERROR )
703 return COMPONENT_ERROR;
DrvStatusTypeDef BSP_HUMIDITY_Set_ODR_Value(void *handle, float odr)
Set the humidity sensor output data rate.
DrvStatusTypeDef BSP_HUMIDITY_Get_DRDY_Status(void *handle, uint8_t *status)
Get humidity data ready status.
This file contains definitions for the SensorTile_humidity.c.
DrvStatusTypeDef BSP_HUMIDITY_Init(HUMIDITY_ID_t id, void **handle)
Initialize a humidity sensor.
DrvStatusTypeDef BSP_HUMIDITY_Sensor_Disable(void *handle)
Disable humidity sensor.
DrvStatusTypeDef BSP_HUMIDITY_Write_Reg(void *handle, uint8_t reg, uint8_t data)
Write the data to register.
DrvStatusTypeDef BSP_HUMIDITY_Set_ODR(void *handle, SensorOdr_t odr)
Set the humidity sensor output data rate.
DrvStatusTypeDef BSP_HUMIDITY_IsEnabled(void *handle, uint8_t *status)
Check if the humidity sensor is enabled.
DrvStatusTypeDef BSP_HUMIDITY_DeInit(void **handle)
Deinitialize a humidity sensor.
DrvStatusTypeDef BSP_HUMIDITY_IsInitialized(void *handle, uint8_t *status)
Check if the humidity sensor is initialized.
DrvStatusTypeDef BSP_HUMIDITY_IsCombo(void *handle, uint8_t *status)
Check if the humidity sensor is combo.
DrvStatusTypeDef BSP_HUMIDITY_Get_Hum(void *handle, float *humidity)
Get the humidity value.
DrvStatusTypeDef BSP_HUMIDITY_Get_WhoAmI(void *handle, uint8_t *who_am_i)
Get the WHO_AM_I ID of the humidity sensor.
DrvStatusTypeDef Sensor_IO_I2C_Init(void)
Configures sensor SPI interface.
DrvStatusTypeDef BSP_HUMIDITY_Get_ODR(void *handle, float *odr)
Get the humidity sensor output data rate.
DrvStatusTypeDef BSP_HUMIDITY_Read_Reg(void *handle, uint8_t reg, uint8_t *data)
Read the data from register.
DrvStatusTypeDef BSP_HUMIDITY_Check_WhoAmI(void *handle)
Check the WHO_AM_I ID of the humidity sensor.
DrvStatusTypeDef BSP_HUMIDITY_Sensor_Enable(void *handle)
Enable humidity sensor.
DrvStatusTypeDef BSP_HUMIDITY_Get_Instance(void *handle, uint8_t *instance)
Get the humidity sensor instance.