1
0
mirror of https://github.com/esphome/esphome.git synced 2025-11-17 15:26:01 +00:00

Merge branch 'remote_base' into integration

This commit is contained in:
J. Nick Koston
2025-11-04 22:33:05 -06:00

View File

@@ -71,6 +71,7 @@ static const uint16_t FALLBACK_FREQUENCY = 64767U; // To use with frequency = 0
static const uint32_t MICROSECONDS_IN_SECONDS = 1000000UL; static const uint32_t MICROSECONDS_IN_SECONDS = 1000000UL;
static const uint16_t PRONTO_DEFAULT_GAP = 45000; static const uint16_t PRONTO_DEFAULT_GAP = 45000;
static const uint16_t MARK_EXCESS_MICROS = 20; static const uint16_t MARK_EXCESS_MICROS = 20;
static constexpr size_t PRONTO_LOG_CHUNK_SIZE = 230;
static uint16_t to_frequency_k_hz(uint16_t code) { static uint16_t to_frequency_k_hz(uint16_t code) {
if (code == 0) if (code == 0)
@@ -225,18 +226,17 @@ optional<ProntoData> ProntoProtocol::decode(RemoteReceiveData src) {
} }
void ProntoProtocol::dump(const ProntoData &data) { void ProntoProtocol::dump(const ProntoData &data) {
std::string rest; std::string rest = data.data;
rest = data.data;
ESP_LOGI(TAG, "Received Pronto: data="); ESP_LOGI(TAG, "Received Pronto: data=");
while (true) { do {
ESP_LOGI(TAG, "%s", rest.substr(0, 230).c_str()); size_t chunk_size = rest.size() > PRONTO_LOG_CHUNK_SIZE ? PRONTO_LOG_CHUNK_SIZE : rest.size();
if (rest.size() > 230) { ESP_LOGI(TAG, "%.*s", (int) chunk_size, rest.c_str());
rest = rest.substr(230); if (rest.size() > PRONTO_LOG_CHUNK_SIZE) {
rest.erase(0, PRONTO_LOG_CHUNK_SIZE);
} else { } else {
break; break;
} }
} } while (true);
} }
} // namespace remote_base } // namespace remote_base