Home | History | Annotate | Download | only in python
      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