5 #include <HardwareSerial.h> 32 void wait_(uint32_t *wait,
const uint32_t &start);
33 bool read_bit_(uint32_t *wait,
const uint32_t &start);
34 void write_bit_(
bool bit, uint32_t *wait,
const uint32_t &start);
52 void setup()
override;
53 void dump_config()
override;
56 void write_array(
const uint8_t *data,
size_t len)
override;
59 bool read_array(uint8_t *data,
size_t len)
override;
62 void flush()
override;
64 uint32_t get_config();
78 void load_settings(
bool dump_config)
override;
82 void check_logger_conflict()
override;
84 HardwareSerial *hw_serial_{
nullptr};
88 static bool serial0_in_use;
void write_bit_(bool bit, uint32_t *wait, const uint32_t &start)
volatile size_t rx_in_pos_
void setup(InternalGPIOPin *tx_pin, InternalGPIOPin *rx_pin, uint32_t baud_rate, uint8_t stop_bits, uint32_t data_bits, UARTParityOptions parity, size_t rx_buffer_size)
Copy of GPIOPin that is safe to use from ISRs (with no virtual functions)
bool read_bit_(uint32_t *wait, const uint32_t &start)
void write_byte(uint8_t data)
UARTParityOptions parity_
InternalGPIOPin * gpio_rx_pin_
const float BUS
For communication buses like i2c/spi.
float get_setup_priority() const override
InternalGPIOPin * gpio_tx_pin_
ISRInternalGPIOPin rx_pin_
static void gpio_intr(ESP8266SoftwareSerial *arg)
void load_settings() override
Implementation of SPI Controller mode.
void wait_(uint32_t *wait, const uint32_t &start)
ISRInternalGPIOPin tx_pin_