298 lines
12 KiB
C
Executable File
298 lines
12 KiB
C
Executable File
#ifndef _SF_SIM_
|
|
#define _SF_SIM_
|
|
#include <sf_hal_ttyusb.h>
|
|
|
|
#ifdef __cplusplus
|
|
#if __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
#endif
|
|
|
|
#define sf_4g_send_data sf_hal_ttyusb2_write
|
|
#define sf_4g_get_data sf_hal_ttyusb2_read
|
|
|
|
#define SF_NTP_SITE1 "time.windows.com"
|
|
#define SF_NTP_SITE2 "time.nist.gov"
|
|
|
|
#define APNGPRS_WUYUAN1 "America.bics"
|
|
#define APNGPRS_WUYUAN2 "bicsapn"
|
|
|
|
#define APN_4G_USCC "uscc"
|
|
#define APN_4G_ATT "nxtgenphone"
|
|
#define APN_4G_VERIZON "VZWINTERNET"
|
|
#define APN_4G_TMOBBILE "fast.t-mobile.com"
|
|
#define EG91 "EG91"
|
|
#define EG95 "EG95"
|
|
|
|
/** Return Result Check */
|
|
#define SF_CHECK_RETURN(ret, errcode) \
|
|
do { \
|
|
if (0 > ret) { \
|
|
printf("Error Code: [0x%08X]\n\n", errcode); \
|
|
return errcode; \
|
|
} \
|
|
} while (0)
|
|
|
|
/** Sifar Error Code Rule [--module[16bit]--|--error[16bit]--]
|
|
* module : module enum value [SF_MOD_E]
|
|
* error_code : error code in specified module, unique in module
|
|
**/
|
|
#define SF_ERR_ID(module, err) ((SINT32)(((module) << 16) | (err)))
|
|
|
|
typedef enum SF_SIM
|
|
{
|
|
SMS_SIM_INIT_READY= (unsigned char)0x01,
|
|
SMS_SIM_INIT_ATI,
|
|
SMS_SIM_INIT_IPREX,
|
|
SMS_SIM_INIT_ATCSUB,
|
|
SMS_SIM_INIT_ATCPIN,
|
|
SMS_SIM_INIT_ATCPIN1,
|
|
SMS_SIM_INIT_ATCPIN2,
|
|
SMS_SIM_INIT_CNVW,
|
|
SMS_SIM_INIT_ATW,
|
|
SMS_SIM_INIT_CICCID,
|
|
SMS_SIM_INIT_ATCIMI,
|
|
SMS_SIM_INIT_QICSGP,
|
|
SMS_SIM_INIT_QICSGP1,
|
|
SMS_SIM_INIT_CGREG,
|
|
SMS_SIM_INIT_COPS,
|
|
SMS_SIM_INIT_CNSMOD,
|
|
SMS_SIM_INIT_CPSI,
|
|
SMS_SIM_INIT_CSQ,
|
|
SMS_SIM_INIT_CCLK,
|
|
SMS_SIM_INIT_CNTP,
|
|
SMS_SIM_INIT_CNTPTO,
|
|
SMS_SIM_INIT_ATCNTP,
|
|
SMS_SIM_INIT_ATCNTP1,
|
|
SMS_SIM_INIT_NTP_CCLK,
|
|
SMS_SIM_INIT_QIDEACT,
|
|
SMS_SIM_INIT_CSCLK,
|
|
SMS_SIM_INIT_DTRUP,
|
|
SMS_SIM_INIT_EXIT,
|
|
SMS_SIM_INIT_CFUN,
|
|
SMS_SIM_INIT_CIMI,
|
|
|
|
}SF_SIM_E;
|
|
|
|
/** SF Module ID */
|
|
typedef enum SF_MOD_E {
|
|
SF_MOD_SIM = 1,
|
|
SF_MOD_GPS,
|
|
SF_MOD_FTP,
|
|
SF_MOD_SMS,
|
|
SF_MOD_4G,
|
|
SF_MOD_4G_SEND,
|
|
SF_MOD_OTA,
|
|
SF_MOD_MMS,
|
|
SF_MOD_SMTP,
|
|
SF_MOD_UPLOAD,
|
|
SF_MOD_HTTP,
|
|
SF_MOD_TCP,
|
|
SF_MOD_BUTT,
|
|
} SF_MOD_e;
|
|
|
|
typedef enum _SIM_ERR_CODE_E{
|
|
SIM_COM_SUCCEED = 0,
|
|
SIM_ERROR_NO_SIGNAL = 1,
|
|
SIM_ERROR_NO_SIMCARD = 2,
|
|
SIM_ERROR_AT_TIMEOUT = 3,
|
|
SIM_ERROR_UTC = 4,
|
|
SIM_ERROR_REG_NET = 5,
|
|
SIM_ERROR_APN = 6,
|
|
SIM_ERROR_IMEI = 7,
|
|
SIM_ERROR_PIN = 8,
|
|
SIM_ERROR_PIN_PUK = 9,
|
|
SIM_ERROR_NTP = 10,
|
|
SIM_ERROR_FAILURE = 11,
|
|
SIM_ERROR_MEGA = 12,
|
|
SIM_ERROR_BUTT,
|
|
}SIM_ERR_CODE_e;
|
|
|
|
|
|
#define SF_SIM_ERROR_NO_SIGNAL SF_ERR_ID(SF_MOD_SIM, SIM_ERROR_NO_SIGNAL)
|
|
#define SF_SIM_ERROR_NO_SIMCARD SF_ERR_ID(SF_MOD_SIM, SIM_ERROR_NO_SIMCARD)
|
|
#define SF_SIM_ERROR_AT_TIMEOUT SF_ERR_ID(SF_MOD_SIM, SIM_ERROR_AT_TIMEOUT)
|
|
#define SF_SIM_ERROR_UTC SF_ERR_ID(SF_MOD_SIM, SIM_ERROR_UTC)
|
|
#define SF_SIM_ERROR_REG_NET SF_ERR_ID(SF_MOD_SIM, SIM_ERROR_REG_NET)
|
|
#define SF_SIM_ERROR_APN SF_ERR_ID(SF_MOD_SIM, SIM_ERROR_APN)
|
|
#define SF_SIM_ERROR_IMEI SF_ERR_ID(SF_MOD_SIM, SIM_ERROR_IMEI)
|
|
#define SF_SIM_ERROR_PIN SF_ERR_ID(SF_MOD_SIM, SIM_ERROR_PIN)
|
|
#define SF_SIM_ERROR_PIN_PUK SF_ERR_ID(SF_MOD_SIM, SIM_ERROR_PIN_PUK)
|
|
#define SF_SIM_ERROR_NTP SF_ERR_ID(SF_MOD_SIM, SIM_ERROR_NTP)
|
|
#define SF_SIM_ERROR_FAILURE SF_ERR_ID(SF_MOD_SIM, SIM_ERROR_FAILURE)
|
|
#define SF_SIM_ERROR_MEGA SF_ERR_ID(SF_MOD_SIM, SIM_ERROR_MEGA)
|
|
|
|
typedef enum _GPS_ERR_CODE_E{
|
|
GPS_ERROR_QIACT = 1,
|
|
GPS_ERROR_LOC_TIMEOUT,
|
|
GPS_ERROR_NTP,
|
|
GPS_ERROR_XD, /* AT+CGPSXD=0, recv fail*/
|
|
GPS_ERROR_SETTIME, /* AT+QGPSXTRATIME, recv fail*/
|
|
GPS_ERROR_AT_TIMEOUT,
|
|
GPS_ERROR_AT_ERROR,
|
|
GPS_ERROR_BUTT,
|
|
}GPS_ERR_CODE_e;
|
|
|
|
#define SF_GPS_ERROR_QIACT SF_ERR_ID(SF_MOD_GPS, GPS_ERROR_QIACT)
|
|
#define SF_GPS_ERROR_LOC_TIMEOUT SF_ERR_ID(SF_MOD_GPS, GPS_ERROR_LOC_TIMEOUT)
|
|
#define SF_GPS_ERROR_NTP SF_ERR_ID(SF_MOD_GPS, GPS_ERROR_NTP)
|
|
#define SF_GPS_ERROR_XD SF_ERR_ID(SF_MOD_GPS, GPS_ERROR_XD)
|
|
#define SF_GPS_ERROR_SETTIME SF_ERR_ID(SF_MOD_GPS, GPS_ERROR_SETTIME)
|
|
#define SF_GPS_ERROR_AT_TIMEOUT SF_ERR_ID(SF_MOD_GPS, GPS_ERROR_AT_TIMEOUT)
|
|
#define SF_GPS_ERROR_AT_ERROR SF_ERR_ID(SF_MOD_GPS, GPS_ERROR_AT_ERROR)
|
|
|
|
|
|
typedef enum _GPRS_MODULE_ERR_CODE_E{
|
|
GPRS_MODULE_ERROR_OPEN = 1,
|
|
GPRS_MODULE_ERROR_WRITE = 2,
|
|
GPRS_MODULE_ERROR_READ = 3,
|
|
GPRS_MODULE_ERROR_BUTT,
|
|
}GPRS_MODULE_ERR_CODE_e;
|
|
|
|
#define SF_GPRS_MODULE_ERROR_OPEN SF_ERR_ID(SF_MOD_4G, GPRS_MODULE_ERROR_OPEN)
|
|
#define SF_GPRS_MODULE_ERROR_WRITE SF_ERR_ID(SF_MOD_4G, GPRS_MODULE_ERROR_WRITE)
|
|
#define SF_GPRS_MODULE_ERROR_READ SF_ERR_ID(SF_MOD_4G, GPRS_MODULE_ERROR_READ)
|
|
|
|
typedef enum _SEND_ERR_CODE_E{
|
|
SEND_ERROR_SIGNAL = 1,
|
|
SEND_ERROR_CREAT_DP_FILE = 2,
|
|
SEND_ERROR_CREAT_GPS_FILE= 3,
|
|
SEND_ERROR_LOG_NOT_EXIST = 4,
|
|
SEND_ERROR_BATCH_PIC_NULL= 5,
|
|
SEND_ERROR_BATCH_PIC = 6,
|
|
SEND_ERROR_APN_NULL = 7,
|
|
SEND_ERROR_FTP_NULL = 8,
|
|
SEND_ERROR_REACH_MAX_NUM = 9,
|
|
SEND_ERROR_BUTT,
|
|
}SEND_ERR_CODE_e;
|
|
|
|
#define SF_SEND_ERROR_SIGNAL SF_ERR_ID(SF_MOD_4G_SEND, SEND_ERROR_SIGNAL)
|
|
#define SF_SEND_ERROR_CREAT_DP_FILE SF_ERR_ID(SF_MOD_4G_SEND, SEND_ERROR_CREAT_DP_FILE)
|
|
#define SF_SEND_ERROR_CREAT_GPS_FILE SF_ERR_ID(SF_MOD_4G_SEND, SEND_ERROR_CREAT_GPS_FILE)
|
|
#define SF_SEND_ERROR_LOG_NOT_EXIST SF_ERR_ID(SF_MOD_4G_SEND, SEND_ERROR_LOG_NOT_EXIST)
|
|
#define SF_SEND_ERROR_BATCH_PIC_NULL SF_ERR_ID(SF_MOD_4G_SEND, SEND_ERROR_BATCH_PIC_NULL)
|
|
#define SF_SEND_ERROR_BATCH_PIC SF_ERR_ID(SF_MOD_4G_SEND, SEND_ERROR_BATCH_PIC)
|
|
#define SF_SEND_ERROR_APN_NULL SF_ERR_ID(SF_MOD_4G_SEND, SEND_ERROR_APN_NULL)
|
|
#define SF_SEND_ERROR_FTP_NULL SF_ERR_ID(SF_MOD_4G_SEND, SEND_ERROR_FTP_NULL)
|
|
#define SF_SEND_ERROR_REACH_MAX_NUM SF_ERR_ID(SF_MOD_4G_SEND, SEND_ERROR_REACH_MAX_NUM)
|
|
|
|
typedef enum _OTA_ERR_CODE_E{
|
|
OTA_ERROR_QIACT = 1,
|
|
OTA_ERROR_VERTION = 2,
|
|
OTA_ERROR_VERSION_INVALID= 3,
|
|
OTA_ERROR_TIME_OUT = 4,
|
|
OTA_ERROR_BAT_LOW = 5,
|
|
OTA_ERROR_FTP_OPEN = 6,
|
|
OTA_ERROR_FTP_NLST = 7,
|
|
OTA_ERROR_FTP_GET = 8,
|
|
OTA_ERROR_FTP_QIDEACT = 9,
|
|
OTA_ERROR_FTP_QFSEEK = 10,
|
|
OTA_ERROR_FTP_CFGFORMAT = 11,
|
|
OTA_ERROR_FTP_QFREAD = 12,
|
|
OTA_ERROR_FTP_QFOTADL = 13,
|
|
OTA_ERROR_FTP_DOWNLOAD = 14,
|
|
OTA_ERROR_FTP_UPDATE = 15,
|
|
OTA_ERROR_QIDEACT = 16,
|
|
OTA_ERROR_BUTT,
|
|
}OTA_ERR_CODE_e;
|
|
|
|
#define SF_OTA_ERROR_QIACT SF_ERR_ID(SF_MOD_OTA, OTA_ERROR_QIACT)
|
|
#define SF_OTA_ERROR_VERTION SF_ERR_ID(SF_MOD_OTA, OTA_ERROR_VERTION)
|
|
#define SF_OTA_ERROR_VERTION_INVAlID SF_ERR_ID(SF_MOD_OTA, OTA_ERROR_VERSION_INVALID)
|
|
#define SF_OTA_ERROR_TIME_OUT SF_ERR_ID(SF_MOD_OTA, OTA_ERROR_TIME_OUT)
|
|
#define SF_OTA_ERROR_BAT_LOW SF_ERR_ID(SF_MOD_OTA, OTA_ERROR_BAT_LOW)
|
|
#define SF_OTA_ERROR_FTP_OPEN SF_ERR_ID(SF_MOD_OTA, OTA_ERROR_FTP_OPEN)
|
|
#define SF_OTA_ERROR_FTP_NLST SF_ERR_ID(SF_MOD_OTA, OTA_ERROR_FTP_NLST)
|
|
#define SF_OTA_ERROR_FTP_GET SF_ERR_ID(SF_MOD_OTA, OTA_ERROR_FTP_GET)
|
|
#define SF_OTA_ERROR_FTP_QIDEACT SF_ERR_ID(SF_MOD_OTA, OTA_ERROR_FTP_QIDEACT)
|
|
#define SF_OTA_ERROR_FTP_QFSEEK SF_ERR_ID(SF_MOD_OTA, OTA_ERROR_FTP_QFSEEK)
|
|
#define SF_OTA_ERROR_FTP_CFGFORMAT SF_ERR_ID(SF_MOD_OTA, OTA_ERROR_FTP_CFGFORMAT)
|
|
#define SF_OTA_ERROR_FTP_QFREAD SF_ERR_ID(SF_MOD_OTA, OTA_ERROR_FTP_QFREAD)
|
|
#define SF_OTA_ERROR_FTP_QFOTADL SF_ERR_ID(SF_MOD_OTA, OTA_ERROR_FTP_QFOTADL)
|
|
#define SF_OTA_ERROR_FTP_DOWNLOAD SF_ERR_ID(SF_MOD_OTA, OTA_ERROR_FTP_DOWNLOAD)
|
|
#define SF_OTA_ERROR_FTP_UPDATE SF_ERR_ID(SF_MOD_OTA, OTA_ERROR_FTP_UPDATE)
|
|
#define SF_OTA_ERROR_QIDEACT SF_ERR_ID(SF_MOD_OTA, OTA_ERROR_QIDEACT)
|
|
|
|
typedef enum _MMS_ERR_CODE_E{
|
|
MMS_ERROR_AT_TIMEOUT = 1,
|
|
MMS_ERROR_AT_ERROR = 2,
|
|
MMS_ERROR_CREAT_PIC_FAIL = 3,
|
|
MMS_ERROR_PIC_TOO_LARGE = 4,
|
|
MMS_ERROR_SEND_FAIL = 5,
|
|
MMS_ERROR_EDIT_CLOSE_FAIL = 6,
|
|
MMS_ERROR_GET_FSIZE_FAIL = 7,
|
|
MMS_ERROR_QIDEACT,
|
|
MMS_ERROR_771,
|
|
MMS_ERROR_PDP,
|
|
|
|
}MMS_ERR_CODE_e;
|
|
|
|
#define SF_MMS_ERROR_AT_TIMEOUT SF_ERR_ID(SF_MOD_MMS, MMS_ERROR_AT_TIMEOUT)
|
|
#define SF_MMS_ERROR_AT_ERROR SF_ERR_ID(SF_MOD_MMS, MMS_ERROR_AT_ERROR)
|
|
#define SF_MMS_ERROR_CREAT_PIC_FAIL SF_ERR_ID(SF_MOD_MMS, MMS_ERROR_CREAT_PIC_FAIL)
|
|
#define SF_MMS_ERROR_PIC_TOO_LARGE SF_ERR_ID(SF_MOD_MMS, MMS_ERROR_PIC_TOO_LARGE)
|
|
#define SF_MMS_ERROR_SEND_FAIL SF_ERR_ID(SF_MOD_MMS, MMS_ERROR_SEND_FAIL)
|
|
#define SF_MMS_ERROR_EDIT_CLOSE_FAIL SF_ERR_ID(SF_MOD_MMS, MMS_ERROR_EDIT_CLOSE_FAIL)
|
|
#define SF_MMS_ERROR_GET_FSIZE_FAIL SF_ERR_ID(SF_MOD_MMS, MMS_ERROR_GET_FSIZE_FAIL)
|
|
#define SF_MMS_ERROR_QIDEACT SF_ERR_ID(SF_MOD_MMS, MMS_ERROR_QIDEACT)
|
|
#define SF_MMS_ERROR_771 SF_ERR_ID(SF_MOD_MMS, MMS_ERROR_771)
|
|
#define SF_MMS_ERROR_PDP SF_ERR_ID(SF_MOD_MMS, MMS_ERROR_PDP)
|
|
|
|
typedef enum _SMTP_ERR_CODE_E{
|
|
SMTP_ERROR_AT_TIMEOUT = 1,
|
|
SMTP_ERROR_AT_ERROR = 2,
|
|
SMTP_ERROR_SSL_START = 3,
|
|
SMTP_ERROR_SEND_TIMEOUT = 4,
|
|
SMTP_ERROR_SEND_CLOSE = 5,
|
|
SMTP_ERROR_TRY_READ_3_TIMES = 6,
|
|
SMTP_ERROR_SD_POWER_RECYCLE = 7,
|
|
SMTP_ERROR_SEND = 8,
|
|
SMTP_ERROR_SEND_FAIL = 9,
|
|
SMTP_ERROR_SSL_STOP = 10,
|
|
SMTP_ERROR_CREAT_DR_FAIL = 11,
|
|
SMTP_ERROR_ACTIVE,
|
|
|
|
}SMTP_ERR_CODE_e;
|
|
|
|
#define SF_SMTP_ERROR_AT_TIMEOUT SF_ERR_ID(SF_MOD_SMTP, SMTP_ERROR_AT_TIMEOUT)
|
|
#define SF_SMTP_ERROR_AT_ERROR SF_ERR_ID(SF_MOD_SMTP, SMTP_ERROR_AT_ERROR)
|
|
#define SF_SMTP_ERROR_SSL_START SF_ERR_ID(SF_MOD_SMTP, SMTP_ERROR_SSL_START)
|
|
#define SF_SMTP_ERROR_SEND_TIMEOUT SF_ERR_ID(SF_MOD_SMTP, SMTP_ERROR_SEND_TIMEOUT)
|
|
#define SF_SMTP_ERROR_SEND_CLOSE SF_ERR_ID(SF_MOD_SMTP, SMTP_ERROR_SEND_CLOSE)
|
|
#define SF_SMTP_ERROR_TRY_READ_3_TIMES SF_ERR_ID(SF_MOD_SMTP, SMTP_ERROR_TRY_READ_3_TIMES)
|
|
#define SF_SMTP_ERROR_SD_POWER_RECYCLE SF_ERR_ID(SF_MOD_SMTP, SMTP_ERROR_SD_POWER_RECYCLE)
|
|
#define SF_SMTP_ERROR_SEND SF_ERR_ID(SF_MOD_SMTP, SMTP_ERROR_SEND)
|
|
#define SF_SMTP_ERROR_SEND_FAIL SF_ERR_ID(SF_MOD_SMTP, SMTP_ERROR_SEND_FAIL)
|
|
#define SF_SMTP_ERROR_SSL_STOP SF_ERR_ID(SF_MOD_SMTP, SMTP_ERROR_SSL_STOP)
|
|
#define SF_SMTP_ERROR_CREAT_DR_FAIL SF_ERR_ID(SF_MOD_SMTP, SMTP_ERROR_CREAT_DR_FAIL)
|
|
#define SF_SMTP_ERROR_ACTIVE SF_ERR_ID(SF_MOD_SMTP, SMTP_ERROR_ACTIVE)
|
|
|
|
typedef enum _UPLOAD_ERR_CODE_E{
|
|
UPLOAD_ERROR_AT_TIMEOUT = 1,
|
|
UPLOAD_ERROR_AT_ERROR = 2,
|
|
UPLOAD_ERROR_OPEN_FAIL = 3,
|
|
UPLOAD_ERROR_GET_FSIZE_FAIL = 4,
|
|
UPLOAD_ERROR_DATA = 5,
|
|
UPLOAD_ERROR_RETRY = 6,
|
|
|
|
}UPLOAD_ERR_CODE_e;
|
|
|
|
#define SF_UPLOAD_ERROR_AT_TIMEOUT SF_ERR_ID(SF_MOD_UPLOAD, UPLOAD_ERROR_AT_TIMEOUT)
|
|
#define SF_UPLOAD_ERROR_AT_ERROR SF_ERR_ID(SF_MOD_UPLOAD, UPLOAD_ERROR_AT_ERROR)
|
|
#define SF_UPLOAD_ERROR_OPEN_FAIL SF_ERR_ID(SF_MOD_UPLOAD, UPLOAD_ERROR_OPEN_FAIL)
|
|
#define SF_UPLOAD_ERROR_GET_FSIZE_FAIL SF_ERR_ID(SF_MOD_UPLOAD, UPLOAD_ERROR_GET_FSIZE_FAIL)
|
|
#define SF_UPLOAD_ERROR_DATA SF_ERR_ID(SF_MOD_UPLOAD, UPLOAD_ERROR_DATA)
|
|
#define SF_UPLOAD_ERROR_RETRY SF_ERR_ID(SF_MOD_UPLOAD, UPLOAD_ERROR_RETRY)
|
|
|
|
|
|
UINT32 sf_auto_operation_adjust(void);
|
|
|
|
#ifdef __cplusplus
|
|
#if __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#endif
|