Loading...
Searching...
No Matches
max31343_internal.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2026 Technische Universität Hamburg
3 * SPDX-License-Identifier: LGPL-2.1-only
4 */
5
6#pragma once
7
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
19#include <stdint.h>
20
21#define MAX31343_I2C_ADDR (0x68U)
22
23/* Status/Config registers */
24#define MAX31343_REG_STATUS (0x00U)
25#define MAX31343_REG_INT_EN (0x01U)
26#define MAX31343_REG_RTC_RESET (0x02U)
27#define MAX31343_REG_RTC_CFG1 (0x03U)
28#define MAX31343_REG_RTC_CFG2 (0x04U)
29#define MAX31343_REG_TIMER_CFG (0x05U)
30#define MAX31343_REG_TEMP_MSB (0x1AU)
31#define MAX31343_REG_TEMP_LSB (0x1BU)
32#define MAX31343_REG_TS_CONFIG (0x1CU)
33
34#define MAX31343_REG_TIME0 (0x06U)
35#define MAX31343_TIME_LEN (7U)
36
37#define MAX31343_RTC_CFG1_ENOSC (1U << 1)
38
39#define MAX31343_RTC_CFG2_SQW_HZ_MASK (0x07U)
40
41#define MAX31343_MONTH_CENTURY (1U << 7)
42
43#define MAX31343_TS_AUTOMODE (1U << 7)
44#define MAX31343_TS_TTSINT_MASK (0x38U)
45#define MAX31343_TS_TTSINT_SHIFT (3U)
46
47#define MAX31343_REG_ALM1_SEC (0x0DU)
48#define MAX31343_REG_ALM1_MIN (0x0EU)
49#define MAX31343_REG_ALM1_HRS (0x0FU)
50#define MAX31343_REG_ALM1_DAY_DATE (0x10U)
51#define MAX31343_REG_ALM1_MON (0x11U)
52#define MAX31343_REG_ALM1_YEAR (0x12U)
53#define MAX31343_ALM1_LEN (6U)
54
55#define MAX31343_ALM_MASK_BIT (1U << 7)
56#define MAX31343_ALM_DY_DT (1U << 6)
57
58#define MAX31343_STATUS_A1F (1U << 0)
59#define MAX31343_STATUS_A2F (1U << 1)
60#define MAX31343_STATUS_OSF (1U << 6)
62
63#define MAX31343_INTEN_A1IE (1U << 0)
64#define MAX31343_INTEN_A2IE (1U << 1)
65
66#define MAX31343_REG_TRICKLE (0x19U)
67#define MAX31343_TRICKLE_TCHE_SHIFT (4U)
68#define MAX31343_TRICKLE_TCHE_MASK (0xF0U)
69#define MAX31343_TRICKLE_TCHE_ENABLE (0x5U)
71#define MAX31343_TRICKLE_D_MASK (0x0FU)
72#define MAX31343_TRICKLE_D_CHARGER_OFF (1U << 3)
73#define MAX31343_TRICKLE_D_DIODE (1U << 2)
75#define MAX31343_TRICKLE_D_RES_MASK (0x03U)
76
77#ifdef __cplusplus
78}
79#endif