From f977a4d84cfb82b989e16b88a793cc4c704bc007 Mon Sep 17 00:00:00 2001 From: Hasenradball Date: Wed, 27 May 2026 16:06:42 +0200 Subject: [PATCH] Restrukture Code, Improve Dokumentation and Indroduce Unit Testing (#10) * rename all names to DS3231-RTC * header include guard needs underscores * Update README.md - added getYearDay() * rework docu to time getting functions * update Tests and class structure * Update GitHub Actions workflow for compiling examples * Downgrade arduino/compile-sketches action to v1 * Add C++17 compiler flags to compile workflow Add extra compiler flags for C++17 support in Arduino workflow. * remove Unix_offset and NTP_offset from Constants * remove std::optional * update examples to reowked code * reorder includes * rework clock mode setter * Bugfix for RTC::now in hour calculation, add begin() method; add method to get hour mode * adapt examples with begin() method * update keyword.txt * Remove build folder from version control * add tests to readme; comment bin2dec function * remove double defined function bcd2bin; replace functional code by more performant bcd functiontional code. * restructure static funtions => make them constexpr * Update unit tests; update libraries informations; adapt Readme * adapt work flow rund for unit tests * add status badge for Readme * Delete .DS_Store * update Readme --- .github/workflows/compile_examples.yml | 18 +- .github/workflows/unit_tests.yml | 25 + .gitignore | 6 + CMakeLists.txt | 17 + README.md | 228 ++- docs/DS3231_datasheet.pdf | Bin 0 -> 843828 bytes examples/AdvanceAlarm/AdvanceAlarm.ino | 231 ++- examples/AlarmInterrupt/AlarmInterrupt.ino | 163 +- examples/AlarmPolling/AlarmPolling.ino | 55 +- .../DS3231_oscillator_test.ino | 43 +- examples/DS3231_set/DS3231_set.ino | 180 +- examples/DS3231_test/DS3231_test.ino | 239 +-- .../DateTime_Contructor_Test.ino | 296 ++-- examples/echo_time/echo_time.ino | 11 +- examples/getAXTimeTest/getAXTimeTest.ino | 104 +- examples/now/now.ino | 56 +- examples/setEpoch/setEpoch.ino | 201 +-- examples/set_echo/set_echo.ino | 215 +-- keywords.txt | 79 +- library.json | 2 +- library.properties | 2 +- src/DS3231-RTC.cpp | 1551 +++++++---------- src/DS3231-RTC.h | 953 +++++++--- src/DS3231-RTC_Constants.h | 41 + src/DS3231-RTC_Tools.h | 65 + test/CMakeLists.txt | 16 + test/test_DS3231.cpp | 176 ++ 27 files changed, 2862 insertions(+), 2111 deletions(-) create mode 100644 .github/workflows/unit_tests.yml create mode 100644 CMakeLists.txt create mode 100755 docs/DS3231_datasheet.pdf mode change 100644 => 100755 src/DS3231-RTC.cpp mode change 100644 => 100755 src/DS3231-RTC.h create mode 100644 src/DS3231-RTC_Constants.h create mode 100644 src/DS3231-RTC_Tools.h create mode 100755 test/CMakeLists.txt create mode 100755 test/test_DS3231.cpp diff --git a/.github/workflows/compile_examples.yml b/.github/workflows/compile_examples.yml index d44bd97..5226a0f 100644 --- a/.github/workflows/compile_examples.yml +++ b/.github/workflows/compile_examples.yml @@ -7,10 +7,22 @@ on: jobs: compile-examples: runs-on: ubuntu-latest - + + strategy: + fail-fast: false + + matrix: + board: + - fqbn: arduino:avr:uno + - fqbn: arduino:avr:nano + steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 - uses: arduino/compile-sketches@v1 with: + fqbn: ${{ matrix.board.fqbn }} + cli-compile-flags: | + - --build-property + - compiler.cpp.extra_flags=-std=gnu++17 libraries: | - - source-path: ./ + - source-path: . diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml new file mode 100644 index 0000000..138f440 --- /dev/null +++ b/.github/workflows/unit_tests.yml @@ -0,0 +1,25 @@ +name: Unit Tests + +on: + push: + branches: [ "**" ] + + pull_request: + branches: [ "**" ] + +jobs: + unit-tests: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@main + + - name: Configure CMake + run: cmake -B build -DCMAKE_BUILD_TYPE=Release + + - name: Build + run: cmake --build build + + - name: Run Tests + run: ctest --test-dir build --output-on-failure \ No newline at end of file diff --git a/.gitignore b/.gitignore index 06dfa92..7781b42 100644 --- a/.gitignore +++ b/.gitignore @@ -34,6 +34,12 @@ # PlatformIO files/folders .pio +# cmake +build + +# mac +.DS_Store + # vscode files /folders .vscode/.browse.c_cpp.db* .vscode/c_cpp_properties.json diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..70230a4 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,17 @@ +cmake_minimum_required(VERSION 3.14) +project(Ds3231_Tests CXX) + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +# Fetch GoogleTest +include(FetchContent) +FetchContent_Declare( + googletest + URL https://github.com/google/googletest/archive/refs/tags/v1.14.0.zip +) +set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) +FetchContent_MakeAvailable(googletest) + +enable_testing() +add_subdirectory(test) \ No newline at end of file diff --git a/README.md b/README.md index 8e9c59b..17adc96 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # DS3231-RTC Library [![Spell Check](https://github.com/hasenradball/DS3231-RTC/actions/workflows/spell_checker.yml/badge.svg)](https://github.com/hasenradball/DS3231-RTC/actions/workflows/spell_checker.yml) [![Compile Examples](https://github.com/hasenradball/DS3231-RTC/actions/workflows/compile_examples.yml/badge.svg)](https://github.com/hasenradball/DS3231-RTC/actions/workflows/compile_examples.yml) +[![Unit Tests](https://github.com/hasenradball/DS3231-RTC/actions/workflows/unit_tests.yml/badge.svg)](https://github.com/hasenradball/DS3231-RTC/actions/workflows/unit_tests.yml) The **great** C++ Library for the DS3231 real-time clock (RTC) module. @@ -17,17 +18,25 @@ This document explains the installation and usage of the Library with the Arduin You do have to install the Library in your Arduino IDE environment before you can use it. Installation instructions are provided, below. **REMARK**:
-This library was based on the master branch of [NorthernWidget/DS3231](https://github.com/NorthernWidget/DS3231) Library in Oct/2023. It was reworked and refractured with respect of the following main topics: +This library was based on the master branch of [NorthernWidget/DS3231](https://github.com/NorthernWidget/DS3231) Library in Oct/2023. It was maintained, reworked and refractured with respect of the following main topics: * using standardized functions of the `time.h` library. * introduce a `struct tm` which holds all relevant date and time values. * restructure comments, so that syntax highlighting works fine. * add a `strf_DateTime()` function with can be used to print a user specific(self defined) DateTime string easily. +* restructure of code with respect of clean code +* usage of Doxygen Documentation generation +* introduce Google Unit Testing + ## Contents -* [Summary](#summary) +* [Summary and How to Start](#summary-and-how-to-start) + * [Get Datetime from DS3231](#setup-and-get-datetime-from-ds3231) + * [Set the DS3231 Module with Date and Time](#setup-and-set-the-date-and-time-in-the-ds3231-module) + * [Use Date and Time](#use-date-and-time) * [About the DS3231](#about-the-ds3231-module) * [The DS3231 Battery Problem](#the-ds3231-battery-problem) +* [Unit Testing](#unit-tests) * [How to Install the Library](#installation) * [Functions Provided in the Library](#functions) * [Examples of Using the Library](#examples-of-use) @@ -35,52 +44,86 @@ This library was based on the master branch of [NorthernWidget/DS3231](https://g * [Contributing, Credits and License](#contributing) * [To-Do List](#to-do) -
-## Summary - -After installing the Library in your Arduino IDE, using it in a program starts with three, simple steps: - -
    -
  1. Import the Library into the program code:
  2. -
+## Summary and How to Start +### Setup and get DateTime from DS3231 +After installing the Library in your Arduino IDE, you can retrieve a DateTime from the DS3231 via: ``` +#include +#include #include -``` - -
    -
  1. Declare a DS3231 object, for example:
  2. -
+DS3231::RTClib myRTC; + +void setup () { + Serial.begin(57600); + Wire.begin(); + delay(500); + Serial.println("Nano Ready!"); +} + +void loop () { + + delay(1000); + + // get each second a timestamp + DS3231::DateTime now = myRTC.now(); + + Serial.print(now.getYear(), DEC); + Serial.print('/'); + Serial.print(now.getMonth(), DEC); + Serial.print('/'); + Serial.print(now.getDay(), DEC); + Serial.print(' '); + Serial.print(now.getHour(), DEC); + Serial.print(':'); + Serial.print(now.getMinute(), DEC); + Serial.print(':'); + Serial.print(now.getSecond(), DEC); + Serial.println(); + + Serial.print(" since midnight 1/1/1970 = "); + Serial.print(now.getUnixTime()); + Serial.print("s = "); + Serial.print(now.getUnixTime() / 86400L); + Serial.println("d"); +} +``` +or Serial for the **ESP8266** like: ``` -DS3231 myRTC; +Wire.begin(SDA, SCL); ``` -
    -
  1. Start the Wire library to enable I2C communications with the DS3231 hardware, typically in the setup() code block:
  2. -
+### Setup and set the Date and Time in the DS3231 module +The feed the DS3231 Module the easiest way is to set th Epoch (unix timestamp). - -``` -Wire.begin(); -``` -or for the **ESP8266** like: -``` -Wire.begin(SDA, SCL); ``` +#include +#include +#include -Then, Library functions are typically accessed through the DS3231 object. +// unix timestamp of: Tue Aug 16 2022 10:00:00 GMT+0000 +constexpr time_t timestamp{1660644000UL}; -For example, to read the current date of the month (1...31), depending on the month and the year: +DS3231::RTClib myRTC; +DS3231::DS3231 Clock; -``` -byte theDate = myRTC.getDate(); +void setup() { + Serial.begin(115200); + Wire.begin(); + Clock.begin(); + delay(500); + + // feed UnixTimeStamp + Clock.setEpoch(timestamp); +} ``` +### Use Date and Time The Library incorporates two other classes to assist with managing `date` and `time` data: * `DateTime` class enables a object for managing date and time data. @@ -92,7 +135,7 @@ The `DateTime` class can be instantiated by a specific date and time in three di year, month, day, hour, minute and second or - + * 2.) by a single, `time_t` unix timestamp.
* 3.) by giving a separate `const char *` string for Date and Time like:
@@ -158,7 +201,126 @@ See the corresponding link for the problem description in detail:
[back to top](#ds3231-rtc-library)
+## Unit Tests +The project contains unit tests. +These tests validate: + +* some helper functions +* getter functions + +### Run tests locally +The tests are based on GoogleTest and are built with CMake. + +Required tools: + +* CMake +* a C++17 compatible compiler + +#### Windows +With Visual Studio or Visual Studio Build Tools installed, run the commands in a Developer PowerShell: + +```powershell +# Generate Build System +cmake -B build -DCMAKE_BUILD_TYPE=Release +# Build a Project +cmake --build build +# Execute Tests +ctest --test-dir build --output-on-failure +or +./build/test/test_DS3231 --gtest_color=yes +``` + +#### Linux +Install CMake and a compiler toolchain, for example `g++` or `clang++`, and run: + +```bash +# Generate Build System +cmake -B build -DCMAKE_BUILD_TYPE=Release +# Build a Project +cmake --build build +# Execute Tests +ctest --test-dir build --output-on-failure +./build/test/test_DS3231 --gtest_color=yes +``` + +#### macOS +Install Xcode Command Line Tools and CMake, then run: + +```bash +# Generate Build System +cmake -B build -DCMAKE_BUILD_TYPE=Release +# Build a Project +cmake --build build +# Execute Tests +ctest --test-dir build --output-on-failure +./build/test/test_DS3231 --gtest_color=yes +``` +Example Output: +``` +[==========] Running 23 tests from 3 test suites. +[----------] Global test environment set-up. +[----------] 8 tests from DS3231Tools_BCD +[ RUN ] DS3231Tools_BCD.BinaryDecodedDecimalToDecimal_0 +[ OK ] DS3231Tools_BCD.BinaryDecodedDecimalToDecimal_0 (0 ms) +[ RUN ] DS3231Tools_BCD.BinaryDecodedDecimalToDecimal_9 +[ OK ] DS3231Tools_BCD.BinaryDecodedDecimalToDecimal_9 (0 ms) +[ RUN ] DS3231Tools_BCD.BinaryDecodedDecimalToDecimal_10 +[ OK ] DS3231Tools_BCD.BinaryDecodedDecimalToDecimal_10 (0 ms) +[ RUN ] DS3231Tools_BCD.BinaryDecodedDecimalToDecimal_59 +[ OK ] DS3231Tools_BCD.BinaryDecodedDecimalToDecimal_59 (0 ms) +[ RUN ] DS3231Tools_BCD.DecimalToBinaryDecodedDecimal_0 +[ OK ] DS3231Tools_BCD.DecimalToBinaryDecodedDecimal_0 (0 ms) +[ RUN ] DS3231Tools_BCD.DecimalToBinaryDecodedDecimal_9 +[ OK ] DS3231Tools_BCD.DecimalToBinaryDecodedDecimal_9 (0 ms) +[ RUN ] DS3231Tools_BCD.DecimalToBinaryDecodedDecimal_10 +[ OK ] DS3231Tools_BCD.DecimalToBinaryDecodedDecimal_10 (0 ms) +[ RUN ] DS3231Tools_BCD.DecimalToBinaryDecodedDecimal_59 +[ OK ] DS3231Tools_BCD.DecimalToBinaryDecodedDecimal_59 (0 ms) +[----------] 8 tests from DS3231Tools_BCD (0 ms total) + +[----------] 7 tests from DS3231Tools_leapYear +[ RUN ] DS3231Tools_leapYear.IsLeapYear_2023 +[ OK ] DS3231Tools_leapYear.IsLeapYear_2023 (0 ms) +[ RUN ] DS3231Tools_leapYear.IsLeapYear_2024 +[ OK ] DS3231Tools_leapYear.IsLeapYear_2024 (0 ms) +[ RUN ] DS3231Tools_leapYear.IsLeapYear_2032 +[ OK ] DS3231Tools_leapYear.IsLeapYear_2032 (0 ms) +[ RUN ] DS3231Tools_leapYear.IsLeapYear_1700 +[ OK ] DS3231Tools_leapYear.IsLeapYear_1700 (0 ms) +[ RUN ] DS3231Tools_leapYear.IsLeapYear_1800 +[ OK ] DS3231Tools_leapYear.IsLeapYear_1800 (0 ms) +[ RUN ] DS3231Tools_leapYear.IsLeapYear_1900 +[ OK ] DS3231Tools_leapYear.IsLeapYear_1900 (0 ms) +[ RUN ] DS3231Tools_leapYear.IsLeapYear_2000 +[ OK ] DS3231Tools_leapYear.IsLeapYear_2000 (0 ms) +[----------] 7 tests from DS3231Tools_leapYear (0 ms total) + +[----------] 8 tests from DS3231MockTest +[ RUN ] DS3231MockTest.GetSecondReadsSecondRegister +[ OK ] DS3231MockTest.GetSecondReadsSecondRegister (0 ms) +[ RUN ] DS3231MockTest.GetMinuteReadsMinuteRegister +[ OK ] DS3231MockTest.GetMinuteReadsMinuteRegister (0 ms) +[ RUN ] DS3231MockTest.GetHourReadsFlagsAndBcdValue +[ OK ] DS3231MockTest.GetHourReadsFlagsAndBcdValue (0 ms) +[ RUN ] DS3231MockTest.SetHourWritesUpdatedHourRegister +[ OK ] DS3231MockTest.SetHourWritesUpdatedHourRegister (0 ms) +[ RUN ] DS3231MockTest.GetDoWReadsDoWRegister +[ OK ] DS3231MockTest.GetDoWReadsDoWRegister (0 ms) +[ RUN ] DS3231MockTest.GetDayReadsDateRegister +[ OK ] DS3231MockTest.GetDayReadsDateRegister (0 ms) +[ RUN ] DS3231MockTest.GetMonthReadsMonthRegister +[ OK ] DS3231MockTest.GetMonthReadsMonthRegister (0 ms) +[ RUN ] DS3231MockTest.GetYearReadsYearRegister +[ OK ] DS3231MockTest.GetYearReadsYearRegister (0 ms) +[----------] 8 tests from DS3231MockTest (0 ms total) + +[----------] Global test environment tear-down +[==========] 23 tests from 3 test suites ran. (1 ms total) +[ PASSED ] 23 tests. +``` + +[back to top](#ds3231-rtc-library) ## Installation ### First Method @@ -324,6 +486,8 @@ See also [Working with the DS3231 libraries and interrupts](https://github.com/I [back to top](#ds3231-rtc-library)
+ + ## Contributing If you want to contribute to this project: @@ -353,7 +517,7 @@ Based on previous work by: ## License -DS3231 is licensed under [MIT License](https://github.com/hasenradball/DS3231-RTC/blob/master/LICENSE). +DS3231-RTC is licensed under [MIT License](https://github.com/hasenradball/DS3231-RTC/blob/master/LICENSE). [back to top](#ds3231-rtc-library)
diff --git a/docs/DS3231_datasheet.pdf b/docs/DS3231_datasheet.pdf new file mode 100755 index 0000000000000000000000000000000000000000..4b51d64bcc2162f4b5805a3960af0968d20fa6a8 GIT binary patch literal 843828 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%0AX2 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

8dk1Uel+9qzWzEN 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�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Π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ΜUo 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 H+{F1mAb*eo literal 0 HcmV?d00001 diff --git a/examples/AdvanceAlarm/AdvanceAlarm.ino b/examples/AdvanceAlarm/AdvanceAlarm.ino index 5c96ed2..6332de5 100644 --- a/examples/AdvanceAlarm/AdvanceAlarm.ino +++ b/examples/AdvanceAlarm/AdvanceAlarm.ino @@ -24,14 +24,12 @@ Tested on: #include #include -// Interrupt frequency, in seconds -#define INT_FREQ 3UL // 3 seconds, characterized as unsigned long -// myRTC interrupt pin -#define CLINT 2 +// Interrupt frequency, in seconds +constexpr uint8_t INTERRUPT_FREQUENCY {3U}; +constexpr int RTC_INTERUPT_PIN {2}; -// Setup clock -DS3231 myRTC; +DS3231::DS3231 myRTC; // Variables for use in method parameter lists byte alarmDay; @@ -46,122 +44,121 @@ bool alarmPM; // Interrupt signaling byte volatile byte tick = 1; +void isr_TickTock() { + // interrupt signals to loop + tick = 1; + return; +} void setup() { - // Begin I2C communication - Wire.begin(); - - // Begin Serial communication - Serial.begin(9600); - while (!Serial); - - // Set the DS3231 clock mode to 24-hour - myRTC.setClockMode(false); // false = not using the alternate, 12-hour mode - - // Set the clock to an arbitrarily chosen time of - // 00:00:00 midnight the morning of January 1, 2020 - // using a suitable Unix-style timestamp - myRTC.setEpoch(1640995200); - - // Assign parameter values for Alarm 1 - alarmDay = myRTC.getDate(); - alarmHour = myRTC.getHour(alarmH12, alarmPM); - alarmMinute = myRTC.getMinute(); - alarmSecond = INT_FREQ; // initialize to the interval length - alarmBits = 0b00001110; // Alarm 1 when seconds match - alarmDayIsDay = false; // using date of month - - // Upload initial parameters of Alarm 1 - myRTC.turnOffAlarm(1); - myRTC.setA1Time( - alarmDay, alarmHour, alarmMinute, alarmSecond, - alarmBits, alarmDayIsDay, alarmH12, alarmPM); - // clear Alarm 1 flag after setting the alarm time - myRTC.checkIfAlarm(1); - // now it is safe to enable interrupt output - myRTC.turnOnAlarm(1); - - // When using interrupt with only one of the DS3231 alarms, as in this example, - // it may be possible to prevent the other alarm entirely, - // so it will not covertly block the outgoing interrupt signal. - - // Try to prevent Alarm 2 altogether by assigning a - // nonsensical alarm minute value that cannot match the clock time, - // and an alarmBits value to activate "when minutes match". - alarmMinute = 0xFF; // a value that will never match the time - alarmBits = 0b01100000; // Alarm 2 when minutes match, i.e., never - - // Upload the parameters to prevent Alarm 2 entirely - myRTC.setA2Time( - alarmDay, alarmHour, alarmMinute, - alarmBits, alarmDayIsDay, alarmH12, alarmPM); - // disable Alarm 2 interrupt - myRTC.turnOffAlarm(2); - // clear Alarm 2 flag - myRTC.checkIfAlarm(2); - - // NOTE: both of the alarm flags must be clear - // to enable output of a FALLING interrupt - - // attach clock interrupt - pinMode(CLINT, INPUT_PULLUP); - attachInterrupt(digitalPinToInterrupt(CLINT), isr_TickTock, FALLING); - - // Configure the LED for blinking - pinMode(LED_BUILTIN, OUTPUT); + // Begin I2C communication + Wire.begin(); + + // Begin Serial communication + Serial.begin(9600); + while (!Serial); + + myRTC.begin(); + + // Set the clock to an arbitrarily chosen time of + // 00:00:00 midnight the morning of January 1, 2020 + // using a suitable Unix-style timestamp + myRTC.setEpoch(1640995200); + + // Assign parameter values for Alarm 1 + alarmDay = myRTC.getDate(); + alarmHour = myRTC.getHour(alarmH12, alarmPM); + alarmMinute = myRTC.getMinute(); + alarmSecond = INTERRUPT_FREQUENCY; // initialize to the interval length + alarmBits = 0b00001110; // Alarm 1 when seconds match + alarmDayIsDay = false; // using date of month + + // Upload initial parameters of Alarm 1 + myRTC.turnOffAlarm(1); + myRTC.setA1Time( + alarmDay, alarmHour, alarmMinute, alarmSecond, + alarmBits, alarmDayIsDay, alarmH12, alarmPM); + // clear Alarm 1 flag after setting the alarm time + myRTC.checkIfAlarm(1); + // now it is safe to enable interrupt output + myRTC.turnOnAlarm(1); + + // When using interrupt with only one of the DS3231 alarms, as in this example, + // it may be possible to prevent the other alarm entirely, + // so it will not covertly block the outgoing interrupt signal. + + // Try to prevent Alarm 2 altogether by assigning a + // nonsensical alarm minute value that cannot match the clock time, + // and an alarmBits value to activate "when minutes match". + alarmMinute = 0xFF; // a value that will never match the time + alarmBits = 0b01100000; // Alarm 2 when minutes match, i.e., never + + // Upload the parameters to prevent Alarm 2 entirely + myRTC.setA2Time( + alarmDay, alarmHour, alarmMinute, + alarmBits, alarmDayIsDay, alarmH12, alarmPM); + // disable Alarm 2 interrupt + myRTC.turnOffAlarm(2); + // clear Alarm 2 flag + myRTC.checkIfAlarm(2); + + // NOTE: both of the alarm flags must be clear + // to enable output of a FALLING interrupt + + // attach clock interrupt + pinMode(RTC_INTERUPT_PIN, INPUT_PULLUP); + attachInterrupt(digitalPinToInterrupt(RTC_INTERUPT_PIN), isr_TickTock, FALLING); + + // Configure the LED for blinking + pinMode(LED_BUILTIN, OUTPUT); } void loop() { - // static variable to keep track of LED on/off state - static byte state = false; - - // Do when alarm interrupt received: - if (tick) { - // right away, capture the current time in a DateTime variable - // for later processing - DateTime alarmDT = RTClib::now(); - - // disable Alarm 1 interrupt - myRTC.turnOffAlarm(1); - - // Clear Alarm 1 flag - myRTC.checkIfAlarm(1); - - tick = 0; // reset the local interrupt-received flag - state = ~state; // reverse the state of the LED - digitalWrite(LED_BUILTIN, state); - - // optional serial output - Serial.print("Turning LED "); - Serial.print((state ? "ON" : "OFF")); - Serial.print(" at "); - Serial.print(alarmDT.getHour()); - Serial.print(":"); - Serial.print(alarmDT.getMinute()); - Serial.print(":"); - Serial.println(alarmDT.getSecond()); - - // extract the DateTime values as a timestamp - uint32_t nextAlarm = alarmDT.getUnixTime(); - // add the INT_FREQ number of seconds - nextAlarm += INT_FREQ; - // update the DateTime with the new timestamp - alarmDT = DateTime(nextAlarm); - - // upload the new time to Alarm 1 - myRTC.setA1Time( - alarmDT.getDay(), alarmDT.getHour(), alarmDT.getMinute(), alarmDT.getSecond(), - alarmBits, alarmDayIsDay, alarmH12, alarmPM); - - // enable Alarm 1 interrupts - myRTC.turnOnAlarm(1); + // static variable to keep track of LED on/off state + static byte state = false; + + // Do when alarm interrupt received: + if (tick) { + // right away, capture the current time in a DateTime variable + // for later processing + DS3231::DateTime alarmDT = DS3231::RTClib::now(); + + // disable Alarm 1 interrupt + myRTC.turnOffAlarm(1); + + // Clear Alarm 1 flag + myRTC.checkIfAlarm(1); + + tick = 0; // reset the local interrupt-received flag + state = ~state; // reverse the state of the LED + digitalWrite(LED_BUILTIN, state); + + // optional serial output + Serial.print("Turning LED "); + Serial.print((state ? "ON" : "OFF")); + Serial.print(" at "); + Serial.print(alarmDT.getHour()); + Serial.print(":"); + Serial.print(alarmDT.getMinute()); + Serial.print(":"); + Serial.println(alarmDT.getSecond()); + + // extract the DateTime values as a timestamp + uint32_t nextAlarm = alarmDT.getUnixTime(); + nextAlarm += INTERRUPT_FREQUENCY; + // update the DateTime with the new timestamp + alarmDT = DS3231::DateTime(nextAlarm); + + // upload the new time to Alarm 1 + myRTC.setA1Time( + alarmDT.getDay(), alarmDT.getHour(), alarmDT.getMinute(), alarmDT.getSecond(), + alarmBits, alarmDayIsDay, alarmH12, alarmPM); + + // enable Alarm 1 interrupts + myRTC.turnOnAlarm(1); // clear Alarm 1 flag again after enabling interrupts - myRTC.checkIfAlarm(1); - } + myRTC.checkIfAlarm(1); + } } -void isr_TickTock() { - // interrupt signals to loop - tick = 1; - return; -} + diff --git a/examples/AlarmInterrupt/AlarmInterrupt.ino b/examples/AlarmInterrupt/AlarmInterrupt.ino index 0642b99..3adb5ad 100644 --- a/examples/AlarmInterrupt/AlarmInterrupt.ino +++ b/examples/AlarmInterrupt/AlarmInterrupt.ino @@ -27,14 +27,14 @@ Added to this example: David Sparks, September 2022 */ -#include #include +#include // myRTC interrupt pin -#define CLINT 2 +#define CLOCK_INTERRUPT_PIN 2 // Setup clock -DS3231 myRTC; +DS3231::DS3231 myRTC; // Variables for use in method parameter lists byte alarmDay; @@ -49,91 +49,92 @@ bool alarmPM; // Interrupt signaling byte volatile byte tick = 1; +void isr_TickTock() { + // interrupt signals to loop + tick = 1; + return; +} + void setup() { - // Begin I2C communication - Wire.begin(); - - // Begin Serial communication - Serial.begin(9600); - while (!Serial); - Serial.println(); - Serial.println("Starting Serial"); - - // Assign parameter values for Alarm 1 - alarmDay = 0; - alarmHour = 0; - alarmMinute = 0; - alarmSecond = 0; - alarmBits = 0b00001111; // Alarm 1 every second - alarmDayIsDay = false; - alarmH12 = false; - alarmPM = false; - - // Set alarm 1 to fire at one-second intervals - myRTC.turnOffAlarm(1); - myRTC.setA1Time( - alarmDay, alarmHour, alarmMinute, alarmSecond, - alarmBits, alarmDayIsDay, alarmH12, alarmPM); - // enable Alarm 1 interrupts - myRTC.turnOnAlarm(1); - // clear Alarm 1 flag - myRTC.checkIfAlarm(1); - - // When using interrupt with only one of the DS3231 alarms, as in this example, - // it may be advisable to prevent the other alarm entirely, - // so it will not covertly block the outgoing interrupt signal. - - // Prevent Alarm 2 altogether by assigning a - // nonsensical alarm minute value that cannot match the clock time, - // and an alarmBits value to activate "when minutes match". - alarmMinute = 0xFF; // a value that will never match the time - alarmBits = 0b01100000; // Alarm 2 when minutes match, i.e., never - - // Upload the parameters to prevent Alarm 2 entirely - myRTC.setA2Time( - alarmDay, alarmHour, alarmMinute, - alarmBits, alarmDayIsDay, alarmH12, alarmPM); - // disable Alarm 2 interrupt - myRTC.turnOffAlarm(2); - // clear Alarm 2 flag - myRTC.checkIfAlarm(2); - - // NOTE: both of the alarm flags must be clear - // to enable output of a FALLING interrupt - - // attach clock interrupt - pinMode(CLINT, INPUT_PULLUP); - attachInterrupt(digitalPinToInterrupt(CLINT), isr_TickTock, FALLING); - - // Use builtin LED to blink - pinMode(LED_BUILTIN, OUTPUT); + // Begin I2C communication + Wire.begin(); + + // Begin Serial communication + Serial.begin(9600); + while (!Serial); + Serial.println(); + Serial.println("Starting Serial"); + myRTC.begin(); + + // Assign parameter values for Alarm 1 + alarmDay = 0; + alarmHour = 0; + alarmMinute = 0; + alarmSecond = 0; + alarmBits = 0b00001111; // Alarm 1 every second + alarmDayIsDay = false; + alarmH12 = false; + alarmPM = false; + + // Set alarm 1 to fire at one-second intervals + myRTC.turnOffAlarm(1); + myRTC.setA1Time( + alarmDay, alarmHour, alarmMinute, alarmSecond, + alarmBits, alarmDayIsDay, alarmH12, alarmPM); + // enable Alarm 1 interrupts + myRTC.turnOnAlarm(1); + // clear Alarm 1 flag + myRTC.checkIfAlarm(1); + + // When using interrupt with only one of the DS3231 alarms, as in this example, + // it may be advisable to prevent the other alarm entirely, + // so it will not covertly block the outgoing interrupt signal. + + // Prevent Alarm 2 altogether by assigning a + // nonsensical alarm minute value that cannot match the clock time, + // and an alarmBits value to activate "when minutes match". + alarmMinute = 0xFF; // a value that will never match the time + alarmBits = 0b01100000; // Alarm 2 when minutes match, i.e., never + + // Upload the parameters to prevent Alarm 2 entirely + myRTC.setA2Time( + alarmDay, alarmHour, alarmMinute, + alarmBits, alarmDayIsDay, alarmH12, alarmPM); + // disable Alarm 2 interrupt + myRTC.turnOffAlarm(2); + // clear Alarm 2 flag + myRTC.checkIfAlarm(2); + + // NOTE: both of the alarm flags must be clear + // to enable output of a FALLING interrupt + + // attach clock interrupt + pinMode(CLOCK_INTERRUPT_PIN, INPUT_PULLUP); + attachInterrupt(digitalPinToInterrupt(CLOCK_INTERRUPT_PIN), isr_TickTock, FALLING); + + // Use builtin LED to blink + pinMode(LED_BUILTIN, OUTPUT); } void loop() { - // static variable to keep track of LED on/off state - static byte state = false; + // static variable to keep track of LED on/off state + static byte state = false; - // if alarm went of, do alarm stuff - if (tick) { - tick = 0; - state = ~state; - digitalWrite(LED_BUILTIN, state); + // if alarm went of, do alarm stuff + if (tick) { + tick = 0; + state = ~state; + digitalWrite(LED_BUILTIN, state); - // optional serial output - Serial.print("Turning LED "); - Serial.println((state ? "ON" : "OFF")); + // optional serial output + Serial.print("Turning LED "); + Serial.println((state ? "ON" : "OFF")); - // Clear Alarm 1 flag - myRTC.checkIfAlarm(1); - } + // Clear Alarm 1 flag + myRTC.checkIfAlarm(1); + } - // Loop delay to emulate other running code - delay(10); + // Loop delay to emulate other running code + delay(10); } - -void isr_TickTock() { - // interrupt signals to loop - tick = 1; - return; -} diff --git a/examples/AlarmPolling/AlarmPolling.ino b/examples/AlarmPolling/AlarmPolling.ino index c5dc0f9..abaa352 100644 --- a/examples/AlarmPolling/AlarmPolling.ino +++ b/examples/AlarmPolling/AlarmPolling.ino @@ -14,37 +14,38 @@ Tested on: #include // Setup clock -DS3231 myRTC; +DS3231::DS3231 myRTC; void setup() { - // Begin I2C communication - Wire.begin(); - - // Setup alarm one to fire every second - myRTC.turnOffAlarm(1); - myRTC.setA1Time(0, 0, 0, 0, 0b01111111, false, false, false); - myRTC.turnOnAlarm(1); - myRTC.checkIfAlarm(1); - - // Use builtin LED to blink - pinMode(LED_BUILTIN, OUTPUT); - digitalWrite(LED_BUILTIN, HIGH); + // Begin I2C communication + Wire.begin(); + myRTC.begin(); + + // Setup alarm one to fire every second + myRTC.turnOffAlarm(1); + myRTC.setA1Time(0, 0, 0, 0, 0b01111111, false, false, false); + myRTC.turnOnAlarm(1); + myRTC.checkIfAlarm(1); + + // Use builtin LED to blink + pinMode(LED_BUILTIN, OUTPUT); + digitalWrite(LED_BUILTIN, HIGH); } void loop() { - // static variable to keep track of LED on/off state - static byte state = false; - - // if alarm went of, do alarm stuff - // first call to checkIFAlarm does not clear alarm flag - if (myRTC.checkIfAlarm(1, false)) { - state = ~state; - digitalWrite(LED_BUILTIN, state); - // Clear alarm state - myRTC.checkIfAlarm(1, true); - } - - // Loop delay to emulate other running code - delay(10); + // static variable to keep track of LED on/off state + static byte state = false; + + // if alarm went of, do alarm stuff + // first call to checkIFAlarm does not clear alarm flag + if (myRTC.checkIfAlarm(1, false)) { + state = ~state; + digitalWrite(LED_BUILTIN, state); + // Clear alarm state + myRTC.checkIfAlarm(1, true); + } + + // Loop delay to emulate other running code + delay(10); } diff --git a/examples/DS3231_oscillator_test/DS3231_oscillator_test.ino b/examples/DS3231_oscillator_test/DS3231_oscillator_test.ino index 13979ba..766c6c4 100644 --- a/examples/DS3231_oscillator_test/DS3231_oscillator_test.ino +++ b/examples/DS3231_oscillator_test/DS3231_oscillator_test.ino @@ -10,29 +10,32 @@ working as they should. */ -#include #include +#include -DS3231 myRTC; -byte j; -bool on = false; +DS3231::DS3231 myRTC; +bool activate_32kHz = false; -void setup() { - // Start the I2C interface - Wire.begin(); - // Start the serial interface - Serial.begin(57600); +void setup() +{ + // Start the I2C interface + Wire.begin(); + // Start the serial interface + Serial.begin(57600); + myRTC.begin(); } -void loop() { - for (j=0;j<4;j++) { - // invert state of 32kHz oscillator. - on = !on; - myRTC.enable32kHz(on); - // Turn on oscillator pin, frequency j - myRTC.enableOscillator(true, false, j); - delay(4000); - } - // So... The 32kHz oscillator (pin 1) will turn on or off once each 2s, - // and the oscillator out pin (pin 3) will cycle through frequencies. +void loop() +{ + for (byte j = 0; j < 4; ++j) + { + // invert state of 32kHz oscillator. + activate_32kHz = !activate_32kHz; + myRTC.enable32kHz(activate_32kHz); + // Turn on oscillator pin, frequency j + myRTC.enableOscillator(true, false, j); + delay(4000); + } + // So... The 32kHz oscillator (pin 1) will turn on or off once each 2s, + // and the oscillator out pin (pin 3) will cycle through frequencies. } diff --git a/examples/DS3231_set/DS3231_set.ino b/examples/DS3231_set/DS3231_set.ino index d3afbc2..d8602bf 100644 --- a/examples/DS3231_set/DS3231_set.ino +++ b/examples/DS3231_set/DS3231_set.ino @@ -6,11 +6,10 @@ Eric Ayars Test of set-time routines for a DS3231 RTC */ - #include #include -DS3231 myRTC; +DS3231::DS3231 myRTC; byte year; byte month; @@ -20,94 +19,99 @@ byte hour; byte minute; byte second; -void getDateStuff(byte& year, byte& month, byte& date, byte& dOW, - byte& hour, byte& minute, byte& second) { - // Call this if you notice something coming in on - // the serial port. The stuff coming in should be in - // the order YYMMDDwHHMMSS, with an 'x' at the end. - boolean gotString = false; - char inChar; - byte temp1, temp2; - char inString[20]; - - byte j=0; - while (!gotString) { - if (Serial.available()) { - inChar = Serial.read(); - inString[j] = inChar; - j += 1; - if (inChar == 'x') { - gotString = true; - } - } - } - Serial.println(inString); - // Read year first - temp1 = (byte)inString[0] -48; - temp2 = (byte)inString[1] -48; - year = temp1*10 + temp2; - // now month - temp1 = (byte)inString[2] -48; - temp2 = (byte)inString[3] -48; - month = temp1*10 + temp2; - // now date - temp1 = (byte)inString[4] -48; - temp2 = (byte)inString[5] -48; - date = temp1*10 + temp2; - // now Day of Week - dOW = (byte)inString[6] - 48; - // now hour - temp1 = (byte)inString[7] -48; - temp2 = (byte)inString[8] -48; - hour = temp1*10 + temp2; - // now minute - temp1 = (byte)inString[9] -48; - temp2 = (byte)inString[10] -48; - minute = temp1*10 + temp2; - // now second - temp1 = (byte)inString[11] -48; - temp2 = (byte)inString[12] -48; - second = temp1*10 + temp2; +void getDateStuff(byte &year, byte &month, byte &date, byte &dOW, + byte &hour, byte &minute, byte &second) +{ + // Call this if you notice something coming in on + // the serial port. The stuff coming in should be in + // the order YYMMDDwHHMMSS, with an 'x' at the end. + boolean gotString = false; + char inChar; + byte temp1, temp2; + char inString[20]; + + byte j = 0; + while (!gotString) + { + if (Serial.available()) + { + inChar = Serial.read(); + inString[j] = inChar; + j += 1; + if (inChar == 'x') + { + gotString = true; + } + } + } + Serial.println(inString); + // Read year first + temp1 = (byte)inString[0] - 48; + temp2 = (byte)inString[1] - 48; + year = temp1 * 10 + temp2; + // now month + temp1 = (byte)inString[2] - 48; + temp2 = (byte)inString[3] - 48; + month = temp1 * 10 + temp2; + // now date + temp1 = (byte)inString[4] - 48; + temp2 = (byte)inString[5] - 48; + date = temp1 * 10 + temp2; + // now Day of Week + dOW = (byte)inString[6] - 48; + // now hour + temp1 = (byte)inString[7] - 48; + temp2 = (byte)inString[8] - 48; + hour = temp1 * 10 + temp2; + // now minute + temp1 = (byte)inString[9] - 48; + temp2 = (byte)inString[10] - 48; + minute = temp1 * 10 + temp2; + // now second + temp1 = (byte)inString[11] - 48; + temp2 = (byte)inString[12] - 48; + second = temp1 * 10 + temp2; } -void setup() { - // Start the serial port - Serial.begin(57600); - - // Start the I2C interface - Wire.begin(); +void setup() +{ + // Start the serial port + Serial.begin(57600); + + // Start the I2C interface + Wire.begin(); + myRTC.begin(); + } -void loop() { - - // If something is coming in on the serial line, it's - // a time correction so set the clock accordingly. - if (Serial.available()) { - getDateStuff(year, month, date, dOW, hour, minute, second); - - myRTC.setClockMode(false); // set to 24h - //setClockMode(true); // set to 12h - - myRTC.setYear(year); - myRTC.setMonth(month); - myRTC.setDate(date); - myRTC.setDoW(dOW); - myRTC.setHour(hour); - myRTC.setMinute(minute); - myRTC.setSecond(second); - - // Test of alarm functions - // set A1 to one minute past the time we just set the clock - // on current day of week. - myRTC.setA1Time(dOW, hour, minute+1, second, 0x0, true, - false, false); - // set A2 to two minutes past, on current day of month. - myRTC.setA2Time(date, hour, minute+2, 0x0, false, false, - false); - // Turn on both alarms, with external interrupt - myRTC.turnOnAlarm(1); - myRTC.turnOnAlarm(2); - - } - delay(1000); +void loop() +{ + + // If something is coming in on the serial line, it's + // a time correction so set the clock accordingly. + if (Serial.available()) + { + getDateStuff(year, month, date, dOW, hour, minute, second); + + myRTC.setYear(year); + myRTC.setMonth(month); + myRTC.setDate(date); + myRTC.setDoW(dOW); + myRTC.setHour(hour); + myRTC.setMinute(minute); + myRTC.setSecond(second); + + // Test of alarm functions + // set A1 to one minute past the time we just set the clock + // on current day of week. + myRTC.setA1Time(dOW, hour, minute + 1, second, 0x0, true, + false, false); + // set A2 to two minutes past, on current day of month. + myRTC.setA2Time(date, hour, minute + 2, 0x0, false, false, + false); + // Turn on both alarms, with external interrupt + myRTC.turnOnAlarm(1); + myRTC.turnOnAlarm(2); + } + delay(1000); } diff --git a/examples/DS3231_test/DS3231_test.ino b/examples/DS3231_test/DS3231_test.ino index 29d3ad8..395697a 100644 --- a/examples/DS3231_test/DS3231_test.ino +++ b/examples/DS3231_test/DS3231_test.ino @@ -13,7 +13,7 @@ working as they should. #include #include -DS3231 myRTC; +DS3231::DS3231 myRTC; bool century = false; bool h12Flag; bool pmFlag; @@ -21,137 +21,138 @@ byte alarmDay, alarmHour, alarmMinute, alarmSecond, alarmBits; bool alarmDy, alarmH12Flag, alarmPmFlag; void setup() { - // Start the I2C interface - Wire.begin(); + // Start the I2C interface + Wire.begin(); - // Start the serial interface - Serial.begin(57600); + // Start the serial interface + Serial.begin(57600); + myRTC.begin(); } void loop() { - // send what's going on to the serial monitor. - - // Start with the year - Serial.print("2"); - if (century) { // Won't need this for 89 years. - Serial.print("1"); - } else { - Serial.print("0"); - } - Serial.print(myRTC.getYear(), DEC); - Serial.print(' '); - - // then the month - Serial.print(myRTC.getMonth(century), DEC); - Serial.print(" "); + // send what's going on to the serial monitor. + + // Start with the year + Serial.print("2"); + if (century) { // Won't need this for 89 years. + Serial.print("1"); + } else { + Serial.print("0"); + } + Serial.print(myRTC.getYear(), DEC); + Serial.print(' '); + + // then the month + Serial.print(myRTC.getMonth(century), DEC); + Serial.print(" "); - // then the date - Serial.print(myRTC.getDate(), DEC); - Serial.print(" "); + // then the date + Serial.print(myRTC.getDate(), DEC); + Serial.print(" "); - // and the day of the week - Serial.print(myRTC.getDoW(), DEC); - Serial.print(" "); + // and the day of the week + Serial.print(myRTC.getDoW(), DEC); + Serial.print(" "); - // Finally the hour, minute, and second - Serial.print(myRTC.getHour(h12Flag, pmFlag), DEC); - Serial.print(" "); - Serial.print(myRTC.getMinute(), DEC); - Serial.print(" "); - Serial.print(myRTC.getSecond(), DEC); + // Finally the hour, minute, and second + Serial.print(myRTC.getHour(h12Flag, pmFlag), DEC); + Serial.print(" "); + Serial.print(myRTC.getMinute(), DEC); + Serial.print(" "); + Serial.print(myRTC.getSecond(), DEC); - // Add AM/PM indicator - if (h12Flag) { - if (pmFlag) { - Serial.print(" PM "); - } else { - Serial.print(" AM "); - } - } else { - Serial.print(" 24h "); - } + // Add AM/PM indicator + if (h12Flag) { + if (pmFlag) { + Serial.print(" PM "); + } else { + Serial.print(" AM "); + } + } else { + Serial.print(" 24h "); + } - // Display the temperature - Serial.print("T="); - Serial.print(myRTC.getTemperature(), 2); + // Display the temperature + Serial.print("T="); + Serial.print(myRTC.getTemperature(), 2); - // Tell whether the time is (likely to be) valid - if (myRTC.oscillatorCheck()) { - Serial.print(" O+"); - } else { - Serial.print(" O-"); - } + // Tell whether the time is (likely to be) valid + if (myRTC.oscillatorCheck()) { + Serial.print(" O+"); + } else { + Serial.print(" O-"); + } - // Indicate whether an alarm went off - if (myRTC.checkIfAlarm(1)) { - Serial.print(" A1!"); - } + // Indicate whether an alarm went off + if (myRTC.checkIfAlarm(1)) { + Serial.print(" A1!"); + } - if (myRTC.checkIfAlarm(2)) { - Serial.print(" A2!"); - } + if (myRTC.checkIfAlarm(2)) { + Serial.print(" A2!"); + } - // New line on display - Serial.println(); - - // Display Alarm 1 information - Serial.print("Alarm 1: "); - myRTC.getA1Time(alarmDay, alarmHour, alarmMinute, alarmSecond, alarmBits, alarmDy, alarmH12Flag, alarmPmFlag); - Serial.print(alarmDay, DEC); - if (alarmDy) { - Serial.print(" DoW"); - } else { - Serial.print(" Date"); - } - Serial.print(' '); - Serial.print(alarmHour, DEC); - Serial.print(' '); - Serial.print(alarmMinute, DEC); - Serial.print(' '); - Serial.print(alarmSecond, DEC); - Serial.print(' '); - if (alarmH12Flag) { - if (alarmPmFlag) { - Serial.print("pm "); - } else { - Serial.print("am "); - } - } - if (myRTC.checkAlarmEnabled(1)) { - Serial.print("enabled"); - } - Serial.println(); + // New line on display + Serial.println(); + + // Display Alarm 1 information + Serial.print("Alarm 1: "); + myRTC.getA1Time(alarmDay, alarmHour, alarmMinute, alarmSecond, alarmBits, alarmDy, alarmH12Flag, alarmPmFlag); + Serial.print(alarmDay, DEC); + if (alarmDy) { + Serial.print(" DoW"); + } else { + Serial.print(" Date"); + } + Serial.print(' '); + Serial.print(alarmHour, DEC); + Serial.print(' '); + Serial.print(alarmMinute, DEC); + Serial.print(' '); + Serial.print(alarmSecond, DEC); + Serial.print(' '); + if (alarmH12Flag) { + if (alarmPmFlag) { + Serial.print("pm "); + } else { + Serial.print("am "); + } + } + if (myRTC.checkAlarmEnabled(1)) { + Serial.print("enabled"); + } + Serial.println(); - // Display Alarm 2 information - Serial.print("Alarm 2: "); - myRTC.getA2Time(alarmDay, alarmHour, alarmMinute, alarmBits, alarmDy, alarmH12Flag, alarmPmFlag); - Serial.print(alarmDay, DEC); - if (alarmDy) { - Serial.print(" DoW"); - } else { - Serial.print(" Date"); - } - Serial.print(" "); - Serial.print(alarmHour, DEC); - Serial.print(" "); - Serial.print(alarmMinute, DEC); - Serial.print(" "); - if (alarmH12Flag) { - if (alarmPmFlag) { - Serial.print("pm"); - } else { - Serial.print("am"); - } - } - if (myRTC.checkAlarmEnabled(2)) { - Serial.print("enabled"); - } - - // display alarm bits - Serial.println(); - Serial.print("Alarm bits: "); - Serial.println(alarmBits, BIN); + // Display Alarm 2 information + Serial.print("Alarm 2: "); + myRTC.getA2Time(alarmDay, alarmHour, alarmMinute, alarmBits, alarmDy, alarmH12Flag, alarmPmFlag); + Serial.print(alarmDay, DEC); + if (alarmDy) { + Serial.print(" DoW"); + } else { + Serial.print(" Date"); + } + Serial.print(" "); + Serial.print(alarmHour, DEC); + Serial.print(" "); + Serial.print(alarmMinute, DEC); + Serial.print(" "); + if (alarmH12Flag) { + if (alarmPmFlag) { + Serial.print("pm"); + } else { + Serial.print("am"); + } + } + if (myRTC.checkAlarmEnabled(2)) { + Serial.print("enabled"); + } + + // display alarm bits + Serial.println(); + Serial.print("Alarm bits: "); + Serial.println(alarmBits, BIN); - Serial.println(); - delay(1000); + Serial.println(); + delay(1000); } diff --git a/examples/DateTime_Contructor_Test/DateTime_Contructor_Test.ino b/examples/DateTime_Contructor_Test/DateTime_Contructor_Test.ino index 04f79e9..9646d9d 100644 --- a/examples/DateTime_Contructor_Test/DateTime_Contructor_Test.ino +++ b/examples/DateTime_Contructor_Test/DateTime_Contructor_Test.ino @@ -1,165 +1,167 @@ #include +#include #include -void showTimeFormated(time_t t) { -#if defined (__AVR__) - t -= 946684800UL; + +void showTimeFormated(time_t t) +{ +#if defined(__AVR__) + t -= 946684800UL; #endif - char buffer[50]; - struct tm *ptm; - ptm = gmtime(&t); - const char * timeformat {"%a %F %X - weekday %w; CW %W"}; - strftime(buffer, sizeof(buffer), timeformat, ptm); - Serial.print(buffer); - Serial.print("\n"); + char buffer[50]; + struct tm *ptm; + ptm = gmtime(&t); + const char *timeformat{"%a %F %X - weekday %w; CW %W"}; + strftime(buffer, sizeof(buffer), timeformat, ptm); + Serial.print(buffer); + Serial.print("\n"); } -constexpr time_t tstmp {1660644000UL}; +constexpr time_t tstmp{1660644000UL}; -RTClib myRTC; -DS3231 Clock; +DS3231::RTClib myRTC; +DS3231::DS3231 Clock; -void setup () { - Serial.begin(115200); - while(!Serial){ - yield(); - } - Serial.println("\n\n\nDS3231 - DateTime Constructor Test()\n"); +void setup() +{ + Serial.begin(115200); + while (!Serial) + { + yield(); + } + Serial.println("\n\n\nDS3231 - DateTime Constructor Test()\n"); -#if defined (__AVR__) +#if defined(__AVR__) #warning using AVR platform - Serial.println("\n\nAVR Microcontroller Ready!\n\n"); - Wire.begin(); + Serial.println("\n\nAVR Microcontroller Ready!\n\n"); + Wire.begin(); -#elif defined (__SAMD21G18A__) +#elif defined(__SAMD21G18A__) #warning using SAMD21 platform - Serial.println("\n\nSAMD21 Microcontroller Ready!\n\n"); - Wire.begin(); + Serial.println("\n\nSAMD21 Microcontroller Ready!\n\n"); + Wire.begin(); -#elif defined (ESP8266) +#elif defined(ESP8266) #warning using espressif platform - Serial.println("\n\nESP8266 Microcontroller Ready!\n\n"); - // SDA = 0, SCL = 2 - Wire.begin(4U, 5U); + Serial.println("\n\nESP8266 Microcontroller Ready!\n\n"); + // SDA = 0, SCL = 2 + Wire.begin(4U, 5U); #endif - - // set the Ds3131 with a specific UnixTimestamp - // ==> Tue Aug 16 2022 10:00:00 GMT+0000 - weekday 2 (0 = Sunday); CW 33; yearday 227 - // ==> 1660644000 - - Serial.println("Input Data:"); - Serial.println("\tTue Aug 16 2022 10:00:00 GMT+0000 - weekday 2 (0 = Sunday); CW 33, yearday 227"); - Serial.print("\tUnixTimestamp - "); - Serial.println(tstmp); - - // feed UnixTimeStamp and don' t use localtime - Clock.setEpoch(tstmp, false); - // set to 24h - Clock.setClockMode(false); - - // Just for verification of DS3231 Data - // check now the data from ESP8266 and DS3231 - // get year - bool century = false; - bool h12Flag; - bool pmFlag; - - // hole die Werte direkt aus der Uhr(DS3231) - Serial.print("\n\n"); - Serial.println("Get Data from DS3231 clock:"); - Serial.print("\tDateTime of DS3231: "); - Serial.print(Clock.getYear(), DEC); - Serial.print("-"); - Serial.print(Clock.getMonth(century), DEC); - Serial.print("-"); - Serial.print(Clock.getDate(), DEC); - Serial.print(" "); - Serial.print(Clock.getHour(h12Flag, pmFlag), DEC); - Serial.print(":"); - Serial.print(Clock.getMinute(), DEC); - Serial.print(":"); - Serial.print(Clock.getSecond(), DEC); - Serial.print(" - weekday "); - Serial.print(Clock.getDoW(), DEC); - Serial.println(); - - Serial.flush(); - - // Hole die Zeit aus der DateTime Class - //auto tic{micros()}; - DateTime datetime = myRTC.now(); - //auto toc {micros()}; - //Serial.print("\n\nDateTime Class instantiation duration: "); - //Serial.print(toc-tic); - //Serial.println(" µs"); - - Serial.print("\n\n"); - Serial.println("Print data via myRTC.now() constructor"); - Serial.println("Get Data of Struct tm"); - Serial.print("\tDateTime of RTC: "); - Serial.print(datetime.getYear(), DEC); - Serial.print("-"); - Serial.print(datetime.getMonth(), DEC); - Serial.print("-"); - Serial.print(datetime.getDay(), DEC); - Serial.print(" "); - Serial.print(datetime.getHour(), DEC); - Serial.print(":"); - Serial.print(datetime.getMinute(), DEC); - Serial.print(":"); - Serial.print(datetime.getSecond(), DEC); - Serial.print(" - weekday "); - Serial.print(datetime.getWeekDay(), DEC); - Serial.print(" - yearday "); - Serial.print(datetime.getYearDay(), DEC); - Serial.println(); - Serial.print("\tUnixtime: "); - Serial.println(datetime.getUnixTime()); - Serial.print("\tY2k-Time: "); - Serial.println(datetime.getY2kTime()); - - - Serial.print("\n\nPrint Data via function of Struct tm:\n\t"); - showTimeFormated(tstmp); - - Serial.print("\nPrint Data via DataTime function :\n\t"); - char buffer[80]; - datetime.strf_DateTime(buffer, sizeof(buffer)); - Serial.println(buffer); - - //Serial.print("\nPrint __DATE__ and __TIME__:\n"); - //Serial.print(__DATE__); - //Serial.print(" "); - //Serial.println(__TIME__); - - //datetime = DateTime(__DATE__, __TIME__); - datetime = DateTime("Aug 16 2022", "10:00:00"); - Serial.print("\n\n"); - Serial.println("Print data via __Date, __TIME__ constructor"); - Serial.print("Data of Struct tm\n"); - Serial.print("\tDateTime of RTC: "); - Serial.print(datetime.getYear(), DEC); - Serial.print("-"); - Serial.print(datetime.getMonth(), DEC); - Serial.print("-"); - Serial.print(datetime.getDay(), DEC); - Serial.print(" "); - Serial.print(datetime.getHour(), DEC); - Serial.print(":"); - Serial.print(datetime.getMinute(), DEC); - Serial.print(":"); - Serial.print(datetime.getSecond(), DEC); - Serial.print(" - weekday "); - Serial.print(datetime.getWeekDay(), DEC); - Serial.print(" - yearday "); - Serial.print(datetime.getYearDay(), DEC); - Serial.println(); - Serial.print("\tUnixtime: "); - Serial.println(datetime.getUnixTime()); - Serial.print("\tY2k-Time: "); - Serial.println(datetime.getY2kTime()); - + Clock.begin(); + // set the Ds3131 with a specific UnixTimestamp + // ==> Tue Aug 16 2022 10:00:00 GMT+0000 - weekday 2 (0 = Sunday); CW 33; yearday 227 + // ==> 1660644000 + + Serial.println("Input Data:"); + Serial.println("\tTue Aug 16 2022 10:00:00 GMT+0000 - weekday 2 (0 = Sunday); CW 33, yearday 227"); + Serial.print("\tUnixTimestamp - "); + Serial.println(tstmp); + + // feed UnixTimeStamp and don' t use localtime + Clock.setEpoch(tstmp, false); + + // Just for verification of DS3231 Data + // check now the data from ESP8266 and DS3231 + // get year + bool century = false; + bool h12Flag; + bool pmFlag; + + // hole die Werte direkt aus der Uhr(DS3231) + Serial.print("\n\n"); + Serial.println("Get Data from DS3231 clock:"); + Serial.print("\tDateTime of DS3231: "); + Serial.print(Clock.getYear(), DEC); + Serial.print("-"); + Serial.print(Clock.getMonth(century), DEC); + Serial.print("-"); + Serial.print(Clock.getDate(), DEC); + Serial.print(" "); + Serial.print(Clock.getHour(h12Flag, pmFlag), DEC); + Serial.print(":"); + Serial.print(Clock.getMinute(), DEC); + Serial.print(":"); + Serial.print(Clock.getSecond(), DEC); + Serial.print(" - weekday "); + Serial.print(Clock.getDoW(), DEC); + Serial.println(); + + Serial.flush(); + + // Hole die Zeit aus der DateTime Class + // auto tic{micros()}; + DS3231::DateTime datetime = myRTC.now(); + // auto toc {micros()}; + // Serial.print("\n\nDateTime Class instantiation duration: "); + // Serial.print(toc-tic); + // Serial.println(" µs"); + + Serial.print("\n\n"); + Serial.println("Print data via myRTC.now() constructor"); + Serial.println("Get Data of Struct tm"); + Serial.print("\tDateTime of RTC: "); + Serial.print(datetime.getYear(), DEC); + Serial.print("-"); + Serial.print(datetime.getMonth(), DEC); + Serial.print("-"); + Serial.print(datetime.getDay(), DEC); + Serial.print(" "); + Serial.print(datetime.getHour(), DEC); + Serial.print(":"); + Serial.print(datetime.getMinute(), DEC); + Serial.print(":"); + Serial.print(datetime.getSecond(), DEC); + Serial.print(" - weekday "); + Serial.print(datetime.getWeekDay(), DEC); + Serial.print(" - yearday "); + Serial.print(datetime.getYearDay(), DEC); + Serial.println(); + Serial.print("\tUnixtime: "); + Serial.println(datetime.getUnixTime()); + Serial.print("\tY2k-Time: "); + Serial.println(datetime.getY2kTime()); + + Serial.print("\n\nPrint Data via function of Struct tm:\n\t"); + showTimeFormated(tstmp); + + Serial.print("\nPrint Data via DataTime function :\n\t"); + char buffer[80]; + datetime.strf_DateTime(buffer, sizeof(buffer)); + Serial.println(buffer); + + // Serial.print("\nPrint __DATE__ and __TIME__:\n"); + // Serial.print(__DATE__); + // Serial.print(" "); + // Serial.println(__TIME__); + + // datetime = DateTime(__DATE__, __TIME__); + datetime = DS3231::DateTime("Aug 16 2022", "10:00:00"); + Serial.print("\n\n"); + Serial.println("Print data via __Date, __TIME__ constructor"); + Serial.print("Data of Struct tm\n"); + Serial.print("\tDateTime of RTC: "); + Serial.print(datetime.getYear(), DEC); + Serial.print("-"); + Serial.print(datetime.getMonth(), DEC); + Serial.print("-"); + Serial.print(datetime.getDay(), DEC); + Serial.print(" "); + Serial.print(datetime.getHour(), DEC); + Serial.print(":"); + Serial.print(datetime.getMinute(), DEC); + Serial.print(":"); + Serial.print(datetime.getSecond(), DEC); + Serial.print(" - weekday "); + Serial.print(datetime.getWeekDay(), DEC); + Serial.print(" - yearday "); + Serial.print(datetime.getYearDay(), DEC); + Serial.println(); + Serial.print("\tUnixtime: "); + Serial.println(datetime.getUnixTime()); + Serial.print("\tY2k-Time: "); + Serial.println(datetime.getY2kTime()); } -void loop () { +void loop() +{ } \ No newline at end of file diff --git a/examples/echo_time/echo_time.ino b/examples/echo_time/echo_time.ino index 3e7b56e..e7af943 100644 --- a/examples/echo_time/echo_time.ino +++ b/examples/echo_time/echo_time.ino @@ -16,18 +16,19 @@ Andy Wickert #include #include -DS3231 myRTC; +DS3231::DS3231 myRTC; bool century = false; bool h12Flag; bool pmFlag; void setup() { - // Start the serial port - Serial.begin(57600); + // Start the serial port + Serial.begin(57600); - // Start the I2C interface - Wire.begin(); + // Start the I2C interface + Wire.begin(); + myRTC.begin(); for (int i=0; i<5; i++){ diff --git a/examples/getAXTimeTest/getAXTimeTest.ino b/examples/getAXTimeTest/getAXTimeTest.ino index c31da36..339d42e 100644 --- a/examples/getAXTimeTest/getAXTimeTest.ino +++ b/examples/getAXTimeTest/getAXTimeTest.ino @@ -19,61 +19,63 @@ Tested on: #include // Setup clock -DS3231 myRTC; +DS3231::DS3231 myRTC; void setup() { - // Begin I2C communication - Wire.begin(); - - // Begin Serial communication - Serial.begin(57600); - - // Setup alarm one to fire every minute - // No need to turn Alarm one on. - myRTC.turnOffAlarm(1); - myRTC.setA1Time(0, 0, 0, 0, 0b01111110, false, false, false); - myRTC.checkIfAlarm(1); - - // Setup alarm two to fire every minute - // No need to turn Alarm two on. - myRTC.turnOffAlarm(2); - myRTC.setA2Time(0, 0, 0, 0b01111110, false, false, false); - myRTC.checkIfAlarm(2); + // Begin I2C communication + Wire.begin(); + + // Begin Serial communication + Serial.begin(57600); + + myRTC.begin(); + + // Setup alarm one to fire every minute + // No need to turn Alarm one on. + myRTC.turnOffAlarm(1); + myRTC.setA1Time(0, 0, 0, 0, 0b01111110, false, false, false); + myRTC.checkIfAlarm(1); + + // Setup alarm two to fire every minute + // No need to turn Alarm two on. + myRTC.turnOffAlarm(2); + myRTC.setA2Time(0, 0, 0, 0b01111110, false, false, false); + myRTC.checkIfAlarm(2); } void loop() { - // Initialize AlarmBits - byte AlarmBits = 0x0; - Serial.print("Initialize AlarmBits: "); - Serial.println(AlarmBits, BIN); - - // Initialize Others - byte ADay, AHour, AMinute, ASecond; - bool ADy, Ah12, APM; - - // getA1Time (not clearing). - // Expected AlarmBits = 0x(0000)1110 - myRTC.getA1Time(ADay, AHour, AMinute, ASecond, AlarmBits, ADy, Ah12, APM); - Serial.print("getA1Time(): "); - Serial.println(AlarmBits, BIN); - - // getA2Time (not clearing). - // Expected AlarmBits = 0x01111110 - myRTC.getA2Time(ADay, AHour, AMinute, AlarmBits, ADy, Ah12, APM); - Serial.print("getA2Time(): "); - Serial.println(AlarmBits, BIN); - - // getA1Time (clearing). - // Expected AlarmBits = 0x(0000)1110 - myRTC.getA1Time(ADay, AHour, AMinute, ASecond, AlarmBits, ADy, Ah12, APM, true); - Serial.print("getA1Time(): "); - Serial.println(AlarmBits, BIN); - - // getA2Time (clearing). - // Expected AlarmBits = 0x01110000 - myRTC.getA2Time(ADay, AHour, AMinute, AlarmBits, ADy, Ah12, APM, true); - Serial.print("getA2Time(): "); - Serial.println(AlarmBits, BIN); - delay(5000); + // Initialize AlarmBits + byte AlarmBits = 0x0; + Serial.print("Initialize AlarmBits: "); + Serial.println(AlarmBits, BIN); + + // Initialize Others + byte ADay, AHour, AMinute, ASecond; + bool ADy, Ah12, APM; + + // getA1Time (not clearing). + // Expected AlarmBits = 0x(0000)1110 + myRTC.getA1Time(ADay, AHour, AMinute, ASecond, AlarmBits, ADy, Ah12, APM); + Serial.print("getA1Time(): "); + Serial.println(AlarmBits, BIN); + + // getA2Time (not clearing). + // Expected AlarmBits = 0x01111110 + myRTC.getA2Time(ADay, AHour, AMinute, AlarmBits, ADy, Ah12, APM); + Serial.print("getA2Time(): "); + Serial.println(AlarmBits, BIN); + + // getA1Time (clearing). + // Expected AlarmBits = 0x(0000)1110 + myRTC.getA1Time(ADay, AHour, AMinute, ASecond, AlarmBits, ADy, Ah12, APM, true); + Serial.print("getA1Time(): "); + Serial.println(AlarmBits, BIN); + + // getA2Time (clearing). + // Expected AlarmBits = 0x01110000 + myRTC.getA2Time(ADay, AHour, AMinute, AlarmBits, ADy, Ah12, APM, true); + Serial.print("getA2Time(): "); + Serial.println(AlarmBits, BIN); + delay(5000); } diff --git a/examples/now/now.ino b/examples/now/now.ino index 2925b89..1034d49 100644 --- a/examples/now/now.ino +++ b/examples/now/now.ino @@ -6,37 +6,37 @@ #include #include -RTClib myRTC; +DS3231::RTClib myRTC; void setup () { - Serial.begin(57600); - Wire.begin(); - delay(500); - Serial.println("Nano Ready!"); + Serial.begin(57600); + Wire.begin(); + delay(500); + Serial.println("Nano Ready!"); } void loop () { - - delay(1000); - - DateTime now = myRTC.now(); - - Serial.print(now.getYear(), DEC); - Serial.print('/'); - Serial.print(now.getMonth(), DEC); - Serial.print('/'); - Serial.print(now.getDay(), DEC); - Serial.print(' '); - Serial.print(now.getHour(), DEC); - Serial.print(':'); - Serial.print(now.getMinute(), DEC); - Serial.print(':'); - Serial.print(now.getSecond(), DEC); - Serial.println(); - - Serial.print(" since midnight 1/1/1970 = "); - Serial.print(now.getUnixTime()); - Serial.print("s = "); - Serial.print(now.getUnixTime() / 86400L); - Serial.println("d"); + + delay(1000); + + DS3231::DateTime now = myRTC.now(); + + Serial.print(now.getYear(), DEC); + Serial.print('/'); + Serial.print(now.getMonth(), DEC); + Serial.print('/'); + Serial.print(now.getDay(), DEC); + Serial.print(' '); + Serial.print(now.getHour(), DEC); + Serial.print(':'); + Serial.print(now.getMinute(), DEC); + Serial.print(':'); + Serial.print(now.getSecond(), DEC); + Serial.println(); + + Serial.print(" since midnight 1/1/1970 = "); + Serial.print(now.getUnixTime()); + Serial.print("s = "); + Serial.print(now.getUnixTime() / 86400L); + Serial.println("d"); } diff --git a/examples/setEpoch/setEpoch.ino b/examples/setEpoch/setEpoch.ino index 915146f..8a1eb82 100644 --- a/examples/setEpoch/setEpoch.ino +++ b/examples/setEpoch/setEpoch.ino @@ -1,120 +1,121 @@ #include #include -void showTimeFormated(time_t t) { -#if defined (__AVR__) - t -= 946684800UL; +void showTimeFormated(time_t t) +{ +#if defined(__AVR__) + t -= 946684800UL; #endif - char buffer[50]; - struct tm *ptm; - ptm = gmtime (&t); - const char * timeformat {"%a %F %X - weekday %w; CW %W"}; - strftime(buffer, sizeof(buffer), timeformat, ptm); - Serial.print(buffer); - Serial.print("\n"); + char buffer[50]; + struct tm *ptm; + ptm = gmtime(&t); + const char *timeformat{"%a %F %X - weekday %w; CW %W"}; + strftime(buffer, sizeof(buffer), timeformat, ptm); + Serial.print(buffer); + Serial.print("\n"); } // unix timestamp of: Tue Aug 16 2022 10:00:00 GMT+0000 -constexpr time_t tstmp {1660644000UL}; +constexpr time_t timestamp{1660644000UL}; -RTClib myRTC; -DS3231 Clock; +DS3231::RTClib myRTC; +DS3231::DS3231 Clock; -void setup () { - Serial.begin(115200); - Wire.begin(); - delay(500); - Serial.println("\n\n\nTest of DS3231 - setEpoch()\n\n\n"); +void setup() +{ + Serial.begin(115200); + Wire.begin(); + Clock.begin(); + delay(500); + Serial.println("\n\n\nTest of DS3231 - setEpoch()\n\n\n"); -#if defined (__AVR__) +#if defined(__AVR__) #warning using AVR platform - Serial.println("\n\nAVR Microcontroller Ready!\n\n"); - Wire.begin(); + Serial.println("\n\nAVR Microcontroller Ready!\n\n"); + Wire.begin(); -#elif defined (__SAMD21G18A__) +#elif defined(__SAMD21G18A__) #warning using SAMD21 platform - Serial.println("\n\nSAMD21 Microcontroller Ready!\n\n"); - Wire.begin(); + Serial.println("\n\nSAMD21 Microcontroller Ready!\n\n"); + Wire.begin(); -#elif defined (ESP8266) +#elif defined(ESP8266) #warning using espressif platform - Serial.println("\n\nESP8266 Microcontroller Ready!\n\n"); - // SDA, SCL - Wire.begin(SDA, SCL); + Serial.println("\n\nESP8266 Microcontroller Ready!\n\n"); + // SDA, SCL + Wire.begin(SDA, SCL); #endif - // set the DS3231 with a specific UnixTimestamp - // ==> Tue Aug 16 2022 10:00:00 GMT+0000 - weekday 2 (0 = Sunday); CW 33 - // ==> 1660644000 - - Serial.println("Tue Aug 16 2022 10:00:00 GMT+0000 - weekday 2 (0 = Sunday); CW 33"); - Serial.println("UnixTimestamp - 1660644000"); - - - // feed UnixTimeStamp and don' t use localtime - Clock.setEpoch(tstmp, false); - // set to 24h - Clock.setClockMode(false); - - // Just for verification of DS3231 Data - // check now the data from ESP8266 and DS3231 - // get year - bool century = false; - bool h12Flag; - bool pmFlag; - - // read directly from DS3231 module - Serial.print("\n\n"); - Serial.print(" DateTime of DS3231: "); - Serial.print(Clock.getYear(), DEC); - Serial.print("-"); - Serial.print(Clock.getMonth(century), DEC); - Serial.print("-"); - Serial.print(Clock.getDate(), DEC); - Serial.print(" "); - Serial.print(Clock.getHour(h12Flag, pmFlag), DEC); - Serial.print(":"); - Serial.print(Clock.getMinute(), DEC); - Serial.print(":"); - Serial.print(Clock.getSecond(), DEC); - Serial.print(" - weekday "); - Serial.print(Clock.getDoW(), DEC); - Serial.println(); - - // Read now from DateTime class - DateTime datetime = myRTC.now(); - Serial.print("\n\nData of Struct tm\n"); - Serial.print(" DateTime of RTC: "); - Serial.print(datetime.getYear(), DEC); - Serial.print("-"); - Serial.print(datetime.getMonth(), DEC); - Serial.print("-"); - Serial.print(datetime.getDay(), DEC); - Serial.print(" "); - Serial.print(datetime.getHour(), DEC); - Serial.print(":"); - Serial.print(datetime.getMinute(), DEC); - Serial.print(":"); - Serial.print(datetime.getSecond(), DEC); - Serial.print(" - weekday "); - Serial.print(datetime.getWeekDay(), DEC); - Serial.println(); - Serial.print(" Unixtime: "); - Serial.println(datetime.getUnixTime()); - Serial.print(" Y2k-Time: "); - Serial.println(datetime.getY2kTime()); - - Serial.print("\n\n Output of Struct tm: "); - // Use above defined function - showTimeFormated(tstmp); - - // Use smart print function from DateTime class - Serial.print("\nUse strf_DateTime function:\n "); - // provide a buffer - char buffer[80]; - datetime.strf_DateTime(buffer, sizeof(buffer)); - Serial.println(buffer); + // set the DS3231 with a specific UnixTimestamp + // ==> Tue Aug 16 2022 10:00:00 GMT+0000 - weekday 2 (0 = Sunday); CW 33 + // ==> 1660644000 + + Serial.println("Tue Aug 16 2022 10:00:00 GMT+0000 - weekday 2 (0 = Sunday); CW 33"); + Serial.println("UnixTimestamp - 1660644000"); + + // feed UnixTimeStamp and don' t use localtime + Clock.setEpoch(timestamp, false); + + // Just for verification of DS3231 Data + // check now the data from ESP8266 and DS3231 + // get year + bool century = false; + bool h12Flag; + bool pmFlag; + + // read directly from DS3231 module + Serial.print("\n\n"); + Serial.print(" DateTime of DS3231: "); + Serial.print(Clock.getYear(), DEC); + Serial.print("-"); + Serial.print(Clock.getMonth(century), DEC); + Serial.print("-"); + Serial.print(Clock.getDate(), DEC); + Serial.print(" "); + Serial.print(Clock.getHour(h12Flag, pmFlag), DEC); + Serial.print(":"); + Serial.print(Clock.getMinute(), DEC); + Serial.print(":"); + Serial.print(Clock.getSecond(), DEC); + Serial.print(" - weekday "); + Serial.print(Clock.getDoW(), DEC); + Serial.println(); + + // Read now from DateTime class + DS3231::DateTime datetime = myRTC.now(); + Serial.print("\n\nData of Struct tm\n"); + Serial.print(" DateTime of RTC: "); + Serial.print(datetime.getYear(), DEC); + Serial.print("-"); + Serial.print(datetime.getMonth(), DEC); + Serial.print("-"); + Serial.print(datetime.getDay(), DEC); + Serial.print(" "); + Serial.print(datetime.getHour(), DEC); + Serial.print(":"); + Serial.print(datetime.getMinute(), DEC); + Serial.print(":"); + Serial.print(datetime.getSecond(), DEC); + Serial.print(" - weekday "); + Serial.print(datetime.getWeekDay(), DEC); + Serial.println(); + Serial.print(" Unixtime: "); + Serial.println(datetime.getUnixTime()); + Serial.print(" Y2k-Time: "); + Serial.println(datetime.getY2kTime()); + + Serial.print("\n\n Output of Struct tm: "); + // Use above defined function + showTimeFormated(timestamp); + + // Use smart print function from DateTime class + Serial.print("\nUse strf_DateTime function:\n "); + // provide a buffer + char buffer[80]; + datetime.strf_DateTime(buffer, sizeof(buffer)); + Serial.println(buffer); } -void loop () { +void loop() +{ } diff --git a/examples/set_echo/set_echo.ino b/examples/set_echo/set_echo.ino index 0ecdb3b..833b091 100644 --- a/examples/set_echo/set_echo.ino +++ b/examples/set_echo/set_echo.ino @@ -21,7 +21,9 @@ Olivier Staquet #include #include -DS3231 myRTC; +void inputDateFromSerial(void); + +DS3231::DS3231 myRTC; byte year; byte month; @@ -41,25 +43,26 @@ bool pmFlag; * - Explain to the user how to use the program *****************************************************************************************************/ void setup() { - // Start the serial port - Serial.begin(57600); - - // Start the I2C interface - Wire.begin(); - - // Request the time correction on the Serial - delay(4000); - Serial.println("Format YYMMDDwhhmmssx"); - Serial.println("Where YY = Year (ex. 20 for 2020)"); - Serial.println(" MM = Month (ex. 04 for April)"); - Serial.println(" DD = Day of month (ex. 09 for 9th)"); - Serial.println(" w = Day of week from 1 to 7, 1 = Sunday (ex. 5 for Thursday)"); - Serial.println(" hh = hours in 24h format (ex. 09 for 9AM or 21 for 9PM)"); - Serial.println(" mm = minutes (ex. 02)"); - Serial.println(" ss = seconds (ex. 42)"); - Serial.println("Example for input : 2004095090242x"); - Serial.println("-----------------------------------------------------------------------------"); - Serial.println("Please enter the current time to set on DS3231 ended by 'x':"); + // Start the serial port + Serial.begin(57600); + + // Start the I2C interface + Wire.begin(); + myRTC.begin(); + + // Request the time correction on the Serial + delay(4000); + Serial.println("Format YYMMDDwhhmmssx"); + Serial.println("Where YY = Year (ex. 20 for 2020)"); + Serial.println(" MM = Month (ex. 04 for April)"); + Serial.println(" DD = Day of month (ex. 09 for 9th)"); + Serial.println(" w = Day of week from 1 to 7, 1 = Sunday (ex. 5 for Thursday)"); + Serial.println(" hh = hours in 24h format (ex. 09 for 9AM or 21 for 9PM)"); + Serial.println(" mm = minutes (ex. 02)"); + Serial.println(" ss = seconds (ex. 42)"); + Serial.println("Example for input : 2004095090242x"); + Serial.println("-----------------------------------------------------------------------------"); + Serial.println("Please enter the current time to set on DS3231 ended by 'x':"); } /***************************************************************************************************** @@ -69,41 +72,39 @@ void setup() { * - Echo the value from the DS3231 during 5 seconds *****************************************************************************************************/ void loop() { - // If something is coming in on the serial line, it's - // a time correction so set the clock accordingly. - if (Serial.available()) { - inputDateFromSerial(); - - myRTC.setClockMode(false); // set to 24h - - myRTC.setYear(year); - myRTC.setMonth(month); - myRTC.setDate(date); - myRTC.setDoW(dow); - myRTC.setHour(hour); - myRTC.setMinute(minute); - myRTC.setSecond(second); - - // Give time at next five seconds - for (uint8_t i = 0; i < 5; i++){ - delay(1000); - Serial.print(myRTC.getYear(), DEC); - Serial.print("-"); - Serial.print(myRTC.getMonth(century), DEC); - Serial.print("-"); - Serial.print(myRTC.getDate(), DEC); - Serial.print(" "); - Serial.print(myRTC.getHour(h12Flag, pmFlag), DEC); //24-hr - Serial.print(":"); - Serial.print(myRTC.getMinute(), DEC); - Serial.print(":"); - Serial.println(myRTC.getSecond(), DEC); - } - - // Notify that we are ready for the next input - Serial.println("Please enter the current time to set on DS3231 ended by 'x':"); - } - delay(1000); + // If something is coming in on the serial line, it's + // a time correction so set the clock accordingly. + if (Serial.available()) { + inputDateFromSerial(); + + myRTC.setYear(year); + myRTC.setMonth(month); + myRTC.setDate(date); + myRTC.setDoW(dow); + myRTC.setHour(hour); + myRTC.setMinute(minute); + myRTC.setSecond(second); + + // Give time at next five seconds + for (uint8_t i = 0; i < 5; i++){ + delay(1000); + Serial.print(myRTC.getYear(), DEC); + Serial.print("-"); + Serial.print(myRTC.getMonth(century), DEC); + Serial.print("-"); + Serial.print(myRTC.getDate(), DEC); + Serial.print(" "); + Serial.print(myRTC.getHour(h12Flag, pmFlag), DEC); //24-hr + Serial.print(":"); + Serial.print(myRTC.getMinute(), DEC); + Serial.print(":"); + Serial.println(myRTC.getSecond(), DEC); + } + + // Notify that we are ready for the next input + Serial.println("Please enter the current time to set on DS3231 ended by 'x':"); + } + delay(1000); } /***************************************************************************************************** @@ -112,28 +113,28 @@ void loop() { * - Store the data in global variables *****************************************************************************************************/ void inputDateFromSerial() { - // Call this if you notice something coming in on - // the serial port. The stuff coming in should be in - // the order YYMMDDwHHMMSS, with an 'x' at the end. - boolean isStrComplete = false; - char inputChar; - byte temp1, temp2; - char inputStr[20]; - - uint8_t currentPos = 0; - while (!isStrComplete) { - if (Serial.available()) { - inputChar = Serial.read(); - inputStr[currentPos] = inputChar; - currentPos += 1; + // Call this if you notice something coming in on + // the serial port. The stuff coming in should be in + // the order YYMMDDwHHMMSS, with an 'x' at the end. + boolean isStrComplete = false; + char inputChar; + byte temp1, temp2; + char inputStr[20]; + + uint8_t currentPos = 0; + while (!isStrComplete) { + if (Serial.available()) { + inputChar = Serial.read(); + inputStr[currentPos] = inputChar; + currentPos += 1; // Check if string complete (end with "x") - if (inputChar == 'x') { - isStrComplete = true; - } - } - } - Serial.println(inputStr); + if (inputChar == 'x') { + isStrComplete = true; + } + } + } + Serial.println(inputStr); // Find the end of char "x" int posX = -1; @@ -147,36 +148,36 @@ void inputDateFromSerial() { // Consider 0 character in ASCII uint8_t zeroAscii = '0'; - // Read Year first - temp1 = (byte)inputStr[posX - 13] - zeroAscii; - temp2 = (byte)inputStr[posX - 12] - zeroAscii; - year = temp1 * 10 + temp2; - - // now month - temp1 = (byte)inputStr[posX - 11] - zeroAscii; - temp2 = (byte)inputStr[posX - 10] - zeroAscii; - month = temp1 * 10 + temp2; - - // now date - temp1 = (byte)inputStr[posX - 9] - zeroAscii; - temp2 = (byte)inputStr[posX - 8] - zeroAscii; - date = temp1 * 10 + temp2; - - // now Day of Week - dow = (byte)inputStr[posX - 7] - zeroAscii; - - // now Hour - temp1 = (byte)inputStr[posX - 6] - zeroAscii; - temp2 = (byte)inputStr[posX - 5] - zeroAscii; - hour = temp1 * 10 + temp2; - - // now Minute - temp1 = (byte)inputStr[posX - 4] - zeroAscii; - temp2 = (byte)inputStr[posX - 3] - zeroAscii; - minute = temp1 * 10 + temp2; - - // now Second - temp1 = (byte)inputStr[posX - 2] - zeroAscii; - temp2 = (byte)inputStr[posX - 1] - zeroAscii; - second = temp1 * 10 + temp2; + // Read Year first + temp1 = (byte)inputStr[posX - 13] - zeroAscii; + temp2 = (byte)inputStr[posX - 12] - zeroAscii; + year = temp1 * 10 + temp2; + + // now month + temp1 = (byte)inputStr[posX - 11] - zeroAscii; + temp2 = (byte)inputStr[posX - 10] - zeroAscii; + month = temp1 * 10 + temp2; + + // now date + temp1 = (byte)inputStr[posX - 9] - zeroAscii; + temp2 = (byte)inputStr[posX - 8] - zeroAscii; + date = temp1 * 10 + temp2; + + // now Day of Week + dow = (byte)inputStr[posX - 7] - zeroAscii; + + // now Hour + temp1 = (byte)inputStr[posX - 6] - zeroAscii; + temp2 = (byte)inputStr[posX - 5] - zeroAscii; + hour = temp1 * 10 + temp2; + + // now Minute + temp1 = (byte)inputStr[posX - 4] - zeroAscii; + temp2 = (byte)inputStr[posX - 3] - zeroAscii; + minute = temp1 * 10 + temp2; + + // now Second + temp1 = (byte)inputStr[posX - 2] - zeroAscii; + temp2 = (byte)inputStr[posX - 1] - zeroAscii; + second = temp1 * 10 + temp2; } diff --git a/keywords.txt b/keywords.txt index cdacdb7..52aec10 100644 --- a/keywords.txt +++ b/keywords.txt @@ -1,45 +1,58 @@ # Syntax Coloring Map For DS3231-RTC Library +# ================================= # Datatypes (KEYWORD1) -DS3231 KEYWORD1 -RTClib KEYWORD1 -DateTime KEYWORD1 +# ================================= +DS3231 KEYWORD1 +RTClib KEYWORD1 +DateTime KEYWORD1 +# ================================= # Methods and Functions (KEYWORD2) -now KEYWORD2 -getY2kTime KEYWORD2 -getUnixTime KEYWORD2 -strf_DateTime KEYWORD2 -getWeekDay KEYWORD2 -getDST KEYWORD2 -getSecond KEYWORD2 -getMinute KEYWORD2 -getHour KEYWORD2 -getDoW KEYWORD2 -getDate KEYWORD2 -getMonth KEYWORD2 -getYear KEYWORD2 -setSecond KEYWORD2 -setMinute KEYWORD2 -setHour KEYWORD2 -setDoW KEYWORD2 -setDate KEYWORD2 -setMonth KEYWORD2 -setYear KEYWORD2 -setClockMode KEYWORD2 -getTemperature KEYWORD2 -getA1Time KEYWORD2 -getA2Time KEYWORD2 -setA1Time KEYWORD2 -setA2Time KEYWORD2 -turnOnAlarm KEYWORD2 -turnOffAlarm KEYWORD2 +# ================================= +now KEYWORD2 +getY2kTime KEYWORD2 +getUnixTime KEYWORD2 +strf_DateTime KEYWORD2 +getWeekDay KEYWORD2 +getDST KEYWORD2 +getSecond KEYWORD2 +getMinute KEYWORD2 +getHour KEYWORD2 +getDoW KEYWORD2 +getDate KEYWORD2 +getDay KEYWORD2 +getMonth KEYWORD2 +getYear KEYWORD2 +getYearDay KEYWORD2 +setEpoch KEYWORD2 +setSecond KEYWORD2 +setMinute KEYWORD2 +setHour KEYWORD2 +setDoW KEYWORD2 +setDate KEYWORD2 +setMonth KEYWORD2 +setYear KEYWORD2 +set12hourMode KEYWORD2 +set24hourMode KEYWORD2 +begin KEYWORD2 +is24hourModeActive KEYWORD2 +getTemperature KEYWORD2 +getA1Time KEYWORD2 +getA2Time KEYWORD2 +setA1Time KEYWORD2 +setA2Time KEYWORD2 +turnOnAlarm KEYWORD2 +turnOffAlarm KEYWORD2 checkAlarmEnabled KEYWORD2 checkIfAlarm KEYWORD2 enableOscillator KEYWORD2 enable32kHz KEYWORD2 oscillatorCheck KEYWORD2 +# ================================= # Constants (LITERAL1) -UNIX_OFFSET LITERAL1 -NTP_OFFSET LITERAL1 +# ================================= +DS3231_Constants::DS3231_I2C_ADDRESS LITERAL1 +DS3231_Constants::UNIX_OFFSET LITERAL1 +DS3231_Constants::NTP_OFFSET LITERAL1 diff --git a/library.json b/library.json index c491e80..ab38ca8 100644 --- a/library.json +++ b/library.json @@ -1,6 +1,6 @@ { "name": "DS3231-RTC", - "version": "1.1.0", + "version": "2.0.0", "repository": { "type": "git", diff --git a/library.properties b/library.properties index a459ea8..6a1e8e0 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=DS3231-RTC -version=1.1.0 +version=2.0.0 author=Frank Häfele maintainer=Frank Häfele sentence=C++ Library for the DS3231 real-time clock (RTC) module, ready to use on Arduino IDE and PlatformIO. diff --git a/src/DS3231-RTC.cpp b/src/DS3231-RTC.cpp old mode 100644 new mode 100755 index 8d503dd..3a8764b --- a/src/DS3231-RTC.cpp +++ b/src/DS3231-RTC.cpp @@ -1,895 +1,656 @@ -/* - DS3231.cpp: DS3231 Real-Time Clock library -*/ - -#include "DS3231-RTC.h" - -// These included for the DateTime class inclusion; will try to find a way to -// not need them in the future... -#if defined(__AVR__) -#include -#elif defined(ESP8266) -#include -#endif - -// ***************************************** -// Static Functions only used in this file -// ***************************************** - -static const uint8_t daysInMonth[] PROGMEM = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; - -/** - * @brief function which calculates if a year is a leap year - * - * @param year - * @return true - * @return false - */ -static bool isleapYear(const int16_t year) { - // check if divisible by 4 - if(year % 4) { - return false; - } - // only check other, when first failed - return (year % 100 || year % 400 == 0); -} - -/** - * @brief calculate the days since January 1 (0...365) - * - * @param year e.g.: 2022 - * @param month 1...12 - * @param day 1...31 - * @return int16_t - */ -static int16_t calcYearDay(const int16_t year, const int8_t month, const int8_t day) { - uint16_t days = day - 1; - for (uint8_t i = 1; i < month; ++i) - days += pgm_read_byte(daysInMonth + i - 1); - if (month > 2 && isleapYear(year)) - ++days; - return days; -} - -// Slightly modified from JeeLabs / Ladyada -// Get all date/time at once to avoid rollover (e.g., minute/second don't match) -// Commented to avoid compiler warnings, but keeping in case we want this -// eventually -// static uint8_t bin2bcd (uint8_t val) { return val + 6 * (val / 10); } -static uint8_t bcd2bin (uint8_t val) { - return val - 6 * (val >> 4); -} - - -// ***************************************** -// Member functions for DateTime object -// ***************************************** -/** - * @brief Construct a new Date Time:: Date Time object - * - * @param timestamp - */ -DateTime::DateTime (time_t unix_timestamp) -: _unix_timestamp{unix_timestamp}, _y2k_timestamp{unix_timestamp - UNIX_OFFSET} -{ - gmtime_r(&_unix_timestamp, &_tm); -} - -/** - * @brief Construct a new Date Time:: Date Time object - * - * @param year year e.g. 2022 - * @param month months since January - [ 1...12 ] - * @param day day of the month - [ 1...31 ] - * @param hour hours since midnight - [ 0...23 ] - * @param min inutes after the hour - [ 0...59 ] - * @param sec seconds after the minute - [ 0...59 ] - * @param wday wdays since Sunday - [ 1...7 ] - * @param dst Daylight Saving Time flag - */ -DateTime::DateTime(int16_t year, int8_t month, int8_t day, int8_t hour, int8_t min, int8_t sec, int8_t wday, int16_t yday, int16_t dst) -{ - _tm.tm_sec = sec; - _tm.tm_min = min; - _tm.tm_hour = hour; - _tm.tm_mday = day; - _tm.tm_mon = month-1; - _tm.tm_year = year-1900; - _tm.tm_wday = wday-1; - _tm.tm_yday = yday; - _tm.tm_isdst = dst; - - set_timstamps(); -} - -/** - * @brief Construct a new Date Time:: Date Time object by givin the precompiler marcos - * as __DATE__ and __TIME__ - * - * @param date as Mmm dd yyyy (e.g. "Jan 14 2012") - * @param time as HH:MM:SS (e.g. "23:59:01") - */ -DateTime::DateTime(const char *date, const char *time) { - static const char month_names[] = "JanFebMarAprMayJunJulAugSepOctNovDec"; - static char month_buff[4] = {'0','0','0','0'}; - int year, day; - sscanf(date, "%s %2d %4d", month_buff, &day, &year); - int month = (strstr(month_names, month_buff) - month_names) / 3 + 1; - _tm.tm_year = year-1900; - _tm.tm_mon = month-1; - _tm.tm_mday = day; - byte hour, min, sec; - sscanf(time, "%hhu:%hhu:%hhu", &hour, &min, &sec); - _tm.tm_hour = hour; - _tm.tm_min = min; - _tm.tm_sec = sec; - _tm.tm_yday = calcYearDay(year, month, day); - set_timstamps(); -} - -/** - * @brief Set the timestamps by using struct tm entries - * - */ -void DateTime::set_timstamps() { -#if defined (__AVR__) - _y2k_timestamp = mktime(&_tm); - _unix_timestamp = _y2k_timestamp + UNIX_OFFSET; -#else - _unix_timestamp = mktime(&_tm); - _y2k_timestamp = _unix_timestamp - UNIX_OFFSET; -#endif -} - -/** - * @brief function to format a DateTime string in an buffer based on the standard strftime function - * - * see: https://cplusplus.com/reference/ctime/strftime/ - * or: https://en.cppreference.com/w/cpp/chrono/c/strftime - * - * @param buffer buffer for time string - * @param buffersize size of buffer - * @param formatSpec define format see strftime - * @return size_t length of used buffer - */ -size_t DateTime::strf_DateTime(char *buffer, size_t buffersize, const char *formatSpec) { - size_t len {strftime(buffer, buffersize, formatSpec, &_tm)}; - return len; -} - -// ***************************************** -// Member functions for RTClib object -// ***************************************** - -DateTime RTClib::now(TwoWire & _Wire) { - // This is the first register address (Seconds) - _Wire.beginTransmission(CLOCK_ADDRESS); - _Wire.write(0); - // We'll read from here on for 7 bytes from registers: - // seconds, minutes, hours, day(1...7), date(1...31), month, year. - _Wire.endTransmission(); - - _Wire.requestFrom(CLOCK_ADDRESS, 7); - int8_t sec = bcd2bin(_Wire.read() & 0x7F); - int8_t min = bcd2bin(_Wire.read()); - int8_t hour = bcd2bin(_Wire.read()); - int8_t wday = bcd2bin(_Wire.read())-1; - int8_t day = bcd2bin(_Wire.read()); - int8_t month = bcd2bin(_Wire.read()); - int16_t year = bcd2bin(_Wire.read()) + 2000; - int16_t yday = calcYearDay(year, month, day); - int16_t dst = -1; - - // REMARK: add DST calculation if needed, but therefore timezone info is needed! - // use the complete set also yearday and dst for having a complete struct tm - return DateTime{year, month, day, hour, min, sec, wday, yday, dst}; -} - - -// ***************************************** -// Member functions for DS3231 object -// ***************************************** - -/** - * @brief Construct a new DS3231::DS3231 object - * initialize the internal _Wire with the Wire object - */ -DS3231::DS3231() : _Wire(Wire) { - // nothing to do for this constructor. -} - -/** - * @brief Construct a new DS3231::DS3231 object - * - * @param w reference of twoWire - */ -DS3231::DS3231(TwoWire &twowire) : _Wire(twowire) { -} - -/** -* @brief Get the second of the DS3231 module -* -* @return byte 0...59 -*/ -byte DS3231::getSecond() { - _Wire.beginTransmission(CLOCK_ADDRESS); - _Wire.write(0x00); - _Wire.endTransmission(); - return getRegisterValue(); -} - -/** - * @brief Get the minute of the DS3231 module - * - * @return byte 0...59 - */ -byte DS3231::getMinute() { - _Wire.beginTransmission(CLOCK_ADDRESS); - _Wire.write(0x01); - _Wire.endTransmission(); - return getRegisterValue(); -} - -/** - * @brief Get the hour of the DS3231 module - * - * @param h12 - * @param PM_time - * @return byte 1...12 / 0...23 - */ -byte DS3231::getHour(bool& h12, bool& PM_time) { - byte temp_buffer; - byte hour; - _Wire.beginTransmission(CLOCK_ADDRESS); - _Wire.write(0x02); - _Wire.endTransmission(); - - _Wire.requestFrom(CLOCK_ADDRESS, 1); - temp_buffer = _Wire.read(); - h12 = temp_buffer & 0b01000000; - if (h12) { - PM_time = temp_buffer & 0b00100000; - hour = bcdToDec(temp_buffer & 0b00011111); - } - else { - hour = bcdToDec(temp_buffer & 0b00111111); - } - return hour; -} - - -/** - * @brief Get the DayOfWeek of the DS3231 module - * - * @return byte 1...7 - */ -byte DS3231::getDoW() { - _Wire.beginTransmission(CLOCK_ADDRESS); - _Wire.write(0x03); - _Wire.endTransmission(); - return getRegisterValue(); -} - -/** - * @brief Get the date of the DS3231 module - * - * @return byte 1...31 - */ -byte DS3231::getDate() { - _Wire.beginTransmission(CLOCK_ADDRESS); - _Wire.write(0x04); - _Wire.endTransmission(); - return getRegisterValue(); -} - -/** - * @brief Get the month and the century roll over bit of the DS3231 module - * - * @param century reference of century bit; toggles when value changes from 99 -> 00 - * @return byte - */ -byte DS3231::getMonth(bool ¢ury) { - byte temp_buffer; - _Wire.beginTransmission(CLOCK_ADDRESS); - _Wire.write(0x05); - _Wire.endTransmission(); - - _Wire.requestFrom(CLOCK_ADDRESS, 1); - temp_buffer = _Wire.read(); - century = temp_buffer & 0b10000000; - return (bcdToDec(temp_buffer & 0b01111111)); -} - -/** - * @brief Get the Year of the DS3231 module - * - * @return byte 0...99 - */ -byte DS3231::getYear() { - _Wire.beginTransmission(CLOCK_ADDRESS); - _Wire.write(0x06); - _Wire.endTransmission(); - return getRegisterValue(); -} - -/** - * @brief Set the DS3231 module by a given epoch as unix-epoch - * epoch = UnixTime and starts at 01.01.1970 00:00:00 - * HINT: => the AVR time.h lib is based on the year 2000 - * - * @param epoch time_t timestamp of unix epoch - * @param flag_localtime flag if timestamp is based on local time - */ -void DS3231::setEpoch(time_t epoch, bool flag_localtime) { -#if defined (__AVR__) - epoch -= UNIX_OFFSET; -#endif - struct tm tmnow; - if (flag_localtime) { - localtime_r(&epoch, &tmnow); - } - else { - gmtime_r(&epoch, &tmnow); - } - setSecond(tmnow.tm_sec); - setMinute(tmnow.tm_min); - setHour(tmnow.tm_hour); - setDoW(tmnow.tm_wday + 1U); - setDate(tmnow.tm_mday); - setMonth(tmnow.tm_mon + 1U); - setYear(tmnow.tm_year - 100U); -} - -/** - * @brief Set the second of the DS3231 module - * This function also resets the Oscillator Stop Flag, which is set - * whenever power is interrupted. - * @param second 0...59 - */ -void DS3231::setSecond(byte second) { - _Wire.beginTransmission(CLOCK_ADDRESS); - _Wire.write(0x00); - _Wire.write(decToBcd(second)); - _Wire.endTransmission(); - // Clear OSF flag - byte temp_buffer = readControlByte(1); - writeControlByte((temp_buffer & 0b01111111), 1); -} - -/** - * @brief Set the Minute of the DS3231 module - * - * @param minute 0...59 - */ -void DS3231::setMinute(byte minute) { - _Wire.beginTransmission(CLOCK_ADDRESS); - _Wire.write(0x01); - _Wire.write(decToBcd(minute)); - _Wire.endTransmission(); -} - -/** - * @brief Sets the hour, without changing 12/24h mode. - * The hour must be in 24h format. - * - * @param hour 0...23 - */ -void DS3231::setHour(byte hour) { - bool h12; - byte temp_hour; - - // Start by figuring out what the 12/24 mode is - _Wire.beginTransmission(CLOCK_ADDRESS); - _Wire.write(0x02); - _Wire.endTransmission(); - _Wire.requestFrom(CLOCK_ADDRESS, 1); - h12 = (_Wire.read() & 0b01000000); - // if h12 is true, it's 12h mode; false is 24h. - - if (h12) { - // 12 hour - bool am_pm = (hour > 11); - temp_hour = hour; - if (temp_hour > 11) { - temp_hour = temp_hour - 12; - } - if (temp_hour == 0) { - temp_hour = 12; - } - temp_hour = decToBcd(temp_hour) | (am_pm << 5) | 0b01000000; - } else { - // 24 hour - temp_hour = decToBcd(hour) & 0b10111111; - } - - _Wire.beginTransmission(CLOCK_ADDRESS); - _Wire.write(0x02); - _Wire.write(temp_hour); - _Wire.endTransmission(); -} - -/** - * @brief Sets the Day of Week of the DS3231 module - * - * @param dayOfWeek 1...7 - */ -void DS3231::setDoW(byte dayOfWeek) { - _Wire.beginTransmission(CLOCK_ADDRESS); - _Wire.write(0x03); - _Wire.write(decToBcd(dayOfWeek)); - _Wire.endTransmission(); -} - -/** - * @brief Sets the Date of the DS3231 module - * - * @param date 1...31 - */ -void DS3231::setDate(byte date) { - _Wire.beginTransmission(CLOCK_ADDRESS); - _Wire.write(0x04); - _Wire.write(decToBcd(date)); - _Wire.endTransmission(); -} - -/** - * @brief Sets the Month of the DS3231 module - * - * @param month 1...12 - */ -void DS3231::setMonth(byte month) { - _Wire.beginTransmission(CLOCK_ADDRESS); - _Wire.write(0x05); - _Wire.write(decToBcd(month)); - _Wire.endTransmission(); -} - -/** - * @brief Sets the Year of the DS3231 module. - * - * @param year 0...99 - */ -void DS3231::setYear(byte year) { - _Wire.beginTransmission(CLOCK_ADDRESS); - _Wire.write(0x06); - _Wire.write(decToBcd(year)); - _Wire.endTransmission(); -} - -/** - * @brief sets the clock mode to . - - * - * @param h12 12h (true) or 24h (false) - */ -void DS3231::setClockMode(bool h12) { - // One thing that bothers me about how I've written this is that - // if the read and right happen at the right hourly millisecond, - // the clock will be set back an hour. Not sure how to do it better, - // though, and as long as one doesn't set the mode frequently it's - // a very minimal risk. - // It's zero risk if you call this BEFORE setting the hour, since - // the setHour() function doesn't change this mode. - - byte temp_buffer; - - // Start by reading byte 0x02. - _Wire.beginTransmission(CLOCK_ADDRESS); - _Wire.write(0x02); - _Wire.endTransmission(); - _Wire.requestFrom(CLOCK_ADDRESS, 1); - temp_buffer = _Wire.read(); - - // Set the flag to the requested value: - if (h12) { - temp_buffer = temp_buffer | 0b01000000; - } else { - temp_buffer = temp_buffer & 0b10111111; - } - - // Write the byte - _Wire.beginTransmission(CLOCK_ADDRESS); - _Wire.write(0x02); - _Wire.write(temp_buffer); - _Wire.endTransmission(); -} - -/** - * @brief read the internal temperature sensor of the DS3231 module - * - * @return float temperature measured in DS3231 module - */ -float DS3231::getTemperature() { - byte tMSB, tLSB; - float temp3231; - - // temp registers (11h-12h) get updated automatically every 64s - _Wire.beginTransmission(CLOCK_ADDRESS); - _Wire.write(0x11); - _Wire.endTransmission(); - _Wire.requestFrom(CLOCK_ADDRESS, 2); - - // Should I do more "if available" checks here? - if(_Wire.available()) { - //2's complement int portion - tMSB = _Wire.read(); - //fraction portion - tLSB = _Wire.read(); - - // Shift upper byte, add lower - int16_t itemp = ( tMSB << 8 | (tLSB & 0xC0) ); - // Scale and return - temp3231 = ( (float)itemp / 256.0 ); - } - else { - // Impossible temperature; error value - temp3231 = -9999; - } - - return temp3231; -} - -void DS3231::getA1Time(byte& A1Day, byte& A1Hour, byte& A1Minute, byte& A1Second, byte& AlarmBits, bool& A1Dy, bool& A1h12, bool& A1PM) { - byte temp_buffer; - _Wire.beginTransmission(CLOCK_ADDRESS); - _Wire.write(0x07); - _Wire.endTransmission(); - - _Wire.requestFrom(CLOCK_ADDRESS, 4); - - temp_buffer = _Wire.read(); // Get A1M1 and A1 Seconds - A1Second = bcdToDec(temp_buffer & 0b01111111); - // put A1M1 bit in position 0 of DS3231_AlarmBits. - AlarmBits = AlarmBits | (temp_buffer & 0b10000000)>>7; - - temp_buffer = _Wire.read(); // Get A1M2 and A1 minutes - A1Minute = bcdToDec(temp_buffer & 0b01111111); - // put A1M2 bit in position 1 of DS3231_AlarmBits. - AlarmBits = AlarmBits | (temp_buffer & 0b10000000)>>6; - - temp_buffer = _Wire.read(); // Get A1M3 and A1 Hour - // put A1M3 bit in position 2 of DS3231_AlarmBits. - AlarmBits = AlarmBits | (temp_buffer & 0b10000000)>>5; - // determine A1 12/24 mode - A1h12 = temp_buffer & 0b01000000; - if (A1h12) { - A1PM = temp_buffer & 0b00100000; // determine am/pm - A1Hour = bcdToDec(temp_buffer & 0b00011111); // 12-hour - } else { - A1Hour = bcdToDec(temp_buffer & 0b00111111); // 24-hour - } - - temp_buffer = _Wire.read(); // Get A1M4 and A1 Day/Date - // put A1M3 bit in position 3 of DS3231_AlarmBits. - AlarmBits = AlarmBits | (temp_buffer & 0b10000000)>>4; - // determine A1 day or date flag - A1Dy = (temp_buffer & 0b01000000)>>6; - if (A1Dy) { - // alarm is by day of week, not date. - A1Day = bcdToDec(temp_buffer & 0b00001111); - } else { - // alarm is by date, not day of week. - A1Day = bcdToDec(temp_buffer & 0b00111111); - } -} - -void DS3231::getA1Time(byte& A1Day, byte& A1Hour, byte& A1Minute, byte& A1Second, byte& AlarmBits, bool& A1Dy, bool& A1h12, bool& A1PM, bool clearAlarmBits) { - if (clearAlarmBits) { - AlarmBits = 0x0; - } - getA1Time(A1Day, A1Hour, A1Minute, A1Second, AlarmBits, A1Dy, A1h12, A1PM); -} - -void DS3231::getA2Time(byte& A2Day, byte& A2Hour, byte& A2Minute, byte& AlarmBits, bool& A2Dy, bool& A2h12, bool& A2PM) { - byte temp_buffer; - _Wire.beginTransmission(CLOCK_ADDRESS); - _Wire.write(0x0b); - _Wire.endTransmission(); - - _Wire.requestFrom(CLOCK_ADDRESS, 3); - temp_buffer = _Wire.read(); // Get A2M2 and A2 Minutes - A2Minute = bcdToDec(temp_buffer & 0b01111111); - // put A2M2 bit in position 4 of DS3231_AlarmBits. - AlarmBits = AlarmBits | (temp_buffer & 0b10000000)>>3; - - temp_buffer = _Wire.read(); // Get A2M3 and A2 Hour - // put A2M3 bit in position 5 of DS3231_AlarmBits. - AlarmBits = AlarmBits | (temp_buffer & 0b10000000)>>2; - // determine A2 12/24 mode - A2h12 = temp_buffer & 0b01000000; - if (A2h12) { - A2PM = temp_buffer & 0b00100000; // determine am/pm - A2Hour = bcdToDec(temp_buffer & 0b00011111); // 12-hour - } else { - A2Hour = bcdToDec(temp_buffer & 0b00111111); // 24-hour - } - - temp_buffer = _Wire.read(); // Get A2M4 and A1 Day/Date - // put A2M4 bit in position 6 of DS3231_AlarmBits. - AlarmBits = AlarmBits | (temp_buffer & 0b10000000)>>1; - // determine A2 day or date flag - A2Dy = (temp_buffer & 0b01000000)>>6; - if (A2Dy) { - // alarm is by day of week, not date. - A2Day = bcdToDec(temp_buffer & 0b00001111); - } else { - // alarm is by date, not day of week. - A2Day = bcdToDec(temp_buffer & 0b00111111); - } -} - -void DS3231::getA2Time(byte& A2Day, byte& A2Hour, byte& A2Minute, byte& AlarmBits, bool& A2Dy, bool& A2h12, bool& A2PM, bool clearAlarmBits) { - if (clearAlarmBits) { - AlarmBits = 0x0; - } - getA2Time(A2Day, A2Hour, A2Minute, AlarmBits, A2Dy, A2h12, A2PM); -} - -void DS3231::setA1Time(byte A1Day, byte A1Hour, byte A1Minute, byte A1Second, byte AlarmBits, bool A1Dy, bool A1h12, bool A1PM) { - // Sets the alarm-1 date and time on the DS3231, using A1* information - byte temp_buffer; - _Wire.beginTransmission(CLOCK_ADDRESS); - _Wire.write(0x07); // A1 starts at 07h - // Send A1 second and A1M1 - _Wire.write(decToBcd(A1Second) | ((AlarmBits & 0b00000001) << 7)); - // Send A1 Minute and A1M2 - _Wire.write(decToBcd(A1Minute) | ((AlarmBits & 0b00000010) << 6)); - // Figure out A1 hour - if (A1h12) { - // Start by converting existing time to h12 if it was given in 24h. - if (A1Hour > 12) { - // well, then, this obviously isn't a h12 time, is it? - A1Hour = A1Hour - 12; - A1PM = true; - } - if (A1PM) { - // Afternoon - // Convert the hour to BCD and add appropriate flags. - temp_buffer = decToBcd(A1Hour) | 0b01100000; - } else { - // Morning - // Convert the hour to BCD and add appropriate flags. - temp_buffer = decToBcd(A1Hour) | 0b01000000; - } - } else { - // Now for 24h - temp_buffer = decToBcd(A1Hour); - } - temp_buffer = temp_buffer | ((AlarmBits & 0b00000100)<<5); - // A1 hour is figured out, send it - _Wire.write(temp_buffer); - // Figure out A1 day/date and A1M4 - temp_buffer = ((AlarmBits & 0b00001000)<<4) | decToBcd(A1Day); - if (A1Dy) { - // Set A1 Day/Date flag (Otherwise it's zero) - temp_buffer = temp_buffer | 0b01000000; - } - _Wire.write(temp_buffer); - // All done! - _Wire.endTransmission(); -} - -void DS3231::setA2Time(byte A2Day, byte A2Hour, byte A2Minute, byte AlarmBits, bool A2Dy, bool A2h12, bool A2PM) { - // Sets the alarm-2 date and time on the DS3231, using A2* information - byte temp_buffer; - _Wire.beginTransmission(CLOCK_ADDRESS); - _Wire.write(0x0b); // A1 starts at 0bh - // Send A2 Minute and A2M2 - _Wire.write(decToBcd(A2Minute) | ((AlarmBits & 0b00010000) << 3)); - // Figure out A2 hour - if (A2h12) { - // Start by converting existing time to h12 if it was given in 24h. - if (A2Hour > 12) { - // well, then, this obviously isn't a h12 time, is it? - A2Hour = A2Hour - 12; - A2PM = true; - } - if (A2PM) { - // Afternoon - // Convert the hour to BCD and add appropriate flags. - temp_buffer = decToBcd(A2Hour) | 0b01100000; - } else { - // Morning - // Convert the hour to BCD and add appropriate flags. - temp_buffer = decToBcd(A2Hour) | 0b01000000; - } - } else { - // Now for 24h - temp_buffer = decToBcd(A2Hour); - } - // add in A2M3 bit - temp_buffer = temp_buffer | ((AlarmBits & 0b00100000)<<2); - // A2 hour is figured out, send it - _Wire.write(temp_buffer); - // Figure out A2 day/date and A2M4 - temp_buffer = ((AlarmBits & 0b01000000)<<1) | decToBcd(A2Day); - if (A2Dy) { - // Set A2 Day/Date flag (Otherwise it's zero) - temp_buffer = temp_buffer | 0b01000000; - } - _Wire.write(temp_buffer); - // All done! - _Wire.endTransmission(); -} - -void DS3231::turnOnAlarm(byte Alarm) { - // turns on alarm number "Alarm". Defaults to 2 if Alarm is not 1. - byte temp_buffer = readControlByte(0); - // modify control byte - if (Alarm == 1) { - temp_buffer = temp_buffer | 0b00000101; - } else { - temp_buffer = temp_buffer | 0b00000110; - } - writeControlByte(temp_buffer, 0); -} - -void DS3231::turnOffAlarm(byte Alarm) { - // turns off alarm number "Alarm". Defaults to 2 if Alarm is not 1. - // Leaves interrupt pin alone. - byte temp_buffer = readControlByte(0); - // modify control byte - if (Alarm == 1) { - temp_buffer = temp_buffer & 0b11111110; - } else { - temp_buffer = temp_buffer & 0b11111101; - } - writeControlByte(temp_buffer, 0); -} - -bool DS3231::checkAlarmEnabled(byte Alarm) { - // Checks whether the given alarm is enabled. - byte result = 0x0; - byte temp_buffer = readControlByte(0); - if (Alarm == 1) { - result = temp_buffer & 0b00000001; - } else { - result = temp_buffer & 0b00000010; - } - return result; -} - -bool DS3231::checkIfAlarm(byte Alarm) { - // Checks whether alarm 1 or alarm 2 flag is on, returns T/F accordingly. - // Turns flag off, also. - // defaults to checking alarm 2, unless Alarm == 1. - byte result; - byte temp_buffer = readControlByte(1); - if (Alarm == 1) { - // Did alarm 1 go off? - result = temp_buffer & 0b00000001; - // clear flag - temp_buffer = temp_buffer & 0b11111110; - } else { - // Did alarm 2 go off? - result = temp_buffer & 0b00000010; - // clear flag - temp_buffer = temp_buffer & 0b11111101; - } - writeControlByte(temp_buffer, 1); - return result; -} - -bool DS3231::checkIfAlarm(byte Alarm, bool clearflag) { - // Checks whether alarm 1 or alarm 2 flag is on, returns T/F accordingly. - // Clears flag, if clearflag is set - // defaults to checking alarm 2, unless Alarm == 1. - byte result; - byte temp_buffer = readControlByte(1); - if (Alarm == 1) { - // Did alarm 1 go off? - result = temp_buffer & 0b00000001; - // clear flag - temp_buffer = temp_buffer & 0b11111110; - } else { - // Did alarm 2 go off? - result = temp_buffer & 0b00000010; - // clear flag - temp_buffer = temp_buffer & 0b11111101; - } - if (clearflag) { - writeControlByte(temp_buffer, 1); - } - return result; -} - -void DS3231::enableOscillator(bool TF, bool battery, byte frequency) { - // turns oscillator on or off. True is on, false is off. - // if battery is true, turns on even for battery-only operation, - // otherwise turns off if Vcc is off. - // frequency must be 0, 1, 2, or 3. - // 0 = 1 Hz - // 1 = 1.024 kHz - // 2 = 4.096 kHz - // 3 = 8.192 kHz (Default if frequency byte is out of range) - if (frequency > 3) frequency = 3; - // read control byte in, but zero out current state of RS2 and RS1. - byte temp_buffer = readControlByte(0) & 0b11100111; - if (battery) { - // turn on BBSQW flag - temp_buffer = temp_buffer | 0b01000000; - } else { - // turn off BBSQW flag - temp_buffer = temp_buffer & 0b10111111; - } - if (TF) { - // set ~EOSC to 0 and INTCN to zero. - temp_buffer = temp_buffer & 0b01111011; - } else { - // set ~EOSC to 1, leave INTCN as is. - temp_buffer = temp_buffer | 0b10000000; - } - // shift frequency into bits 3 and 4 and set. - frequency = frequency << 3; - temp_buffer = temp_buffer | frequency; - // And write the control bits - writeControlByte(temp_buffer, 0); -} - -void DS3231::enable32kHz(bool TF) { - // turn 32kHz pin on or off - byte temp_buffer = readControlByte(1); - if (TF) { - // turn on 32kHz pin - temp_buffer = temp_buffer | 0b00001000; - } else { - // turn off 32kHz pin - temp_buffer = temp_buffer & 0b11110111; - } - writeControlByte(temp_buffer, 1); -} - -bool DS3231::oscillatorCheck() { - // Returns false if the oscillator has been off for some reason. - // If this is the case, the time is probably not correct. - byte temp_buffer = readControlByte(1); - bool result = true; - if (temp_buffer & 0b10000000) { - // Oscillator Stop Flag (OSF) is set, so return false. - result = false; - } - return result; -} - -// ***************************************** -// Private Functions of DS3231 object -// ***************************************** - -byte DS3231::decToBcd(byte val) { -// Convert normal decimal numbers to binary coded decimal - return ( (val/10*16) + (val%10) ); -} - -byte DS3231::bcdToDec(byte val) { -// Convert binary coded decimal to normal decimal numbers - return ( (val/16*10) + (val%16) ); -} - -byte DS3231::readControlByte(bool which) { - // Read selected control byte - // first byte (0) is 0x0e, second (1) is 0x0f - _Wire.beginTransmission(CLOCK_ADDRESS); - if (which) { - // second control byte - _Wire.write(0x0f); - } else { - // first control byte - _Wire.write(0x0e); - } - _Wire.endTransmission(); - _Wire.requestFrom(CLOCK_ADDRESS, 1); - return _Wire.read(); -} - -void DS3231::writeControlByte(byte control, bool which) { - // Write the selected control byte. - // which=false -> 0x0e, true->0x0f. - _Wire.beginTransmission(CLOCK_ADDRESS); - if (which) { - _Wire.write(0x0f); - } else { - _Wire.write(0x0e); - } - _Wire.write(control); - _Wire.endTransmission(); -} +/** + * @file DS3231-RTC.cpp + * @author Frank Häfele + * @brief Real-Time clock library based on Arduino Framework + */ + +#include "DS3231-RTC.h" + +#include +#include +#include + + +// ***************************************** +// Static Functions only used in this file +// ***************************************** + +static void safe_gmtime(const time_t *timestamp, struct tm *timestruct) { +#if defined(_WIN32) + gmtime_s(timestruct, timestamp); +#else + gmtime_r(timestamp, timestruct); +#endif +} + +static void safe_localtime(const time_t *timestamp, struct tm *timestruct) { +#if defined(_WIN32) + localtime_s(timestruct, timestamp); +#else + localtime_r(timestamp, timestruct); +#endif +} + +#if DS3231_RTC_HAS_WIRE +DS3231::TwoWireAdapter::TwoWireAdapter(TwoWire *wire) +: _wire(wire) +{} + +void DS3231::TwoWireAdapter::beginTransmission(uint8_t address) { + _wire->beginTransmission(address); +} + +size_t DS3231::TwoWireAdapter::write(uint8_t value) { + return _wire->write(value); +} + +uint8_t DS3231::TwoWireAdapter::endTransmission() { + return _wire->endTransmission(); +} + +uint8_t DS3231::TwoWireAdapter::requestFrom(uint8_t address, uint8_t quantity) { + return _wire->requestFrom(address, quantity); +} + +int DS3231::TwoWireAdapter::read() { + return _wire->read(); +} + +int DS3231::TwoWireAdapter::available() { + return _wire->available(); +} + +void DS3231::TwoWireAdapter::begin() { + if (_wire) { + _wire->begin(); + } +} +#endif + +#pragma region DateTime +DS3231::DateTime::DateTime (time_t unix_timestamp) +: _unix_timestamp{unix_timestamp}, _y2k_timestamp{static_cast(unix_timestamp - UNIX_OFFSET)} +{ + safe_gmtime(&_unix_timestamp, &_tm); +} + +DS3231::DateTime::DateTime(int16_t year, int8_t month, int8_t day, int8_t hour, int8_t min, int8_t sec, int8_t wday, int16_t yday, int16_t dst) +{ + _tm.tm_sec = sec; + _tm.tm_min = min; + _tm.tm_hour = hour; + _tm.tm_mday = day; + _tm.tm_mon = month-1; + _tm.tm_year = year-1900; + _tm.tm_wday = wday-1; + _tm.tm_yday = yday; + _tm.tm_isdst = dst; + + set_timstamps(); +} + +DS3231::DateTime::DateTime(const char *date, const char *time) { + static const char month_names[] = "JanFebMarAprMayJunJulAugSepOctNovDec"; + static char month_buff[4] = {'0','0','0','0'}; + int year, day; +#if defined(_MSC_VER) + sscanf_s(date, "%3s %2d %4d", month_buff, static_cast(sizeof(month_buff)), &day, &year); +#else + sscanf(date, "%s %2d %4d", month_buff, &day, &year); +#endif + int month = static_cast((strstr(month_names, month_buff) - month_names) / 3 + 1); + _tm.tm_year = year-1900; + _tm.tm_mon = month-1; + _tm.tm_mday = day; + uint8_t hour, min, sec; +#if defined(_MSC_VER) + sscanf_s(time, "%hhu:%hhu:%hhu", &hour, &min, &sec); +#else + sscanf(time, "%hhu:%hhu:%hhu", &hour, &min, &sec); +#endif + _tm.tm_hour = hour; + _tm.tm_min = min; + _tm.tm_sec = sec; + _tm.tm_yday = DS3231_Tools::calcYearDay(year, month, day); + set_timstamps(); +} + +void DS3231::DateTime::set_timstamps() { +#if defined (__AVR__) + _y2k_timestamp = mktime(&_tm); + _unix_timestamp = _y2k_timestamp + UNIX_OFFSET; +#else + _unix_timestamp = mktime(&_tm); + _y2k_timestamp = _unix_timestamp - UNIX_OFFSET; +#endif +} + +size_t DS3231::DateTime::strf_DateTime(char *buffer, size_t buffersize, const char *formatSpec) { + size_t len {strftime(buffer, buffersize, formatSpec, &_tm)}; + return len; +} +#pragma endregion DateTime + +DS3231::DateTime DS3231::RTClib::now(BusInterface &bus) { + bus.beginTransmission(DS3231_Constants::DS3231_I2C_ADDRESS); + bus.write(0); + bus.endTransmission(); + + bus.requestFrom(DS3231_Constants::DS3231_I2C_ADDRESS, 7); + int8_t sec = DS3231_Tools::bcdToDec(static_cast(bus.read()) & 0x7F); + int8_t min = DS3231_Tools::bcdToDec(static_cast(bus.read()) & 0x7F); + + // Read hour register and respect 12/24h mode (Bit 6) + uint8_t hour_byte = static_cast(bus.read()); + bool h12 = hour_byte & 0b01000000; + int8_t hour; + if (h12) { + // 12-hour mode: only use bits 4-0 for hour value + hour = DS3231_Tools::bcdToDec(hour_byte & 0b00011111); + } else { + // 24-hour mode: use bits 5-0 for hour value + hour = DS3231_Tools::bcdToDec(hour_byte & 0b00111111); + } + + int8_t wday = DS3231_Tools::bcdToDec(static_cast(bus.read()) & 0x07) - 1; + int8_t day = DS3231_Tools::bcdToDec(static_cast(bus.read()) & 0x3F); + int8_t month = DS3231_Tools::bcdToDec(static_cast(bus.read()) & 0x1F); + int16_t year = DS3231_Tools::bcdToDec(static_cast(bus.read())) + 2000; + int16_t yday = DS3231_Tools::calcYearDay(year, month, day); + int16_t dst = -1; + + return DateTime{year, month, day, hour, min, sec, wday, yday, dst}; +} + +#if DS3231_RTC_HAS_WIRE +DS3231::DateTime DS3231::RTClib::now(TwoWire &_Wire) { + TwoWireAdapter adapter(&_Wire); + return now(adapter); +} +#endif + +#pragma region DS3231 +#if DS3231_RTC_HAS_WIRE +DS3231::DS3231::DS3231() +: _wire_adapter(&Wire), _bus(&_wire_adapter) +{} + +DS3231::DS3231::DS3231(TwoWire &twowire) +: _wire_adapter(&twowire), _bus(&_wire_adapter) +{} +#endif + +DS3231::DS3231::DS3231(BusInterface &bus) +#if DS3231_RTC_HAS_WIRE +: _wire_adapter{nullptr}, _bus{&bus} +#else +: _bus{&bus} +#endif +{} + +uint8_t DS3231::DS3231::getSecond() { + selectRegister(0x00); + return getRegisterValue(); +} + +uint8_t DS3231::DS3231::getMinute() { + selectRegister(0x01); + return getRegisterValue(); +} + +uint8_t DS3231::DS3231::getHour(bool& h12, bool& PM_time) { + uint8_t temp_buffer = readRegisterRaw(0x02); + uint8_t hour; + + h12 = temp_buffer & 0b01000000; + if (h12) { + PM_time = temp_buffer & 0b00100000; + hour = DS3231_Tools::bcdToDec(temp_buffer & 0b00011111); + } + else { + PM_time = 0; + hour = DS3231_Tools::bcdToDec(temp_buffer & 0b00111111); + } + return hour; +} + +uint8_t DS3231::DS3231::getDoW() { + selectRegister(0x03); + return getRegisterValue(); +} + +uint8_t DS3231::DS3231::getDate() { + selectRegister(0x04); + return getRegisterValue(); +} + +uint8_t DS3231::DS3231::getMonth(bool ¢ury) { + uint8_t temp_buffer = readRegisterRaw(0x05); + century = temp_buffer & 0b10000000; + return DS3231_Tools::bcdToDec(temp_buffer & 0b01111111); +} + +uint8_t DS3231::DS3231::getYear() { + selectRegister(0x06); + return getRegisterValue(); +} + +void DS3231::DS3231::setEpoch(time_t epoch, bool flag_localtime) { +#if defined (__AVR__) + epoch -= UNIX_OFFSET; +#endif + struct tm tmnow; + if (flag_localtime) { + safe_localtime(&epoch, &tmnow); + } + else { + safe_gmtime(&epoch, &tmnow); + } + setSecond(static_cast(tmnow.tm_sec)); + setMinute(static_cast(tmnow.tm_min)); + setHour(static_cast(tmnow.tm_hour)); + setDoW(static_cast(tmnow.tm_wday + 1U)); + setDate(static_cast(tmnow.tm_mday)); + setMonth(static_cast(tmnow.tm_mon + 1U)); + setYear(static_cast(tmnow.tm_year - 100U)); +} + +void DS3231::DS3231::setSecond(uint8_t second) { + writeRegister(0x00, DS3231_Tools::decToBcd(second)); + uint8_t temp_buffer = readControlByte(1); + writeControlByte((temp_buffer & 0b01111111), 1); +} + +void DS3231::DS3231::setMinute(uint8_t minute) { + writeRegister(0x01, DS3231_Tools::decToBcd(minute)); +} + +void DS3231::DS3231::setHour(uint8_t hour) { + bool h12 = (readRegisterRaw(0x02) & 0b01000000); + uint8_t temp_hour; + + if (h12) { + bool am_pm = (hour > 11); + temp_hour = hour; + if (temp_hour > 11) { + temp_hour = temp_hour - 12; + } + if (temp_hour == 0) { + temp_hour = 12; + } + temp_hour = DS3231_Tools::decToBcd(temp_hour) | (am_pm << 5) | 0b01000000; + } else { + temp_hour = DS3231_Tools::decToBcd(hour) & 0b10111111; + } + writeRegister(0x02, temp_hour); +} + +void DS3231::DS3231::setDoW(uint8_t dayOfWeek) { + writeRegister(0x03, DS3231_Tools::decToBcd(dayOfWeek)); +} + +void DS3231::DS3231::setDate(uint8_t date) { + writeRegister(0x04, DS3231_Tools::decToBcd(date)); +} + +void DS3231::DS3231::setMonth(uint8_t month) { + writeRegister(0x05, DS3231_Tools::decToBcd(month)); +} + +void DS3231::DS3231::setYear(uint8_t year) { + writeRegister(0x06, DS3231_Tools::decToBcd(year)); +} + +void DS3231::DS3231::set12hourMode() { + uint8_t hour_byte = readRegisterRaw(0x02); + bool currently_24h = !(hour_byte & 0b01000000); // Bit 6 == 0 means 24h mode + + if (currently_24h) { + // Convert from 24h to 12h + uint8_t hour_24 = DS3231_Tools::bcdToDec(hour_byte & 0b00111111); + uint8_t hour_12; + bool is_pm = false; + + if (hour_24 == 0) { + hour_12 = 12; // 0:00 → 12:00 AM + is_pm = false; + } else if (hour_24 < 12) { + hour_12 = hour_24; // 1:00-11:00 → 1:00-11:00 AM + is_pm = false; + } else if (hour_24 == 12) { + hour_12 = 12; // 12:00 → 12:00 PM + is_pm = true; + } else { + hour_12 = hour_24 - 12; // 13:00-23:00 → 1:00-11:00 PM + is_pm = true; + } + + // Build new register value with 12h mode, PM flag, and new hour + uint8_t new_hour = DS3231_Tools::decToBcd(hour_12); + if (is_pm) { + new_hour |= 0b01100000; // Set Bit 6 (12h mode) and Bit 5 (PM) + } else { + new_hour |= 0b01000000; // Set Bit 6 (12h mode) only + } + + writeRegister(0x02, new_hour); + } + // If already in 12h mode, do nothing +} + +void DS3231::DS3231::set24hourMode() { + uint8_t hour_byte = readRegisterRaw(0x02); + bool currently_12h = (hour_byte & 0b01000000); // Bit 6 == 1 means 12h mode + + if (currently_12h) { + // Convert from 12h to 24h + bool is_pm = (hour_byte & 0b00100000); + uint8_t hour_12 = DS3231_Tools::bcdToDec(hour_byte & 0b00011111); + uint8_t hour_24; + + if (hour_12 == 12) { + hour_24 = is_pm ? 12 : 0; // 12:00 AM → 0:00, 12:00 PM → 12:00 + } else if (is_pm) { + hour_24 = hour_12 + 12; // 1:00-11:00 PM → 13:00-23:00 + } else { + hour_24 = hour_12; // 1:00-11:00 AM → 1:00-11:00 + } + + // Build new register value with 24h mode (Bit 6 = 0) + uint8_t new_hour = DS3231_Tools::decToBcd(hour_24) & 0b10111111; // Clear Bit 6 + + writeRegister(0x02, new_hour); + } + // If already in 24h mode, do nothing +} + +void DS3231::DS3231::begin() { +#if DS3231_RTC_HAS_WIRE + _wire_adapter.begin(); +#endif + set24hourMode(); +} + +bool DS3231::DS3231::is24hourModeActive() { + uint8_t hour_byte = readRegisterRaw(0x02); + bool currently_12h = (hour_byte & 0b01000000); // Bit 6 == 1 means 12h mode + return !currently_12h; +} + +float DS3231::DS3231::getTemperature() { + uint8_t tMSB, tLSB; + float temp3231; + + selectRegister(0x11); + bus().requestFrom(DS3231_Constants::DS3231_I2C_ADDRESS, 2); + + if(bus().available()) { + tMSB = static_cast(bus().read()); + tLSB = static_cast(bus().read()); + + int16_t itemp = static_cast(tMSB << 8 | (tLSB & 0xC0)); + temp3231 = ((float)itemp / 256.0f); + } + else { + temp3231 = NAN; + } + return temp3231; +} + +void DS3231::DS3231::getA1Time(uint8_t &Day, uint8_t &Hour, uint8_t &Minute, uint8_t &Second, uint8_t &AlarmBits, bool &Dy, bool &h12, bool &PM) { + uint8_t temp_buffer; + selectRegister(0x07); + + bus().requestFrom(DS3231_Constants::DS3231_I2C_ADDRESS, 4); + + temp_buffer = static_cast(bus().read()); + Second = DS3231_Tools::bcdToDec(temp_buffer & 0b01111111); + AlarmBits = AlarmBits | (temp_buffer & 0b10000000) >>7; + + temp_buffer = static_cast(bus().read()); + Minute = DS3231_Tools::bcdToDec(temp_buffer & 0b01111111); + AlarmBits = AlarmBits | (temp_buffer & 0b10000000) >>6; + + temp_buffer = static_cast(bus().read()); + AlarmBits = AlarmBits | (temp_buffer & 0b10000000) >>5; + h12 = temp_buffer & 0b01000000; + if (h12) { + PM = temp_buffer & 0b00100000; + Hour = DS3231_Tools::bcdToDec(temp_buffer & 0b00011111); + } else { + Hour = DS3231_Tools::bcdToDec(temp_buffer & 0b00111111); + } + + temp_buffer = static_cast(bus().read()); + AlarmBits = AlarmBits | (temp_buffer & 0b10000000) >>4; + Dy = (temp_buffer & 0b01000000) >>6; + if (Dy) { + Day = DS3231_Tools::bcdToDec(temp_buffer & 0b00001111); + } else { + Day = DS3231_Tools::bcdToDec(temp_buffer & 0b00111111); + } +} + +void DS3231::DS3231::getA1Time(uint8_t &Day, uint8_t &Hour, uint8_t &Minute, uint8_t &Second, uint8_t &AlarmBits, bool &Dy, bool &h12, bool &PM, bool clearAlarmBits) { + if (clearAlarmBits) { + AlarmBits = 0x0; + } + getA1Time(Day, Hour, Minute, Second, AlarmBits, Dy, h12, PM); +} + +void DS3231::DS3231::getA2Time(uint8_t &Day, uint8_t &Hour, uint8_t &Minute, uint8_t &AlarmBits, bool &Dy, bool &h12, bool &PM) { + uint8_t temp_buffer; + selectRegister(0x0b); + + bus().requestFrom(DS3231_Constants::DS3231_I2C_ADDRESS, 3); + temp_buffer = static_cast(bus().read()); + Minute = DS3231_Tools::bcdToDec(temp_buffer & 0b01111111); + AlarmBits = AlarmBits | (temp_buffer & 0b10000000)>>3; + + temp_buffer = static_cast(bus().read()); + AlarmBits = AlarmBits | (temp_buffer & 0b10000000)>>2; + h12 = temp_buffer & 0b01000000; + if (h12) { + PM = temp_buffer & 0b00100000; + Hour = DS3231_Tools::bcdToDec(temp_buffer & 0b00011111); + } else { + Hour = DS3231_Tools::bcdToDec(temp_buffer & 0b00111111); + } + + temp_buffer = static_cast(bus().read()); + AlarmBits = AlarmBits | (temp_buffer & 0b10000000)>>1; + Dy = (temp_buffer & 0b01000000)>>6; + if (Dy) { + Day = DS3231_Tools::bcdToDec(temp_buffer & 0b00001111); + } else { + Day = DS3231_Tools::bcdToDec(temp_buffer & 0b00111111); + } +} + +void DS3231::DS3231::getA2Time(uint8_t &Day, uint8_t &Hour, uint8_t &Minute, uint8_t &AlarmBits, bool &Dy, bool &h12, bool &PM, bool clearAlarmBits) { + if (clearAlarmBits) { + AlarmBits = 0x0; + } + getA2Time(Day, Hour, Minute, AlarmBits, Dy, h12, PM); +} + +void DS3231::DS3231::setA1Time(uint8_t Day, uint8_t Hour, uint8_t Minute, uint8_t Second, uint8_t AlarmBits, bool Dy, bool h12, bool PM) { + uint8_t temp_buffer; + bus().beginTransmission(DS3231_Constants::DS3231_I2C_ADDRESS); + bus().write(0x07); + bus().write(DS3231_Tools::decToBcd(Second) | ((AlarmBits & 0b00000001) << 7)); + bus().write(DS3231_Tools::decToBcd(Minute) | ((AlarmBits & 0b00000010) << 6)); + + if (h12) { + if (Hour > 12) { + Hour = Hour - 12; + PM = true; + } + if (PM) { + temp_buffer = DS3231_Tools::decToBcd(Hour) | 0b01100000; + } else { + temp_buffer = DS3231_Tools::decToBcd(Hour) | 0b01000000; + } + } else { + temp_buffer = DS3231_Tools::decToBcd(Hour); + } + temp_buffer = temp_buffer | ((AlarmBits & 0b00000100)<<5); + bus().write(temp_buffer); + + temp_buffer = ((AlarmBits & 0b00001000)<<4) | DS3231_Tools::decToBcd(Day); + if (Dy) { + temp_buffer = temp_buffer | 0b01000000; + } + bus().write(temp_buffer); + bus().endTransmission(); +} + +void DS3231::DS3231::setA2Time(uint8_t Day, uint8_t Hour, uint8_t Minute, uint8_t AlarmBits, bool Dy, bool h12, bool PM) { + uint8_t temp_buffer; + bus().beginTransmission(DS3231_Constants::DS3231_I2C_ADDRESS); + bus().write(0x0b); + bus().write(DS3231_Tools::decToBcd(Minute) | ((AlarmBits & 0b00010000) << 3)); + + if (h12) { + if (Hour > 12) { + Hour = Hour - 12; + PM = true; + } + if (PM) { + temp_buffer = DS3231_Tools::decToBcd(Hour) | 0b01100000; + } else { + temp_buffer = DS3231_Tools::decToBcd(Hour) | 0b01000000; + } + } else { + temp_buffer = DS3231_Tools::decToBcd(Hour); + } + temp_buffer = temp_buffer | ((AlarmBits & 0b00100000)<<2); + bus().write(temp_buffer); + + temp_buffer = ((AlarmBits & 0b01000000)<<1) | DS3231_Tools::decToBcd(Day); + if (Dy) { + temp_buffer = temp_buffer | 0b01000000; + } + bus().write(temp_buffer); + bus().endTransmission(); +} + +void DS3231::DS3231::turnOnAlarm(uint8_t alarmNumber) { + uint8_t temp_buffer = readControlByte(0); + if (alarmNumber == 1) { + temp_buffer = temp_buffer | 0b00000101; + } else { + temp_buffer = temp_buffer | 0b00000110; + } + writeControlByte(temp_buffer, 0); +} + +void DS3231::DS3231::turnOffAlarm(uint8_t alarmNumber) { + uint8_t temp_buffer = readControlByte(0); + if (alarmNumber == 1) { + temp_buffer = temp_buffer & 0b11111110; + } else { + temp_buffer = temp_buffer & 0b11111101; + } + writeControlByte(temp_buffer, 0); +} + +bool DS3231::DS3231::checkAlarmEnabled(uint8_t alarmNumber) { + uint8_t result = 0x0; + uint8_t temp_buffer = readControlByte(0); + if (alarmNumber == 1) { + result = temp_buffer & 0b00000001; + } else { + result = temp_buffer & 0b00000010; + } + return result; +} + +bool DS3231::DS3231::checkIfAlarm(uint8_t alarmNumber, bool clearflag) { + uint8_t result; + uint8_t temp_buffer = readControlByte(1); + if (alarmNumber == 1) { + result = temp_buffer & 0b00000001; + temp_buffer = temp_buffer & 0b11111110; + } else { + result = temp_buffer & 0b00000010; + temp_buffer = temp_buffer & 0b11111101; + } + if (clearflag) { + writeControlByte(temp_buffer, 1); + } + return result; +} + +void DS3231::DS3231::enableOscillator(bool turnOn, bool onWithBattery, uint8_t frequency) { + if (frequency > 3) { + frequency = 3; + } + + uint8_t temp_buffer = readControlByte(0) & 0b11100111; + if (onWithBattery) { + temp_buffer = temp_buffer | 0b01000000; + } else { + temp_buffer = temp_buffer & 0b10111111; + } + if (turnOn) { + temp_buffer = temp_buffer & 0b01111011; + } else { + temp_buffer = temp_buffer | 0b10000000; + } + + frequency = frequency << 3; + temp_buffer = temp_buffer | frequency; + writeControlByte(temp_buffer, 0); +} + +void DS3231::DS3231::enable32kHz(bool activate32kHz) { + uint8_t temp_buffer = readControlByte(1); + if (activate32kHz) { + temp_buffer = temp_buffer | 0b00001000; + } else { + temp_buffer = temp_buffer & 0b11110111; + } + writeControlByte(temp_buffer, 1); +} + +bool DS3231::DS3231::oscillatorCheck() { + uint8_t temp_buffer = readControlByte(1); + bool result = true; + if (temp_buffer & 0b10000000) { + result = false; + } + return result; +} + +// ***************************************** +// Private Functions of DS3231 object +// ***************************************** + +void DS3231::DS3231::selectRegister(uint8_t register_addr) { + bus().beginTransmission(DS3231_Constants::DS3231_I2C_ADDRESS); + bus().write(register_addr); + bus().endTransmission(); +} + +uint8_t DS3231::DS3231::readRegisterRaw(uint8_t register_addr) { + selectRegister(register_addr); + bus().requestFrom(DS3231_Constants::DS3231_I2C_ADDRESS, 1); + return static_cast(bus().read()); +} + +void DS3231::DS3231::writeRegister(uint8_t register_addr, uint8_t value) { + bus().beginTransmission(DS3231_Constants::DS3231_I2C_ADDRESS); + bus().write(register_addr); + bus().write(value); + bus().endTransmission(); +} + +uint8_t DS3231::DS3231::readControlByte(bool which) { + return readRegisterRaw(which ? 0x0f : 0x0e); +} + +void DS3231::DS3231::writeControlByte(uint8_t control, bool which) { + writeRegister(which ? 0x0f : 0x0e, control); +} +#pragma endregion DS3231 \ No newline at end of file diff --git a/src/DS3231-RTC.h b/src/DS3231-RTC.h old mode 100644 new mode 100755 index c64bb90..c19b992 --- a/src/DS3231-RTC.h +++ b/src/DS3231-RTC.h @@ -1,256 +1,697 @@ -/* - * DS3231-RTC.h - * - * The great C++ Library for the DS3231 Real-Time Clock chip - * - */ - -#ifndef __DS3231_RTC_H__ -#define __DS3231_RTC_H__ - -#include -#include -#include - -#define CLOCK_ADDRESS 0x68 - -#if !defined (UNIX_OFFSET) -// SECONDS_FROM_1970_TO_2000 -// Difference between the Y2K and the UNIX epochs, in seconds. -// To convert a Y2K timestamp to UNIX... -#define UNIX_OFFSET 946684800UL -#endif - -#if !defined (NTP_OFFSET) -// SECONDS_FROM_1900_TO_2000 -// Difference between the Y2K and the NTP epochs, in seconds. -// To convert a Y2K timestamp to NTP... -#define NTP_OFFSET 3155673600UL -#endif - -// DateTime class restructured by using standardized time functions -class DateTime { - public: - DateTime (time_t unix_timestamp = 0); - - DateTime ( int16_t year, int8_t month, int8_t mday, - int8_t hour = 0, int8_t min = 0, int8_t sec = 0, - int8_t wday = 0, int16_t yday = 0, int16_t dst = -1); - - DateTime (const char *date, const char *time); - - int16_t getYear() const { return _tm.tm_year + 1900; } - int8_t getMonth() const { return _tm.tm_mon + 1; } - int8_t getDay() const { return _tm.tm_mday; } - int8_t getHour() const { return _tm.tm_hour; } - int8_t getMinute() const { return _tm.tm_min; } - int8_t getSecond() const { return _tm.tm_sec; } - int8_t getWeekDay() const { return _tm.tm_wday; } - int16_t getYearDay() const { return _tm.tm_yday; } - int16_t getDST() const { return _tm.tm_isdst; } - size_t strf_DateTime(char *buffer, size_t buffersize, const char *formatSpec = "%a %h %d %T %Y"); - - // time_t value as seconds since 1/1/2000 - time_t getY2kTime() const { return _y2k_timestamp; } - - // time_t value as seconds since 1/1/1970 - // THE ABOVE COMMENT IS CORRECT FOR LOCAL TIME; TO USE THIS COMMAND TO - // OBTAIN TRUE UNIX TIME SINCE EPOCH, YOU MUST CALL THIS COMMAND AFTER - // SETTING YOUR CLOCK TO UTC - time_t getUnixTime() const { return _unix_timestamp; } - - private: - void set_timstamps(); - - protected: - time_t _unix_timestamp; - time_t _y2k_timestamp; - struct tm _tm; -}; - -class RTClib { - public: - // Get date and time snapshot - static DateTime now(TwoWire &_Wire = Wire); -}; - -// Eric's original code is everything below this line -class DS3231 { - public: - // Constructor - DS3231(); - DS3231(TwoWire &twowire); - - TwoWire &_Wire; - - // ************************************ - // Time-retrieval functions - // ************************************ - // Get the second of the DS3231 module - byte getSecond(); - // Get the minute of the DS3231 module - byte getMinute(); - - // Get the hour of the DS3231 module, in addition, this function - // returns the values of the 12/24-hour flag and the AM/PM flag. - byte getHour(bool& h12, bool& PM_time); - - // Get the DayOfWeek of the DS3231 module - byte getDoW(); - - // Get the date of the DS3231 module - byte getDate(); - - // Get the month and the century roll over of the DS3231 module - byte getMonth(bool ¢ury); - - // Get the year of the DS3231 module - byte getYear(); - - - // ************************************ - // Time-setting functions - // ************************************ - // Note that none of these check for sensibility: You can set the - // date to July 42nd and strange things will probably result. - - // set epoch function gives the epoch as parameter and feeds the RTC - // epoch = UnixTime and starts at 01.01.1970 00:00:00 - void setEpoch(time_t epoch = 0, bool flag_localtime = false); - - // Set the Second of the DS3231 module - void setSecond(byte second); - // Set the minute of the DS3231 module - void setMinute(byte minute); - // Set the hour of the DS3231 module - void setHour(byte hour); - // Sets the Day of the Week (1...7) of the DS3231 module - void setDoW(byte dayOfWeek); - // Sets the Date of the DS3231 module - void setDate(byte date); - // Sets the Month of the DS3231 module - void setMonth(byte month); - // Sets the Year of the DS3231 module - void setYear(byte year); - // Sets the Hour format (12h/24h) of the DS3231 module - void setClockMode(bool h12); - - - // ************************************ - // Temperature function - // ************************************ - // get temperature of the DS3231 module - float getTemperature(); - - // Alarm functions - void getA1Time(byte& A1Day, byte& A1Hour, byte& A1Minute, byte& A1Second, byte& AlarmBits, bool& A1Dy, bool& A1h12, bool& A1PM); - - /* Retrieves everything you could want to know about alarm - * one. - * A1Dy true makes the alarm go on A1Day = Day of Week, - * A1Dy false makes the alarm go on A1Day = Date of month. - * - * byte AlarmBits sets the behavior of the alarms: - * Dy A1M4 A1M3 A1M2 A1M1 Rate - * X 1 1 1 1 Once per second - * X 1 1 1 0 Alarm when seconds match - * X 1 1 0 0 Alarm when min, sec match - * X 1 0 0 0 Alarm when hour, min, sec match - * 0 0 0 0 0 Alarm when date, h, m, s match - * 1 0 0 0 0 Alarm when DoW, h, m, s match - * - * Dy A2M4 A2M3 A2M2 Rate - * X 1 1 1 Once per minute (at seconds = 00) - * X 1 1 0 Alarm when minutes match - * X 1 0 0 Alarm when hours and minutes match - * 0 0 0 0 Alarm when date, hour, min match - * 1 0 0 0 Alarm when DoW, hour, min match - * - * Note: byte AlarmBits is not explicitly cleared for the getAXTime methods to - * support sequential retrieval of both alarms with the same byte AlarmBits. - * Use the flag bool clearAlarmBits=True to explicitly clear byte AlarmBits on - * call to getAXTime. - */ - - // Same as getA1Time();, but A2 only goes on seconds == 00. - void getA2Time(byte& A2Day, byte& A2Hour, byte& A2Minute, byte& AlarmBits, bool& A2Dy, bool& A2h12, bool& A2PM); - - // Same as getA1Time();, but clears byte AlarmBits. - void getA1Time(byte& A1Day, byte& A1Hour, byte& A1Minute, byte& A1Second, byte& AlarmBits, bool& A1Dy, bool& A1h12, bool& A1PM, bool clearAlarmBits); - - // Same as getA1Time();, but clears byte AlarmBits. - void getA2Time(byte& A1Day, byte& A1Hour, byte& A1Minute,byte& AlarmBits, bool& A1Dy, bool& A1h12, bool& A1PM, bool clearAlarmBits); - - // Set the details for Alarm 1 - void setA1Time(byte A1Day, byte A1Hour, byte A1Minute, byte A1Second, byte AlarmBits, bool A1Dy, bool A1h12, bool A1PM); - - // Set the details for Alarm 2 - void setA2Time(byte A2Day, byte A2Hour, byte A2Minute, byte AlarmBits, bool A2Dy, bool A2h12, bool A2PM); - - // Enables alarm 1 or 2 and the external interrupt pin. - // If Alarm != 1, it assumes Alarm == 2. - void turnOnAlarm(byte Alarm); - - // Disables alarm 1 or 2 (default is 2 if Alarm != 1); - // and leaves the interrupt pin alone. - void turnOffAlarm(byte Alarm); - - // Returns T/F to indicate whether the requested alarm is - // enabled. Defaults to 2 if Alarm != 1. - bool checkAlarmEnabled(byte Alarm); - - // Checks whether the indicated alarm (1 or 2, 2 default); - // has been activated. Always clears flag. - bool checkIfAlarm(byte Alarm); - - // Checks whether the indicated alarm (1 or 2, 2 default); - // has been activated. IF clearflag is set, clears alarm flag. - bool checkIfAlarm(byte Alarm, bool clearflag); - - - // ************************************ - // Oscillator functions - // ************************************ - - // turns oscillator on or off. True is on, false is off. - // if battery is true, turns on even for battery-only operation, - // otherwise turns off if Vcc is off. - // frequency must be 0, 1, 2, or 3. - // 0 = 1 Hz - // 1 = 1.024 kHz - // 2 = 4.096 kHz - // 3 = 8.192 kHz (Default if frequency byte is out of range); - void enableOscillator(bool TF, bool battery, byte frequency); - - // Turns the 32kHz output pin on (true); or off (false). - void enable32kHz(bool TF); - - // Checks the status of the OSF (Oscillator Stop Flag);. - // If this returns false, then the clock is probably not - // giving you the correct time. - // The OSF is cleared by function setSecond();. - bool oscillatorCheck(); - - - private: - // the getter functions retrieve current values of the registers. - byte getRegisterValue() { - _Wire.requestFrom(CLOCK_ADDRESS, 1); - return bcdToDec(_Wire.read()); - } - - // Convert normal decimal numbers to binary coded decimal - byte decToBcd(byte val); - // Convert binary coded decimal to normal decimal numbers - byte bcdToDec(byte val); - - - protected: - // Read selected control byte: (0); reads 0x0e, (1) reads 0x0f - byte readControlByte(bool which); - - // Write the selected control byte. - // which == false -> 0x0e, true->0x0f. - void writeControlByte(byte control, bool which); -}; -#endif +/** + * @file DS3231-RTC.h + * @author Frank Häfele + * @brief Real-Time clock library based on Arduino Framework + */ + +#pragma once + +#if __has_include() +#include +#else +#include +#include +#endif + +#if __has_include() +#include +#define DS3231_RTC_HAS_WIRE 1 +#else +#define DS3231_RTC_HAS_WIRE 0 +#endif + +#include +#include "DS3231-RTC_Tools.h" +#include "DS3231-RTC_Constants.h" + +namespace DS3231 { + class BusInterface { + public: + virtual ~BusInterface() = default; + virtual void beginTransmission(uint8_t address) = 0; + virtual size_t write(uint8_t value) = 0; + virtual uint8_t endTransmission() = 0; + virtual uint8_t requestFrom(uint8_t address, uint8_t quantity) = 0; + virtual int read() = 0; + virtual int available() = 0; + }; + +#if DS3231_RTC_HAS_WIRE + class TwoWireAdapter : public BusInterface { + public: + explicit TwoWireAdapter(TwoWire *wire = nullptr); + + void beginTransmission(uint8_t address) override; + size_t write(uint8_t value) override; + uint8_t endTransmission() override; + uint8_t requestFrom(uint8_t address, uint8_t quantity) override; + int read() override; + int available() override; + void begin(); + + private: + TwoWire *_wire; + }; +#endif + +#pragma region DateTime + class DateTime { + public: + /** + * @brief Construct a new Date Time:: Date Time object + * + * @param unix_timestamp for setup the date time members + */ + DateTime (time_t unix_timestamp = 0); + + /** + * @brief Construct a new Date Time object + * + * @param year year YYYY as e.g. 2022 + * @param month months since January - [ 1...12 ] + * @param mday day of the month - [ 1...31 ] + * @param hour hours since midnight - [ 0...23 ] + * @param min minutes after the hour - [ 0...59 ] + * @param sec seconds after the minute - [ 0...59 ] + * @param wday weekday since Sunday, Sunday is 1 - [ 1...7 ] + * @param yday yearday since first january [0...365] + * @param dst daylight saving time / summer time + */ + DateTime (int16_t year, int8_t month, int8_t mday, + int8_t hour = 0, int8_t min = 0, int8_t sec = 0, + int8_t wday = 0, int16_t yday = 0, int16_t dst = -1); + + /** + * @brief Construct a new Date Time:: Date Time object by givin the precompiler marcos + * as __DATE__ and __TIME__ + * + * @param date as Mmm dd yyyy (e.g. "Jan 14 2012") + * @param time as HH:MM:SS (e.g. "23:59:01") + */ + DateTime (const char *date, const char *time); + + /** + * @brief Get the Year value + * + * @return int16_t year as YYYY e.g. 2022 + */ + inline int16_t getYear() const { return _tm.tm_year + 1900; } + + /** + * @brief Get the Month value + * + * @return int8_t month 1...12 + */ + int8_t getMonth() const { return _tm.tm_mon + 1; } + + /** + * @brief Get the Day value + * + * @return int8_t day 1...31 + */ + int8_t getDay() const { return _tm.tm_mday; } + + /** + * @brief Get the Hour value + * + * @return int8_t hour as 0...23 + */ + int8_t getHour() const { return _tm.tm_hour; } + + /** + * @brief Get the Minute value + * + * @return int8_t minute as 0...59 + */ + int8_t getMinute() const { return _tm.tm_min; } + + /** + * @brief Get the Second value + * + * @return int8_t second as 0...60 + */ + int8_t getSecond() const { return _tm.tm_sec; } + + /** + * @brief Get the Week Day value + * + * @return int8_t days since sunday + */ + int8_t getWeekDay() const { return _tm.tm_wday; } + + /** + * @brief Get the Year Day value + * + * @return int16_t days since January 1 as 0...365 + */ + int16_t getYearDay() const { return _tm.tm_yday; } + + /** + * @brief get daylight saving time + * + * @retval >0: DST is active + * @retval 0: DST is not active + * @retval <0: no info avalilable + */ + int16_t getDST() const { return _tm.tm_isdst; } + + /** + * @brief function to format a DateTime string in an buffer based on the standard strftime function + * + * see: https://cplusplus.com/reference/ctime/strftime/ + * or: https://en.cppreference.com/w/cpp/chrono/c/strftime + * + * @param buffer buffer for time string + * @param buffersize size of buffer + * @param formatSpec define format see strftime + * @return size_t length of used buffer + */ + size_t strf_DateTime(char *buffer, size_t buffersize, const char *formatSpec = "%a %h %d %T %Y"); + + /** + * @brief time_t value as seconds from 1/1/2000 to now. + * Difference between the Y2K and the UNIX epochs, in seconds + * + * @return time_t seconds from 1/1/2000 to now + * + */ + time_t getY2kTime() const { return _y2k_timestamp; } + + /** + * @brief Get the Unix Time value. AKA EPOCH. + * THE ABOVE COMMENT IS CORRECT FOR LOCAL TIME; TO USE THIS COMMAND TO + * OBTAIN TRUE UNIX TIME SINCE EPOCH, YOU MUST CALL THIS COMMAND AFTER + * SETTING YOUR CLOCK TO UTC + * + * @return time_t epoch since 1/1/1970 + */ + time_t getUnixTime() const { return _unix_timestamp; } + + private: + /** + * @brief Set the timestamps for _y2k_timestamp and _unix_timestamp by struct tm entries + * + */ + void set_timstamps(); + + protected: + /** + * @brief internal unix timestamp from 1/1/1970 to now + * + */ + time_t _unix_timestamp; + + /** + * @brief internal y2k timestamp from 1/1/2000 to now + * + */ + time_t _y2k_timestamp; + + /** + * @brief internal struct tm + * + */ + struct tm _tm; + }; +#pragma endregion DateTime + + class RTClib { + public: + /** + * @brief get the actual timestamp snapshot + * + * @param bus + * @return DateTime + */ + static DateTime now(BusInterface &bus); + +#if DS3231_RTC_HAS_WIRE + static DateTime now(TwoWire &_Wire = Wire); +#endif + }; + +#pragma region DS3231 + class DS3231 { + public: +#if DS3231_RTC_HAS_WIRE + /** + * @brief Construct a new DS3231::DS3231 object + * initialize the internal _Wire with the Wire object + */ + DS3231(); + + /** + * @brief Construct a new DS3231::DS3231 object + * + * @param twowire reference of TwoWire object + */ + DS3231(TwoWire &twowire); +#endif + + /** + * @brief Construct a new DS3231::DS3231 object with an injected bus + * + * @param bus abstract bus implementation for production or tests + */ + explicit DS3231(BusInterface &bus); + + // ************************************ + // Time-retrieval functions + // ************************************ + /** + * @brief Get the second of the DS3231 module + * + * @return uint8_t 0...59 + */ + uint8_t getSecond(); + + /** + * @brief Get the minute of the DS3231 module + * + * @return uint8_t 0...59 + */ + uint8_t getMinute(); + + // Get the hour of the DS3231 module, + /** + * @brief Get the hour of the DS3231 module. in addition, this function + * returns the values of the 12/24-hour flag and the AM/PM flag. + * + * @param h12 reference of h12 - true when 12 h mode + * @param PM_time reference of pm time - true when pm + * @return uint8_t 1...12 / 0...23 + */ + uint8_t getHour(bool& h12, bool& PM_time); + + /** + * @brief Get the DayOfWeek of the DS3231 module + * + * @return uint8_t 1...7 + */ + uint8_t getDoW(); + + /** + * @brief Get the date/day of the DS3231 module + * + * @return uint8_t 1...31 + */ + uint8_t getDate(); + + /** + * @brief Get the month and the century roll over bit of the DS3231 module + * + * @param century reference of century bit; toggles when value changes from 99 -> 00 + * @return uint8_t value of month 1...12 + */ + uint8_t getMonth(bool ¢ury); + + /** + * @brief Get the Year of the DS3231 module + * + * @return uint8_t 0...99 + */ + uint8_t getYear(); + + + // ************************************ + // Time-setting functions + // ************************************ + // Note that none of these check for sensibility: You can set the + // date to July 42nd and strange things will probably result. + + // set epoch function gives the epoch as parameter and feeds the RTC + // epoch = UnixTime and starts at 01.01.1970 00:00:00 + + /** + * @brief Set the DS3231 by giving the Unix Epoch. + * Seconds since January 1st 1970 00:00:00. + * HINT: => the AVR time.h lib is based on the year 2000 + * + * @param epoch seconds since 01.01.1970 00:00:00 + * @param flag_localtime true if epoch represents local timestamp false otherwise + */ + void setEpoch(time_t epoch = 0, bool flag_localtime = false); + + /** + * @brief Set the second of the DS3231 module + * This function also resets the Oscillator Stop Flag, which is set + * whenever power is interrupted. + * @param second 0...59 + */ + void setSecond(uint8_t second); + + /** + * @brief Set the Minute of the DS3231 module + * + * @param minute 0...59 + */ + void setMinute(uint8_t minute); + + + /** + * @brief Sets the hour, without changing 12/24h mode. + * The hour must be in 24h format. + * + * @param hour 0...23 + */ + void setHour(uint8_t hour); + + + /** + * @brief Sets the Day of Week of the DS3231 module + * + * @param dayOfWeek 1...7 + */ + void setDoW(uint8_t dayOfWeek); + + /** + * @brief Sets the Date/Day of the DS3231 module + * + * @param date 1...31 + */ + void setDate(uint8_t date); + + // Sets the Month of the DS3231 module + /** + * @brief Sets the Month of the DS3231 module + * + * @param month 1...12 + */ + void setMonth(uint8_t month); + + /** + * @brief Sets the Year of the DS3231 module. + * + * @param year 0...99 + */ + void setYear(uint8_t year); + + /** + * @brief Sets the clock hour to 12h format of the DS3231 module + * + */ + void set12hourMode(); + + /** + * @brief Sets the clock hour to 24h format of the DS3231 module + * + */ + void set24hourMode(); + + /** + * @brief check if 24h hour mode is active + * + * @return true if 24 h mode is set + * @return false if 12 hour mode is set + */ + bool is24hourModeActive(); + + /** + * @brief Initialize the DS3231 instance after I2C bus is ready. + * + * This should be called after Wire.begin() when using the default + * TwoWire interface, and ensures the clock is placed in 24h mode. + */ + void begin(); + + // ************************************ + // Temperature Getter function + // ************************************ + // get temperature of the DS3231 module + /** + * @brief read the internal temperature sensor of the DS3231 module + * + * @return float temperature measured in DS3231 module + */ + float getTemperature(); + + // ************************************ + // Alarm Getter functions + // ************************************ + /* Retrieves everything you could want to know about alarm + * one. + * Dy true makes the alarm go on Day = Day of Week, + * Dy false makes the alarm go on Day = Date of month. + * + * uint8_t AlarmBits sets the behavior of the alarms: + * Dy A1M4 A1M3 A1M2 A1M1 Rate + * X 1 1 1 1 Once per second + * X 1 1 1 0 Alarm when seconds match + * X 1 1 0 0 Alarm when min, sec match + * X 1 0 0 0 Alarm when hour, min, sec match + * 0 0 0 0 0 Alarm when date, h, m, s match + * 1 0 0 0 0 Alarm when DoW, h, m, s match + * + * Dy A2M4 A2M3 A2M2 Rate + * X 1 1 1 Once per minute (at seconds = 00) + * X 1 1 0 Alarm when minutes match + * X 1 0 0 Alarm when hours and minutes match + * 0 0 0 0 Alarm when date, hour, min match + * 1 0 0 0 Alarm when DoW, hour, min match + * + * Note: uint8_t AlarmBits is not explicitly cleared for the getAXTime methods to + * support sequential retrieval of both alarms with the same uint8_t AlarmBits. + * Use the flag bool clearAlarmBits=True to explicitly clear uint8_t AlarmBits on + * call to getAXTime. + */ + + /** + * @brief get the time of alarm1 + * + * @param Day + * @param Hour + * @param Minute + * @param Second + * @param AlarmBits + * @param Dy + * @param h12 + * @param PM + */ + void getA1Time(uint8_t &Day, uint8_t &Hour, uint8_t &Minute, uint8_t &Second, uint8_t &AlarmBits, bool &Dy, bool &h12, bool &PM); + + /** + * @brief getA1Time();, but A2 only goes on seconds == 00. + * + * @param Day + * @param Hour + * @param Minute + * @param AlarmBits + * @param Dy + * @param h12 + * @param PM + */ + void getA2Time(uint8_t &Day, uint8_t &Hour, uint8_t &Minute, uint8_t &AlarmBits, bool &Dy, bool &h12, bool &PM); + + /** + * @brief Same as getA1Time();, but clears uint8_t AlarmBits. + * + * @param Day + * @param Hour + * @param Minute + * @param Second + * @param AlarmBits + * @param Dy + * @param h12 + * @param PM + * @param clearAlarmBits + */ + void getA1Time(uint8_t &Day, uint8_t &Hour, uint8_t &Minute, uint8_t &Second, uint8_t &AlarmBits, bool &Dy, bool &h12, bool &PM, bool clearAlarmBits); + + + + /** + * @brief Same as getA1Time();, but clears uint8_t AlarmBits. + * + * @param Day + * @param Hour + * @param Minute + * @param AlarmBits + * @param Dy + * @param h12 + * @param PM + * @param clearAlarmBits + */ + void getA2Time(uint8_t &Day, uint8_t &Hour, uint8_t &Minute, uint8_t &AlarmBits, bool &Dy, bool &h12, bool &PM, bool clearAlarmBits); + + /** + * @brief Set the details for Alarm 1 + * + * @param Day + * @param Hour + * @param Minute + * @param Second + * @param AlarmBits + * @param Dy + * @param h12 + * @param PM + */ + void setA1Time(uint8_t Day, uint8_t Hour, uint8_t Minute, uint8_t Second, uint8_t AlarmBits, bool Dy, bool h12, bool PM); + + /** + * @brief Set the details for Alarm 2 + * + * @param Day + * @param Hour + * @param Minute + * @param AlarmBits + * @param Dy + * @param h12 + * @param PM + */ + void setA2Time(uint8_t Day, uint8_t Hour, uint8_t Minute, uint8_t AlarmBits, bool Dy, bool h12, bool PM); + + /** + * @brief Enables alarm 1 or 2 and the external interrupt pin. + * If Alarm != 1, it assumes Alarm == 2. + * + * @param alarmNumber set 1 or 2 + */ + void turnOnAlarm(uint8_t alarmNumber); + + /** + * @brief Disables alarm 1 or 2 (default is 2 if Alarm != 1), + // and leaves the interrupt pin alone. + * + * @param alarmNumber + */ + void turnOffAlarm(uint8_t alarmNumber); + + /** + * @brief checks if alarm is enabled + * + * @param alarmNumber 1 or 2 + * @return true if alarm is enabled + * @return false if alarm is disabled + */ + bool checkAlarmEnabled(uint8_t alarmNumber); + + // Checks whether the indicated alarm (1 or 2, 2 default); + // has been activated. IF clearflag is set, clears alarm flag. + /** + * @brief check if alarm has triggered + * + * @param alarmNumber 1 or 2 + * @param clearflag clears the alarm flag (default) + * @return true alarm has triggered + * @return false has not triggered + */ + bool checkIfAlarm(uint8_t alarmNumber, bool clearflag = true); + + + // ************************************ + // Oscillator functions + // ************************************ + // turns oscillator on or off. True is on, false is off. + // if battery is true, turns on even for battery-only operation, + // otherwise turns off if Vcc is off. + // frequency must be 0, 1, 2, or 3. + // 0 = 1 Hz + // 1 = 1.024 kHz + // 2 = 4.096 kHz + // 3 = 8.192 kHz (Default if frequency uint8_t is out of range); + + /** + * @brief Turns oscillator ON or OFF. + * If battery is true, turns on even for battery-only operation, + * otherwise turns off if Vcc is off. + * frequency must be 0, 1, 2, or 3. + * 0 = 1 Hz + * 1 = 1.024 kHz + * 2 = 4.096 kHz + * 3 = 8.192 kHz (Default if frequency uint8_t is out of range); + * + * @param turnOn true to turn on false otherwise + * @param onWithBattery true for battery operation also + * @param frequency set 0, 1, 2 or 3 to select frequency + */ + void enableOscillator(bool turnOn, bool onWithBattery, uint8_t frequency); + + /** + * @brief Switch ON the 32kHz output pin (true); or off (false) + * + * @param activate32kHz + */ + void enable32kHz(bool activate32kHz); + + /** + * @brief Checks the status of the Oscillator Stop Flag (OSF). + * If this returns false, then the clock is probably not + * giving you the correct time. + * The OSF is cleared by function setSecond(). + * + * @return true if oscillator is running. + * @return false if oscillator has stopped + */ + bool oscillatorCheck(); + + + private: + /** + * @brief optional adapter used for Arduino TwoWire integration + * + */ +#if DS3231_RTC_HAS_WIRE + TwoWireAdapter _wire_adapter; +#endif + + /** + * @brief abstracted bus implementation used by this instance + * + */ + BusInterface *_bus; + + BusInterface &bus() { return *_bus; } + + /** + * @brief the getter functions retrieve current values of the registers. + * + * @return uint8_t register value + */ + uint8_t getRegisterValue() { + bus().requestFrom(DS3231_Constants::DS3231_I2C_ADDRESS, 1); + return DS3231_Tools::bcdToDec(static_cast(bus().read())); + } + + /** + * @brief write register address to bus from which to read from + * + * @param register_addr address of DS3231 register + */ + void selectRegister(uint8_t register_addr); + + /** + * @brief + * + * @param register_addr address of DS3231 register + * @return uint8_t + */ + uint8_t readRegisterRaw(uint8_t register_addr); + + /** + * @brief write value into DS3231 register + * + * @param register_addr address of DS3231 register + * @param value value to write in register + */ + void writeRegister(uint8_t register_addr, uint8_t value); + + + protected: + /** + * @brief Read selected control byte. + * + * @param which (0) reads 0x0e, (1) reads 0x0f + * @return uint8_t control byte + */ + uint8_t readControlByte(bool which); + + /** + * @brief write control byte + * + * @param control byte to write + * @param which (0) writes 0x0e, (1) writes 0x0f + */ + void writeControlByte(uint8_t control, bool which); + }; +#pragma endregion DS3231 +} diff --git a/src/DS3231-RTC_Constants.h b/src/DS3231-RTC_Constants.h new file mode 100644 index 0000000..08c922a --- /dev/null +++ b/src/DS3231-RTC_Constants.h @@ -0,0 +1,41 @@ +/** + * @file DS3231-RTC_Constants.h + * @author Frank Häfele + * @brief Constants for the DS3231-RTC lib + */ + +#pragma once + +#ifndef UNIX_OFFSET + /** + * @brief Seconds from 1/1/1970 to 1/1/2000. + * AKA Difference between the Y2K and the UNIX epochs, in seconds. + * To convert a Y2K timestamp to UNIX. + * + */ + constexpr unsigned long UNIX_OFFSET {946684800UL}; +#endif + +#ifndef NTP_OFFSET + /** + * @brief Seconds from 1/1/1990 to 1/1/2000. + * AKA Difference between the Y2K and the NTP epochs, in seconds. + * To convert a Y2K timestamp to NTP. + * + */ + constexpr unsigned long NTP_OFFSET {3155673600UL}; +#endif + +namespace DS3231_Constants { + /** + * @brief I2C Address of the DS3231 Module + * + */ + constexpr unsigned int DS3231_I2C_ADDRESS {0x68}; + + /** + * @brief constant array for days in month, used for calc days in year + * + */ + constexpr uint8_t daysInMonth[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; +} \ No newline at end of file diff --git a/src/DS3231-RTC_Tools.h b/src/DS3231-RTC_Tools.h new file mode 100644 index 0000000..eb0f72a --- /dev/null +++ b/src/DS3231-RTC_Tools.h @@ -0,0 +1,65 @@ +/** + * @file DS3231-RTC_Tools.h + * @author Frank Häfele + * @brief Tools for the DS3231-RTC lib + */ + +#pragma once +#include "DS3231-RTC_Constants.h" + +namespace DS3231_Tools { + /** + * @brief Convert value to binary coded decimal + * + * @param value decimal value + * @return uint8_t binary coded decimal value + */ + constexpr inline uint8_t decToBcd(uint8_t value) { + return value + 6 * (value / 10); + } + + /** + * @brief Convert binary coded decimal to decimal number + * @param value binary coded decimal value + * @return uint8_t decimal value + */ + constexpr inline uint8_t bcdToDec(uint8_t value) { + return value - 6 * (value >> 4); + } + + /** + * @brief function which calculates if a year is a leap year + * + * @param year + * @return true + * @return false + */ + constexpr inline bool isleapYear(const int16_t year) { + // check if divisible by 4 + if (year % 4) { + return false; + } + // only check OR (second condition), when first failed + return (year % 100 || year % 400 == 0); + } + + /** + * @brief calculate the days since January 1 (0...365) + * + * @param year e.g.: 2022 + * @param month 1...12 + * @param day 1...31 + * @return int16_t + */ + constexpr int16_t calcYearDay(const int16_t year, const int8_t month, + const int8_t day) { + uint16_t days = day - 1; + for (uint8_t i = 1; i < month; ++i) { + days += DS3231_Constants::daysInMonth[i-1]; + } + if (month > 2 && isleapYear(year)) { + ++days; + } + return days; + } +} // namespace DS3231_Tools diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt new file mode 100755 index 0000000..44c5410 --- /dev/null +++ b/test/CMakeLists.txt @@ -0,0 +1,16 @@ +add_executable(test_DS3231 + ../src/DS3231-RTC.cpp + test_DS3231.cpp +) + +target_include_directories(test_DS3231 PRIVATE + ../src +) + +target_link_libraries(test_DS3231 + GTest::gmock + GTest::gtest_main +) + +include(GoogleTest) +gtest_discover_tests(test_DS3231) \ No newline at end of file diff --git a/test/test_DS3231.cpp b/test/test_DS3231.cpp new file mode 100755 index 0000000..0591ad8 --- /dev/null +++ b/test/test_DS3231.cpp @@ -0,0 +1,176 @@ +#include +#include + +#include +#include "DS3231-RTC.h" +using ::testing::Return; + +TEST(DS3231Tools_BCD, BinaryDecodedDecimalToDecimal_0) { + EXPECT_EQ(DS3231_Tools::bcdToDec(0x0), 0U); +} + +TEST(DS3231Tools_BCD, BinaryDecodedDecimalToDecimal_9) { + EXPECT_EQ(DS3231_Tools::bcdToDec(0x9), 9U); +} + +TEST(DS3231Tools_BCD, BinaryDecodedDecimalToDecimal_10) { + EXPECT_EQ(DS3231_Tools::bcdToDec(0x10), 10U); +} + +TEST(DS3231Tools_BCD, BinaryDecodedDecimalToDecimal_59) { + EXPECT_EQ(DS3231_Tools::bcdToDec(0x59), 59U); +} + +TEST(DS3231Tools_BCD, DecimalToBinaryDecodedDecimal_0) { + EXPECT_EQ(DS3231_Tools::decToBcd(0U), 0x0); +} + +TEST(DS3231Tools_BCD, DecimalToBinaryDecodedDecimal_9) { + EXPECT_EQ(DS3231_Tools::decToBcd(9U), 0x9); +} + +TEST(DS3231Tools_BCD, DecimalToBinaryDecodedDecimal_10) { + EXPECT_EQ(DS3231_Tools::decToBcd(10U), 0x10); +} + +TEST(DS3231Tools_BCD, DecimalToBinaryDecodedDecimal_59) { + EXPECT_EQ(DS3231_Tools::decToBcd(59U), 0x59); +} + +TEST(DS3231Tools_leapYear, IsLeapYear_2023) { + EXPECT_FALSE(DS3231_Tools::isleapYear(2023)); +} + +TEST(DS3231Tools_leapYear, IsLeapYear_2024) { + EXPECT_TRUE(DS3231_Tools::isleapYear(2024)); +} + +TEST(DS3231Tools_leapYear, IsLeapYear_2032) { + EXPECT_TRUE(DS3231_Tools::isleapYear(2032)); +} + +TEST(DS3231Tools_leapYear, IsLeapYear_1700) { + EXPECT_FALSE(DS3231_Tools::isleapYear(1700)); +} + +TEST(DS3231Tools_leapYear, IsLeapYear_1800) { + EXPECT_FALSE(DS3231_Tools::isleapYear(1800)); +} + +TEST(DS3231Tools_leapYear, IsLeapYear_1900) { + EXPECT_FALSE(DS3231_Tools::isleapYear(1900)); +} + +TEST(DS3231Tools_leapYear, IsLeapYear_2000) { + EXPECT_TRUE(DS3231_Tools::isleapYear(2000)); +} + +class MockBus : public DS3231::BusInterface { + public: + MOCK_METHOD(void, beginTransmission, (uint8_t address), (override)); + MOCK_METHOD(size_t, write, (uint8_t value), (override)); + MOCK_METHOD(uint8_t, endTransmission, (), (override)); + MOCK_METHOD(uint8_t, requestFrom, (uint8_t address, uint8_t quantity), (override)); + MOCK_METHOD(int, read, (), (override)); + MOCK_METHOD(int, available, (), (override)); +}; + +class DS3231MockTest : public ::testing::Test { + protected: + MockBus bus; + DS3231::DS3231 rtc{bus}; +}; + +TEST_F(DS3231MockTest, GetSecondReadsSecondRegister) { + EXPECT_CALL(bus, beginTransmission(DS3231_Constants::DS3231_I2C_ADDRESS)); + EXPECT_CALL(bus, write(0x00)).WillOnce(Return(1)); + EXPECT_CALL(bus, endTransmission()).WillOnce(Return(0)); + EXPECT_CALL(bus, requestFrom(DS3231_Constants::DS3231_I2C_ADDRESS, 1)).WillOnce(Return(1)); + EXPECT_CALL(bus, read()).WillOnce(Return(0x59)); + // DS3231 holds value in binary decoded decimal here 0x59 for 59 decimal + EXPECT_EQ(rtc.getSecond(), 59); +} + +TEST_F(DS3231MockTest, GetMinuteReadsMinuteRegister) { + EXPECT_CALL(bus, beginTransmission(DS3231_Constants::DS3231_I2C_ADDRESS)); + EXPECT_CALL(bus, write(0x01)).WillOnce(Return(1)); + EXPECT_CALL(bus, endTransmission()).WillOnce(Return(0)); + EXPECT_CALL(bus, requestFrom(DS3231_Constants::DS3231_I2C_ADDRESS, 1)).WillOnce(Return(1)); + EXPECT_CALL(bus, read()).WillOnce(Return(0x42)); + + EXPECT_EQ(rtc.getMinute(), 42); +} + +TEST_F(DS3231MockTest, GetHourReadsFlagsAndBcdValue) { + bool h12 = false; + bool pm = false; + + EXPECT_CALL(bus, beginTransmission(DS3231_Constants::DS3231_I2C_ADDRESS)); + EXPECT_CALL(bus, write(0x02)).WillOnce(Return(1)); + EXPECT_CALL(bus, endTransmission()).WillOnce(Return(0)); + EXPECT_CALL(bus, requestFrom(DS3231_Constants::DS3231_I2C_ADDRESS, 1)).WillOnce(Return(1)); + EXPECT_CALL(bus, read()).WillOnce(Return(0x63)); + + EXPECT_EQ(rtc.getHour(h12, pm), 3U); + EXPECT_TRUE(h12); + EXPECT_TRUE(pm); +} + +TEST_F(DS3231MockTest, SetHourWritesUpdatedHourRegister) { + ::testing::InSequence sequence; + + EXPECT_CALL(bus, beginTransmission(DS3231_Constants::DS3231_I2C_ADDRESS)); + EXPECT_CALL(bus, write(0x02)).WillOnce(Return(1)); + EXPECT_CALL(bus, endTransmission()).WillOnce(Return(0)); + EXPECT_CALL(bus, requestFrom(DS3231_Constants::DS3231_I2C_ADDRESS, 1)).WillOnce(Return(1)); + EXPECT_CALL(bus, read()).WillOnce(Return(0x00)); + + EXPECT_CALL(bus, beginTransmission(DS3231_Constants::DS3231_I2C_ADDRESS)); + EXPECT_CALL(bus, write(0x02)).WillOnce(Return(1)); + EXPECT_CALL(bus, write(0x23)).WillOnce(Return(1)); + EXPECT_CALL(bus, endTransmission()).WillOnce(Return(0)); + + rtc.setHour(23); +} + +TEST_F(DS3231MockTest, GetDoWReadsDoWRegister) { + EXPECT_CALL(bus, beginTransmission(DS3231_Constants::DS3231_I2C_ADDRESS)); + EXPECT_CALL(bus, write(0x03)).WillOnce(Return(1)); + EXPECT_CALL(bus, endTransmission()).WillOnce(Return(0)); + EXPECT_CALL(bus, requestFrom(DS3231_Constants::DS3231_I2C_ADDRESS, 1)).WillOnce(Return(1)); + EXPECT_CALL(bus, read()).WillOnce(Return(0x03)); + + EXPECT_EQ(rtc.getDoW(), 3U); +} + +TEST_F(DS3231MockTest, GetDayReadsDateRegister) { + EXPECT_CALL(bus, beginTransmission(DS3231_Constants::DS3231_I2C_ADDRESS)); + EXPECT_CALL(bus, write(0x04)).WillOnce(Return(1)); + EXPECT_CALL(bus, endTransmission()).WillOnce(Return(0)); + EXPECT_CALL(bus, requestFrom(DS3231_Constants::DS3231_I2C_ADDRESS, 1)).WillOnce(Return(1)); + EXPECT_CALL(bus, read()).WillOnce(Return(0x14)); + + EXPECT_EQ(rtc.getDate(), 14U); +} + +TEST_F(DS3231MockTest, GetMonthReadsMonthRegister) { + EXPECT_CALL(bus, beginTransmission(DS3231_Constants::DS3231_I2C_ADDRESS)); + EXPECT_CALL(bus, write(0x05)).WillOnce(Return(1)); + EXPECT_CALL(bus, endTransmission()).WillOnce(Return(0)); + EXPECT_CALL(bus, requestFrom(DS3231_Constants::DS3231_I2C_ADDRESS, 1)).WillOnce(Return(1)); + EXPECT_CALL(bus, read()).WillOnce(Return(0x12)); + + bool century; + EXPECT_EQ(rtc.getMonth(century), 12U); +} + +TEST_F(DS3231MockTest, GetYearReadsYearRegister) { + EXPECT_CALL(bus, beginTransmission(DS3231_Constants::DS3231_I2C_ADDRESS)); + EXPECT_CALL(bus, write(0x06)).WillOnce(Return(1)); + EXPECT_CALL(bus, endTransmission()).WillOnce(Return(0)); + EXPECT_CALL(bus, requestFrom(DS3231_Constants::DS3231_I2C_ADDRESS, 1)).WillOnce(Return(1)); + // write Year 22 (bcd 0x22 => dec 22) + EXPECT_CALL(bus, read()).WillOnce(Return(0x22)); + + EXPECT_EQ(rtc.getYear(), 22U); +} \ No newline at end of file