diff --git a/device/bme688.cc b/device/bme688.cc
index a8d0597..9fc5d21 100644
--- a/device/bme688.cc
+++ b/device/bme688.cc
@@ -44,7 +44,7 @@
                     void* context) {
   PW_LOG_INFO("Write(reg_address=0x%02x, data=%p, length=%u, context=%p)",
               reg_address,
-              (const void*)data,
+              static_cast<const void*>(data),
               length,
               context);
   auto i2c_device = static_cast<pw::i2c::RegisterDevice*>(context);
@@ -63,7 +63,7 @@
                    void* context) {
   PW_LOG_INFO("Read(reg_address=0x%02x, data=%p, length=%u, context=%p)",
               reg_address,
-              (const void*)data,
+              static_cast<const void*>(data),
               length,
               context);
   auto i2c_device = static_cast<pw::i2c::RegisterDevice*>(context);
diff --git a/modules/edge_detector/BUILD.bazel b/modules/edge_detector/BUILD.bazel
index 181b07b..1d64557 100644
--- a/modules/edge_detector/BUILD.bazel
+++ b/modules/edge_detector/BUILD.bazel
@@ -24,7 +24,7 @@
     srcs = ["hysteresis_edge_detector.cc"],
     hdrs = ["hysteresis_edge_detector.h"],
     implementation_deps = ["@pigweed//pw_log"],
-    deps = ["@pigweed//pw_function"],
+    deps = ["@pigweed//pw_assert"],
 )
 
 cc_library(
diff --git a/modules/edge_detector/hysteresis_edge_detector.h b/modules/edge_detector/hysteresis_edge_detector.h
index 5bd1fb4..f7cca26 100644
--- a/modules/edge_detector/hysteresis_edge_detector.h
+++ b/modules/edge_detector/hysteresis_edge_detector.h
@@ -14,7 +14,6 @@
 #pragma once
 
 #include "pw_assert/assert.h"
-#include "pw_function/function.h"
 
 namespace sense {
 
@@ -77,15 +76,18 @@
     PW_ASSERT(low_threshold_ <= high_threshold_);
   }
 
-  /// Sets the low and high thresholds, inclusive.
-  void set_low_and_high_thresholds(Sample low_threshold, Sample high_threshold) {
+  /// Sets the low and high thresholds, inclusive. Resets the internal state.
+  void set_low_and_high_thresholds(Sample low_threshold,
+                                   Sample high_threshold) {
     PW_ASSERT(low_threshold_ <= high_threshold_);
     low_threshold_ = low_threshold;
     high_threshold_ = high_threshold;
     ResetState();
   }
 
-  Edge Update(Sample sample) {
+  /// Adds a new sample to the edge detector. Returns whether the sample crossed
+  /// below the lower threshold or above the upper threshold.
+  [[nodiscard]] Edge Update(Sample sample) {
     if (sample <= low_threshold_) {
       return UpdateLowSample();
     }
diff --git a/modules/state_manager/state_manager.cc b/modules/state_manager/state_manager.cc
index 93d3db7..eddc5d4 100644
--- a/modules/state_manager/state_manager.cc
+++ b/modules/state_manager/state_manager.cc
@@ -15,6 +15,7 @@
 #include "modules/state_manager/state_manager.h"
 
 #include <cmath>
+#include <variant>
 
 #include "pw_assert/check.h"
 #include "pw_log/log.h"
@@ -116,12 +117,11 @@
   // Set the thresholds and reset the edge detector to a good air quality state.
   edge_detector_.set_low_and_high_thresholds(alarm_threshold_,
                                              silence_threshold);
-  edge_detector_.Update(AirSensor::kMaxScore);
+  std::ignore = edge_detector_.Update(AirSensor::kMaxScore);
 
   PW_LOG_INFO("Air quality thresholds set: alarm at %u, silence at %u",
               alarm_threshold_,
               silence_threshold);
-
 }
 
 void StateManager::UpdateAirQuality(uint16_t score) {
@@ -153,7 +153,7 @@
 void StateManager::SilenceAlarms() {
   alarm_ = false;
   alarm_silenced_ = true;
-  edge_detector_.Update(AirSensor::kMaxScore);
+  std::ignore = edge_detector_.Update(AirSensor::kMaxScore);
   pubsub_.Publish(TimerRequest{
       .token = kSilenceAlarmToken,
       .timeout_s = kSilenceAlarmTimeout,
diff --git a/modules/state_manager/state_manager.h b/modules/state_manager/state_manager.h
index a1079dd..82fa58c 100644
--- a/modules/state_manager/state_manager.h
+++ b/modules/state_manager/state_manager.h
@@ -13,7 +13,9 @@
 // the License.
 #pragma once
 
-#include <cmath>
+#include <optional>
+#include <string_view>
+#include <utility>
 
 #include "modules/air_sensor/air_sensor.h"
 #include "modules/edge_detector/hysteresis_edge_detector.h"
