r_pdl_rtc.h 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. /*""FILE COMMENT""*******************************************************
  2. * System Name : Real-time clock API for RX62Nxx
  3. * File Name : r_pdl_rtc.h
  4. * Version : 1.02
  5. * Contents : RTC function prototypes
  6. * Customer :
  7. * Model :
  8. * Order :
  9. * CPU : RX
  10. * Compiler : RXC
  11. * OS :
  12. * Programmer :
  13. * Note :
  14. ************************************************************************
  15. * Copyright, 2011. Renesas Electronics Corporation
  16. * and Renesas Solutions Corporation
  17. ************************************************************************
  18. * History : 2011.04.08
  19. * : Ver 1.02
  20. * : CS-5 release.
  21. *""FILE COMMENT END""**************************************************/
  22. #ifndef R_PDL_RTC_H
  23. #define R_PDL_RTC_H
  24. #include "r_pdl_common_defs_RX62Nxx.h"
  25. /* Function prototypes */
  26. bool R_RTC_Create(
  27. uint32_t,
  28. uint32_t,
  29. uint32_t,
  30. uint32_t,
  31. uint32_t,
  32. void *,
  33. uint8_t,
  34. void *,
  35. uint8_t
  36. );
  37. bool R_RTC_Control(
  38. uint32_t,
  39. uint16_t,
  40. uint32_t,
  41. uint32_t,
  42. uint32_t,
  43. uint32_t
  44. );
  45. bool R_RTC_Read(
  46. uint8_t *,
  47. uint32_t *,
  48. uint32_t *
  49. );
  50. /* Alarm control */
  51. #define PDL_RTC_ALARM_HOUR_DISABLE 0x00000001ul
  52. #define PDL_RTC_ALARM_HOUR_ENABLE 0x00000002ul
  53. #define PDL_RTC_ALARM_MINUTE_DISABLE 0x00000004ul
  54. #define PDL_RTC_ALARM_MINUTE_ENABLE 0x00000008ul
  55. #define PDL_RTC_ALARM_SECOND_DISABLE 0x00000010ul
  56. #define PDL_RTC_ALARM_SECOND_ENABLE 0x00000020ul
  57. #define PDL_RTC_ALARM_YEAR_DISABLE 0x00000040ul
  58. #define PDL_RTC_ALARM_YEAR_ENABLE 0x00000080ul
  59. #define PDL_RTC_ALARM_MONTH_DISABLE 0x00000100ul
  60. #define PDL_RTC_ALARM_MONTH_ENABLE 0x00000200ul
  61. #define PDL_RTC_ALARM_DAY_DISABLE 0x00000400ul
  62. #define PDL_RTC_ALARM_DAY_ENABLE 0x00000800ul
  63. #define PDL_RTC_ALARM_DOW_DISABLE 0x00001000ul
  64. #define PDL_RTC_ALARM_DOW_ENABLE 0x00002000ul
  65. #define PDL_RTC_ALARM_TIME_DISABLE \
  66. (PDL_RTC_ALARM_HOUR_DISABLE | PDL_RTC_ALARM_MINUTE_DISABLE | PDL_RTC_ALARM_SECOND_DISABLE)
  67. #define PDL_RTC_ALARM_TIME_ENABLE \
  68. (PDL_RTC_ALARM_HOUR_ENABLE | PDL_RTC_ALARM_MINUTE_ENABLE | PDL_RTC_ALARM_SECOND_ENABLE)
  69. #define PDL_RTC_ALARM_DATE_DISABLE \
  70. (PDL_RTC_ALARM_YEAR_DISABLE | PDL_RTC_ALARM_MONTH_DISABLE | \
  71. PDL_RTC_ALARM_DAY_DISABLE | PDL_RTC_ALARM_DOW_DISABLE)
  72. #define PDL_RTC_ALARM_DATE_ENABLE \
  73. (PDL_RTC_ALARM_YEAR_ENABLE | PDL_RTC_ALARM_MONTH_ENABLE | \
  74. PDL_RTC_ALARM_DAY_ENABLE | PDL_RTC_ALARM_DOW_ENABLE)
  75. /* Periodic interrupt selection */
  76. #define PDL_RTC_PERIODIC_DISABLE 0x00004000ul
  77. #define PDL_RTC_PERIODIC_256_HZ 0x00008000ul
  78. #define PDL_RTC_PERIODIC_64_HZ 0x00010000ul
  79. #define PDL_RTC_PERIODIC_16_HZ 0x00020000ul
  80. #define PDL_RTC_PERIODIC_4_HZ 0x00040000ul
  81. #define PDL_RTC_PERIODIC_2_HZ 0x00080000ul
  82. #define PDL_RTC_PERIODIC_1_HZ 0x00100000ul
  83. #define PDL_RTC_PERIODIC_2S 0x00200000ul
  84. /* Clock output control */
  85. #define PDL_RTC_OUTPUT_DISABLE 0x00400000ul
  86. #define PDL_RTC_OUTPUT_ENABLE 0x00800000ul
  87. /* Clock control */
  88. #define PDL_RTC_CLOCK_STOP 0x01000000ul
  89. #define PDL_RTC_CLOCK_START 0x02000000ul
  90. /* 30-second adjustment control */
  91. #define PDL_RTC_ADJUST_START 0x04000000ul
  92. /* Reset control */
  93. #define PDL_RTC_RESET_START 0x08000000ul
  94. /* Current time counter selection */
  95. #define PDL_RTC_UPDATE_CURRENT_HOUR 0x0001u
  96. #define PDL_RTC_UPDATE_CURRENT_MINUTE 0x0002u
  97. #define PDL_RTC_UPDATE_CURRENT_SECOND 0x0004u
  98. #define PDL_RTC_UPDATE_CURRENT_TIME \
  99. (PDL_RTC_UPDATE_CURRENT_HOUR | PDL_RTC_UPDATE_CURRENT_MINUTE | PDL_RTC_UPDATE_CURRENT_SECOND)
  100. /* Current date counter selection */
  101. #define PDL_RTC_UPDATE_CURRENT_YEAR 0x0008u
  102. #define PDL_RTC_UPDATE_CURRENT_MONTH 0x0010u
  103. #define PDL_RTC_UPDATE_CURRENT_DAY 0x0020u
  104. #define PDL_RTC_UPDATE_CURRENT_DOW 0x0040u
  105. #define PDL_RTC_UPDATE_CURRENT_DATE \
  106. (PDL_RTC_UPDATE_CURRENT_YEAR | PDL_RTC_UPDATE_CURRENT_MONTH | PDL_RTC_UPDATE_CURRENT_DAY | PDL_RTC_UPDATE_CURRENT_DOW)
  107. /* Alarm time counter selection */
  108. #define PDL_RTC_UPDATE_ALARM_HOUR 0x0080u
  109. #define PDL_RTC_UPDATE_ALARM_MINUTE 0x0100u
  110. #define PDL_RTC_UPDATE_ALARM_SECOND 0x0200u
  111. #define PDL_RTC_UPDATE_ALARM_TIME \
  112. (PDL_RTC_UPDATE_ALARM_HOUR | PDL_RTC_UPDATE_ALARM_MINUTE | PDL_RTC_UPDATE_ALARM_SECOND)
  113. /* Alarm date counter selection */
  114. #define PDL_RTC_UPDATE_ALARM_YEAR 0x0400u
  115. #define PDL_RTC_UPDATE_ALARM_MONTH 0x0800u
  116. #define PDL_RTC_UPDATE_ALARM_DAY 0x1000u
  117. #define PDL_RTC_UPDATE_ALARM_DOW 0x2000u
  118. #define PDL_RTC_UPDATE_ALARM_DATE \
  119. (PDL_RTC_UPDATE_ALARM_YEAR | PDL_RTC_UPDATE_ALARM_MONTH | PDL_RTC_UPDATE_ALARM_DAY | PDL_RTC_UPDATE_ALARM_DOW)
  120. #endif
  121. /* End of file */