krtc.h 952 B

123456789101112131415161718192021222324252627282930313233
  1. // krtc.h :
  2. //
  3. #if !defined(AGD_KRTC_H__B461A196_A386_48D9_973F_7F8F085072E7__INCLUDED_)
  4. #define AGD_KRTC_H__B461A196_A386_48D9_973F_7F8F085072E7__INCLUDED_
  5. #include "defines.h"
  6. /////////////////////////////////////////////////////////////////////////////
  7. // krtc.h - Declarations:
  8. typedef enum
  9. {
  10. RTCT_Unknown,
  11. RTCT_MCP7940, // standard
  12. RTCT_DS3231
  13. }RTCTypes;
  14. #define KRTC_IS_VALID_RTC_TYPE(t) (((t) == RTCT_MCP7940) || ((t) == RTCT_DS3231))
  15. #define KRTC_TIMESTAMP_2000_01_01 946684800LL
  16. #define KRTC_TIMESTAMP_2100_01_01 4102444800LL
  17. /////////////////////////////////////////////////////////////////////////////
  18. int krtc_init(void);
  19. RTCTypes krtc_get_type(void);
  20. int krtc_get_date_time(struct tm *ptm);
  21. int krtc_set_date_time(const struct tm *ptm);
  22. int krtc_test_i2c(void);
  23. /////////////////////////////////////////////////////////////////////////////
  24. #endif // !defined(AGD_KRTC_H__B461A196_A386_48D9_973F_7F8F085072E7__INCLUDED_)