Skip to content

File DS3231M.h

FileList > firmware > DS3231M.h

Go to the source code of this file

This file implements functionalities for the DS3231M RTC module.More...

  • #include <Arduino.h>
  • #include <Wire.h>

Classes

Type Name
class DS3231M
Class for DS3231M RTC communication.
class DateTime
Helper class to conveniently handle date and time.

Public Types

Type Name
enum eAlarmType_t
Enumeration to define the available alarm types.

Macros

Type Name
define DS3231M_IIC_ADDRESS 0x68
Default I2C address of DS3231M .
define DS3231M_REG_ALARM1_DAY 0X0A
Alarm 1 day/day of the week register.
define DS3231M_REG_ALARM1_HOUR 0X09
Alarm 1 hours register.
define DS3231M_REG_ALARM1_MIN 0X08
Alarm 1 minutes register.
define DS3231M_REG_ALARM1_SEC 0X07
Alarm 1 seconds register.
define DS3231M_REG_ALARM2_DAY 0X0D
Alarm 2 day/day of the week register.
define DS3231M_REG_ALARM2_HOUR 0X0C
Alarm 2 hours register.
define DS3231M_REG_ALARM2_MIN 0X0B
Alarm 2 minutes register.
define DS3231M_REG_CTRL 0X0E
Control register.
define DS3231M_REG_RTC_DATE 0X04
RTC day of the month register.
define DS3231M_REG_RTC_DAY 0X03
RTC day of the week register.
define DS3231M_REG_RTC_HOUR 0X02
RTC hours register.
define DS3231M_REG_RTC_MIN 0X01
RTC minutes register.
define DS3231M_REG_RTC_MONTH 0X05
RTC month register.
define DS3231M_REG_RTC_SEC 0X00
RTC seconds register.
define DS3231M_REG_RTC_YEAR 0X06
RTC year register.
define DS3231M_REG_STATUS 0X0F
Status register.
define DS3231M_REG_TEMP 0X11
Temperature register.
define SECONDS_FROM_1970_TO_2000 946684800
Constant to convert seconds from 1970 to seconds from 2000.

Detailed Description

Provides methods for reading and setting time and date, managing alarms and other RTC configurations.

Author:

[ALD-DSL/ATARI_RESEARCH_LAB]

Date:

[2024-07-22/2025-10-15]

Version:

2.0

Copyright:

GNU General Public License version 3 or later

Note:

This module is based on the DFRobot library for DS3231M https://github.com/DFRobot/DFRobot_DS3231M

Copyright 2010 DFRobot Co.Ltd

License: MIT License

Public Types Documentation

enum eAlarmType_t

Enumeration to define the available alarm types.

enum eAlarmType_t {
    eEverySecond,
    eEveryMinute,
    eEveryHour,
    eEveryDay,
    eEveryWeek,
    eEveryMonth
};


Macro Definition Documentation

define DS3231M_IIC_ADDRESS

Default I2C address of DS3231M .

#define DS3231M_IIC_ADDRESS `0x68`


define DS3231M_REG_ALARM1_DAY

Alarm 1 day/day of the week register.

#define DS3231M_REG_ALARM1_DAY `0X0A`


define DS3231M_REG_ALARM1_HOUR

Alarm 1 hours register.

#define DS3231M_REG_ALARM1_HOUR `0X09`


define DS3231M_REG_ALARM1_MIN

Alarm 1 minutes register.

#define DS3231M_REG_ALARM1_MIN `0X08`


define DS3231M_REG_ALARM1_SEC

Alarm 1 seconds register.

#define DS3231M_REG_ALARM1_SEC `0X07`


define DS3231M_REG_ALARM2_DAY

Alarm 2 day/day of the week register.

#define DS3231M_REG_ALARM2_DAY `0X0D`


define DS3231M_REG_ALARM2_HOUR

Alarm 2 hours register.

#define DS3231M_REG_ALARM2_HOUR `0X0C`


define DS3231M_REG_ALARM2_MIN

Alarm 2 minutes register.

#define DS3231M_REG_ALARM2_MIN `0X0B`


define DS3231M_REG_CTRL

Control register.

#define DS3231M_REG_CTRL `0X0E`


define DS3231M_REG_RTC_DATE

RTC day of the month register.

#define DS3231M_REG_RTC_DATE `0X04`


define DS3231M_REG_RTC_DAY

RTC day of the week register.

#define DS3231M_REG_RTC_DAY `0X03`


define DS3231M_REG_RTC_HOUR

RTC hours register.

#define DS3231M_REG_RTC_HOUR `0X02`


define DS3231M_REG_RTC_MIN

RTC minutes register.

#define DS3231M_REG_RTC_MIN `0X01`


define DS3231M_REG_RTC_MONTH

RTC month register.

#define DS3231M_REG_RTC_MONTH `0X05`


define DS3231M_REG_RTC_SEC

RTC seconds register.

#define DS3231M_REG_RTC_SEC `0X00`


define DS3231M_REG_RTC_YEAR

RTC year register.

#define DS3231M_REG_RTC_YEAR `0X06`


define DS3231M_REG_STATUS

Status register.

#define DS3231M_REG_STATUS `0X0F`


define DS3231M_REG_TEMP

Temperature register.

#define DS3231M_REG_TEMP `0X11`


define SECONDS_FROM_1970_TO_2000

Constant to convert seconds from 1970 to seconds from 2000.

#define SECONDS_FROM_1970_TO_2000 `946684800`



The documentation for this class was generated from the following file firmware/DS3231M.h