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