#pragma once #include // Controls the discrete RGB LED on the back of the CYD (no speaker // present, therefore the LED replaces the acoustic alarm from the Cardputer // project). Pins: Red=GPIO4, Green=GPIO16, Blue=GPIO17, active-low (LOW = on). namespace LedAlert { enum class Mode { Off, ProximityGreen, WatchlistBlue, EmergencyRed, }; void begin(); bool update(Mode mode, uint32_t nowMs); void pulseHeartbeat(uint32_t nowMs); // Blocking, short white flash (all 3 color channels on) as // immediate confirmation for a one-time user action (e.g. "Cam" // button hit). Deliberately blocking (delay), since only called from the // main loop on a tap, not from the NetTask loop. void flashWhite(uint32_t durationMs = 150); }