nRF24L01, encoder, pca9685, pid

Dependencies:   mbed QEI-1 nRF24L01P xiugai

Committer:
brainliang
Date:
Wed Oct 30 10:59:58 2019 +0000
Revision:
5:fdacb4ef6709
encoder PID PCA9685 esp8266

Who changed what in which revision?

UserRevisionLine numberNew contents of line
brainliang 5:fdacb4ef6709 1 /**
brainliang 5:fdacb4ef6709 2 * 调用本驱动库需要使能
brainliang 5:fdacb4ef6709 3 * 在mbed_config.h中define一下ENABLE_ESP8266即可
brainliang 5:fdacb4ef6709 4 **/
brainliang 5:fdacb4ef6709 5 #ifndef __ESP8266_H
brainliang 5:fdacb4ef6709 6 #define __ESP8266_H
brainliang 5:fdacb4ef6709 7
brainliang 5:fdacb4ef6709 8 #ifdef ENABLE_ESP8266
brainliang 5:fdacb4ef6709 9
brainliang 5:fdacb4ef6709 10 #include "mbed.h"
brainliang 5:fdacb4ef6709 11 #include <string>
brainliang 5:fdacb4ef6709 12
brainliang 5:fdacb4ef6709 13 class Esp8266 { //声明一个类
brainliang 5:fdacb4ef6709 14 volatile bool network_start;
brainliang 5:fdacb4ef6709 15 volatile bool mqtt_start;
brainliang 5:fdacb4ef6709 16 volatile bool control_cmd;
brainliang 5:fdacb4ef6709 17 char esp_tokenBuf[32], esp_paramBuf[32]; // recv from esp8266
brainliang 5:fdacb4ef6709 18 char control_buf[32];
brainliang 5:fdacb4ef6709 19 bool esp_buf_ready;
brainliang 5:fdacb4ef6709 20 Serial ser2esp8266;
brainliang 5:fdacb4ef6709 21
brainliang 5:fdacb4ef6709 22 protected:
brainliang 5:fdacb4ef6709 23 void esp8266_rxCallback();
brainliang 5:fdacb4ef6709 24 void gotResponse(char *token, char *param);
brainliang 5:fdacb4ef6709 25 void buildCapability(char *out, const char* infoList[][2]);
brainliang 5:fdacb4ef6709 26 public:
brainliang 5:fdacb4ef6709 27 Esp8266(PinName TX, PinName RX, const char *wifi_ssid, const char *wifi_passwd);
brainliang 5:fdacb4ef6709 28
brainliang 5:fdacb4ef6709 29 // 通用
brainliang 5:fdacb4ef6709 30 bool reset();
brainliang 5:fdacb4ef6709 31
brainliang 5:fdacb4ef6709 32 // 连接模式
brainliang 5:fdacb4ef6709 33 bool connect_wifi(const char *wifi_ssid, const char *wifi_passwd);
brainliang 5:fdacb4ef6709 34 bool weblogin();
brainliang 5:fdacb4ef6709 35 bool connect_mqtt_broker(const char *ip, const char *node_name, const char* sensors[][2], const char* actuator[][2]);
brainliang 5:fdacb4ef6709 36 bool is_connected();
brainliang 5:fdacb4ef6709 37
brainliang 5:fdacb4ef6709 38 bool publish_value(const char *topic, std::string data);
brainliang 5:fdacb4ef6709 39 bool publish_value(const char *topic, int data);
brainliang 5:fdacb4ef6709 40 bool publish_value(const char *topic, float data);
brainliang 5:fdacb4ef6709 41 bool subscribe_control(const char *topic, const char *data = NULL);
brainliang 5:fdacb4ef6709 42 bool is_control_available(void) { return control_cmd; }
brainliang 5:fdacb4ef6709 43 bool get_control_cmd(char* actuator, char* value);
brainliang 5:fdacb4ef6709 44 // 热点模式
brainliang 5:fdacb4ef6709 45 };
brainliang 5:fdacb4ef6709 46
brainliang 5:fdacb4ef6709 47 #else
brainliang 5:fdacb4ef6709 48
brainliang 5:fdacb4ef6709 49 #error esp8266.h is included but "ENABLE_ESP8266" is not defined, check mbed_config.h for detail
brainliang 5:fdacb4ef6709 50
brainliang 5:fdacb4ef6709 51 #endif // ENABLE_ESP8266
brainliang 5:fdacb4ef6709 52
brainliang 5:fdacb4ef6709 53 #endif // !__ESP8266_H