Home | History | Annotate | Download | only in python
      1 #!/usr/bin/python
      2 # Author: Zion Orent <zorent (at] ics.com>
      3 # Copyright (c) 2015 Intel Corporation.
      4 #
      5 # Permission is hereby granted, free of charge, to any person obtaining
      6 # a copy of this software and associated documentation files (the
      7 # "Software"), to deal in the Software without restriction, including
      8 # without limitation the rights to use, copy, modify, merge, publish,
      9 # distribute, sublicense, and/or sell copies of the Software, and to
     10 # permit persons to whom the Software is furnished to do so, subject to
     11 # the following conditions:
     12 #
     13 # The above copyright notice and this permission notice shall be
     14 # included in all copies or substantial portions of the Software.
     15 #
     16 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
     17 # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
     18 # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
     19 # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
     20 # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
     21 # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
     22 # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
     23 
     24 # Load i2clcd display module
     25 import time, signal, sys
     26 import pyupm_i2clcd as upmLCD
     27 
     28 myLCD = upmLCD.SSD1327(0, 0x3C);
     29 
     30 logoArr = [0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x00,
     31 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     32 0x00, 0x60, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
     33 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x06, 0x00,
     34 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     35 0x01, 0xC0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
     36 0x00, 0x00, 0x00, 0x00, 0x01, 0xC0, 0x07, 0x00,
     37 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     38 0x03, 0x80, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00,
     39 0x00, 0x00, 0x00, 0x00, 0x03, 0x80, 0x03, 0x80,
     40 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     41 0x07, 0x80, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00,
     42 0x00, 0x00, 0x00, 0x00, 0x07, 0x80, 0x01, 0xC0,
     43 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
     44 0x07, 0x80, 0x01, 0xE0, 0x08, 0x00, 0x00, 0x00,
     45 0x00, 0x00, 0x00, 0x20, 0x0F, 0x80, 0x01, 0xE0,
     46 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30,
     47 0x0F, 0x00, 0x01, 0xE0, 0x08, 0x00, 0x00, 0x00,
     48 0x00, 0x00, 0x00, 0x30, 0x0F, 0x00, 0x01, 0xE0,
     49 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30,
     50 0x0F, 0x00, 0x01, 0xE0, 0x18, 0x00, 0x00, 0x00,
     51 0x00, 0x00, 0x00, 0x30, 0x0F, 0x00, 0x01, 0xE0,
     52 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38,
     53 0x0F, 0x00, 0x01, 0xE0, 0x18, 0x00, 0x00, 0x00,
     54 0x00, 0x00, 0x00, 0x38, 0x0F, 0x00, 0x01, 0xE0,
     55 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38,
     56 0x0F, 0x80, 0x01, 0xE0, 0x38, 0x00, 0x00, 0x00,
     57 0x00, 0x00, 0x00, 0x3C, 0x0F, 0x80, 0x01, 0xE0,
     58 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E,
     59 0x0F, 0x80, 0x03, 0xE0, 0x78, 0x00, 0x00, 0x00,
     60 0x00, 0x00, 0x00, 0x1E, 0x07, 0x80, 0x03, 0xE0,
     61 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E,
     62 0x07, 0x80, 0x03, 0xE0, 0xF0, 0x00, 0x00, 0x00,
     63 0x00, 0x00, 0x00, 0x1F, 0x07, 0x80, 0x03, 0xC1,
     64 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F,
     65 0x87, 0xC0, 0x07, 0xC1, 0xF0, 0x00, 0x00, 0x00,
     66 0x00, 0x00, 0x00, 0x0F, 0x83, 0xC0, 0x07, 0x83,
     67 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F,
     68 0xC3, 0xC0, 0x07, 0x87, 0xE0, 0x00, 0x00, 0x00,
     69 0x00, 0x00, 0x00, 0x07, 0xE1, 0xE0, 0x07, 0x0F,
     70 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
     71 0xF0, 0xE0, 0x0F, 0x0F, 0x80, 0x00, 0x00, 0x00,
     72 0x00, 0x00, 0x00, 0x01, 0xF8, 0xF0, 0x0E, 0x1F,
     73 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
     74 0xF8, 0x70, 0x1C, 0x3F, 0x00, 0x00, 0x00, 0x00,
     75 0x00, 0x00, 0x00, 0x00, 0xFC, 0x30, 0x18, 0x7E,
     76 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     77 0x7F, 0x18, 0x30, 0xFC, 0x00, 0x00, 0x00, 0x00,
     78 0x00, 0x00, 0x00, 0x00, 0x1F, 0x88, 0x21, 0xF0,
     79 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     80 0x0F, 0xC4, 0x47, 0xE0, 0x00, 0x00, 0x00, 0x00,
     81 0x00, 0x00, 0x00, 0x00, 0x03, 0xE0, 0x0F, 0x80,
     82 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     83 0x00, 0xF8, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00,
     84 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0xE0, 0x00,
     85 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     86 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     87 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     88 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     89 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     90 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
     91 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00,
     92 0x00, 0x02, 0x00, 0x06, 0x00, 0x00, 0x6C, 0x00,
     93 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x06,
     94 0x00, 0x00, 0x60, 0x00, 0x7E, 0x3F, 0x0F, 0xC3,
     95 0xF0, 0xFA, 0x0F, 0xDF, 0xE1, 0x9F, 0xEC, 0x7E,
     96 0xE6, 0x73, 0x9C, 0xE7, 0x39, 0xCE, 0x1C, 0xDF,
     97 0xE1, 0xB9, 0xEC, 0xE7, 0xE0, 0x61, 0xD8, 0x66,
     98 0x1B, 0x86, 0x1C, 0x06, 0x61, 0xB0, 0x6D, 0xC3,
     99 0x7C, 0x7F, 0xFF, 0xFF, 0xFF, 0x06, 0x0F, 0x86,
    100 0x61, 0xB0, 0x6D, 0x83, 0x3E, 0x7F, 0xFF, 0xFF,
    101 0xFF, 0x06, 0x07, 0xC6, 0x61, 0xB0, 0x6D, 0x83,
    102 0xC3, 0x61, 0x18, 0x46, 0x03, 0x86, 0x18, 0x66,
    103 0x61, 0xB0, 0x6D, 0xC3, 0xFE, 0x7F, 0x9F, 0xE7,
    104 0xF9, 0xFE, 0x1F, 0xE6, 0x3F, 0x9F, 0xEC, 0xFE,
    105 0x7E, 0x3F, 0x0F, 0xC3, 0xF0, 0xFA, 0x0F, 0xC6,
    106 0x3F, 0x9F, 0xEC, 0x7E, 0x00, 0x00, 0x00, 0x00,
    107 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    108 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    109 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    110 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    111 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    112 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    113 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    114 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    115 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    116 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    117 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    118 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    119 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    120 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    121 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    122 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    123 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    124 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    125 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    126 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    127 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    128 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    129 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    130 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    131 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    132 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    133 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    134 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    135 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    136 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    137 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    138 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    139 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00,
    140 0x00, 0x20, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00,
    141 0x00, 0x00, 0x44, 0x00, 0x00, 0x20, 0x82, 0x00,
    142 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0xF3,
    143 0xCF, 0x70, 0x9E, 0x79, 0xE7, 0x80, 0x00, 0x00,
    144 0x00, 0x00, 0x7D, 0x9E, 0x68, 0x20, 0xB2, 0xC8,
    145 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x9E,
    146 0x6F, 0x20, 0xB2, 0xF9, 0xE7, 0x80, 0x00, 0x00,
    147 0x00, 0x00, 0x46, 0x9A, 0x61, 0x20, 0xB2, 0xCB,
    148 0x60, 0x80, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xF3,
    149 0xCF, 0x30, 0x9E, 0x79, 0xE7, 0x90, 0x00, 0x00,
    150 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    151 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    152 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    153 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    154 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    155 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    156 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    157 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    158 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    159 0x7C, 0x02, 0x00, 0x00, 0x82, 0x60, 0x00, 0x00,
    160 0xF8, 0x00, 0x00, 0x40, 0x40, 0x02, 0x00, 0x00,
    161 0x83, 0x60, 0x00, 0x00, 0x8C, 0x00, 0x00, 0x40,
    162 0x60, 0xB7, 0x79, 0xE7, 0x81, 0xC7, 0x92, 0x70,
    163 0x89, 0xE7, 0x9E, 0x78, 0x7C, 0xE2, 0xC9, 0x2C,
    164 0x81, 0xCC, 0xD2, 0x40, 0xFB, 0x21, 0xB2, 0x48,
    165 0x40, 0x62, 0xF9, 0x2C, 0x80, 0x8C, 0xD2, 0x40,
    166 0x8B, 0xE7, 0xB0, 0x48, 0x40, 0xE2, 0xC9, 0x2C,
    167 0x80, 0x84, 0xD2, 0x40, 0x8B, 0x2D, 0x92, 0x48,
    168 0x7D, 0xB3, 0x79, 0x27, 0x80, 0x87, 0x9E, 0x40,
    169 0x8D, 0xE7, 0x9E, 0x48, 0x00, 0x00, 0x00, 0x00,
    170 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    171 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    172 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    173 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]
    174 
    175 SeeedLogo = upmLCD.uint8Array(len(logoArr))
    176 
    177 for x in range(len(logoArr)):
    178 	SeeedLogo.__setitem__(x, logoArr[x])
    179 
    180 # If you don't set the display to be white, the seeed logo will appear jagged
    181 myLCD.setGrayLevel(12)
    182 myLCD.draw(SeeedLogo, 96 * 96 / 8);
    183 
    184 for i in range(12):
    185 	myLCD.setCursor(i, 0)
    186 	myLCD.setGrayLevel(i)
    187 	myLCD.write('Hello World')
    188 
    189 print "Exiting"
    190