83 lines
2.3 KiB
C
83 lines
2.3 KiB
C
|
/*************************************************
|
||
|
File name : hal_interface_gsensor.c
|
||
|
Module : hal gsensor library interface
|
||
|
Author :
|
||
|
Version :
|
||
|
Created on : 2020-10-20
|
||
|
Description :
|
||
|
Data structure and function definitions required by
|
||
|
the gsensor interface
|
||
|
|
||
|
Modify History:
|
||
|
1. Date: Author: Modification:
|
||
|
2020-10-20 amir.liang create
|
||
|
*************************************************/
|
||
|
#include "pal.h"
|
||
|
#include "hal_product_config.h"
|
||
|
#include "hal_interface_gsensor.h"
|
||
|
#include "hal_interface.h"
|
||
|
|
||
|
|
||
|
#ifndef HAL_CFG_GSENSOR_TYPE
|
||
|
#error HAL_CFG_GSENSOR_TYPE undefined !!! Go to "hal_gernerate_product_config_h.sh" settings
|
||
|
#endif
|
||
|
|
||
|
|
||
|
#if (HAL_CFG_GSENSOR_TYPE == HAL_CFG_GSENSOR_TYPE_T31)
|
||
|
|
||
|
#elif (HAL_CFG_GSENSOR_TYPE == HAL_CFG_GSENSOR_TYPE_MCU)
|
||
|
#include "mcu_gsensor.h"
|
||
|
#elif (HAL_CFG_GSENSOR_TYPE == HAL_CFG_GSENSOR_TYPE_6441)
|
||
|
#include "atbm6441_gsensor.h"
|
||
|
#endif
|
||
|
|
||
|
|
||
|
ST_HAL_GSENSOR_INTERFACE gHalGSensorInterface[] =
|
||
|
{
|
||
|
#if (HAL_CFG_GSENSOR_TYPE == HAL_CFG_GSENSOR_TYPE_MCU)
|
||
|
{
|
||
|
.pfnInit = Mcu_Gsensor_Init,
|
||
|
.pfnDeinit = Mcu_Gsensor_Deinit,
|
||
|
.pfnSetSensitivity = Mcu_Gsensor_SetSensitivity,
|
||
|
.pfnGetSensitivity = Mcu_Gsensor_GetSensitivity,
|
||
|
.pfnSetSwitch = Mcu_Gsensor_SetSwitch,
|
||
|
.pfnGetSwitch = Mcu_Gsensor_GetSwitch,
|
||
|
.pfnGetValue = Mcu_Gsensor_GetValue,
|
||
|
},
|
||
|
#elif (HAL_CFG_GSENSOR_TYPE == HAL_CFG_GSENSOR_TYPE_6441)
|
||
|
{
|
||
|
.pfnInit = Atbm6441_Gsensor_Init,
|
||
|
.pfnDeinit = Atbm6441_Gsensor_Deinit,
|
||
|
.pfnSetSensitivity = Atbm6441_Gsensor_SetSensitivity,
|
||
|
.pfnGetSensitivity = Atbm6441_Gsensor_GetSensitivity,
|
||
|
.pfnSetSwitch = Atbm6441_Gsensor_SetSwitch,
|
||
|
.pfnGetSwitch = Atbm6441_Gsensor_GetSwitch,
|
||
|
.pfnGetValue = Atbm6441_Gsensor_GetValue,
|
||
|
},
|
||
|
#endif
|
||
|
};
|
||
|
|
||
|
|
||
|
ST_HAL_GSENSOR_INTERFACE * HAL_GSensor_GetInterface(int32_t Channel)
|
||
|
{
|
||
|
#if (HAL_CFG_GSENSOR_TYPE == HAL_TYPE_NONE)
|
||
|
return NULL;
|
||
|
|
||
|
#else
|
||
|
HAL_ITF_INDEX idx = HAL_SELF;
|
||
|
|
||
|
if ( Channel == HAL_CHANNEL_SELF )
|
||
|
{
|
||
|
idx = HAL_SELF;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
// 需要从NV获取通道号Channel对应的设备类型对应的hal
|
||
|
//idx = HAL_REMOTE_SUB1G;
|
||
|
return NULL;
|
||
|
}
|
||
|
return &gHalGSensorInterface[idx];
|
||
|
#endif
|
||
|
}
|
||
|
|