RadioLib
Universal wireless communication library for Arduino
ESP8266.h
1 #if !defined(_RADIOLIB_ESP8266_H) && !defined(RADIOLIB_EXCLUDE_ESP8266) && !defined(ESP8266)
2 #define _RADIOLIB_ESP8266_H
3 
4 #include "../../TypeDef.h"
5 #include "../../Module.h"
6 
7 #include "../../protocols/TransportLayer/TransportLayer.h"
8 
14 class ESP8266: public TransportLayer {
15  public:
21  ESP8266(Module* module);
22 
23  // basic methods
24 
32  int16_t begin(long speed);
33 
39  int16_t reset();
40 
48  int16_t join(const char* ssid, const char* password);
49 
50  // transport layer methods (implementations of purely virtual methods in TransportLayer class)
51  int16_t openTransportConnection(const char* host, const char* protocol, uint16_t port, uint16_t tcpKeepAlive = 0) override;
52  int16_t closeTransportConnection() override;
53  int16_t send(const char* data) override;
54  int16_t send(uint8_t* data, size_t len) override;
55  size_t receive(uint8_t* data, size_t len, uint32_t timeout = 10000) override;
56  size_t getNumBytes(uint32_t timeout = 10000, size_t minBytes = 10) override;
57 
58 #ifndef RADIOLIB_GODMODE
59  private:
60 #endif
61  Module* _mod;
62 };
63 
64 #endif
Provides common interface for protocols that run on modules with Internet connectivity, such as HTTP or MQTT. Because this class is used mainly as interface, all of its virtual members must be implemented in the module class.
Definition: TransportLayer.h:12
int16_t send(const char *data) override
Send string-based data.
Definition: ESP8266.cpp:133
ESP8266(Module *module)
Default constructor.
Definition: ESP8266.cpp:4
size_t receive(uint8_t *data, size_t len, uint32_t timeout=10000) override
Receive data.
Definition: ESP8266.cpp:193
int16_t openTransportConnection(const char *host, const char *protocol, uint16_t port, uint16_t tcpKeepAlive=0) override
Open transport layer connection.
Definition: ESP8266.cpp:85
size_t getNumBytes(uint32_t timeout=10000, size_t minBytes=10) override
Get number of received bytes.
Definition: ESP8266.cpp:210
Implements all common low-level SPI/UART/I2C methods to control the wireless module. Every module class contains one private instance of this class.
Definition: Module.h:17
int16_t reset()
Resets module using AT command.
Definition: ESP8266.cpp:26
int16_t begin(long speed)
Initialization method.
Definition: ESP8266.cpp:8
int16_t closeTransportConnection() override
Close transport layer connection.
Definition: ESP8266.cpp:125
int16_t join(const char *ssid, const char *password)
Joins access point.
Definition: ESP8266.cpp:48
Control class for ESP8266 module. Implements TransportLayer methods.
Definition: ESP8266.h:14