All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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