From 6013b473ca80bd04ce3372dcde3275de1a86b230 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 9 Feb 2026 09:30:08 -0600 Subject: [PATCH] Add comment explaining early guard --- esphome/components/seeed_mr24hpc1/seeed_mr24hpc1.cpp | 2 ++ esphome/components/seeed_mr60bha2/seeed_mr60bha2.cpp | 2 ++ esphome/components/seeed_mr60fda2/seeed_mr60fda2.cpp | 2 ++ 3 files changed, 6 insertions(+) diff --git a/esphome/components/seeed_mr24hpc1/seeed_mr24hpc1.cpp b/esphome/components/seeed_mr24hpc1/seeed_mr24hpc1.cpp index 949c220c3d..b567e02524 100644 --- a/esphome/components/seeed_mr24hpc1/seeed_mr24hpc1.cpp +++ b/esphome/components/seeed_mr24hpc1/seeed_mr24hpc1.cpp @@ -106,6 +106,8 @@ void MR24HPC1Component::update_() { // main loop void MR24HPC1Component::loop() { + // Early return avoids stack adjustment for the batch buffer below. + // loop() runs ~7000/min so most calls have nothing to read. int avail = this->available(); if (avail > 0) { // Read all available bytes in batches to reduce UART call overhead. diff --git a/esphome/components/seeed_mr60bha2/seeed_mr60bha2.cpp b/esphome/components/seeed_mr60bha2/seeed_mr60bha2.cpp index ad8d066ff8..51e798f727 100644 --- a/esphome/components/seeed_mr60bha2/seeed_mr60bha2.cpp +++ b/esphome/components/seeed_mr60bha2/seeed_mr60bha2.cpp @@ -30,6 +30,8 @@ void MR60BHA2Component::dump_config() { // main loop void MR60BHA2Component::loop() { + // Early return avoids stack adjustment for the batch buffer below. + // loop() runs ~7000/min so most calls have nothing to read. int avail = this->available(); if (avail <= 0) { return; diff --git a/esphome/components/seeed_mr60fda2/seeed_mr60fda2.cpp b/esphome/components/seeed_mr60fda2/seeed_mr60fda2.cpp index 2ae6e724ab..919185c0e3 100644 --- a/esphome/components/seeed_mr60fda2/seeed_mr60fda2.cpp +++ b/esphome/components/seeed_mr60fda2/seeed_mr60fda2.cpp @@ -49,6 +49,8 @@ void MR60FDA2Component::setup() { // main loop void MR60FDA2Component::loop() { + // Early return avoids stack adjustment for the batch buffer below. + // loop() runs ~7000/min so most calls have nothing to read. int avail = this->available(); if (avail <= 0) { return;