def lcdloop(self): """LCD display handler""" depeche = 0 line = 0 old_screen_len = 0 while (1): wiringpi.lcdHome(self.lcd) self.io.delay(2) self.lock.acquire() try: key = self.screens.keys()[depeche] screen_len = len(self.screens[key]) if screen_len != old_screen_len: line = 0 if len(self.screens[key]): lcd_one = self.screens[key][line] line += 1 if len(self.screens[key]) == 1: # Only one line, second blank lcd_two = "" else: lcd_two = self.screens[key][line] if line >= len(self.screens[key]) - 1: line = 0 depeche = (depeche + 1) % len(self.screens) update_freq = 3 else: update_freq = 1 old_screen_len = screen_len except TypeError: pass finally: self.lock.release() self.write(lcd_one, lcd_two) time.sleep(update_freq)
def __init__(self, lcd_rows=2, lcd_chars=16, lcd_bits=4, pin_lcd_rs=13, pin_lcd_e=14, pins_lcd_db=[11, 10, 6, 16, 0, 0, 0, 0]): """Initialize lcd and get ip address""" self.rows = lcd_rows self.chars = lcd_chars self.lcd = wiringpi.lcdInit(lcd_rows, lcd_chars, lcd_bits, pin_lcd_rs, pin_lcd_e, *pins_lcd_db) wiringpi.lcdHome(self.lcd) self.screens = { 'splash': ['GitGear.com/xfd', 'eXtremeFeedback!'], 'ip': ['IP Address:', 'Searching...'], 'text': [ 'Comming soon:', 'Customise this', 'text in Jenkins', 'from the extreme', 'feedback plugin' ], } self.lock = threading.Lock() self.io = wiringpi.GPIO(wiringpi.GPIO.WPI_MODE_PINS)
def lcdloop(self): """LCD display handler""" depeche = 0 line = 0 old_screen_len = 0 while(1): wiringpi.lcdHome(self.lcd) self.io.delay(2) self.lock.acquire() try: key = self.screens.keys()[depeche] screen_len = len(self.screens[key]) if screen_len != old_screen_len: line = 0; if len(self.screens[key]): lcd_one = self.screens[key][line] line += 1 if len(self.screens[key]) == 1: # Only one line, second blank lcd_two = "" else: lcd_two = self.screens[key][line] if line >= len(self.screens[key])-1: line = 0 depeche = (depeche + 1) % len(self.screens) update_freq = 3 else: update_freq = 1 old_screen_len = screen_len except TypeError: pass finally: self.lock.release() self.write(lcd_one, lcd_two) time.sleep(update_freq)
def lcdloop(): """LCD display handler""" while(1): wiringpi.lcdHome(LCD_HANDLE) IO.delay(2) LCD_LOCK.acquire() try: lcd_one = LCD_ONE lcd_two = LCD_TWO finally: LCD_LOCK.release() # Only printable chars, no tabs nor newlines lcd_one = filter( lambda x: 32 <= ord(x) <= 126, lcd_one) lcd_two = filter( lambda x: 32 <= ord(x) <= 126, lcd_two) line_one = lcd_one[0:16] line_two = lcd_two[0:16] wiringpi.lcdPosition (LCD_HANDLE, 0, 0) IO.delay(2) wiringpi.lcdPuts(LCD_HANDLE, line_one.ljust(16)) IO.delay(2) wiringpi.lcdPosition (LCD_HANDLE, 0, 1) IO.delay(2) wiringpi.lcdPuts(LCD_HANDLE, line_two.ljust(16)) time.sleep(5)
def printlcd(self): if conf.lcdput.empty() == True: strstatus = ['off' for i in range(len(self.valve_ob))] for r in range(len(self.valve_ob)): if int(self.valve_ob[r].read('valve')) == 1: strstatus[r] = 'on ' else: strstatus[r] = 'off' stringLCD0 = ''.join(['1-', strstatus[0], ' 2-', strstatus[1]]) stringLCD1 = ''.join(['3-', strstatus[2], ' 4-', strstatus[3]]) stringLCD2 = '' stringLCD3 = datetime.now().strftime('%H:%M:%S %d-%m') if (tm.time() - self.timeclear) > 10: wpi.lcdHome(self.lcd_ob) tm.sleep(0.005) wpi.lcdClear(self.lcd_ob) tm.sleep(0.005) self.timeclear = tm.time() # conf.lcd = wpi.lcdInit( # 4, 16, 4, # conf.RS, conf.E, conf.DB4, conf.DB5, conf.DB6, conf.DB7, # 0,0,0,0 # ) # self.lcd_ob = conf.lcd wpi.lcdPosition(self.lcd_ob, 0, 0) tm.sleep(0.005) wpi.lcdPuts(self.lcd_ob, stringLCD0) tm.sleep(0.005) wpi.lcdPosition(self.lcd_ob, 0, 1) tm.sleep(0.005) wpi.lcdPuts(self.lcd_ob, stringLCD1) tm.sleep(0.005) wpi.lcdPosition(self.lcd_ob, -4, 2) tm.sleep(0.005) wpi.lcdPuts(self.lcd_ob, stringLCD2) tm.sleep(0.005) wpi.lcdPosition(self.lcd_ob, -4, 3) tm.sleep(0.005) wpi.lcdPuts(self.lcd_ob, stringLCD3) tm.sleep(0.005) elif conf.lcdput.get() == 'restart': wpi.lcdHome(self.lcd_ob) tm.sleep(0.005) wpi.lcdClear(self.lcd_ob) tm.sleep(0.005) wpi.lcdPosition(self.lcd_ob, 0, 0) tm.sleep(0.005) wpi.lcdPuts(self.lcd_ob, 'RIAVVIO') tm.sleep(0.005) wpi.lcdPosition(self.lcd_ob, 0, 1) while True: wpi.lcdPuts(self.lcd_ob, '*') tm.sleep(0.5) else: pass
def lcd_init(): """Initialize lcd and get ip address""" global LCD_HANDLE, LCD_TWO LCD_HANDLE = wiringpi.lcdInit(LCD_ROWS, LCD_CHARS, LCD_BITS, PIN_LCD_RS, PIN_LCD_E, *PINS_LCD_DB) wiringpi.lcdHome(LCD_HANDLE) lcd_two = get_connection_string("eth0") LCD_LOCK.acquire() try: LCD_TWO = lcd_two finally: LCD_LOCK.release()
def __init__(self, lcd_rows=2, lcd_chars=16, lcd_bits=4, pin_lcd_rs=13, pin_lcd_e=14, pins_lcd_db=[11,10,6,16,0,0,0,0]): """Initialize lcd and get ip address""" self.rows = lcd_rows self.chars = lcd_chars self.lcd = wiringpi.lcdInit(lcd_rows, lcd_chars, lcd_bits, pin_lcd_rs, pin_lcd_e, *pins_lcd_db) wiringpi.lcdHome(self.lcd) self.screens = { 'splash':['GitGear.com/xfd','eXtremeFeedback!'], 'ip':['IP Address:','Searching...'], 'text':['Comming soon:', 'Customise this', 'text in Jenkins', 'from the extreme', 'feedback plugin'], } self.lock = threading.Lock() self.io = wiringpi.GPIO(wiringpi.GPIO.WPI_MODE_PINS)
def lcdloop(): """LCD display handler""" depeche = 0 while(1): wiringpi.lcdHome(LCD_HANDLE) IO.delay(2) LCD_LOCK.acquire() try: key = LCD_ROTATOR.keys()[depeche] if len(LCD_ROTATOR[key]): lcd_one = LCD_ROTATOR[key][0] if len(LCD_ROTATOR[key]) > 1: lcd_two = LCD_ROTATOR[key][1] else: lcd_two = "" depeche = (depeche + 1) % len(LCD_ROTATOR) except TypeError: pass finally: LCD_LOCK.release() # Only printable chars, no tabs nor newlines lcd_one = filter( lambda x: 32 <= ord(x) <= 126, lcd_one) lcd_two = filter( lambda x: 32 <= ord(x) <= 126, lcd_two) line_one = lcd_one[0:16] line_two = lcd_two[0:16] wiringpi.lcdPosition (LCD_HANDLE, 0, 0) IO.delay(2) wiringpi.lcdPuts(LCD_HANDLE, line_one.ljust(16)) IO.delay(2) wiringpi.lcdPosition (LCD_HANDLE, 0, 1) IO.delay(2) wiringpi.lcdPuts(LCD_HANDLE, line_two.ljust(16)) time.sleep(5)
wiringpi.digitalWrite(E, OFF) wiringpi.digitalWrite(F, OFF) wiringpi.digitalWrite(G, OFF) wiringpi.digitalWrite(H, OFF) wiringpi.digitalWrite(ONE, OFF) wiringpi.digitalWrite(TWO, OFF) wiringpi.digitalWrite(THR, OFF) wiringpi.digitalWrite(FOU, OFF) wiringpi.digitalWrite(FIV, OFF) wiringpi.digitalWrite(SIX, OFF) wiringpi.digitalWrite(SEV, OFF) wiringpi.digitalWrite(EIG, OFF) wiringpi.digitalWrite(WHI, OFF) wiringpi.digitalWrite(BLA, OFF) # LCD_RS = 83 # LCD_EN = 84 # LCD_D4 = 85 # LCD_D5 = 86 # LCD_D6 = 87 # LCD_D7 = 88 lcd = wiringpi.lcdInit(2, 16, 4, LCD_RS, LCD_EN, LCD_D4, LCD_D5, LCD_D6, LCD_D7, 0, 0, 0, 0) wiringpi.lcdHome(lcd) wiringpi.lcdClear(lcd) wiringpi.lcdPosition(lcd, 0, 0) wiringpi.lcdPuts(lcd, "oh yeah!") wiringpi.lcdPosition(lcd, 0, 1) wiringpi.lcdPuts(lcd, "it works!")
def displayWrite(self,string): string=string[0:32] #GF.log("writing "+string+" to lcd",'D') wp.lcdClear(self.display1) wp.lcdHome(self.display1) wp.lcdPrintf(self.display1, string)
def lcd_init(): """Initialize lcd and get ip address""" global LCD_HANDLE LCD_HANDLE = wiringpi.lcdInit(LCD_ROWS, LCD_CHARS, LCD_BITS, PIN_LCD_RS, PIN_LCD_E, *PINS_LCD_DB) wiringpi.lcdHome(LCD_HANDLE)
def clearlcd(self): wpi.lcdHome(self.lcd_ob) tm.sleep(0.005) wpi.lcdClear(self.lcd_ob) tm.sleep(0.005)