#include "CONFIG.h" #if EC800M #ifndef __EC800M_H #define __EC800M_H #include #include "Timer_Module.h" enum Result { Result_None, // 未知 Result_Success, // 成功 Result_Failed, // 失败 }; enum STATUS { Status_None, // 空闲 Status_Sending, // 正在发送 Status_Success, // 成功 Status_Failed, // 失败 Status_Overtime, // 超时 }; extern struct EC800M_Struct ec800m; // ec800m的AT发送状态机 struct EC800M_Struct { enum STATUS status; // 状态 uint16_t activeID; // 活动的编号。下面的每个活动都有一个唯一的编号 // uint32_t timer_ms; // 计时器 struct TIMER_Struct timer; // 计时器 void (* reset) (void); void (* exit_sleep)(void); // 退出休眠 void (* enter_sleep)(void); // 退出休眠 enum Result (* query_sleep)(uint8_t * n); // 查询休眠状态 enum Result (* query_sleep_sync)(uint8_t * n); // 查询休眠状态。同步 enum Result (* set_sleep)(uint8_t n); // 设置休眠模式 enum Result (* set_sleep_sync)(uint8_t n); // 设置休眠模式。同步 enum Result (* set_cfun)(uint8_t fun); // 设置功能模式 enum Result (* set_cfun_sync)(uint8_t fun); // 设置功能模式。同步 enum Result (* set_cgreg)(uint8_t n); // 设置ps域注册状态。 enum Result (* set_cgreg_sync)(uint8_t n); // 设置ps域注册状态。。同步 enum Result (* query_cgreg)(uint8_t * n, uint8_t * stat, uint16_t * lac, uint32_t * ci); // 查询ps域网络注册状态 enum Result (* query_cgreg_sync)(uint8_t * n, uint8_t * stat, uint16_t * lac, uint32_t * ci); // 查询ps域网络注册状态。同步 enum Result (* query_socket_state)(uint8_t connectID, uint8_t * state); // 查询Socket服务状态 enum Result (* query_socket_state_sync)(uint8_t connectID, uint8_t * state); // 查询Socket服务状态。同步 enum Result (* open_socket)(uint8_t connectID, char * service_type, char * IP_address, uint16_t remote_port, uint8_t access_mode, uint16_t * err); // 打开Socket服务 enum Result (* open_socket_sync)(uint8_t connectID, char * service_type, char * IP_address, uint16_t remote_port, uint8_t access_mode, uint16_t * err); // 打开Socket服务。同步 enum Result (* close_socket)(uint8_t connectID); // 关闭socket服务 enum Result (* close_socket_sync)(uint8_t connectID); // 关闭socket服务。同步 enum Result (* set_qisde)(uint8_t echo); // 控制发送数据后是否回显。 enum Result (* set_qisde_sync)(uint8_t echo); // 控制发送数据后是否回显。。同步 enum Result (* send)(uint8_t connectID, uint8_t * data, uint16_t data_length); // 发送数据。 enum Result (* send_sync)(uint8_t connectID, uint8_t * data, uint16_t data_length); // 发送数据。。同步 enum Result (* recv)(uint8_t connectID, uint8_t * data, uint16_t * data_length); // 接收数据 enum Result (* recv_with_time)(uint8_t connectID, uint8_t * data, uint16_t * data_length, uint32_t time_out); // 接收数据,带等待时间。 enum Result (* recv_with_time_sync)(uint8_t connectID, uint8_t * data, uint16_t * data_length, uint32_t time_out); // 接收数据,带等待时间。同步 enum Result (* power_down)(uint8_t n); // 模块关机 enum Result (* power_down_sync)(uint8_t n); // 模块关机 enum Result (* ready)(void); // 模块是否启动成功 enum Result (* qeng_servingcell)(int * RSRP, int * RSRQ, int * RSSI, int * SINR); // 查询网络信号质量。 enum Result (* qeng_servingcell_sync)(int * RSRP, int * RSRQ, int * RSSI, int * SINR); // 查询网络信号质量。同步 enum Result (* query_qccid)(char * iccid); // 查询SIM卡卡号 enum Result (* query_qccid_sync)(char * iccid); // 查询SIM卡卡号 }; #endif #endif