Simple test

Ensure your device works with this simple test.

examples/ds3231_simpletest.py
 1# SPDX-FileCopyrightText: 2021 ladyada for Adafruit Industries
 2# SPDX-License-Identifier: MIT
 3
 4# Simple demo of reading and writing the time for the DS3231 real-time clock.
 5# Change the if False to if True below to set the time, otherwise it will just
 6# print the current date and time every second.  Notice also comments to adjust
 7# for working with hardware vs. software I2C.
 8
 9import time
10
11import board
12
13import adafruit_ds3231
14
15i2c = board.I2C()  # uses board.SCL and board.SDA
16# i2c = board.STEMMA_I2C()  # For using the built-in STEMMA QT connector on a microcontroller
17rtc = adafruit_ds3231.DS3231(i2c)
18
19# Lookup table for names of days (nicer printing).
20days = ("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday")
21
22
23if False:  # change to True if you want to set the time!
24    #                     year, mon, date, hour, min, sec, wday, yday, isdst
25    t = time.struct_time((2017, 10, 29, 15, 14, 15, 0, -1, -1))
26    # you must set year, mon, date, hour, min, sec and weekday
27    # yearday is not supported, isdst can be set but we don't do anything with it at this time
28    print("Setting time to:", t)  # uncomment for debugging
29    rtc.datetime = t
30    print()
31
32# Main loop:
33while True:
34    t = rtc.datetime
35    # print(t)     # uncomment for debugging
36    print(f"The date is {days[int(t.tm_wday)]} {t.tm_mday}/{t.tm_mon}/{t.tm_year}")
37    print(f"The time is {t.tm_hour}:{t.tm_min:02}:{t.tm_sec:02}")
38    time.sleep(1)  # wait a second