Alex Petrochenko and Claude Sonnet 4.6
09b8680408
fix(wifi): skip SDK-cached credentials when SSID is already configured ( closes #3 )
...
WiFi.begin() without params connects to any SDK-cached network, including
open public hotspots, and then overwrites config.ssid with the wrong SSID.
Now Try 1 (SDK credentials) is only attempted on first boot when no SSID
is configured. Once the user has saved credentials, we go straight to
Try 2 (EEPROM config), so the correct network is always used.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-14 17:29:47 +01:00
Alex Petrochenko and Claude Opus 4.5
4a7e889052
refactor: split monolithic .ino into modular structure + improve boot UX
...
## Code Structure
- Split 2172-line .ino into 7 modules:
- config.h - structs, enums, constants
- globals.h - extern declarations, function prototypes
- display.cpp - OLED display functions, Thanos dissolve effect
- ntp_client.cpp - NTP sync, DST calculation
- wifi_manager.cpp - WiFi connection management
- weather.cpp - Open-Meteo API (async)
- web_server.cpp - Web interface handlers
- clock_ntp_ota_v1.9.ino - setup/loop, EEPROM, OTA (153 lines)
## Boot UX Improvements
- Remove meaningless "READY" screen
- Replace cryptic counter (0-7) with "WiFi..." + animated dots
- Show SSID + IP on connected screen
- Use yellow zone (Y 48-63) for status text
- Fix text centering on all boot screens
- Initialize lastBlinkTime/lastModeSwitch to prevent first-frame glitch
## Layout (dual-color display)
- Blue zone (Y 0-47): main content
- Yellow zone (Y 48-63): status/version
- Centering formula: width = n×5 + (n-1)×1 for size 1
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-07 09:05:45 +00:00