aiwb2.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. #include "CONFIG.h"
  2. #if AIWB2
  3. #ifndef __AIWB2_H
  4. #define __AIWB2_H
  5. #include "stm32f10x.h" // Device header
  6. #include <stdint.h>
  7. #include "Timer_Module.h"
  8. extern uint8_t conID; //socket ID
  9. char * WIFI_Name(void);
  10. char * WIFI_Password(void);
  11. enum Result
  12. {
  13. Result_None, // 未知
  14. Result_Success, // 成功
  15. Result_Failed, // 失败
  16. };
  17. enum STATUS
  18. {
  19. Status_None, // 空闲
  20. Status_Sending, // 正在发送
  21. Status_Success, // 成功
  22. Status_Failed, // 失败
  23. Status_Overtime, // 超时
  24. };
  25. extern struct AIWB2_Struct aiwb2;
  26. // aiwb2的AT发送状态机
  27. struct AIWB2_Struct
  28. {
  29. enum STATUS status; // 状态
  30. uint16_t activeID; //活动的编号,下面每个活动都有一个唯一的编号
  31. struct TIMER_Struct timer; // 计时器
  32. void (* reset) (void); //重置接收区的状态
  33. void (* exit_sleep)(void); // 退出休眠
  34. void (* exit_sleep_io)(void); // 退出休眠
  35. void (* enter_sleep_io)(void);//硬件的方式进入休眠
  36. enum Result (* enter_sleep)(void); // 进入休眠
  37. enum Result (* exit_sleep_io_test)(void);//退出休眠并检测结果
  38. enum Result (* ready)(void); // 模块是否启动成功
  39. enum Result (* test_at)(void);//发送AT
  40. enum Result (* set_receivingmode)(uint8_t n); //设置接收模式
  41. enum Result (* set_workmode)(uint8_t n,uint8_t m);
  42. enum Result (* set_connect_WIFI)(char *WIFI_Name, char *WIFI_Password);
  43. enum Result (* set_sleep)(uint8_t n); // 设置休眠模式
  44. enum Result (* set_dataout)(void);//设定回显的数据格式
  45. enum Result (* set_qisde)(uint8_t echo); // 控制发送数据后是否回显
  46. enum Result (* open_socket)(uint8_t UDPID, char * IP_address, uint16_t remote_port); // 打开Socket服务
  47. enum Result (* send)(uint8_t connectID, uint8_t * data, uint16_t data_length, uint16_t * regist_data_length); // 发送数据
  48. enum Result (* recv_with_time)(uint8_t connectID, uint8_t * data, uint16_t * data_length, uint32_t time_out); // 接收数据,带等待时间。
  49. enum Result (* recv)(uint8_t connectID, uint8_t * data, uint16_t * data_length); // 接收数据
  50. enum Result (* recv_with_time_regist)(uint8_t connectID, uint8_t * data, uint16_t * data_length, uint32_t time_out); // 接收数据,带等待时间。
  51. enum Result (* recv_regist)(uint8_t connectID, uint8_t * data, uint16_t * data_length); // 接收数据
  52. enum Result (* wdisconnet)(void); // 断开WIFI连接
  53. enum Result (* close_socket)(uint8_t connectID); // 关闭socket服务
  54. enum Result (* query_id_signal)(char * ID, int * RSSI); //查询未连接wifi的rssi
  55. enum Result (* query_signal)(int * RSSI);//查询连接wifi的rssi
  56. };
  57. #endif
  58. #endif