HardwareSerial.h
Go to the documentation of this file.
44 typedef Delegate<void(Stream& source, char arrivedChar, uint16_t availableCharsCount)> StreamDataReceivedDelegate;
81 enum SerialMode { SERIAL_FULL = UART_FULL, SERIAL_RX_ONLY = UART_RX_ONLY, SERIAL_TX_ONLY = UART_TX_ONLY };
Both receive and transmit - will revert to TX only if RX not supported.
Definition: Esp8266/Components/driver/include/driver/uart.h:103
void begin(uint32_t baud, SerialConfig config)
Initialise and set its configuration.
Definition: HardwareSerial.h:140
void begin(uint32_t baud=9600)
Initialise the serial port.
Definition: HardwareSerial.h:127
void smg_uart_swap(smg_uart_t *uart, int tx_pin)
void flush() override
Flush all pending data to the serial port.
Definition: HardwareSerial.h:303
bool isFinished() override
Check if all data has been read.
Definition: HardwareSerial.h:277
void setTxWait(bool wait)
Governs write behaviour when UART transmit buffers are full.
Definition: HardwareSerial.h:193
Definition: HardwareSerial.h:73
Definition: HardwareSerial.h:70
void pins(uint8_t tx, uint8_t rx)
Sets the transmission and receiving PINS.
Definition: HardwareSerial.h:238
uint32_t baudRate()
Get the current baud rate.
Definition: HardwareSerial.h:396
void swap(uint8_t tx_pin)
Toggle between use of GPIO13/GPIO15 or GPIO3/GPIO(1/2) as RX and TX.
Definition: HardwareSerial.h:213
static void smg_uart_set_options(smg_uart_t *uart, uart_options_t options)
Set option flags.
Definition: Esp8266/Components/driver/include/driver/uart.h:242
bool setCallback(StreamDataReceivedDelegate dataReceivedDelegate)
Set handler for received data.
Definition: HardwareSerial.h:338
void clear(SerialMode mode=SERIAL_FULL)
Clear the serial port transmit/receive buffers.
Definition: HardwareSerial.h:295
Definition: HardwareSerial.h:62
smg_uart_t * getUart()
Returns a pointer to the internal uart object. Use with care.
Definition: HardwareSerial.h:433
bool smg_uart_tx_enabled(smg_uart_t *uart)
Definition: Esp8266/Components/driver/include/driver/uart.h:270
Definition: HardwareSerial.h:69
void smg_uart_flush(smg_uart_t *uart, smg_uart_mode_t mode=UART_FULL)
discard any buffered data and reset hardware FIFOs
uint32_t smg_uart_set_baudrate(smg_uart_t *uart, uint32_t baud_rate)
set UART baud rate
Definition: HardwareSerial.h:57
Definition: HardwareSerial.h:67
Definition: HardwareSerial.h:72
void setTx(uint8_t tx_pin)
Toggle between use of GPIO1 and GPIO2 as TX on UART 0.
Definition: HardwareSerial.h:226
Definition: HardwareSerial.h:63
void smg_uart_set_pins(smg_uart_t *uart, int tx, int rx)
Definition: HardwareSerial.h:55
enum smg_uart_mode_ smg_uart_mode_t
Definition: Esp8266/Components/driver/include/driver/uart.h:107
Definition: HardwareSerial.h:58
Definition: CommandExecutor.h:17
Definition: Esp8266/Components/driver/include/driver/uart.h:177
void smg_uart_wait_tx_empty(smg_uart_t *uart)
int read() override
Read a character from serial port.
Definition: HardwareSerial.h:255
Definition: HardwareSerial.h:68
Definition: HardwareSerial.h:65
size_t smg_uart_rx_available(smg_uart_t *uart)
determine available data which can be read
Definition: HardwareSerial.h:74
size_t write(const uint8_t *buffer, size_t size) override
write multiple characters to serial port
Definition: HardwareSerial.h:315
void(* smg_uart_callback_t)(smg_uart_t *uart, uint32_t status)
callback invoked directly from ISR
Definition: Esp8266/Components/driver/include/driver/uart.h:135
void swap()
Toggle between use of GPIO13/GPIO15 or GPIO3/GPIO(1/2) as RX and TX.
Definition: HardwareSerial.h:204
void commandProcessing(bool reqEnable)
Configure serial port for command processing.
uint16_t readMemoryBlock(char *buf, int max_len) override
Read a block of characters from serial port.
Definition: HardwareSerial.h:267
Delegate< void(HardwareSerial &serial)> TransmitCompleteDelegate
Delegate callback type for serial data transmit completion.
Definition: HardwareSerial.h:49
int available() override
Get quantity characters available from serial input.
Definition: HardwareSerial.h:246
bool isTxEnabled()
Checks if the current UART can transmit(print) information.
Definition: HardwareSerial.h:378
Delegate< void(Stream &source, char arrivedChar, uint16_t availableCharsCount)> StreamDataReceivedDelegate
Delegate callback type for serial data reception.
Definition: HardwareSerial.h:29
~HardwareSerial()
int smg_uart_rx_find(smg_uart_t *uart, char c)
Definition: HardwareSerial.h:61
Definition: HardwareSerial.h:64
int smg_uart_peek_char(smg_uart_t *uart)
see what the next character in the rx buffer is
void systemDebugOutput(bool enabled)
Configure serial port for system debug output and redirect output from debugf.
void smg_uart_set_tx(smg_uart_t *uart, int tx_pin)
static int smg_uart_read_char(smg_uart_t *uart)
read a received character
Definition: Esp8266/Components/driver/include/driver/uart.h:336
bool isRxEnabled()
Checks if the current UART can receive information.
Definition: HardwareSerial.h:387
size_t smg_uart_write(smg_uart_t *uart, const void *buffer, size_t size)
write a block of data
Definition: HardwareSerial.h:81
int indexOf(char c) override
Returns the location of the searched character.
Definition: HardwareSerial.h:424
If buffers are full then uart_write() will wait for free space.
Definition: Esp8266/Components/driver/include/driver/uart.h:114
Definition: HardwareSerial.h:76
int peek() override
Read a character from serial port without removing from input buffer.
Definition: HardwareSerial.h:286
void begin(uint32_t baud, SerialConfig config, SerialMode mode)
Initialise, set its configuration and mode.
Definition: HardwareSerial.h:154
HardwareSerial(int uartPort)
Create instance of a hardware serial port object.
Definition: HardwareSerial.h:107
bool smg_uart_rx_enabled(smg_uart_t *uart)
Definition: Esp8266/Components/driver/include/driver/uart.h:275
uint32_t smg_uart_get_baudrate(smg_uart_t *uart)
get the actual baud rate in use
bool onTransmitComplete(TransmitCompleteDelegate transmitCompleteDelegate)
Set handler for received data.
Definition: HardwareSerial.h:357
uint32_t setBaudRate(uint32_t baudrate)
Attempt to set the requested baud rate.
Definition: HardwareSerial.h:406
bool onDataReceived(StreamDataReceivedDelegate dataReceivedDelegate)
Set handler for received data.
Definition: HardwareSerial.h:347
Definition: HardwareSerial.h:66
void setUartCallback(smg_uart_callback_t callback, void *param=nullptr)
Set callback ISR for received data.
Definition: HardwareSerial.h:369
Definition: HardwareSerial.h:59
Definition: HardwareSerial.h:71
void smg_uart_set_callback(smg_uart_t *uart, smg_uart_callback_t callback, void *param)
Set callback handler for serial port.
Definition: HardwareSerial.h:75
Definition: HardwareSerial.h:56
Definition: HardwareSerial.h:60
Definition: HardwareSerial.h:77
Definition: HardwareSerial.h:81
Definition: HardwareSerial.h:81
Definition: HardwareSerial.h:54