keil/include/components/internet/inc/Module.h
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,368 @@
/*******************************************************************************
 * 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_ */