1 # Author: Mihai Tudor Panu <mihai.tudor.panu (at] 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 23 import time, signal 24 import pyupm_tm1637 as tm1637 25 26 # Register exit handler for normal Ctrl+C exit 27 def SIGINTHandler(signum, frame): 28 raise SystemExit 29 signal.signal(signal.SIGINT, SIGINTHandler) 30 31 # Create a display object on pins 0 CLK and 1 DIO 32 display = tm1637.TM1637(0, 1) 33 dots = True 34 35 # Get local time 36 myTime = time.localtime(time.time()) 37 print time.strftime("System time: %H:%M", myTime) 38 print ("You can adjust your time zone by setting the TZ environment variable.") 39 40 # Draw a box for 3 seconds using 7-segment encoding 41 display.write(0x39, 0x09, 0x09, 0x0f) 42 time.sleep(3) 43 44 # Loop indefinitely 45 while 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