adafruit_pcf8523 - PCF8523 Real Time Clock module¶
This library supports the use of the PCF8523-based RTC in CircuitPython. It contains a base RTC class used by all Adafruit RTC libraries. This base class is inherited by the chip-specific subclasses.
Functions are included for reading and writing registers and manipulating datetime objects.
Author(s): Philip R. Moyer and Radomir Dopieralski for Adafruit Industries. Date: November 2016 Affiliation: Adafruit Industries
Implementation Notes¶
Hardware:
- Adafruit Adalogger FeatherWing - RTC + SD Add-on (Product ID: 2922)
- Adafruit PCF8523 RTC breakout (Product ID: 3295)
Software and Dependencies:
- Adafruit CircuitPython firmware for the supported boards: https://circuitpython.org/downloads
- Adafruit’s Register library: https://github.com/adafruit/Adafruit_CircuitPython_Register
- Adafruit’s Bus Device library: https://github.com/adafruit/Adafruit_CircuitPython_BusDevice
Notes:
- Milliseconds are not supported by this RTC.
- Datasheet: http://cache.nxp.com/documents/data_sheet/PCF8523.pdf
-
class
adafruit_pcf8523.PCF8523(i2c_bus)¶ Interface to the PCF8523 RTC.
Parameters: i2c_bus (I2C) – The I2C bus the device is connected to Quickstart: Importing and using the device
Here is an example of using the
PCF8523class. First you will need to import the libraries to use the sensorimport time import board import adafruit_pcf8523
Once this is done you can define your
board.I2Cobject and define your sensor objecti2c = board.I2C() # uses board.SCL and board.SDA rtc = adafruit_pcf8523.PCF8523(i2c)
Now you can give the current time to the device.
t = time.struct_time((2017, 10, 29, 15, 14, 15, 0, -1, -1)) rtc.datetime = t
You can access the current time accessing the
datetimeattribute.current_time = rtc.datetime
-
alarm¶ Alarm time for the first alarm.
-
alarm_interrupt¶ True if the interrupt pin will output when alarm is alarming.
-
alarm_status¶ True if alarm is alarming. Set to False to reset.
-
battery_low¶ True if the battery is low and should be replaced.
-
calibration¶ Calibration offset to apply, from -64 to +63. See the PCF8523 datasheet figure 18 for the offset calibration calculation workflow.
-
calibration_schedule_per_minute¶ False to apply the calibration offset every 2 hours (1 LSB = 4.340ppm); True to offset every minute (1 LSB = 4.069ppm). The default, False, consumes less power. See datasheet figures 28-31 for details.
-
datetime¶ Gets the current date and time or sets the current date and time then starts the clock.
-
datetime_register¶ Current date and time.
-
high_capacitance¶ True for high oscillator capacitance (12.5pF), otherwise lower (7pF)
-
lost_power¶ True if the device has lost power since the time was set.
-
power_management¶ Power management state that dictates battery switchover, power sources and low battery detection. Defaults to BATTERY_SWITCHOVER_OFF (0b000).
-