mirror of
https://github.com/esphome/esphome.git
synced 2024-12-22 21:44:55 +01:00
parent
e15071228e
commit
78c1adafcd
4 changed files with 9 additions and 6 deletions
|
@ -77,16 +77,17 @@ void MHZ19Component::abc_disable() {
|
|||
}
|
||||
|
||||
bool MHZ19Component::mhz19_write_command_(const uint8_t *command, uint8_t *response) {
|
||||
this->flush();
|
||||
// Empty RX Buffer
|
||||
while (this->available())
|
||||
this->read();
|
||||
this->write_array(command, MHZ19_REQUEST_LENGTH);
|
||||
this->write_byte(mhz19_checksum(command));
|
||||
this->flush();
|
||||
|
||||
if (response == nullptr)
|
||||
return true;
|
||||
|
||||
bool ret = this->read_array(response, MHZ19_RESPONSE_LENGTH);
|
||||
this->flush();
|
||||
return ret;
|
||||
return this->read_array(response, MHZ19_RESPONSE_LENGTH);
|
||||
}
|
||||
float MHZ19Component::get_setup_priority() const { return setup_priority::DATA; }
|
||||
void MHZ19Component::dump_config() {
|
||||
|
|
|
@ -94,7 +94,6 @@ float SDS011Component::get_setup_priority() const { return setup_priority::DATA;
|
|||
void SDS011Component::set_rx_mode_only(bool rx_mode_only) { this->rx_mode_only_ = rx_mode_only; }
|
||||
|
||||
void SDS011Component::sds011_write_command_(const uint8_t *command_data) {
|
||||
this->flush();
|
||||
this->write_byte(SDS011_MSG_HEAD);
|
||||
this->write_byte(SDS011_COMMAND_ID_REQUEST);
|
||||
this->write_array(command_data, SDS011_DATA_REQUEST_LENGTH);
|
||||
|
|
|
@ -316,7 +316,9 @@ uint8_t ESP8266SoftwareSerial::peek_byte() {
|
|||
return 0;
|
||||
return this->rx_buffer_[this->rx_out_pos_];
|
||||
}
|
||||
void ESP8266SoftwareSerial::flush() { this->rx_in_pos_ = this->rx_out_pos_ = 0; }
|
||||
void ESP8266SoftwareSerial::flush() {
|
||||
// Flush is a NO-OP with software serial, all bytes are written immediately.
|
||||
}
|
||||
int ESP8266SoftwareSerial::available() {
|
||||
int avail = int(this->rx_in_pos_) - int(this->rx_out_pos_);
|
||||
if (avail < 0)
|
||||
|
|
|
@ -61,6 +61,7 @@ class UARTComponent : public Component, public Stream {
|
|||
|
||||
int available() override;
|
||||
|
||||
/// Block until all bytes have been written to the UART bus.
|
||||
void flush() override;
|
||||
|
||||
float get_setup_priority() const override { return setup_priority::BUS; }
|
||||
|
|
Loading…
Reference in a new issue