Fix a few ESP32-C3 compiler issues (#2265)

* Fix using Serial when using ESP32-C3 standard pins

* Force type for std::min in pn532

* Fix variable size where size_t is different on exp32-c3
This commit is contained in:
Jesse Hills 2021-09-10 12:10:28 +12:00 committed by GitHub
parent bad161a5c1
commit affaaf7d2c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 2 deletions

View File

@ -707,7 +707,7 @@ APIError APIPlaintextFrameHelper::try_read_frame_(ParsedFrame *frame) {
}
size_t i = 1;
size_t consumed = 0;
uint32_t consumed = 0;
auto msg_size_varint = ProtoVarInt::parse(&rx_header_buf_[i], rx_header_buf_.size() - i, &consumed);
if (!msg_size_varint.has_value()) {
// not enough data there yet

View File

@ -49,7 +49,7 @@ void PN532::setup() {
}
// Set up SAM (secure access module)
uint8_t sam_timeout = std::min(255u, this->update_interval_ / 50);
uint8_t sam_timeout = std::min<uint8_t>(255u, this->update_interval_ / 50);
if (!this->write_command_({
PN532_COMMAND_SAMCONFIGURATION,
0x01, // normal mode

View File

@ -73,7 +73,11 @@ void UARTComponent::setup() {
// Use Arduino HardwareSerial UARTs if all used pins match the ones
// preconfigured by the platform. For example if RX disabled but TX pin
// is 1 we still want to use Serial.
#ifdef CONFIG_IDF_TARGET_ESP32C3
if (this->tx_pin_.value_or(21) == 21 && this->rx_pin_.value_or(20) == 20) {
#else
if (this->tx_pin_.value_or(1) == 1 && this->rx_pin_.value_or(3) == 3) {
#endif
this->hw_serial_ = &Serial;
} else {
this->hw_serial_ = new HardwareSerial(next_uart_num++);