HardwareSerial.h File Reference
#include <cstdint>
#include <Delegate.h>
#include <Data/Stream/ReadWriteStream.h>
#include <BitManipulations.h>
#include <driver/uart.h>
Include dependency graph for HardwareSerial.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  HardwareSerial
 Hardware serial class. More...
 

Macros

#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 SERIAL_PIN_DEFAULT   UART_PIN_DEFAULT
 
#define SERIAL_CONFIG_MAP(XX)
 
#define XX(x)   Fmt##x = UART_##x,
 
#define XX(x)   static constexpr SerialFormat SERIAL_##x{SerialFormat::Fmt##x};
 
#define DEFAULT_RX_BUFFER_SIZE   256
 
#define DEFAULT_TX_BUFFER_SIZE   0
 
#define SERIAL_STATUS_MAP(XX)
 
#define XX(tag, comment)   tag,
 
#define XX(tag, comment)   static constexpr SerialStatus eSERS_##tag{SerialStatus::tag};
 

Typedefs

using StreamDataReceivedDelegate = Delegate< void(Stream &source, char arrivedChar, uint16_t availableCharsCount)>
 Delegate callback type for serial data reception. More...
 
using TransmitCompleteDelegate = Delegate< void(HardwareSerial &serial)>
 Delegate callback type for serial data transmit completion. More...
 

Enumerations

enum class  SerialFormat { XX }
 
enum class  SerialMode { Full = UART_FULL , RxOnly = UART_RX_ONLY , TxOnly = UART_TX_ONLY }
 values equivalent to uart_mode_t More...
 
enum class  SerialStatus { XX }
 Notification and error status bits. More...
 

Variables

static constexpr SerialMode SERIAL_FULL {SerialMode::Full}
 
static constexpr SerialMode SERIAL_RX_ONLY {SerialMode::RxOnly}
 
static constexpr SerialMode SERIAL_TX_ONLY {SerialMode::TxOnly}
 
HardwareSerial Serial
 Global instance of serial port UART0. More...