561 lines
23 KiB
C
561 lines
23 KiB
C
/************************************************************************************
|
||
* @Copyright (c) :(C)2017, Qindao ieslab Co., Ltd
|
||
* @FileName :nb_driver_bc25.h
|
||
* @Author :QDIES PLATFORM TEAM
|
||
* @Version :V1.0
|
||
* @Date :2020-8-13
|
||
* @Description :
|
||
************************************************************************************/
|
||
|
||
#ifndef __NB_DRIVER_E7025_H
|
||
#define __NB_DRIVER_E7025_H
|
||
|
||
#include "sys_config.h"
|
||
#ifdef NB_MODULE_E7025
|
||
#include "type.h"
|
||
#include <string.h>
|
||
/*----采用宏定义 AT_ORDER_SET 来指定走哪个指令集--*/
|
||
//#define M_5310_N 0 //M5310 普通指令集
|
||
//#define M_5310_A 1 //M5310A 指令集
|
||
//#define AT_ORDER_SET M_5310_A
|
||
/*------为了简化程序 暂时没有合成到一起----------*/
|
||
|
||
|
||
/*-------模块登录服务器IP表示形式---
|
||
*----IP_PORT IP形式
|
||
*----DOMAIN_NAME 域名形式 默认域名模式
|
||
*----BOOTSTRAP_ENABLE 启动模式 0-接入机模式 1-引导机模式
|
||
*----接入机模式 IP:183.230.40.40:5683 域名:nbiotacc.heclouds.com:5683
|
||
*----引导机模式 IP:183.230.40.39:5683 域名:nbiotbt.heclouds.com:5683
|
||
-----------------------------------*/
|
||
//#define IP_PORT_TYPE 0
|
||
//#define DOMAIN_NAME_TYPE 1
|
||
//#define SEVER_IP_TYPE DOMAIN_NAME_TYPE
|
||
//#define BOOTSTRAP_ENABLE 0
|
||
|
||
|
||
/*--------------------------------------*/
|
||
|
||
/*-----设置是否打开GSM网络校时--------
|
||
* 1---打开 默认打开
|
||
* 0---关闭
|
||
*/
|
||
|
||
/*------------------------------------*/
|
||
|
||
|
||
/*-----设置发送数据是否打开ACK--------
|
||
* 1---打开
|
||
* 0---关闭 默认关闭
|
||
*/
|
||
#define SEND_ACKID_ENABLE 0
|
||
/*------------------------------------*/
|
||
#if (HARDWARE_VERSION==0x14)//方壳表
|
||
#define RSTN_NB_PORT (GpioPortF)
|
||
#define RSTN_NB_PIN (GpioPin0)
|
||
|
||
#define BAT_NB_PORT (GpioPortE)
|
||
#define BAT_NB_PIN (GpioPin4)
|
||
|
||
#define PWR_NB_PORT (GpioPortF)
|
||
#define PWR_NB_PIN (GpioPin1)
|
||
|
||
#define NB_PSM_WAKE_PORT (GpioPortA)
|
||
#define NB_PSM_WAKE_PIN (GpioPin2)
|
||
|
||
#elif (HARDWARE_VERSION==0x18)//圆壳表
|
||
#define RSTN_NB_PORT (GpioPortE)
|
||
#define RSTN_NB_PIN (GpioPin4)
|
||
|
||
#define BAT_NB_PORT (GpioPortE)
|
||
#define BAT_NB_PIN (GpioPin5)
|
||
|
||
#define PWR_NB_PORT (GpioPortE)
|
||
#define PWR_NB_PIN (GpioPin2)
|
||
|
||
#define NB_PSM_WAKE_PORT (GpioPortE)
|
||
#define NB_PSM_WAKE_PIN (GpioPin3)
|
||
#endif
|
||
|
||
#define RSTN_NB_LOW() Gpio_WriteOutputIO(RSTN_NB_PORT, RSTN_NB_PIN, GPIO_PIN_SET)
|
||
#define RSTN_NB_HIG() Gpio_WriteOutputIO(RSTN_NB_PORT, RSTN_NB_PIN, GPIO_PIN_RESET) //高电平复位
|
||
|
||
#define BAT_NB_DISABLE() Gpio_WriteOutputIO(BAT_NB_PORT, BAT_NB_PIN, GPIO_PIN_RESET)
|
||
#define BAT_NB_ENABLE() Gpio_WriteOutputIO(BAT_NB_PORT, BAT_NB_PIN, GPIO_PIN_SET)
|
||
|
||
#define PWR_NB_LOW() Gpio_WriteOutputIO(PWR_NB_PORT, PWR_NB_PIN, GPIO_PIN_SET)
|
||
#define PWR_NB_HIG() Gpio_WriteOutputIO(PWR_NB_PORT, PWR_NB_PIN, GPIO_PIN_RESET)
|
||
|
||
#define NB_PSM_WAKE_LOW() Gpio_WriteOutputIO(NB_PSM_WAKE_PORT , NB_PSM_WAKE_PIN, GPIO_PIN_SET)
|
||
#define NB_PSM_WAKE_HIG() Gpio_WriteOutputIO(NB_PSM_WAKE_PORT , NB_PSM_WAKE_PIN, GPIO_PIN_RESET) //高电平复位
|
||
|
||
|
||
//查询的状态信息
|
||
#define TASK_BUSY 0 //BUSY状态
|
||
#define TASK_IDLE 1 //IDLE状态
|
||
|
||
//数据发送相关
|
||
#define NBIOT_ING 0xA2 //发送中
|
||
#define NBIOT_ONLINE 0xA3 //NBIOT上线
|
||
#define NBIOT_SUCCESS 0xA4 //发送成功
|
||
#define NBIOT_ERROR 0xA5 //发送失败
|
||
|
||
//查询CSQ相关
|
||
#define CSQ_ING 0xA5 //查询中
|
||
#define CSQ_SUCCESS 0xA6 //查询成功
|
||
#define CSQ_ERROR 0xA7 //查询失败
|
||
|
||
//查询SNR相关
|
||
#define ECL_SNR_ING 0xA5 //查询中
|
||
#define ECL_SNR_SUCCESS 0xA6 //查询成功
|
||
#define ECL_SNR_ERROR 0xA7 //查询失败
|
||
|
||
//读取UDP数据相关
|
||
#define QIRD_ING 0xAA //查询中
|
||
#define QIRD_SUCCESS 0xAB //查询成功
|
||
#define QIRD_ERROR 0xAC //查询失败
|
||
//固件升级相关
|
||
#define FRIMWARE_UPDATE_ING 0xA5 //查询中
|
||
#define FRIMWARE_UPDATE_SUCCESS 0xA6 //查询成功
|
||
#define FRIMWARE_UPDATE_ERROR 0xA7 //查询失败
|
||
|
||
//查询ICCID相关
|
||
#define ICCID_ING 0xA5 //查询中
|
||
#define ICCID_SUCCESS 0xA6 //查询成功
|
||
#define ICCID_ERROR 0xA7 //查询失败
|
||
#define ICCID_LEN 0x14 //长度
|
||
|
||
|
||
//查询RSRP相关
|
||
#define RSRP_ING 0xA5 //查询中
|
||
#define RSRP_SUCCESS 0xA6 //查询成功
|
||
#define RSRP_ERROR 0xA7 //查询失败
|
||
#define RSRP_LEN 0x14 //长度
|
||
|
||
//任务完成情况
|
||
#define TASK_FAIL 0xA8
|
||
#define TASK_SUCCESS 0xA9
|
||
#define TASK_INIT 0xB0
|
||
|
||
//任务模式
|
||
#define ONLINE_MODE 0xB1 //NBIOT上线任务
|
||
#define SEND_MODE 0xB2 //NBIOT发送数据任务
|
||
#define READ_CSQ 0xB3 //NBIOT查信号值任务
|
||
#define READ_ICCID 0xB4 //NBIOT查CCID任务
|
||
#define NO_NBIOT_TASK 0xB5 //没有NBIOT任务
|
||
#define READ_ECL_SNR 0xB6 //没有NBIOT任务
|
||
|
||
//NBIOT网络状态
|
||
#define NB_ON_LINE 0x01 //在线
|
||
#define NB_OFF_LINE 0x00 //不在线
|
||
|
||
#define CONNECT_ON_LINE 0x01
|
||
#define CONNECT_OFF_LINE 0x00
|
||
|
||
//工作模式
|
||
#define NBIOT_ALWAYS_ON_LINE_MODE 0x81 //一直在线模式
|
||
#define NBIOT_TIME_ON_LINE_MODE 0x80 //阶段一直在线模式在线模式
|
||
|
||
//NBIOT掉线原因
|
||
#define NBIOT_OFFLINE_CLEAR 0x00 //清除掉线原因
|
||
#define NBIOT_OFFLINE_PARA_CHANGE 0x01 //参数更改
|
||
#define NBIOT_OFFLINE_STATION_CUT 0x02 //主站下线
|
||
#define NBIOT_OFFLINE_SPARE_STATION_START 0x03 //启动备站
|
||
#define NBIOT_OFFLINE_SPARE_STATION_CLOSE 0x04 //关闭备站
|
||
#define NBIOT_OFFLINE_OPEN_APN 0x05 //开启APN
|
||
|
||
//主状态机中的状态号
|
||
#define NBIOT_S_IDLE 0 //空闲状态
|
||
#define NBIOT_POWER_INIT 1 //NBIOT模块初始化
|
||
#define NBIOT_NET_OPEN 2 //配置网络
|
||
#define NBIOT_COAPorONENET_OPEN 3 //打开TCP连接
|
||
#define NBIOT_COAPorONENET_DATA_SEND 4 //发送数据
|
||
#define NBIOT_TCP_CLOSE 5 //关闭TCP连接
|
||
#define NBIOT_NET_CLOSE 6 //关闭NBIOT
|
||
#define NBIOT_POWER_OFF 7 //模块关机
|
||
#define NBIOT_HEART_FRAME 8 //发送心跳帧
|
||
#define NBIOT_READ_CSQ 9 //读信号值
|
||
#define NBIOT_READ_ICCID 10 //读ICCID
|
||
#define NBIOT_DATA_REV 11 //NBIOT数据接收
|
||
#define NBIOT_READ_ECL_SNR 12 //读取RSRP
|
||
#define NBIOT_READ_RCV 13
|
||
#define NBIOT_READ_DATE_TIME 14
|
||
#define NBIOT_READ_UDP_DATA 15
|
||
#define NBIOT_UDP_OPEN 16 //打开UDP连接
|
||
#define UDP_DATA_SEND 17 //发送UDP数据
|
||
|
||
#define NBIOT_TCP_OPEN 18 //打开TCP连接
|
||
#define NBIOT_DATA_SEND 19 //发送数据
|
||
#define NBIOT_REV_ACK 20
|
||
#define TCP_DATA_SEND 21 //发送TCP数据
|
||
|
||
//初始化状态机状态号
|
||
#define S_START 0 //初始状态
|
||
#define S_POWER_ON_LOW 1 //开机电平相关:高-低-高
|
||
#define S_POWER_ON_WAIT 2 //开机电平相关:高-低-高
|
||
#define S_ATS 3 //发送初始化AT指令
|
||
#define S_ATS_R 4 //判断初始化AT指令返回状态
|
||
#define S_CHECK_CGATT 5 //Query whether network is activated
|
||
#define S_CHECK_CGATT_WAIT 6 //Check whether network is activated
|
||
#define S_CHECK_CEREG 7 //发送查询网络注册信息 AT指令
|
||
#define S_CHECK_CEREG_WAIT 8 //判断查询网络注册信息 AT指令
|
||
#define S_CHECK_CSCON 9 //Query the signaling connection status
|
||
#define S_CHECK_CSCON_WAIT 10 //Check the signaling connection status
|
||
|
||
//附着NBIOT网络状态机状态号
|
||
#define S_CHECK_CIMI 1 //发送查询IMSI AT指令
|
||
#define S_CHECK_CIMI_WAIT 2 //判断查询IMSI AT指令返回状态
|
||
#define S_AT_CGDCONT 3 //设置APN
|
||
#define S_AT_CGDCONT_R 4 //判断APN是否设置成功
|
||
|
||
//接收数据状态号
|
||
#define S_AT_NSORF 1 //读取数据
|
||
#define S_AT_NSORF_R 2 //判断是否读取数据成功
|
||
|
||
//关闭TCP/IP状态机状态号
|
||
#define S_AT_NSOCL 1 //关闭TCP/IP连接
|
||
#define S_AT_NSOCL_R 2 //判断TCP/IP是否关闭成功
|
||
|
||
//关闭NBIOT网络状态机状态号
|
||
#define S_POWER_OFF_START 0
|
||
#define S_AT_NETCLOSE 1 //关闭NBIOT网络
|
||
#define S_AT_NETCLOSE_R 2 //判断NBIOT网络是否关闭成功
|
||
#define S_AT_QPOWD 3
|
||
#define S_AT_QPOWD_R 4
|
||
#define S_AT_CFUN0 7
|
||
#define S_AT_CFUN0_R 8
|
||
#define S_AT_NCSEARFCN 9
|
||
#define S_AT_NCSEARFCN_R 10
|
||
#define S_AT_CFUN1 11
|
||
#define S_AT_CFUN1_R 12
|
||
#define S_POWER_OFF 13
|
||
#define S_POWER_OFF_WAIT 14
|
||
#define S_AT_MIPLCLOSE 15 //关闭onenet网络
|
||
#define S_AT_MIPLCLOSE_R 16 //判断onenet网络是否关闭成功
|
||
#define S_AT_MIPLDELOBJ 17 //判断onenet网络是否关闭成功
|
||
#define S_AT_MIPLDELOBJ_R 18 //判断onenet网络是否关闭成功
|
||
#define S_AT_MIPLDEL 19 //判断onenet网络是否关闭成功
|
||
#define S_AT_MIPLDEL_R 20 //判断onenet网络是否关闭成功
|
||
|
||
//关机状态机状态号
|
||
#define S_AT_COPS 24 //判断网络是否注销成功
|
||
#define S_AT_COPS_R 25 //发送关机指令
|
||
//#define S_POWER_OFF 26
|
||
//#define S_POWER_OFF_WAIT 27
|
||
|
||
//读取信号值状态号
|
||
#define S_AT_CSQ 28
|
||
#define S_AT_CSQ_R 29
|
||
#define CSQ_READ_NUM 4 //信号值读取次数
|
||
//读取ECL、SNR
|
||
#define S_AT_ECL 30
|
||
#define S_AT_ECL_R 31
|
||
|
||
//读取UDP数据
|
||
#define S_AT_QIRD 1
|
||
#define S_AT_QIRD_R 2
|
||
|
||
//备站状态
|
||
#define OPEN_SPARE_STATION 0x01
|
||
#define CLOSE_SPARE_STATION 0x00
|
||
|
||
//通信模式选择
|
||
#define SIM_CARD_TELECOM 0x00 //电信卡
|
||
#define SIM_CARD_MOBILE 0X01 //移动卡
|
||
//
|
||
//OnenetConnectMachine使用的状态
|
||
#define S_ONENET_CONNECT_IDLE 0
|
||
#define S_ONENET_CONNECT_START 1
|
||
#define S_ONENET_MIPLCONFIG 2
|
||
#define S_ONENET_MIPLCONFIG_R 3
|
||
#define S_ONENET_MIPLCONFIG_CK 4
|
||
#define S_ONENET_MIPLCONFIG_CK_R 5
|
||
#define S_ONENET_MIPLCREATE 6
|
||
#define S_ONENET_MIPLCREATE_R 7
|
||
#define S_ONENET_MIPLADDOBJ 8
|
||
#define S_ONENET_MIPLADDOBJ_R 9
|
||
#define S_ONENET_MIPLOPEN 10
|
||
#define S_ONENET_MIPLOPEN_R 11
|
||
#define S_ONENET_MIPLOBSERVE 12
|
||
#define S_ONENET_MIPLOBSERVE_R 13
|
||
#define S_ONENET_MIPLDISCOVER 14
|
||
#define S_ONENET_MIPLDISCOVER_R 15
|
||
#define S_ONENET_ECL 16
|
||
#define S_ONENET_ECL_R 17
|
||
#define S_ONENET_CCLK 18
|
||
#define S_ONENET_CCLK_R 19
|
||
#define S_ONENET_Wait 20
|
||
#define S_ONENET_MIPLCONFIG3 21
|
||
#define S_ONENET_MIPLCONFIG3_R 22
|
||
|
||
//连接通信协议
|
||
#define NBIOT_CONNECT_COAP 0
|
||
#define NBIOT_CONNECT_UDP1 1
|
||
#define NBIOT_CONNECT_UDP2 2
|
||
//#define NBIOT_CONNECT_TCP1 3
|
||
|
||
#define SEND_TYPE_COAP 0
|
||
#define SEND_TYPE_UDP1 1
|
||
#define SEND_TYPE_UDP2 2
|
||
//#define SEND_TYPE_TCP1 3
|
||
//******************************* 结构体定义*************************************
|
||
//参数空间
|
||
#ifndef APN_SIZE
|
||
#define APN_SIZE 32
|
||
#endif
|
||
typedef struct
|
||
{
|
||
u8 *work_mode; //工作模式,一直在线模式还是时段在线模式
|
||
u8 *ip; //IP
|
||
u8 *spare_ip; //备用IP
|
||
u8 *port; //端口号
|
||
u8 *spare_port; //备用端口号
|
||
u8 *apn; //APN
|
||
} CFIG_PARA;
|
||
|
||
//NBIOT消息
|
||
|
||
typedef union
|
||
{
|
||
struct
|
||
{
|
||
u8 para_change : 1; //参数改变
|
||
u8 station_close : 1; //主站下线
|
||
u8 open_spare_station : 1; //开启备站
|
||
u8 close_spare_station : 1; //关闭备站
|
||
u8 apn_open : 1; //APN开启
|
||
u8 rev_data : 1; //收到数据
|
||
} s;
|
||
u8 info;
|
||
} NBIOT_MSG;
|
||
|
||
//NBIOT相关参数
|
||
typedef struct
|
||
{
|
||
CFIG_PARA cfig_para; //可配置参数
|
||
u8 csq; //信号值
|
||
u8 net_state; //网络状态
|
||
u8 offline_reason; //掉线原因
|
||
u8 Telecom; //运营商
|
||
u8 spare_station; //备站
|
||
u8 coap_state;
|
||
u8 udp1_state;
|
||
u8 udp2_state;
|
||
//u8 tcp1_state;
|
||
char imei[16];//IMEI号码为15 BIT阿拉伯数字 最后一字节为结束符 “\0”
|
||
char imsi[16];//IMSI号码为15 BIT阿拉伯数字 最后一字节为结束符 “\0”
|
||
char iccid[21];//ICCID为20位 数字或者大写字符
|
||
} NBIOT_PARA;
|
||
//数据发送相关
|
||
|
||
typedef struct
|
||
{
|
||
u8 *state; //发送申请指针msg
|
||
u8 *buf; //发送数据指针
|
||
u16 len; //发送长度
|
||
} NBIOT_SEND_DATA;
|
||
|
||
|
||
//******************************* 外部变量***************************************
|
||
extern NBIOT_PARA Nbiot_Para;
|
||
extern NBIOT_MSG Nbiot_Msg;
|
||
|
||
//******************************* 外部接口函数***********************************
|
||
void NbiotOnlineTask(u8 *state);
|
||
void NbiotSendTask(u8 *addr, u16 len, u8 send_type,u8 *state);
|
||
void NbiotUdpOpenTask(void);
|
||
void NbiotReadECLSNRTask(u8 *state);
|
||
void NB_NetConnectStart(unsigned char* temp_ip, u16 temp_port, u8 connect_type);
|
||
u8 ConncetIfOnline(u8 connect_type);
|
||
void StartNbiotSendData(void);
|
||
u8 getNB_NetConnectType(void);
|
||
u32 sys_get_net_state (void);
|
||
|
||
u8 NbiotIfIdle(void);
|
||
u8 NbiotIfOnline(void);
|
||
u8 NbiotIfSleep(void);
|
||
void NbiotPreSleep(void);
|
||
void NbiotWakeSleep(void);
|
||
|
||
void NbiotGetCcidTask(u8 **ccid, u8 *state);
|
||
void NbiotMainMachine(void);
|
||
|
||
u8 If_NB_Poweron(void);
|
||
void StartPowerOffTask(void);
|
||
void set_ip_port(void);
|
||
void NbForcePowerOff(void);
|
||
u8 GetNbiotSendType(void);
|
||
u8 UdpIfOnline(void);
|
||
|
||
void TcpStartConnect(void);
|
||
u8 TcpIfOnline(void);
|
||
void StartTcpSendData(void);
|
||
|
||
//初始化状态机状态号
|
||
#define S_INIT_POWER_ON 0 //模块送电
|
||
#define S_INIT_RESET_LOW 1 //开始复位模块
|
||
#define S_INIT_RESET_HIGH 2 //模块完成复位
|
||
#define S_INIT_POWER_ON_WAIT 3 //等待模块搜网注册
|
||
#define S_INIT_ATS 4 //发送初始化AT指令
|
||
#define S_INIT_ATS_R 5 //判断初始化AT指令返回状态
|
||
#define S_INIT_CMEE 6 //打开ERROR错误代码显示
|
||
#define S_INIT_CMEE_R 7 //打开ERROR错误代码显示返回状态
|
||
#define S_TCP_CPSMS 8 //关闭PSM模式
|
||
#define S_TCP_CPSMS_R 9
|
||
#define S_TCP_NPTWEDRXS 10 //关闭eDRX模式
|
||
#define S_TCP_NPTWEDRXS_R 11
|
||
#define S_INIT_ASK_IMEI 12 //查询IMEI
|
||
#define S_INIT_ASK_IMEI_R 13 //查询IMEI返回状态
|
||
#define S_INIT_ASK_CIMI 14 //查询CIMI
|
||
#define S_INIT_ASK_CIMI_R 15 //查询CIMI返回状态
|
||
#define S_INIT_ASK_CSQ 16 //查询CSQ
|
||
#define S_INIT_ASK_CSQ_R 17 //查询CSQ返回状态
|
||
#define S_INIT_ASK_CEREG 18 //查询CEREG
|
||
#define S_INIT_ASK_CEREG_R 19 //查询CEREG返回状态
|
||
#define S_INIT_ASK_CGATT 20 //查询CGATT
|
||
#define S_INIT_ASK_CGATT_R 21 //查询CGATT返回状态
|
||
|
||
#define S_INIT_ASK_ICCID 22 //查询SIM卡的ICCID
|
||
#define S_INIT_ASK_ICCID_R 23
|
||
#define S_INIT_AT_CGDCONT 24 //配置网络参数
|
||
#define S_INIT_AT_CGDCONT_R 25
|
||
|
||
#define S_INIT_AT_ECCESQS 26 //关闭信号主动通知
|
||
#define S_INIT_AT_ECCESQS_R 27
|
||
#define S_INIT_AT_ECSTATUS 28 //查询信号相关参数
|
||
#define S_INIT_AT_ECSTATUS_R 29
|
||
|
||
#define S_INIT_AT_READ_APN 30
|
||
#define S_INIT_AT_READ_APN_R 31
|
||
|
||
#define S_INIT_PWRKEY_LOW 32 //开始复位模块
|
||
#define S_INIT_PWRKEY_HIGH 33 //模块完成复位
|
||
|
||
#define S_INIT_CFUN0 34
|
||
#define S_INIT_CFUN0_R 35
|
||
#define S_INIT_CFUN1 36
|
||
#define S_INIT_CFUN1_R 37
|
||
//TCP链接状态机
|
||
//#define S_COAP_CONNECT_START 0 //
|
||
//#define S_TCP_CONNECT_DEL 1 //删除以前的链接
|
||
|
||
//#define S_TCP_CONNECT_START 0 //模块送电
|
||
|
||
//#define S_UDP_CONNECT_START 0
|
||
#define SEND_TYPE_COAP 0
|
||
#define SEND_TYPE_UDP 1
|
||
//CoapConnectMachine
|
||
#define S_COAP_CONNECT_START 0
|
||
#define S_COAP_NCDP 1
|
||
#define S_COAP_NCDP_R 2
|
||
#define S_COAP_NCDP_CK 3
|
||
#define S_COAP_NCDP_CK_R 4
|
||
#define S_COAP_Wait 5
|
||
#define S_COAP_ECL 6 //读取ECL、SNR
|
||
#define S_COAP_ECL_R 7
|
||
#define S_COAP_CCLK 8 //查询网络时间
|
||
#define S_COAP_CCLK_R 9 //查询网络时间返回状态
|
||
//UdpConnectMachine
|
||
#define S_UDP_CONNECT_START 0
|
||
#define S_UDP_QIOPEN 1
|
||
#define S_UDP_QIOPEN_R 2
|
||
#define S_UDP_NCDP_CK 3
|
||
#define S_UDP_NCDP_CK_R 4
|
||
#define S_UDP_Wait 5
|
||
|
||
//onenet指令集
|
||
#define S_TCP_MIPLCONFIG 1
|
||
#define S_TCP_MIPLCONFIG_R 2
|
||
#define S_TCP_MIPLCREATE 3 //配置登录信息
|
||
#define S_TCP_MIPLCREATE_R 4 //删除以前的链接返回状态
|
||
#define S_TCP_MIPLADDOBJ 5 //定制对象
|
||
#define S_TCP_MIPLADDOBJ_R 6 //定制对象返回状态
|
||
#define S_TCP_MIPLDISCOVERRSP 7 //订阅资源
|
||
#define S_TCP_MIPLDISCOVERRSP_R 8 //订阅资源返回状态
|
||
#define S_TCP_MIPLOPEN 9
|
||
#define S_TCP_MIPLOPEN_R 10
|
||
#define S_TCP_WAIT_DISCOVER 11
|
||
#define S_TCP_ACK_DISCOVER 12
|
||
//
|
||
#define S_TCP_CONNECT_MIPLCONF 12 //配置登录信息
|
||
#define S_TCP_CONNECT_MIPLCONF_R 13 //配置登录信息返回状态
|
||
|
||
//CT_WING 平台指令集 E7025
|
||
#define S_AT_CTM2MSET 1
|
||
#define S_AT_CTM2MSET_R 2
|
||
#define S_AT_CTM2MREG 3
|
||
#define S_AT_CTM2MREG_R 4
|
||
#define S_AT_COAP_CCLK 5 //查询网络时间
|
||
#define S_AT_COAP_CCLK_R 6 //查询网络时间返回状态
|
||
|
||
//发送数据状态机
|
||
#define S_SEND_START 0
|
||
#define S_SEND_AT 1
|
||
#define S_SEND_AT_R 2
|
||
#define S_SEND_DATA 3
|
||
#define S_SEND_DATA_R 4
|
||
|
||
|
||
//ONENET 应答MIPLWRITE状态机
|
||
#define S_ONENET_ACKREV_IDLE 0
|
||
#define S_ONENET_ACKREV_START 1
|
||
#define S_ONENET_REPLY_REV_ACKID 2 //应答接收到数据
|
||
#define S_ONENET_REPLY_REV_ACKID_R 3 //应答接收到数据--等待响应*/
|
||
|
||
//关闭onenet网络状态机状态号
|
||
//#define S_AT_MIPLCLOSE 1 //关闭onenet网络
|
||
//#define S_AT_MIPLCLOSE_R 2 //判断onenet网络是否关闭成功
|
||
//#define S_AT_MIPLDELOBJ 3 //判断onenet网络是否关闭成功
|
||
//#define S_AT_MIPLDELOBJ_R 4 //判断onenet网络是否关闭成功
|
||
//#define S_AT_MIPLDEL 5 //判断onenet网络是否关闭成功
|
||
//#define S_AT_MIPLDEL_R 6 //判断onenet网络是否关闭成功
|
||
//#define S_AT_CFUN0 7
|
||
//#define S_AT_CFUN0_R 8
|
||
//#define S_AT_NCSEARFCN 9
|
||
//#define S_AT_NCSEARFCN_R 10
|
||
//#define S_AT_CFUN1 11
|
||
//#define S_AT_CFUN1_R 12
|
||
//#define S_POWER_OFF 13
|
||
//#define S_POWER_OFF_WAIT 14
|
||
|
||
|
||
#define NUM_AT_ERROR 10 //5
|
||
#define NUM_AT_CMEE_ERROR 10 //5
|
||
#define NUM_AT_CIMI_ERROR 10 //5
|
||
#define NUM_AT_IMEI_ERROR 10 //5
|
||
#define NUM_AT_ICCID_ERROR 10 //5
|
||
#define NUM_AT_CSQ_ERROR 10
|
||
#define NUM_AT_CGATT_ERROR 30
|
||
#define NUM_AT_CCLK_ERROR 5
|
||
|
||
#define NUM_AT_CTM2MSET_ERROR 5
|
||
#define NUM_AT_CTM2MREG_ERROR 5
|
||
|
||
//#define NUM_AT_NNMI_ERROR 5 //5
|
||
#define NUM_AT_CPSMS_ERROR 5 //5
|
||
#define NUM_AT_MIPLDEL_ERROR 2 //5
|
||
#define NUM_AT_MIPLCREATE_ERROR 5 //5
|
||
#define NUM_AT_MIPLCONF_ERROR 5 //5
|
||
#define NUM_AT_MIPLADDOBJ_ERROR 5 //5
|
||
#define NUM_AT_MIPLOPEN_ERROR 5 //5
|
||
#define NUM_AT_MIPLOBSERVERSP_ERROR 5 //5
|
||
#define NUM_AT_MIPLDISCOVERRSP_ERROR 5 //5
|
||
|
||
#define NUM_AT_MIPLNOTIFY_ERROR 5 //5
|
||
#define NUM_AT_MIPLOPEN_ERROR 5 //5
|
||
#define NUM_AT_MIPLWRITE_ERROR 5 //5
|
||
#define NUM_AT_MIPLCLOSE_ERROR 2 //5
|
||
#define NUM_AT_CFUN_ERROR 3 //5
|
||
#define NUM_AT_NCSEARFCN_ERROR 3 //5
|
||
#define NUM_AT_NPTWEDRXS_ERROR 3 //5
|
||
|
||
#define AT_COMMAND_SEND_INTERVAL_TIME 500 //mS
|
||
#define AT_COMMAND_RECEIVE_WAIT_TIME 1000 //mS
|
||
|
||
#endif
|
||
|
||
#endif
|
||
|
||
|
||
|