/******************************************************************************* * 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 21 /******************************************************************************* * 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_UINT32 m_u32X; }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_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_ */