/*******************************************************************************
|
* File Name : Module.h
|
* Description :
|
* Created on : 2018Äê8ÔÂ5ÈÕ
|
* Author : www.hido-studio.com
|
*******************************************************************************/
|
|
#ifndef _MODULE_H_
|
#define _MODULE_H_
|
/*******************************************************************************
|
* Include Files *
|
*******************************************************************************/
|
#include "HIDO_TypeDef.h"
|
//#include "GPS.h"
|
|
/*******************************************************************************
|
* Macro *
|
*******************************************************************************/
|
#define MODULE_IMEI_SIZE 16
|
#define MODULE_IMSI_SIZE 16
|
#define MODULE_CCID_SIZE 25
|
|
/*******************************************************************************
|
* Type Definition *
|
*******************************************************************************/
|
typedef enum
|
{
|
MODULE_MAIN,
|
MODULE_GNSS,
|
MODULE_GSM,
|
|
MODULE_ALL,
|
} E_Module;
|
|
typedef enum
|
{
|
MODULE_STATE_SLEEP,
|
MODULE_STATE_WAKEUP,
|
MODULE_STATE_POWER_OFF,
|
MODULE_STATE_POWER_ON,
|
} E_ModuleState;
|
|
typedef struct
|
{
|
HIDO_DOUBLE m_dLon;
|
HIDO_DOUBLE m_dLat;
|
HIDO_UINT16 m_u16Year;
|
HIDO_UINT8 m_u8Mon;
|
HIDO_UINT8 m_u8Day;
|
HIDO_UINT8 m_u8Hour;
|
HIDO_UINT8 m_u8Min;
|
HIDO_UINT8 m_u8Sec;
|
}ST_LBSLocation;
|
|
typedef struct
|
{
|
HIDO_INT32 m_i32Reserve;
|
} ST_GNSSLocation;
|
typedef HIDO_VOID (*FN_SignalIntensityCallback)(HIDO_UINT32 _u32SignalIntensity, HIDO_VOID *_pArg);
|
typedef HIDO_VOID (*FN_LBSLocationCallback)(ST_LBSLocation *_pstLBSLocation, HIDO_VOID *_pArg);
|
typedef HIDO_VOID (*FN_PowerEventCallback)(E_Module _eModule, E_ModuleState _eModuleState, HIDO_VOID *_pArg);
|
|
/*******************************************************************************
|
* Global Function *
|
*******************************************************************************/
|
|
/*******************************************************************************
|
* Function Name : Module_SignalIntensityResult
|
* Description : ÐźÅÇ¿¶ÈÒì²½½á¹û֪ͨ
|
* Input : _u32SignalIntensity ÐźÅÇ¿¶È
|
* Output : None
|
* Return : None
|
* Author : www.hido-studio.com
|
* Modified Date: : 2018Äê8ÔÂ5ÈÕ
|
*******************************************************************************/
|
HIDO_INT32 Module_SignalIntensityResult(HIDO_UINT32 _u32SignalIntensity);
|
|
/*******************************************************************************
|
* Function Name : Module_GetSignalIntensityAsync
|
* Description : ÐźÅÇ¿¶ÈÒì²½»ñÈ¡
|
* Input : _fnGetSignalIntensity Ò첽֪ͨ»Øµ÷
|
* Output : None
|
* Return : None
|
* Author : www.hido-studio.com
|
* Modified Date: : 2018Äê8ÔÂ5ÈÕ
|
*******************************************************************************/
|
HIDO_INT32 Module_GetSignalIntensityAsync(FN_SignalIntensityCallback _fnGetSignalIntensity, HIDO_VOID *_pArg);
|
|
/*******************************************************************************
|
* Function Name : Module_SignalIntensityNeedRequest
|
* Description : ÊÇ·ñÐèÒªÒì²½»ñÈ¡ÐźÅÇ¿¶È
|
* Input : None
|
* Output : None
|
* Return : None
|
* Author : www.hido-studio.com
|
* Modified Date: : 2018Äê8ÔÂ5ÈÕ
|
*******************************************************************************/
|
HIDO_BOOL Module_SignalIntensityNeedRequest(void);
|
|
/*******************************************************************************
|
* Function Name : Module_LBSLocationResult
|
* Description :
|
* Input :
|
* Output : None
|
* Return : None
|
* Author : www.hido-studio.com
|
* Modified Date: : 2018Äê8ÔÂ5ÈÕ
|
*******************************************************************************/
|
HIDO_INT32 Module_LBSLocationResult(ST_LBSLocation *_pstLBSLocation);
|
|
/*******************************************************************************
|
* Function Name : Module_GetLBSLocationAsync
|
* Description :
|
* Input :
|
* Output : None
|
* Return : None
|
* Author : www.hido-studio.com
|
* Modified Date: : 2018Äê8ÔÂ5ÈÕ
|
*******************************************************************************/
|
HIDO_INT32 Module_GetLBSLocationAsync(FN_LBSLocationCallback _fnGetLBSLocation, HIDO_VOID *_pArg);
|
|
/*******************************************************************************
|
* Function Name : Module_LBSLocationNeedRequest
|
* Description :
|
* Input : None
|
* Output : None
|
* Return : None
|
* Author : www.hido-studio.com
|
* Modified Date: : 2018Äê8ÔÂ5ÈÕ
|
*******************************************************************************/
|
HIDO_BOOL Module_LBSLocationNeedRequest(void);
|
|
/*******************************************************************************
|
* Function Name : Module_GetIMEI
|
* Description : »ñÈ¡IMEI½Ó¿Ú
|
* Input : None
|
* Output : _acIMEI IMEI
|
* Return : None
|
* Author : www.hido-studio.com
|
* Modified Date: : 2018Äê8ÔÂ5ÈÕ
|
*******************************************************************************/
|
HIDO_CHAR *Module_GetIMEI(HIDO_VOID);
|
|
/*******************************************************************************
|
* Function Name : Module_SetIMEI
|
* Description : ÉèÖÃIMEI½Ó¿Ú
|
* Input : _pcIMEI IMEI
|
* _u32IMEILen ³¤¶È
|
* Output : None
|
* Return : None
|
* Author : www.hido-studio.com
|
* Modified Date: : 2018Äê8ÔÂ5ÈÕ
|
*******************************************************************************/
|
HIDO_INT32 Module_SetIMEI(HIDO_CHAR *_pcIMEI, HIDO_UINT32 _u32IMEILen);
|
|
/*******************************************************************************
|
* Function Name : Module_GetIMSI
|
* Description : ÉèÖÃIMEI½Ó¿Ú
|
* Input : _pcIMSI IMSI
|
* _u32IMSILen ³¤¶È
|
* Output : None
|
* Return : None
|
* Author : www.hido-studio.com
|
* Modified Date: : 2018Äê8ÔÂ5ÈÕ
|
*******************************************************************************/
|
HIDO_CHAR *Module_GetIMSI(HIDO_VOID);
|
|
/*******************************************************************************
|
* Function Name : Module_SetIMSI
|
* Description : ÉèÖÃIMSI½Ó¿Ú
|
* Input : _pcIMSI IMSI
|
* _u32IMSILen ³¤¶È
|
* Output : None
|
* Return : None
|
* Author : www.hido-studio.com
|
* Modified Date: : 2018Äê8ÔÂ5ÈÕ
|
*******************************************************************************/
|
HIDO_INT32 Module_SetIMSI(HIDO_CHAR *_pcIMSI, HIDO_UINT32 _u32IMSILen);
|
|
/*******************************************************************************
|
* Function Name : Module_GetCCID
|
* Description : »ñÈ¡SIM¿¨ºÅ
|
* Input : None
|
* Output : None
|
* Return : SIM¿¨ºÅ
|
* Author : www.hido-studio.com
|
* Modified Date: : 2018Äê8ÔÂ5ÈÕ
|
*******************************************************************************/
|
HIDO_CHAR *Module_GetCCID(HIDO_VOID);
|
|
/*******************************************************************************
|
* Function Name : Module_SetCCID
|
* Description : ÉèÖÃIMSI½Ó¿Ú
|
* Input : _pcIMSI IMSI
|
* _u32IMSILen ³¤¶È
|
* Output : None
|
* Return : None
|
* Author : www.hido-studio.com
|
* Modified Date: : 2018Äê8ÔÂ5ÈÕ
|
*******************************************************************************/
|
HIDO_INT32 Module_SetCCID(HIDO_CHAR *_pcCCID, HIDO_UINT32 _u32CCIDLen);
|
|
/*******************************************************************************
|
* Function Name : Module_Sleep
|
* Description : ˯Ãß½Ó¿Ú
|
* Input :
|
* Output : None
|
* Return : None
|
* Author : www.hido-studio.com
|
* Modified Date: : 2018Äê8ÔÂ5ÈÕ
|
*******************************************************************************/
|
HIDO_INT32 Module_SetPowerEventCallback(FN_PowerEventCallback _fnPowerCallback, HIDO_VOID *_pArg);
|
|
/*******************************************************************************
|
* Function Name : Module_Sleep
|
* Description : ˯Ãß½Ó¿Ú
|
* Input :
|
* Output : None
|
* Return : None
|
* Author : www.hido-studio.com
|
* Modified Date: : 2018Äê8ÔÂ5ÈÕ
|
*******************************************************************************/
|
HIDO_INT32 Module_Sleep(E_Module _eModule);
|
|
/*******************************************************************************
|
* Function Name : Module_WakeUp
|
* Description : »½ÐѽӿÚ
|
* Input :
|
* Output : None
|
* Return : None
|
* Author : www.hido-studio.com
|
* Modified Date: : 2018Äê8ÔÂ5ÈÕ
|
*******************************************************************************/
|
HIDO_INT32 Module_WakeUp(E_Module _eModule);
|
|
/*******************************************************************************
|
* Function Name : Module_PowerEvent
|
* Description :
|
* Input :
|
* Output : None
|
* Return : None
|
* Author : www.hido-studio.com
|
* Modified Date: : 2018Äê8ÔÂ5ÈÕ
|
*******************************************************************************/
|
HIDO_INT32 Module_PowerEvent(E_Module _eModule, E_ModuleState _eModuleState);
|
|
/*******************************************************************************
|
* Function Name : Module_PowerOff
|
* Description : ¹Ø»ú½Ó¿Ú
|
* Input :
|
* Output : None
|
* Return : None
|
* Author : www.hido-studio.com
|
* Modified Date: : 2018Äê8ÔÂ5ÈÕ
|
*******************************************************************************/
|
HIDO_INT32 Module_PowerOff(E_Module _eModule);
|
|
/*******************************************************************************
|
* Function Name : Module_PowerOn
|
* Description : ¿ª»ú½Ó¿Ú
|
* Input :
|
* Output : None
|
* Return : None
|
* Author : www.hido-studio.com
|
* Modified Date: : 2018Äê8ÔÂ5ÈÕ
|
*******************************************************************************/
|
HIDO_INT32 Module_PowerOn(E_Module _eModule);
|
|
/*******************************************************************************
|
* Function Name : Module_NeedSleep
|
* Description : ˯Ãß½Ó¿Ú
|
* Input :
|
* Output : None
|
* Return : None
|
* Author : www.hido-studio.com
|
* Modified Date: : 2018Äê8ÔÂ5ÈÕ
|
*******************************************************************************/
|
HIDO_BOOL Module_NeedSleep(E_Module _eModule);
|
|
/*******************************************************************************
|
* Function Name : Module_WakeUp
|
* Description : »½ÐѽӿÚ
|
* Input :
|
* Output : None
|
* Return : None
|
* Author : www.hido-studio.com
|
* Modified Date: : 2018Äê8ÔÂ5ÈÕ
|
*******************************************************************************/
|
HIDO_BOOL Module_NeedWakeUp(E_Module _eModule);
|
|
/*******************************************************************************
|
* Function Name : Module_PowerOff
|
* Description : ¹Ø»ú½Ó¿Ú
|
* Input :
|
* Output : None
|
* Return : None
|
* Author : www.hido-studio.com
|
* Modified Date: : 2018Äê8ÔÂ5ÈÕ
|
*******************************************************************************/
|
HIDO_BOOL Module_NeedPowerOff(E_Module _eModule);
|
|
/*******************************************************************************
|
* Function Name : Module_PowerOn
|
* Description : ¿ª»ú½Ó¿Ú
|
* Input :
|
* Output : None
|
* Return : None
|
* Author : www.hido-studio.com
|
* Modified Date: : 2018Äê8ÔÂ5ÈÕ
|
*******************************************************************************/
|
HIDO_BOOL Module_NeedPowerOn(E_Module _eModule);
|
|
/*******************************************************************************
|
* Function Name : Module_GetSignalIntensity
|
* Description : »ñÈ¡×îºóÒ»´Î»º´æµÄÐźÅÏÞ¶È
|
* Input : None
|
* Output : None
|
* Return : ÐźÅÇ¿¶È
|
* Author : www.hido-studio.com
|
* Modified Date: : 2018Äê8ÔÂ5ÈÕ
|
*******************************************************************************/
|
HIDO_UINT32 Module_GetSignalIntensity(void);
|
|
/*******************************************************************************
|
* Function Name : Module_RunATCmdResult
|
* Description : Óû§ATÃüÁîÔËÐнá¹û
|
* Input : None
|
* Output : None
|
* Return : None
|
* Author : www.hido-studio.com
|
* Modified Date: : 2018Äê8ÔÂ5ÈÕ
|
*******************************************************************************/
|
HIDO_INT32 Module_RunATCmdResult(HIDO_DataStruct * _pstATResponse);
|
|
/*******************************************************************************
|
* Function Name : Module_RunATCmdEnable
|
* Description : ÅжÏÊÇ·ñÐèÒªÓû§µÄATÃüÁî
|
* Input : None
|
* Output : None
|
* Return : None
|
* Author : www.hido-studio.com
|
* Modified Date: : 2018Äê8ÔÂ5ÈÕ
|
*******************************************************************************/
|
HIDO_BOOL Module_RunATCmdEnable(HIDO_VOID);
|
|
/*******************************************************************************
|
* Function Name : Module_GetRunATCmd
|
* Description : »ñÈ¡Óû§ÔËÐеÄATÃüÁî
|
* Input : None
|
* Output : None
|
* Return : None
|
* Author : www.hido-studio.com
|
* Modified Date: : 2018Äê8ÔÂ5ÈÕ
|
*******************************************************************************/
|
HIDO_CHAR *Module_GetRunATCmd(HIDO_VOID);
|
|
/*******************************************************************************
|
* Function Name : Module_RunATCmd
|
* Description : Óû§ÔËÐÐATÃüÁî
|
* Input : None
|
* Output : None
|
* Return : None
|
* Author : www.hido-studio.com
|
* Modified Date: : 2018Äê8ÔÂ5ÈÕ
|
*******************************************************************************/
|
HIDO_INT32 Module_RunATCmd(HIDO_CHAR *_pcATCmd);
|
|
#endif /* _MODULE_H_ */
|