feat: Enhance motion sensor functionality with I2C error handling and display updates

This commit is contained in:
Joshua King
2026-02-22 15:39:45 -05:00
parent df9bd461d1
commit 9decccdce5
7 changed files with 147 additions and 32 deletions

View File

@@ -331,15 +331,15 @@ void App::loop() {
motion.loop();
if (motion.available()) {
face.setTiltEffects(motion.eyeOffsetX(), motion.pupilSizeDelta());
if (motion.consumePickupEvent()) {
face.triggerSurprised();
}
face.setTiltEffects(0, 0); // disable old motion-based eye deformation
face.setFaceSlideX(motion.eyeOffsetX()); // roll -> slide whole face left/right
(void)motion.consumePickupEvent(); // consume pickup events so they don't accumulate
if (motion.isMoving()) {
motionWakeUntilMs = millis() + MOTION_WAKE_MS;
}
} else {
face.setTiltEffects(0, 0);
face.setFaceSlideX(0);
}
updateScheduleState();
@@ -362,8 +362,8 @@ void App::loop() {
if (currentConnected) {
Serial.println("[App] WiFi connected - showing on display");
if (!displaySleeping) {
display.showStatus("WiFi Connected!", wifi.ssid().c_str());
delay(2000);
display.showStatus("WiFi Connected!", wifi.ip().toString());
delay(3000);
}
} else if (wifi.mode() == NET_STA) {
Serial.println("[App] WiFi disconnected");