Sming Framework API
Sming - Open Source framework for high efficiency WiFi SoC ESP8266 native development with C++ language.
AtCommand serial

Asynchronous AT command client. More...

Classes

struct  AtCommand
 
class  AtClient
 Class that facilitates the communication with an AT device. More...
 
class  HardwareSerial
 Hardware serial class. More...
 

Macros

#define AT_REPLY_OK   "OK"
 
#define AT_TIMEOUT   2000
 
#define UART_ID_0   0
 ID of UART 0. More...
 
#define UART_ID_1   1
 ID of UART 1. More...
 
#define NUMBER_UARTS   UART_COUNT
 Quantity of UARTs available. More...
 
#define DEFAULT_RX_BUFFER_SIZE   256
 
#define DEFAULT_TX_BUFFER_SIZE   0
 

Typedefs

typedef Delegate< bool(AtClient &atClient, Stream &source)> AtReceiveCallback
 
typedef Delegate< bool(AtClient &atClient, String &reply)> AtCompleteCallback
 
typedef Delegate< void(Stream &source, char arrivedChar, uint16_t availableCharsCount)> StreamDataReceivedDelegate
 Delegate callback type for serial data reception. More...
 
typedef Delegate< void(HardwareSerial &serial)> TransmitCompleteDelegate
 Delegate callback type for serial data transmit completion. More...
 

Enumerations

enum  AtState {
  eAtOK = 0,
  eAtRunning,
  eAtError
}
 
enum  SerialConfig {
  SERIAL_5N1 = UART_5N1,
  SERIAL_6N1 = UART_6N1,
  SERIAL_7N1 = UART_7N1,
  SERIAL_8N1 = UART_8N1,
  SERIAL_5N2 = UART_5N2,
  SERIAL_6N2 = UART_6N2,
  SERIAL_7N2 = UART_7N2,
  SERIAL_8N2 = UART_8N2,
  SERIAL_5E1 = UART_5E1,
  SERIAL_6E1 = UART_6E1,
  SERIAL_7E1 = UART_7E1,
  SERIAL_8E1 = UART_8E1,
  SERIAL_5E2 = UART_5E2,
  SERIAL_6E2 = UART_6E2,
  SERIAL_7E2 = UART_7E2,
  SERIAL_8E2 = UART_8E2,
  SERIAL_5O1 = UART_5O1,
  SERIAL_6O1 = UART_6O1,
  SERIAL_7O1 = UART_7O1,
  SERIAL_8O1 = UART_8O1,
  SERIAL_5O2 = UART_5O2,
  SERIAL_6O2 = UART_6O2,
  SERIAL_7O2 = UART_7O2,
  SERIAL_8O2 = UART_8O2
}
 
enum  SerialMode {
  SERIAL_FULL = UART_FULL,
  SERIAL_RX_ONLY = UART_RX_ONLY,
  SERIAL_TX_ONLY = UART_TX_ONLY
}
 values equivalent to uart_mode_t More...
 
enum  SerialStatus {
  eSERS_BreakDetected = UIBD,
  eSERS_Overflow = UIOF,
  eSERS_FramingError = UIFR,
  eSERS_ParityError = UIPE
}
 Notification and error status bits. More...
 

Variables

HardwareSerial Serial
 Global instance of serial port UART0. More...
 

Detailed Description

Asynchronous AT command client.

Hardware serial UARTs.

Macro Definition Documentation

#define NUMBER_UARTS   UART_COUNT

Quantity of UARTs available.

#define UART_ID_0   0

ID of UART 0.

#define UART_ID_1   1

ID of UART 1.

Typedef Documentation

typedef Delegate<void(Stream& source, char arrivedChar, uint16_t availableCharsCount)> StreamDataReceivedDelegate

Delegate callback type for serial data reception.

Parameters
sourceReference to serial stream
arrivedCharChar received
availableCharsCountQuantity of chars available stream in receive buffer
Note
Delegate constructor usage: (&YourClass::method, this)

This delegate is invoked when the serial receive buffer is full, or it times out. The arrivedChar indicates the last character received, which might be a '
' line ending character, for example.

If no receive buffer has been allocated, or it's not big enough to contain the full message, then this value will be incorrect as data is stored in the hardware FIFO until read out.

Delegate callback type for serial data transmit completion.

Note
Invoked when the last byte has left the hardware FIFO

Enumeration Type Documentation

enum SerialMode

values equivalent to uart_mode_t

Notification and error status bits.

Enumerator
eSERS_BreakDetected 

Break condition detected on receive line.

eSERS_Overflow 

Receive buffer overflowed.

eSERS_FramingError 

Receive framing error.

eSERS_ParityError 

Parity check failed on received data.

Variable Documentation

Global instance of serial port UART0.

Note
Use Serial.function to access serial functions
Example:
1 Serial.begin(115200);
Serial uses UART0, which is mapped to pins GPIO1 (TX) and GPIO3 (RX).
Serial may be swapped to GPIO15 (TX) and GPIO13 (RX) by calling Serial.swap() after Serial.begin.
Calling swap again maps UART0 back to GPIO1 and GPIO3.