More sensible LED status, delays
This commit is contained in:
+8
-7
@@ -71,9 +71,9 @@ const float ALPHA = 0.96f;
|
|||||||
const int LOOP_RATE_MS = 10;
|
const int LOOP_RATE_MS = 10;
|
||||||
const int BIAS_SAMPLES = 200;
|
const int BIAS_SAMPLES = 200;
|
||||||
const int IDLE_FRAMES = 150;
|
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 TELEMETRY_MS = 1000;
|
||||||
const unsigned long HEARTBEAT_MS = 2000;
|
const unsigned long HEARTBEAT_MS = 10000;
|
||||||
const int HEARTBEAT_DUR = 30;
|
const int HEARTBEAT_DUR = 30;
|
||||||
const unsigned long BOOT_SAFE_MS = 5000;
|
const unsigned long BOOT_SAFE_MS = 5000;
|
||||||
#ifdef FEATURE_IMU_STREAM
|
#ifdef FEATURE_IMU_STREAM
|
||||||
@@ -158,8 +158,9 @@ void setup() {
|
|||||||
while (!Serial && (millis() - serialWait < 2000)) { delay(10); }
|
while (!Serial && (millis() - serialWait < 2000)) { delay(10); }
|
||||||
|
|
||||||
pinMode(PIN_CHG, INPUT_PULLUP);
|
pinMode(PIN_CHG, INPUT_PULLUP);
|
||||||
pinMode(LED_RED, OUTPUT); digitalWrite(LED_RED, HIGH);
|
pinMode(LED_RED, OUTPUT); digitalWrite(LED_RED, HIGH);
|
||||||
pinMode(LED_BLUE, OUTPUT); digitalWrite(LED_BLUE, HIGH);
|
pinMode(LED_GREEN, OUTPUT); digitalWrite(LED_GREEN, HIGH);
|
||||||
|
pinMode(LED_BLUE, OUTPUT); digitalWrite(LED_BLUE, HIGH);
|
||||||
|
|
||||||
// ── Boot-loop detection ───────────────────────────────────────────────────
|
// ── Boot-loop detection ───────────────────────────────────────────────────
|
||||||
#ifdef FEATURE_BOOT_LOOP_DETECT
|
#ifdef FEATURE_BOOT_LOOP_DETECT
|
||||||
@@ -170,7 +171,7 @@ void setup() {
|
|||||||
bootCount = 0; safeMode = true;
|
bootCount = 0; safeMode = true;
|
||||||
Serial.println("[BOOT] Boot loop — safe mode (no config service)");
|
Serial.println("[BOOT] Boot loop — safe mode (no config service)");
|
||||||
InternalFS.begin(); InternalFS.remove(CONFIG_FILENAME);
|
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
|
#endif
|
||||||
|
|
||||||
@@ -192,7 +193,7 @@ void setup() {
|
|||||||
Wire1.begin(); // LSM6DS3 is on internal I2C bus (Wire1), must init before imu.begin()
|
Wire1.begin(); // LSM6DS3 is on internal I2C bus (Wire1), must init before imu.begin()
|
||||||
if (imu.begin() != 0) {
|
if (imu.begin() != 0) {
|
||||||
Serial.println("[ERROR] IMU init failed");
|
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");
|
Serial.println("[OK] IMU ready");
|
||||||
|
|
||||||
@@ -278,7 +279,7 @@ void loop() {
|
|||||||
// Heartbeat LED
|
// Heartbeat LED
|
||||||
if (now - lastHeartbeat >= HEARTBEAT_MS) {
|
if (now - lastHeartbeat >= HEARTBEAT_MS) {
|
||||||
lastHeartbeat = now;
|
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);
|
digitalWrite(led, LOW); delay(HEARTBEAT_DUR); digitalWrite(led, HIGH);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user