From 98d4558e97db99d73bc498cde49ff516cd22dbfb Mon Sep 17 00:00:00 2001 From: Nik Rozman Date: Sun, 1 Mar 2026 19:28:37 +0100 Subject: [PATCH] More sensible LED status, delays --- source/main.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/source/main.cpp b/source/main.cpp index 917a645..5522e01 100644 --- a/source/main.cpp +++ b/source/main.cpp @@ -71,9 +71,9 @@ const float ALPHA = 0.96f; const int LOOP_RATE_MS = 10; const int BIAS_SAMPLES = 200; const int IDLE_FRAMES = 150; -const unsigned long BATT_REPORT_MS = 10000; +const unsigned long BATT_REPORT_MS = 20000; const unsigned long TELEMETRY_MS = 1000; -const unsigned long HEARTBEAT_MS = 2000; +const unsigned long HEARTBEAT_MS = 10000; const int HEARTBEAT_DUR = 30; const unsigned long BOOT_SAFE_MS = 5000; #ifdef FEATURE_IMU_STREAM @@ -158,8 +158,9 @@ void setup() { while (!Serial && (millis() - serialWait < 2000)) { delay(10); } pinMode(PIN_CHG, INPUT_PULLUP); - pinMode(LED_RED, OUTPUT); digitalWrite(LED_RED, HIGH); - pinMode(LED_BLUE, OUTPUT); digitalWrite(LED_BLUE, HIGH); + pinMode(LED_RED, OUTPUT); digitalWrite(LED_RED, HIGH); + pinMode(LED_GREEN, OUTPUT); digitalWrite(LED_GREEN, HIGH); + pinMode(LED_BLUE, OUTPUT); digitalWrite(LED_BLUE, HIGH); // ── Boot-loop detection ─────────────────────────────────────────────────── #ifdef FEATURE_BOOT_LOOP_DETECT @@ -170,7 +171,7 @@ void setup() { bootCount = 0; safeMode = true; Serial.println("[BOOT] Boot loop — safe mode (no config service)"); InternalFS.begin(); InternalFS.remove(CONFIG_FILENAME); - for (int i=0; i<3; i++) { digitalWrite(LED_RED,LOW); delay(150); digitalWrite(LED_RED,HIGH); delay(150); } + for (int i=0; i<3; i++) { digitalWrite(LED_RED,LOW); delay(150); digitalWrite(LED_RED,HIGH); delay(150); } // fault: red } #endif @@ -192,7 +193,7 @@ void setup() { Wire1.begin(); // LSM6DS3 is on internal I2C bus (Wire1), must init before imu.begin() if (imu.begin() != 0) { Serial.println("[ERROR] IMU init failed"); - while(1) { digitalWrite(LED_RED, !digitalRead(LED_RED)); delay(100); } + while(1) { digitalWrite(LED_RED, !digitalRead(LED_RED)); delay(100); } // fault: red rapid blink } Serial.println("[OK] IMU ready"); @@ -278,7 +279,7 @@ void loop() { // Heartbeat LED if (now - lastHeartbeat >= HEARTBEAT_MS) { lastHeartbeat = now; - int led = Bluefruit.connected() ? LED_BLUE : LED_RED; + int led = Bluefruit.connected() ? LED_BLUE : LED_GREEN; // blue=BT connected, green=advertising digitalWrite(led, LOW); delay(HEARTBEAT_DUR); digitalWrite(led, HIGH); }