stmhal: Add documentation for RTC class.
This commit is contained in:
parent
7a14022604
commit
451f78d156
35
stmhal/rtc.c
35
stmhal/rtc.c
|
@ -9,6 +9,12 @@
|
|||
#include "runtime.h"
|
||||
#include "rtc.h"
|
||||
|
||||
/// \moduleref pyb
|
||||
/// \class RTC - real time clock
|
||||
///
|
||||
/// The RTC is and independent clock that keeps track of the date
|
||||
/// and time.
|
||||
|
||||
RTC_HandleTypeDef RTCHandle;
|
||||
|
||||
// rtc_info indicates various things about RTC startup
|
||||
|
@ -159,13 +165,13 @@ void rtc_init(void) {
|
|||
// fresh reset; configure RTC Calendar
|
||||
RTC_CalendarConfig();
|
||||
} else {
|
||||
// RTC was previously set, so leave it alon
|
||||
// RTC was previously set, so leave it alone
|
||||
if(__HAL_RCC_GET_FLAG(RCC_FLAG_PORRST) != RESET) {
|
||||
// power on reset occured
|
||||
// power on reset occurred
|
||||
rtc_info |= 0x10000;
|
||||
}
|
||||
if(__HAL_RCC_GET_FLAG(RCC_FLAG_PINRST) != RESET) {
|
||||
// external reset occured
|
||||
// external reset occurred
|
||||
rtc_info |= 0x20000;
|
||||
}
|
||||
// Clear source Reset Flag
|
||||
|
@ -213,6 +219,8 @@ typedef struct _pyb_rtc_obj_t {
|
|||
|
||||
STATIC const pyb_rtc_obj_t pyb_rtc_obj = {{&pyb_rtc_type}};
|
||||
|
||||
/// \classmethod \constructor()
|
||||
/// Create an RTC object.
|
||||
STATIC mp_obj_t pyb_rtc_make_new(mp_obj_t type_in, uint n_args, uint n_kw, const mp_obj_t *args) {
|
||||
// check arguments
|
||||
mp_arg_check_num(n_args, n_kw, 0, 0, false);
|
||||
|
@ -221,11 +229,32 @@ STATIC mp_obj_t pyb_rtc_make_new(mp_obj_t type_in, uint n_args, uint n_kw, const
|
|||
return (mp_obj_t)&pyb_rtc_obj;
|
||||
}
|
||||
|
||||
/// \method info()
|
||||
/// Get information about the startup time and reset source.
|
||||
///
|
||||
/// - The lower 0xffff are the number of milliseconds the RTC took to
|
||||
/// start up.
|
||||
/// - Bit 0x10000 is set if a power-on reset occurred.
|
||||
/// - Bit 0x20000 is set if an external reset occurred
|
||||
mp_obj_t pyb_rtc_info(mp_obj_t self_in) {
|
||||
return mp_obj_new_int(rtc_info);
|
||||
}
|
||||
MP_DEFINE_CONST_FUN_OBJ_1(pyb_rtc_info_obj, pyb_rtc_info);
|
||||
|
||||
/// \method datetime([datetimetuple])
|
||||
/// Get or set the date and time of the RTC.
|
||||
///
|
||||
/// With no arguments, this method returns an 8-tuple with the current
|
||||
/// date and time. With 1 argument (being an 8-tuple) it sets the date
|
||||
/// and time.
|
||||
///
|
||||
/// The 8-tuple has the following format:
|
||||
///
|
||||
/// (year, month, day, weekday, hours, minutes, seconds, subseconds)
|
||||
///
|
||||
/// `weekday` is 1-7 for Monday through Sunday.
|
||||
///
|
||||
/// `subseconds` is 0-59.
|
||||
mp_obj_t pyb_rtc_datetime(uint n_args, const mp_obj_t *args) {
|
||||
if (n_args == 1) {
|
||||
// get date and time
|
||||
|
|
Loading…
Reference in New Issue