// RTC业务驱动
// 杭州秒寻科技有限公司
// 周涛
// 2025-02-28

#ifndef __DRIVERAPP_RTC_H__
#define __DRIVERAPP_RTC_H__

#include "sysdef.h"

#define RTC_SLAVE_ADDRESS 0xD0 // RTC从机地址

// DAC寄存器地址
#define RTC_REG_ADDRESS_SECOND 0x00 // 秒
#define RTC_REG_ADDRESS_MINUTE 0x01 // 分
#define RTC_REG_ADDRESS_HOUR 0x02   // 小时
#define RTC_REG_ADDRESS_WEEK 0x03   // 星期
#define RTC_REG_ADDRESS_DAY 0x04    // 日
#define RTC_REG_ADDRESS_MONTH 0x05  // 月
#define RTC_REG_ADDRESS_YEAR 0x06   // 年

// 供外部使用接口
uint8 driverapp_rtc_init();
uint8 driverapp_rtc_set_current_datetime(uint8 year, uint8 month, uint8 date, uint8 hour, uint8 minute, uint8 second);
uint8 driverapp_rtc_get_current_datetime(uint8 *pbyYear, uint8 *pbyMonth, uint8 *pbyDay, uint8 *pbyHour, uint8 *pbyMinute, uint8 *pbySecond);
// 内部接口
uint8 driverapp_rtc_write_data(uint8 byRegAddress, uint8 *pbyData, uint16 wLen);
uint8 driverapp_rtc_read_data(uint8 byRegAddress, uint8 *pbyData, uint16 wLen);
uint8 driverapp_rtc_set_init_time();
uint8 driverapp_rtc_read_hour_minute(uint8 *pbyHour, uint8 *pbyMinute);
uint8 driverapp_rtc_decimal_to_bcd(uint8 decimal);
uint8 driverapp_rtc_bcd_to_decimal(uint8 bcd);

#endif
