This pull request introduces several new features and refactors existing code to enhance the functionality of the word clock project. The most significant changes include the addition of GIF playback functionality, the introduction of a new NetworkManager class to handle network operations, and the refactoring of the WordClock class to integrate these new features.
New Features and Functionality:
GIF Playback:
Added GifPlayer class to handle GIF playback on the LED matrix (esp/wordclock/src/GifPlayer.cpp, esp/wordclock/src/GifPlayer.h). [1][2]
Integrated GifPlayer into WordClock class to display GIFs at specific times (esp/wordclock/src/WordClock.cpp, esp/wordclock/src/WordClock.h). [1][2]
Network Management:
Introduced NetworkManager class to manage Wi-Fi connections and NTP time synchronization (esp/wordclock/src/NetworkManager.cpp, esp/wordclock/src/NetworkManager.h). [1][2]
Replaced NetworkTimeHelper with NetworkManager in WordClock and main setup (esp/wordclock/src/WordClock.cpp, esp/wordclock/src/WordClock.h, esp/wordclock/src/main.cpp). [1][2][3]
Refactoring and Code Improvements:
Class Refactoring:
Moved Adafruit_NeoPixel pixels from private to public in ClockDisplayHAL to allow access from GifPlayer (esp/wordclock/src/ClockDisplayHAL.h).
Adjusted WordClock constructor and methods to accommodate new NetworkManager and GifPlayer classes (esp/wordclock/src/WordClock.cpp, esp/wordclock/src/WordClock.h). [1][2]
Code Cleanup:
Removed redundant error handling comments in ClockDisplayHAL.cpp (esp/wordclock/src/ClockDisplayHAL.cpp).
Simplified SerialHelper initialization and removed unnecessary comments (esp/wordclock/src/SerialHelper.cpp, esp/wordclock/src/SerialHelper.h). [1][2]
Configuration and Dependency Updates:
Configuration:
Added new configuration file config.h.example for Wi-Fi and LED settings (esp/wordclock/src/config.h.example).
Dependencies:
Updated platformio.ini to include AnimatedGIF library for GIF handling (esp/wordclock/platformio.ini).
Gitignore:
Updated .gitignore to exclude config.h from version control (esp/wordclock/.gitignore).
This pull request introduces several new features and refactors existing code to enhance the functionality of the word clock project. The most significant changes include the addition of GIF playback functionality, the introduction of a new
NetworkManager
class to handle network operations, and the refactoring of theWordClock
class to integrate these new features.New Features and Functionality:
GIF Playback:
GifPlayer
class to handle GIF playback on the LED matrix (esp/wordclock/src/GifPlayer.cpp
,esp/wordclock/src/GifPlayer.h
). [1] [2]GifPlayer
intoWordClock
class to display GIFs at specific times (esp/wordclock/src/WordClock.cpp
,esp/wordclock/src/WordClock.h
). [1] [2]Network Management:
NetworkManager
class to manage Wi-Fi connections and NTP time synchronization (esp/wordclock/src/NetworkManager.cpp
,esp/wordclock/src/NetworkManager.h
). [1] [2]NetworkTimeHelper
withNetworkManager
inWordClock
and main setup (esp/wordclock/src/WordClock.cpp
,esp/wordclock/src/WordClock.h
,esp/wordclock/src/main.cpp
). [1] [2] [3]Refactoring and Code Improvements:
Class Refactoring:
Adafruit_NeoPixel pixels
from private to public inClockDisplayHAL
to allow access fromGifPlayer
(esp/wordclock/src/ClockDisplayHAL.h
).WordClock
constructor and methods to accommodate newNetworkManager
andGifPlayer
classes (esp/wordclock/src/WordClock.cpp
,esp/wordclock/src/WordClock.h
). [1] [2]Code Cleanup:
ClockDisplayHAL.cpp
(esp/wordclock/src/ClockDisplayHAL.cpp
).SerialHelper
initialization and removed unnecessary comments (esp/wordclock/src/SerialHelper.cpp
,esp/wordclock/src/SerialHelper.h
). [1] [2]Configuration and Dependency Updates:
Configuration:
config.h.example
for Wi-Fi and LED settings (esp/wordclock/src/config.h.example
).Dependencies:
platformio.ini
to includeAnimatedGIF
library for GIF handling (esp/wordclock/platformio.ini
).Gitignore:
.gitignore
to excludeconfig.h
from version control (esp/wordclock/.gitignore
).