Commit Graph

2 Commits

Author SHA1 Message Date
Chris Korhonen
50b2a37fb7 feat: Add Calendar Mode for automated e-ink calendar display
- Add CALENDAR sleep mode that bypasses /sleep/ directory to ensure calendar image displays
- Implement CalendarActivity state machine: WiFi→NTP→HTTP fetch→save to /sleep.bmp→deep sleep
- Add NTP time sync and fetch timestamp persistence in CrossPointState
- Show visual status feedback during calendar fetch ("Connecting...", "Fetching...")
- Add calendar settings UI: toggle, refresh hours (1-24h), "Test Calendar Now" action
- Fix hardware button sleep to display calendar when calendar mode enabled
- Graceful fallback: if fetch fails but cached image exists, use cached; otherwise use default screen

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-01-17 19:14:58 -05:00
Chris Korhonen
6600681082 Add Calendar Mode for automated e-ink calendar display
Features:
- CalendarActivity: Connects to WiFi, fetches BMP from URL, displays as sleep screen
- Timer wake: Device wakes every N hours (configurable) to refresh
- Settings: calendarModeEnabled, calendarRefreshHours, calendarServerUrl
- Fallback: Uses cached image if fetch fails
- Power button still works for normal use (GPIO wake preserved)
2026-01-17 06:35:11 -05:00