Merge pull request #2242 from theacodes/fix-1563

Improve documentation for `rtc`.
This commit is contained in:
Dan Halbert 2019-10-28 14:46:54 -04:00 committed by GitHub
commit 0192268f67
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 28 additions and 11 deletions

View File

@ -57,7 +57,23 @@ STATIC mp_obj_t rtc_rtc_make_new(const mp_obj_type_t *type, size_t n_args, const
//| .. attribute:: datetime //| .. attribute:: datetime
//| //|
//| The date and time of the RTC. //| The current date and time of the RTC as a `time.struct_time`.
//|
//| This must be set to the current date and time whenever the board loses power::
//|
//| import rtc
//| import time
//|
//| r = rtc.RTC()
//| r.datetime = rtctime.struct_time((2019, 5, 29, 15, 14, 15, 0, -1, -1))
//|
//|
//| Once set, the RTC will automatically update this value as time passes. You can read this
//| property to get a snapshot of the current time::
//|
//| current_time = r.datetime
//| print(current_time)
//| # struct_time(tm_year=2019, tm_month=5, ...)
//| //|
STATIC mp_obj_t rtc_rtc_obj_get_datetime(mp_obj_t self_in) { STATIC mp_obj_t rtc_rtc_obj_get_datetime(mp_obj_t self_in) {
timeutils_struct_time_t tm; timeutils_struct_time_t tm;
@ -83,9 +99,10 @@ const mp_obj_property_t rtc_rtc_datetime_obj = {
//| .. attribute:: calibration //| .. attribute:: calibration
//| //|
//| The RTC calibration value. //| The RTC calibration value as an `int`.
//|
//| A positive value speeds up the clock and a negative value slows it down. //| A positive value speeds up the clock and a negative value slows it down.
//| Range and value is hardware specific, but one step is often approx. 1 ppm. //| Range and value is hardware specific, but one step is often approximately 1 ppm.
//| //|
STATIC mp_obj_t rtc_rtc_obj_get_calibration(mp_obj_t self_in) { STATIC mp_obj_t rtc_rtc_obj_get_calibration(mp_obj_t self_in) {
int calibration = common_hal_rtc_get_calibration(); int calibration = common_hal_rtc_get_calibration();

View File

@ -36,12 +36,13 @@
//| //|
//| .. module:: rtc //| .. module:: rtc
//| :synopsis: Real Time Clock //| :synopsis: Real Time Clock
//| :platform: SAMD21 //| :platform: SAMD21, SAMD51, nRF52
//| //|
//| The `rtc` module provides support for a Real Time Clock. //| The `rtc` module provides support for a Real Time Clock. You can access and manage the
//| It also backs the `time.time()` and `time.localtime()` functions using the onboard RTC if present. //| RTC using :class:`rtc.RTC`. It also backs the :func:`time.time` and :func:`time.localtime`
//| functions using the onboard RTC if present.
//| //|
//| Libraries //| Classes
//| //|
//| .. toctree:: //| .. toctree::
//| :maxdepth: 3 //| :maxdepth: 3
@ -63,10 +64,9 @@ mp_obj_t rtc_get_time_source_time(void) {
//| .. function:: set_time_source(rtc) //| .. function:: set_time_source(rtc)
//| //|
//| Sets the rtc time source used by time.localtime(). //| Sets the RTC time source used by :func:`time.localtime`.
//| The default is `rtc.RTC()`. //| The default is :class:`rtc.RTC`, but it's useful to use this to override the
//| //| time source for testing purposes. For example::
//| Example usage::
//| //|
//| import rtc //| import rtc
//| import time //| import time