bc260.h 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #ifndef __bc260_H
  2. #define __bc260_H
  3. #include <stdint.h>
  4. #include "AT.h"
  5. #if NBFLAG
  6. extern struct BC260Y bc260y;
  7. enum Result
  8. {
  9. Result_None, // 未知
  10. Result_Success, // 成功
  11. Result_Failed, // 失败
  12. };
  13. enum STATUS
  14. {
  15. Status_None, // 空闲
  16. Status_Sending, // 正在发送
  17. Status_Success, // 成功
  18. Status_Failed, // 失败
  19. Status_Overtime, // 超时
  20. };
  21. // ec800m的AT发送状态机
  22. struct BC260Y
  23. {
  24. enum STATUS status; // 状态
  25. uint16_t activeID; // 活动的编号。下面的每个活动都有一个唯一的编号
  26. uint32_t timer_ms; // 计时器
  27. void (* reset) (void);
  28. enum Result (* exit_sleep)(void); // 退出休眠
  29. enum Result (* exit_sleep_sync)(void); // 退出休眠
  30. void (* enter_sleep)(void); // 退出休眠
  31. enum Result (* query_sleep)(uint8_t * n); // 查询休眠状态
  32. enum Result (* query_sleep_sync)(uint8_t * n); // 查询休眠状态。同步
  33. enum Result (* set_sleep)(uint8_t n); // 设置休眠模式
  34. enum Result (* set_sleep_sync)(uint8_t n); // 设置休眠模式。同步
  35. enum Result (* set_cfun)(uint8_t fun); // 设置功能模式
  36. enum Result (* set_cfun_sync)(uint8_t fun); // 设置功能模式。同步
  37. enum Result (* set_cgreg)(uint8_t n); // 设置ps域注册状态。
  38. enum Result (* set_cgreg_sync)(uint8_t n); // 设置ps域注册状态。。同步
  39. enum Result (* query_cgreg)(uint8_t * n, uint8_t * stat, uint16_t * lac, uint32_t * ci); // 查询ps域网络注册状态
  40. enum Result (* query_cgreg_sync)(uint8_t * n, uint8_t * stat, uint16_t * lac, uint32_t * ci); // 查询ps域网络注册状态。同步
  41. enum Result (* query_socket_state)(uint8_t connectID, uint8_t * state); // 查询Socket服务状态
  42. enum Result (* query_socket_state_sync)(uint8_t connectID, uint8_t * state); // 查询Socket服务状态。同步
  43. 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服务
  44. 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服务。同步
  45. enum Result (* close_socket)(uint8_t connectID); // 关闭socket服务
  46. enum Result (* close_socket_sync)(uint8_t connectID); // 关闭socket服务。同步
  47. enum Result (* set_qisde)(uint8_t echo); // 控制发送数据后是否回显。
  48. enum Result (* set_qisde_sync)(uint8_t echo); // 控制发送数据后是否回显。。同步
  49. enum Result (* send)(uint8_t connectID, uint8_t * data, uint16_t data_length); // 发送数据。
  50. enum Result (* send_sync)(uint8_t connectID, uint8_t * data, uint16_t data_length); // 发送数据。。同步
  51. enum Result (* recv)(uint8_t connectID, uint8_t * data, uint16_t * data_length); // 接收数据
  52. enum Result (* recv_with_time)(uint8_t connectID, uint8_t * data, uint16_t * data_length, uint32_t time_out); // 接收数据,带等待时间。
  53. enum Result (* recv_with_time_sync)(uint8_t connectID, uint8_t * data, uint16_t * data_length, uint32_t time_out); // 接收数据,带等待时间。同步
  54. enum Result (* power_down)(uint8_t n); // 模块关机
  55. enum Result (* power_down_sync)(uint8_t n); // 模块关机
  56. enum Result (* ready)(void); // 模块是否启动成功
  57. enum Result (* qeng_servingcell)(int * RSRP, int * RSRQ, int * RSSI, int * SINR); // 查询网络信号质量。
  58. enum Result (* qeng_servingcell_sync)(int * RSRP, int * RSRQ, int * RSSI, int * SINR); // 查询网络信号质量。同步
  59. enum Result (* query_qccid)(char * iccid); // 查询SIM卡卡号
  60. enum Result (* query_qccid_sync)(char * iccid); // 查询SIM卡卡号
  61. enum Result (* dataformat)(uint8_t n); // 配置发送数据格式
  62. enum Result (* dataformat_sync)(uint8_t n); // 配置发送数据格式
  63. };
  64. #endif
  65. #endif