ATY_LIB V2_102_230218
ATY_LIB for general devices or ALGO
 
Loading...
Searching...
No Matches
ds3231.h
Go to the documentation of this file.
1// Copyright 2021 IOsetting <iosetting(at)outlook.com>
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15#ifndef __FW_DS3231_H__
16#define __FW_DS3231_H__
17
18
19#include "fw_hal.h"
20
21#define DS3231_I2C_ADDR 0xD0
23#define DS3231_REG_SECOND 0x00
24#define DS3231_REG_MINUTE 0x01
25#define DS3231_REG_HOUR 0x02
26#define DS3231_REG_WEEK 0x03
27#define DS3231_REG_DATE 0x04
28#define DS3231_REG_MONTH 0x05
29#define DS3231_REG_YEAR 0x06
30#define DS3231_REG_ALARM1_SECOND 0x07
31#define DS3231_REG_ALARM1_MINUTE 0x08
32#define DS3231_REG_ALARM1_HOUR 0x09
33#define DS3231_REG_ALARM1_WEEK 0x0A
34#define DS3231_REG_ALARM2_MINUTE 0x0B
35#define DS3231_REG_ALARM2_HOUR 0x0C
36#define DS3231_REG_ALARM2_WEEK 0x0D
37#define DS3231_REG_CONTROL 0x0E
38#define DS3231_REG_STATUS 0x0F
39#define DS3231_REG_XTAL 0x10
40#define DS3231_REG_TEMPERATUREH 0x11
41#define DS3231_REG_TEMPERATUREL 0x12
44typedef enum
45{
49
50typedef enum
51{
52 DS3231_AM = 0x00,
53 DS3231_PM = 0x01,
55
56typedef enum
57{
61
62typedef enum
63{
67
68typedef enum
69{
73
74typedef enum
75{
83
84typedef enum
85{
92
93
95
116
121
127
128#endif
DS3231_PinType_t
Definition: ds3231.h:57
@ DS3231_PIN_INTERRUPT
Definition: ds3231.h:59
@ DS3231_PIN_SQUARE_WAVE
Definition: ds3231.h:58
uint8_t DS3231_SetAlarmInterrupt(DS3231_Alarm_t alarm, HAL_State_t state)
Definition: ds3231.c:191
DS3231_AmPm_t
Definition: ds3231.h:51
@ DS3231_PM
Definition: ds3231.h:53
@ DS3231_AM
Definition: ds3231.h:52
uint8_t DS3231_SetAlarm1(uint8_t *t, DS3231_Alarm1Mode_t mode)
Definition: ds3231.c:241
uint8_t DS3231_GetPin(DS3231_PinType_t *pin)
Definition: ds3231.c:143
uint8_t DS3231_SetAlarm2(uint8_t *t, DS3231_Alarm2Mode_t mode)
Definition: ds3231.c:316
uint8_t DS3231_SetSquareOutputState(HAL_State_t state)
Definition: ds3231.c:172
DS3231_HourFormat_t
Definition: ds3231.h:63
@ DS3231_FORMAT_24H
Definition: ds3231.h:65
@ DS3231_FORMAT_12H
Definition: ds3231.h:64
uint8_t DS3231_GetStatus(void)
Definition: ds3231.c:34
DS3231_Alarm2Mode_t
Definition: ds3231.h:85
@ DS3231_ALARM2_MODE_ONCE_A_MINUTE
Definition: ds3231.h:86
@ DS3231_ALARM2_MODE_WEEK_HOUR_MINUTE_MATCH
Definition: ds3231.h:90
@ DS3231_ALARM2_MODE_HOUR_MINUTE_MATCH
Definition: ds3231.h:88
@ DS3231_ALARM2_MODE_MINUTE_MATCH
Definition: ds3231.h:87
@ DS3231_ALARM2_MODE_DATE_HOUR_MINUTE_MATCH
Definition: ds3231.h:89
uint8_t ds3231_GetSquareOutputState(HAL_State_t *state)
Definition: ds3231.c:163
uint8_t DS3231_SetPin(DS3231_PinType_t *pin)
Definition: ds3231.c:153
DS3231_Alarm1Mode_t
Definition: ds3231.h:75
@ DS3231_ALARM1_MODE_WEEK_HOUR_MINUTE_SECOND_MATCH
Definition: ds3231.h:81
@ DS3231_ALARM1_MODE_ONCE_A_SECOND
Definition: ds3231.h:76
@ DS3231_ALARM1_MODE_MINUTE_SECOND_MATCH
Definition: ds3231.h:78
@ DS3231_ALARM1_MODE_SECOND_MATCH
Definition: ds3231.h:77
@ DS3231_ALARM1_MODE_HOUR_MINUTE_SECOND_MATCH
Definition: ds3231.h:79
@ DS3231_ALARM1_MODE_DATE_HOUR_MINUTE_SECOND_MATCH
Definition: ds3231.h:80
uint8_t DS3231_GetAlarm2(uint8_t *t, DS3231_Alarm2Mode_t *mode)
Definition: ds3231.c:274
uint8_t DS3231_ClearAlarm(DS3231_Alarm_t alarm)
Definition: ds3231.c:346
uint8_t DS3231_SetTime(uint8_t *t)
Definition: ds3231.c:78
uint8_t DS3231_GetAlarm1(uint8_t *t, DS3231_Alarm1Mode_t *mode)
Definition: ds3231.c:201
DS3231_Alarm_t
Definition: ds3231.h:45
@ DS3231_ALARM_2
Definition: ds3231.h:47
@ DS3231_ALARM_1
Definition: ds3231.h:46
uint8_t DS3231_GetAlarmInterrupt(DS3231_Alarm_t alarm, HAL_State_t *state)
Definition: ds3231.c:182
uint8_t DS3231_GetTime(uint8_t *t)
Definition: ds3231.c:40
DS3231_AlarmStatus_t
Definition: ds3231.h:69
@ DS3231_STATUS_ALARM_1
Definition: ds3231.h:71
@ DS3231_STATUS_ALARM_2
Definition: ds3231.h:70
HAL_State_t
Definition: fw_types.h:69
unsigned char uint8_t
Definition: fw_types.h:18