DS3231M  v1.0.6
Arduino library to use the Maxim Integrated DS3231M RTC (Real-Time-Clock)
Arduino Library Header to access the Maxim DS3231M Real Time Clock

Description

Class definition header for the DS3231M real-time-clock from Maxim integrated, described at https://www.maximintegrated.com/en/products/digital/real-time-clocks/DS3231M.html. The DS3231M's data sheet is located at https://datasheets.maximintegrated.com/en/ds/DS3231M.pdf

The most recent version of this library can be found at https://github.com/Zanduino/DS3231M and a detailed library description is on the library's wiki at https://github.com/Zanduino/DS3231M/wiki

Use is made of portions of Adafruit's RTClib Version 1.2.0 at https://github.com/adafruit/RTClib which is a fork of the original RTClib from Jeelabs. The code encompasses simple classes for time and date.

clang-format

Part of the GitHub actions for CI is running every source file through "clang-format" to ensure that coding formatting is done the same for all files. The configuration file ".clang-format" is located at https://github.com/Zanduino/Common/tree/main/clang-format and this is used for CI tests when pushing to GitHub. The local file, if present in the root directory, is ignored when committing and uploading.

GNU General Public License v3.0

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Author

Written by Arnd Arnd@.nosp@m.Zand.nosp@m.uino..nosp@m.Com at https://www.github.com/SV-Zanshin

Changelog

VersionDate Developer Comments
1.0.11 2023-06-14 capitainekurckIssue #24 - IsAlarm() ignores status bits
1.0.10 2023-05-03 capitainekurckIssue #23 - Corrected formula for leap year calculation
1.0.9 2022-06-29 Levent-Keskin Issue #22 - Corrected formula for DOW calculation for #22
1.0.9 2022-06-29 Levent-Keskin Issue #22 - DOW range incorrect
1.0.9 2021-12-27 lagg070988 Issue #17 - fixed error in setting compiled library date
1.0.8 2021-12-12 lagg070988 Issue #18 - fixed error in constants for square wave
1.0.7 2021-12-12 lagg070988 Issue #18 - add variable square wave for DS3231
1.0.5 2020-09-28 gvisca44 Issue #13 - add function "isStopped()"
1.0.5 2020-09-28 SV-Zanshin Issue #14 - Reformat using clang-format
1.0.4 2020-05-17 neocao123 Issue #12 - overflow on hours was allowed
1.0.4 2020-05-17 SV-Zanshin Cleaned up comments
1.0.4 2019-08-18 lagg070988 Issue #9 - PinAlarm & PinSquareWave logic corrected
1.0.4 2019-02-02 SV-Zanshin Issue #8 - converted documentation to doxygen
1.0.3 2019-01-27 SV-Zanshin Issue #4 - incorrect datatype for I2C causes overflow
1.0.2 2018-07-02 SV-Zanshin Added guard code against multiple I2C Speed definitions
1.0.2 2018-06-30 SV-Zanshin Issue #3 - Allow 400KHz I2C bus speed to be set
1.0.0 2017-08-19 SV-Zanshin Initial release
1.0.0b 2017-08-13 SV-Zanshin Initial coding