Loading...
Searching...
No Matches

Interface definition for the Maxim DS3231 RTC. More...

Detailed Description

Interface definition for the Maxim DS3231 RTC.

Author
Hauke Petersen hauke.nosp@m..pet.nosp@m.ersen.nosp@m.@fu-.nosp@m.berli.nosp@m.n.de

Definition in file ds3231.h.

#include <time.h>
#include <errno.h>
#include "periph/gpio.h"
#include "periph/i2c.h"
+ Include dependency graph for ds3231.h:

Go to the source code of this file.

Data Structures

struct  ds3231_t
 Device descriptor for DS3231 devices. More...
 
struct  ds3231_params_t
 Set of configuration parameters for DS3231 devices. More...
 

Macros

#define DS3231_I2C_ADDR   0x68
 Default address of DS3231 sensors.
 

Enumerations

enum  { DS3231_OPT_BAT_ENABLE = 0x01 , DS3221_OPT_32KHZ_ENABLE = 0x02 , DS3231_OPT_INTER_ENABLE = 0x04 }
 Configuration options. More...
 
enum  ds3231_alm_1_mode_t {
  DS3231_AL1_TRIG_PER_S = 0x0F , DS3231_AL1_TRIG_S = 0x0E , DS3231_AL1_TRIG_M_S = 0x0C , DS3231_AL1_TRIG_H_M_S = 0x08 ,
  DS3231_AL1_TRIG_D_H_M_S = 0x00
}
 Alarm trigger type of alarm 1 for DS3231 devices. More...
 
enum  ds3231_alm_2_mode_t { DS3231_AL2_TRIG_PER_M = 0x07 , DS3231_AL2_TRIG_M = 0x06 , DS3231_AL2_TRIG_H_M = 0x04 , DS3231_AL2_TRIG_D_H_M_S = 0x00 }
 Alarm trigger type of alarm 2 for DS3231 devices. More...
 

Functions

int ds3231_init (ds3231_t *dev, const ds3231_params_t *params)
 Initialize the given DS3231 device.
 
int ds3231_get_time (const ds3231_t *dev, struct tm *time)
 Get date and time from the device.
 
int ds3231_set_time (const ds3231_t *dev, const struct tm *time)
 Set date and time of the device.
 
int ds3231_set_alarm_1 (const ds3231_t *dev, struct tm *time, ds3231_alm_1_mode_t trigger)
 Set alarm 1 of the device.
 
int ds3231_set_alarm_2 (const ds3231_t *dev, struct tm *time, ds3231_alm_2_mode_t trigger)
 Set alarm 2 of the device.
 
int ds3231_clear_alarm_1_flag (const ds3231_t *dev)
 Clear alarm 1 flag (A1F)
 
int ds3231_clear_alarm_2_flag (const ds3231_t *dev)
 Clear alarm 2 flag (A2F)
 
int ds3231_get_alarm_1_flag (const ds3231_t *dev, bool *flag)
 Get the state of alarm 1 flag (A1F)
 
int ds3231_get_alarm_2_flag (const ds3231_t *dev, bool *flag)
 Get the state of alarm 2 flag (A2F)
 
int ds3231_toggle_alarm_1 (const ds3231_t *dev, bool enable)
 Enable/Disable alarm 1 interrupt on the device.
 
int ds3231_toggle_alarm_2 (const ds3231_t *dev, bool enable)
 Enable/Disable alarm 2 interrupt on the device.
 
int ds3231_get_aging_offset (const ds3231_t *dev, int8_t *offset)
 Get the configured aging offset (see datasheet for more information)
 
int ds3231_set_aging_offset (const ds3231_t *dev, int8_t offset)
 Set the aging offset (see datasheet for more information)
 
int ds3231_get_temp (const ds3231_t *dev, int16_t *temp)
 Get temperature from the device.
 
int ds3231_enable_bat (const ds3231_t *dev)
 Enable the backup battery.
 
int ds3231_disable_bat (const ds3231_t *dev)
 Disable the backup battery.
 
#define DS3231_FLAG_ALARM_1   0x01
 Alarm flags returned by the ds3231_await_alarm function.
 
#define DS3231_FLAG_ALARM_2   0x02