22
33See the [ README.md] ( README.md ) for introductory background.
44
5- Version: 1.1.1 (2020-10-18 , TZ DB version 2020c )
5+ Version: 1.1.2 (2020-10-19 , TZ DB version 2020d )
66
77## Installation
88
@@ -98,14 +98,6 @@ The following programs are provided in the `examples/` directory:
9898 * same as ` HelloSystemClock ` but using AceRoutine coroutines
9999* [ HelloNtpClock] ( examples/HelloNtpClock/ )
100100 * demo program of ` NtpClock `
101- * [ CommandLineClock] ( examples/CommandLineClock/ )
102- * a clock with a DS3231 RTC chip, an NTP client, and using the serial port
103- for receiving commands and printing results, useful for debugging
104- * [ OledClock] ( examples/OledClock/ )
105- * a digital clock using a DS3231 RTC chip, an NTP client, 2 buttons, and an
106- SSD1306 OLED display
107- * [ WorldClock] ( examples/WorldClock/ )
108- * a clock with 3 OLED screens showing the time at 3 different time zones
109101* [ AutoBenchmark] ( examples/AutoBenchmark/ )
110102 * perform CPU and memory benchmarking of various methods and print a report
111103* [ MemoryBenchmark] ( examples/MemoryBenchmark/ )
@@ -117,6 +109,18 @@ The following programs are provided in the `examples/` directory:
117109 * compare AceTime with
118110 [ Arduino Time Lib] ( https://github.com/PaulStoffregen/Time )
119111
112+ Various fully-featured hardware clocks can be found in the
113+ https://github.com/bxparks/clocks repo (previously hosted under ` examples/ ` ).
114+
115+ * [ CommandLineClock] ( https://github.com/bxparks/clocks/tree/master/CommandLineClock )
116+ * a clock with a DS3231 RTC chip, an NTP client, and using the serial port
117+ for receiving commands and printing results, useful for debugging
118+ * [ OledClock] ( https://github.com/bxparks/clocks/tree/master/OledClock )
119+ * a digital clock using a DS3231 RTC chip, an NTP client, 2 buttons, and an
120+ SSD1306 OLED display
121+ * [ WorldClock] ( https://github.com/bxparks/clocks/tree/master/WorldClock )
122+ * a clock with 3 OLED screens showing the time at 3 different time zones
123+
120124## Motivation and Design Considerations
121125
122126In the beginning, I created a digital clock using an Arduino Nano board, a small
@@ -1512,8 +1516,9 @@ for custom zoneRegistries because the `BasicZoneManager` and
15121516` ExtendedZoneManager ` expect to find them in static RAM or flash memory
15131517according to this macro.
15141518
1515- See [ CommandLineClock] ( examples/CommandLineClock/ ) for an example of how these
1516- custom registries can be created and used.
1519+ See
1520+ [ CommandLineClock] ( https://github.com/bxparks/clocks/tree/master/CommandLineClock )
1521+ for an example of how these custom registries can be created and used.
15171522
15181523#### createForZoneName()
15191524
@@ -1674,7 +1679,8 @@ Time](https://nodatime.org/)) avoid the problem altogether by making all objects
16741679immutable. In those libraries, mutations occur by creating a new copy of the
16751680target object with a new value for the mutated parameter. Making the objects
16761681immutable is definitely cleaner, but it causes the code size to increase
1677- significantly. For the case of the [ WorldClock] ( example/WorldClock ) program,
1682+ significantly. For the case of the
1683+ [ WorldClock] ( https://github.com/bxparks/clocks/tree/master/WorldClock ) program,
16781684the code size increased by 500-700 bytes, which I could not afford because the
16791685program takes up almost the entire flash memory of an Ardunio Pro Micro with
16801686only 28672 bytes of flash memory.
@@ -1716,8 +1722,8 @@ environments is the code size, not the CPU time.)
17161722It is not clear that making the AceTime objects mutable was the best design
17171723decision. But it seems to produce far smaller code sizes (hundreds of bytes of
17181724flash memory saved for something like
1719- [ examples/ WorldClock] ( examples/ WorldClock) ), while providing the features that I
1720- need to implement the various Clock applications.
1725+ [ WorldClock] ( https://github.com/bxparks/clocks/tree/master/ WorldClock) ), while
1726+ providing the features that I need to implement the various Clock applications.
17211727
17221728### TimeOffset Mutation
17231729
@@ -2567,9 +2573,11 @@ Here is a short summary for an 8-bit microcontroller (e.g. Arduino Nano):
25672573
25682574These numbers indicate that the AceTime library is useful even on a limited
256925758-bit controller with only 30-32 kB of flash and 2 kB of RAM. As a concrete
2570- example, the [WorldClock](examples/WorldClock) program contains 3 OLED displays
2571- over SPI, 2 buttons, one DS3231 chip, and 3 timezones using AceTime, and these
2572- all fit inside a Arduino Pro Micro limit of 30 kB flash and 2.5 kB of RAM.
2576+ example, the
2577+ [WorldClock](https://github.com/bxparks/clocks/tree/master/WorldClock) program
2578+ contains 3 OLED displays over SPI, 2 buttons, one DS3231 chip, and 3 timezones
2579+ using AceTime, and these all fit inside a Arduino Pro Micro limit of 30 kB flash
2580+ and 2.5 kB of RAM.
25732581
25742582## Comparisons to Other Time Libraries
25752583
0 commit comments