esp32.h 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. #include "CONFIG.h"
  2. #if ESP32
  3. #ifndef __ESP32_H
  4. #define __ESP32_H
  5. #include <stdint.h>
  6. #include "Timer_Module.h"
  7. //系统初始的WiFi连接参数
  8. extern char WIFI_ID[50];
  9. extern char WIFI_PASSWORD[30];
  10. enum Result
  11. {
  12. Result_None, // 未知
  13. Result_Success, // 成功
  14. Result_Failed, // 失败
  15. };
  16. enum STATUS
  17. {
  18. Status_None, // 空闲
  19. Status_Sending, // 正在发送
  20. Status_Success, // 成功
  21. Status_Failed, // 失败
  22. Status_Overtime, // 超时
  23. };
  24. extern struct ESP32_Struct esp32;
  25. // ESP32的AT发送状态机
  26. struct ESP32_Struct
  27. {
  28. enum STATUS status; // 状态
  29. uint16_t activeID; // 活动的编号。下面的每个活动都有一个唯一的编号
  30. struct TIMER_Struct timer; // 计时器
  31. void (* reset)(void); //1.重置状态
  32. void (* exit_deepsleep)(void); //2.退出深休眠
  33. void (* enter_deepsleep)(void); //3.进入深休眠
  34. void (* exit_lightsleep)(void); //4.退出浅休眠
  35. void (* enter_lightsleep)(void); //5.进入浅休眠
  36. enum Result (* set_lightsleep_wakeup)(uint8_t source, uint8_t gpio, uint8_t mode); //6.设置浅睡眠唤醒源
  37. enum Result (* set_lightsleep_wakeup_sync)(uint8_t source, uint8_t gpio, uint8_t mode); //7.设置浅睡眠唤醒源-同步
  38. enum Result (* set_sleep)(uint8_t mode); //8.设置睡眠模式
  39. enum Result (* set_sleep_sync)(uint8_t mode); //9.设置睡眠模式-同步
  40. enum Result (* connect_ap)(char* id, char* password); //10.连接AP
  41. enum Result (* connect_ap_sync)(char* id, char* password); //11.连接AP-同步
  42. enum Result (* set_cipmode)(uint8_t mode); //12.设置传输模式
  43. enum Result (* set_cipmode_sync)(uint8_t mode); //13.设置传输模式-同步
  44. enum Result (* connect_network)(char * service_type, char * IP_address, uint16_t remote_port); //14.连接TCP/UDP服务器
  45. enum Result (* connect_network_sync)(char * service_type, char * IP_address, uint16_t remote_port); //15.连接TCP/UDP服务器-同步
  46. enum Result (* query_id_signal)(char * ID, int * RSSI); //16.查询指定ID的WiFi信号强度
  47. enum Result (* query_id_signal_sync)(char * ID, int * RSSI); //17.查询指定ID的WiFi信号强度-同步
  48. enum Result (* close_network)(void); //18.关闭TCP/UDP连接
  49. enum Result (* close_network_sync)(void); //19.关闭TCP/UDP连接-同步
  50. enum Result (* autoconnect_ap)(uint8_t mode); //20.是否自动连接AP
  51. enum Result (* autoconnect_ap_sync)(uint8_t mode); //21.是否自动连接AP-同步
  52. enum Result (* close_ap)(void); //22.关闭AP连接
  53. enum Result (* close_ap_sync)(void); //23.关闭AP连接-同步
  54. enum Result (* query_signal)(int * RSSI); //24.查询已连接WiFi的信号强度
  55. enum Result (* query_signal_sync)(int * RSSI); //25.查询已连接WiFi的信号强度-同步
  56. enum Result (* ready)(void); //26.模块是否异常启动
  57. enum Result (* ready_sync)(void); //27.模块是否启动-同步
  58. enum Result (* handle_data)(uint8_t * data, uint16_t send_data_length, uint16_t *recv_data_length); //28.处理数据(数据发送+等待发送结果)
  59. enum Result (* handle_data_sync)(uint8_t * data, uint16_t send_data_length, uint16_t *recv_data_length); //29.处理数据(数据发送+等待发送结果)-同步
  60. enum Result (* recv_ready)(void); //30.判断模块是否正常启动
  61. enum Result (* recv_ready_with_time)(uint32_t time_out); //31.判断模块是否正常启动+等待时间
  62. enum Result (* set_mode)(uint8_t mode); //32.设置WiFi模式
  63. enum Result (* set_mode_sync)(uint8_t mode); //33.设置WiFi模式-同步
  64. enum Result (* query_mac_address)(char * MAC_address); //34.查询WiFi模块的MAC地址
  65. enum Result (* set_ip_address)(char *IP_address); //35.设置WiFi模块的IP地址
  66. enum Result (* set_dhcp)(uint8_t operate,uint8_t mode); //36.设置启用DHCP模式
  67. enum Result (* set_gateway)(char *IP_address, char *Gateway, char *Netmask); //37.设置WiFi模块的IP地址、网关、掩码
  68. enum Result (* rst)(void); //38.重启WiFi模块
  69. };
  70. #endif
  71. #endif