1# Author: Mihai Tudor Panu <mihai.tudor.panu@intel.com> 2# Copyright (c) 2014 Intel Corporation. 3# 4# Permission is hereby granted, free of charge, to any person obtaining 5# a copy of this software and associated documentation files (the 6# "Software"), to deal in the Software without restriction, including 7# without limitation the rights to use, copy, modify, merge, publish, 8# distribute, sublicense, and/or sell copies of the Software, and to 9# permit persons to whom the Software is furnished to do so, subject to 10# the following conditions: 11# 12# The above copyright notice and this permission notice shall be 13# included in all copies or substantial portions of the Software. 14# 15# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 19# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 20# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 21# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 23import time, signal 24import pyupm_tm1637 as tm1637 25 26# Register exit handler for normal Ctrl+C exit 27def SIGINTHandler(signum, frame): 28 raise SystemExit 29signal.signal(signal.SIGINT, SIGINTHandler) 30 31# Create a display object on pins 0 CLK and 1 DIO 32display = tm1637.TM1637(0, 1) 33dots = True 34 35# Get local time 36myTime = time.localtime(time.time()) 37print time.strftime("System time: %H:%M", myTime) 38print ("You can adjust your time zone by setting the TZ environment variable.") 39 40# Draw a box for 3 seconds using 7-segment encoding 41display.write(0x39, 0x09, 0x09, 0x0f) 42time.sleep(3) 43 44# Loop indefinitely 45while True: 46 # Update and display time 47 timeString = time.strftime("%H%M", time.localtime(time.time())) 48 display.write(timeString) 49 # Toggle colon 50 display.setColon(dots) 51 dots = not dots 52 53 # Sleep for 1 s 54 time.sleep(1) 55