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 };
void(* uart_callback_t)(uart_t *uart, uint32_t status)
callback invoked directly from ISR
Definition: uart.h:135
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
If buffers are full then uart_write() will wait for free space.
Definition: uart.h:114
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
uart_t * getUart()
Returns a pointer to the internal uart object. Use with care.
Definition: HardwareSerial.h:433
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
Both receive and transmit - will revert to TX only if RX not supported.
Definition: uart.h:103
int uart_rx_find(uart_t *uart, char c)
Definition: HardwareSerial.h:69
void uart_swap(uart_t *uart, int tx_pin)
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
Definition: HardwareSerial.h:55
static int uart_read_char(uart_t *uart)
read a received character
Definition: uart.h:336
Definition: HardwareSerial.h:58
Definition: CommandExecutor.h:17
int read() override
Read a character from serial port.
Definition: HardwareSerial.h:255
Definition: HardwareSerial.h:68
Definition: HardwareSerial.h:65
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 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()
void uart_set_pins(uart_t *uart, int tx, int rx)
Definition: HardwareSerial.h:61
Definition: HardwareSerial.h:64
Definition: uart.h:177
void systemDebugOutput(bool enabled)
Configure serial port for system debug output and redirect output from debugf.
static void uart_set_options(uart_t *uart, uart_options_t options)
Set option flags.
Definition: uart.h:242
bool isRxEnabled()
Checks if the current UART can receive information.
Definition: HardwareSerial.h:387
Definition: HardwareSerial.h:81
int indexOf(char c) override
Returns the location of the searched character.
Definition: HardwareSerial.h:424
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
void uart_wait_tx_empty(uart_t *uart)
bool onTransmitComplete(TransmitCompleteDelegate transmitCompleteDelegate)
Set handler for received data.
Definition: HardwareSerial.h:357
void setUartCallback(uart_callback_t callback, void *param=nullptr)
Set callback ISR for received data.
Definition: HardwareSerial.h:369
uint32_t setBaudRate(uint32_t baudrate)
Attempt to set the requested baud rate.
Definition: HardwareSerial.h:406
void uart_set_tx(uart_t *uart, int tx_pin)
bool onDataReceived(StreamDataReceivedDelegate dataReceivedDelegate)
Set handler for received data.
Definition: HardwareSerial.h:347
Definition: HardwareSerial.h:66
Definition: HardwareSerial.h:59
Definition: HardwareSerial.h:71
void uart_set_callback(uart_t *uart, 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
void uart_flush(uart_t *uart, uart_mode_t mode=UART_FULL)
discard any buffered data and reset hardware FIFOs
Definition: HardwareSerial.h:81
Definition: HardwareSerial.h:81
Definition: HardwareSerial.h:54