Skip to content

Commit

Permalink
Merge pull request #8 from florianL21/rework
Browse files Browse the repository at this point in the history
Major rework of the whole system
  • Loading branch information
florianL21 committed Apr 17, 2021
2 parents 4de9698 + b72e71c commit 187ec2b
Show file tree
Hide file tree
Showing 75 changed files with 8,933 additions and 2,533 deletions.
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,14 @@
.vscode/c_cpp_properties.json
.vscode/launch.json
.vscode/ipch
.vscode/settings.json

# generated documentation
doc/_build
doc/_static
doc/_templates
doc/doxygen
doc/doxyapi

# Created by https://www.gitignore.io/api/platformio
# Edit at https://www.gitignore.io/?templates=platformio
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "lib/Easings"]
path = lib/Easings
url = https://github.com/chuank/Easing.git
34 changes: 19 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,37 +1,41 @@
# LED-ClockShelf
# LED-Pixel-Clock
<p align="center">
<img src="https://github.com/florianL21/LED-ClockShelf/blob/master/doc/images/Animation.gif?raw=true" alt="Animation example"/>
</p>

This is the software of a variation of the LED clock from [here.](https://www.instructables.com/id/How-to-Build-a-Giant-Hidden-Shelf-Edge-Clock/)
I have a seperate branch with a ready to use configuration which works on the original version of this clock out of the box [here](https://github.com/florianL21/LED-ClockShelf/tree/diy-machines-version)
------------------

I decided to code it completley from scratch at I wanted to use a ESP32 instead of the Arduino nano and RTC that is used in the original project.
ATTENTION: You are looking at version 2.0 of the project. Documentation for this version is still a Work In Progress!
For Version 1.0 take a look at [this snapshot branch](https://github.com/florianL21/LED-ClockShelf/tree/Snapshot-v1)
You wil also find the original version of the documentation there.

------------------

This is the software of a variation of the LED clock from [DIY Machines](https://www.instructables.com/id/How-to-Build-a-Giant-Hidden-Shelf-Edge-Clock/)
A configuration which works on the original version of the clock is also part of the source code.

I decided to code it completely from scratch at I wanted to use a ESP32 instead of the Arduino nano and RTC that is used in the original project.
This enables some cool features like smartphone app control, OTA updates and fetching of the time using the internet.

Additionally this has full support for animations. By default I provide all needed anmiations for a 12h clock to morph one digit into another soothly.
Additionally this has full support for animations. By default I provide all needed animations for a 12h clock to morph one digit into another soothly.
Further animations can be easily added and existing animation can be adjusted to your liking.

The whole codebase is highly modular and configurable and can be tweaked exactly to your preferences.

Detailed documentation is avaliable on the [Wiki.](https://github.com/florianL21/LED-ClockShelf/wiki)
Detailed documentation is available on [read the docs.](https://giant-led-clock.readthedocs.io/)

If you are interested in my variation of the design which uses a lot of wood instad of the 3D prints and is a bit bigger than the original you can find it on [thingiverse here](https://www.thingiverse.com/thing:4352352)
If you are interested in my variation of the design which uses a lot of wood instead of the 3D prints and is a bit bigger than the original you can find it on [thingiverse here](https://www.thingiverse.com/thing:4352352)

# Development Environment:
## Development Environment:

I am using VScode with PlatformIO.
VSCode can be downloaded from [here.](https://code.visualstudio.com/)
And PlatformIO is an extention that can easily be installed from inside of VSCode.
And PlatformIO is an extension that can easily be installed from inside of VSCode.

Via the PlatformIO home the following libraries have to be installed:
* "Blynk" by Volodymyr Shymanskyy
* "FastLED" by Daniel Garcia
* "LinkedList" by Ivan Seidel

# Important files for configuration:
Files that are important for configuration (sorted by importance):
1. At the top of /include/Configuration.h -> Contains almost all important settings, like WIFI config, pin configurations etc.
2. /src/DisplayManager/DisplayConfiguration.cpp -> Configuration of which leds belong to which segments and which segments belong to which display, the order of the segments and their animation directions *It is really important to get this one right!*
3. /src/SevenSegment/SegmentTransitions.cpp -> Configuring the animations between the digits
4. /src/DisplayManager/Animations.cpp -> configuration of anmimations like the loading animation
## Getting started
To get started with setting everything up take a look at the [Wiki.](https://giant-led-clock.readthedocs.io/)

1 comment on commit 187ec2b

@kasperfunsurfer
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hallo, habe das Problem das immer diese Fehlermeldung kommt. Können sie das helfen ?
src\TimeManager\TimeManager.cpp: In function 'void onTimer()':
src\TimeManager\TimeManager.cpp:186:60: error: 'WiFi' was not declared in this scope
if(timeM->offlineTimeCounter++ >= TIME_SYNC_INTERVALL && WiFi.status() == WL_CONNECTED)
^
src\TimeManager\TimeManager.cpp:186:77: error: 'WL_CONNECTED' was not declared in this scope
if(timeM->offlineTimeCounter++ >= TIME_SYNC_INTERVALL && WiFi.status() == WL_CONNECTED)
^
*** [.pio\build\nodemcu-32s\src\TimeManager\TimeManager.cpp.o] Error 1
================================================================================================== [FAILED] Took 3.23 seconds ==================================================================================================
The terminal process "C:\Users\Kaspe.platformio\penv\Scripts\platformio.exe 'run'" terminated with exit code: 1.

Danke

Please sign in to comment.