mirror of
https://github.com/sascha-hemi/pycom-documentation.git
synced 2026-03-21 18:06:13 +01:00
2.3 KiB
2.3 KiB
title, aliases
| title | aliases | |||
|---|---|---|---|---|
| RTC |
|
The RTC is used to keep track of the date and time.
Quick Usage Example
from machine import RTC
rtc = RTC()
rtc.init((2014, 5, 1, 4, 13, 0, 0, 0))
print(rtc.now())
Constructors
class machine.RTC([id=0, ...])
Create an RTC object. See init for parameters of initialisation.
# id of the RTC may be set if multiple are connected. Defaults to id = 0.
rtc = RTC(id=0)
Methods
rtc.init([datetime=None, source=RTC.INTERNAL_RC])
Initialise the RTC. The arguments are:
datetimewhen passed it sets the current time. It is a tuple of the form:(year, month, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]])sourceselects the oscillator that drives the RTC. The options areRTC.INTERNAL_RC: Internal RC resonatorRTC.XTAL_32KHZ: External 32KHz crystal
For example:
# for 2nd of February 2017 at 10:30am (TZ 0)
rtc.init((2017, 2, 28, 10, 30, 0, 0, 0))
tzinfois ignored by this method. Usetime.timezoneto achieve similar results.
rtc.ntp_sync(server, [update_period=3600, backup_server])
Inits the RTC and sets up up automatic fetch and update the time using NTP (SNTP).
serveris the URL of the NTP server. Can be set toNoneto disable the periodic updates.update_periodis the number of seconds between updates. Shortest period is 15 seconds.backup_serveris the URL of the backup NTP server. Can be set toNoneto disable the periodic updates.
Can be used like:
rtc.ntp_sync("pool.ntp.org") # this is an example. You can select a more specific server according to your geographical location
rtc.now()
Get get the current datetime tuple as (year, month, day, hour, minute, second, usecond, None)
rtc.synced()
Returns True if the last ntp_sync has been completed, False otherwise.
rtc.memory([data])
Reads RTC memory contents or write data in passed Buffer in to RTC memory. The buffer has space to store 2048 bytes.
Example:
rtc = RTC()
rtc.memory(b'10101010') # writes data in RTC memory
rtc.memory()
Output:
b'10101010'
Constants
- Clock source:
RTC.INTERNAL_RC,RTC.XTAL_32KHZ