/* * File: max31329.h * Author: thebears * * Created on December 18, 2024, 1:24 PM */ #include "defines.h" #include "i2c.h" #include "rfm69.h" #include "st25dv.h" #include "uart.h" #ifndef MAX31329_H #define MAX31329_H #ifdef __cplusplus extern "C" { #endif #define I2C_ADDR 0x68 #define DEC2BCD(n) ((n) + (6 * ((n) / 10))) #define BCD2DEC(n) ((n) - (6 * ((n) >> 4))) // time_struct.Year is years since 2000, which is exactly what the RTC's 2-digit // year register holds -- no offset. (The old +/-30 round-tripped but stored the // wrong year in the RTC and overflowed BCD above 2069.) #define tmYearToY2k(Y) (Y) #define y2kYearToTm(Y) (Y) uint8_t rtc_enable_interrupts(void); uint8_t rtc_set_per_minute_alarm(void); uint8_t rtc_read_time_array(uint8_t* data); time_struct rtc_read_time(void); uint8_t rtc_write_time(time_struct tm); uint8_t rtc_set_alarm_config(void); uint8_t rtc_read_status_register(void); uint8_t rtc_read_interrupt_register(void); uint8_t rtc_read_register(uint8_t addr); void uart_print_rtc_time(time_struct td); RTC_RFM69_STATUS set_time_from_rfm69(identifier_results id_data); #ifdef __cplusplus } #endif #endif /* MAX31329_H */