def lcd_colour(percent): f = float(percent) / 100 # there's a good colour change between these hues on a dot3k *RBG* display: start = 270 end = 330 step = end - start hue = (start + (f * step)) / 360 backlight.hue(hue)
def switchMode(new_mode): global mode, backlight_timer, deploy_index lcd.clear() # Reset deploy_index if mode changes if new_mode != mode: deploy_index = -1 mode = new_mode # Turn off backlight & screen after 10 seconds # If user presses joystick while still in same mode it resets the timeout (keep screen on) screen_on = True if backlight_timer != None: backlight_timer.cancel() backlight_timer = Timer(15, screenOff) backlight_timer.start() # Up mode = showKubeCounts if mode == joystick.UP: backlight.hue(0.4) # Static information for this mode lcd.write(f"Nodes: / ") lcd.write(f"Pods: / ") lcd.write(f"Deploy: / ") showKubeCounts() # Left mode = showNodeMetrics if mode == joystick.LEFT: backlight.hue(0.1) printNodes() showNodeMetrics() # Down mode = showKubeDeploys if mode == joystick.DOWN: # Special case; allows scrolling through deployments by pushing down repeatedly deploy_index = deploy_index + 1 if deploy_index >= deploy_max: deploy_index = 0 backlight.hue(0.7) showKubeDeploys()
lcd.set_cursor_position(parameters['column'], parameters['row']) elif command == 'write': lcd.write(parameters['value']) elif command == 'createCharacter': lcd.create_char(parameters['memoryPosition'], parameters['map']) elif command == 'writeCharacter': lcd.write(chr(parameters['memoryPosition'])) elif component == 'Backlight': if command == 'turnOff': backlight.off() elif command == 'useRBGMode': backlight.use_rbg() elif command == 'setBrightnessOfLed': backlight.set(parameters['ledIndex'], parameters['brightness']) elif command == 'setToHue': backlight.hue(parameters['hue']) elif command == 'setLeftToHue': backlight.left_hue(parameters['hue']) elif command == 'setMiddleToHue': backlight.mid_hue(parameters['hue']) elif command == 'setRightToHue': backlight.right_hue(parameters['hue']) elif command == 'setToRGB': backlight.rgb(parameters['red'], parameters['green'], parameters['blue']) elif command == 'setLeftToRGB': backlight.left_rgb(parameters['red'], parameters['green'], parameters['blue']) elif command == 'setMiddleToRGB': backlight.mid_rgb(parameters['red'], parameters['green'], parameters['blue'])
lcd.set_cursor_position(parameters['column'], parameters['row']) elif command == 'write': lcd.write(parameters['value']) elif command == 'createCharacter': lcd.create_char(parameters['memoryPosition'], parameters['map']) elif command == 'writeCharacter': lcd.write(chr(parameters['memoryPosition'])) elif component == 'Backlight': if command == 'turnOff': backlight.off() elif command == 'useRBGMode': backlight.use_rbg() elif command == 'setBrightnessOfLed': backlight.set(parameters['ledIndex'], parameters['brightness']) elif command == 'setToHue': backlight.hue(parameters['hue']) elif command == 'setLeftToHue': backlight.left_hue(parameters['hue']) elif command == 'setMiddleToHue': backlight.mid_hue(parameters['hue']) elif command == 'setRightToHue': backlight.right_hue(parameters['hue']) elif command == 'setToRGB': backlight.rgb(parameters['red'], parameters['green'], parameters['blue']) elif command == 'setLeftToRGB': backlight.left_rgb(parameters['red'], parameters['green'], parameters['blue']) elif command == 'setMiddleToRGB': backlight.mid_rgb(parameters['red'], parameters['green'], parameters['blue']) elif command == 'setRightToRGB': backlight.right_rgb(parameters['red'], parameters['green'], parameters['blue']) elif component == 'BarGraph':
pirate = [[0x00, 0x1f, 0x0b, 0x03, 0x00, 0x04, 0x11, 0x1f], [0x00, 0x1f, 0x16, 0x06, 0x00, 0x08, 0x03, 0x1e], [0x00, 0x1f, 0x0b, 0x03, 0x00, 0x04, 0x11, 0x1f], [0x00, 0x1f, 0x05, 0x01, 0x00, 0x02, 0x08, 0x07]] def get_anim_frame(anim, fps): return anim[int(round(time.time() * fps) % len(anim))] lcd.set_cursor_position(1, 0) lcd.write('Display-o-tron') lcd.write(' ' + chr(0) + '3000 ') lcd.create_char(0, get_anim_frame(pirate, 4)) while 1: backlight.rgb(255, 0, 0) time.sleep(1) backlight.rgb(0, 255, 0) time.sleep(1) backlight.rgb(0, 0, 255) time.sleep(1) backlight.rgb(255, 255, 255) time.sleep(1) for i in range(0, 360): backlight.hue(i / 360.0) time.sleep(0.01) for i in range(0, 360): backlight.sweep(i / 360.0) time.sleep(0.01)
[0x00,0x1f,0x16,0x06,0x00,0x08,0x03,0x1e], [0x00,0x1f,0x0b,0x03,0x00,0x04,0x11,0x1f], [0x00,0x1f,0x05,0x01,0x00,0x02,0x08,0x07] ] def get_anim_frame(anim, fps): return anim[ int(round(time.time()*fps) % len(anim)) ] lcd.set_cursor_position(1,0) lcd.write('Display-o-tron') lcd.write(' ' + chr(0) + '3000 ') lcd.create_char(0,get_anim_frame(pirate,4)) while 1: backlight.rgb(255,0,0) time.sleep(1) backlight.rgb(0,255,0) time.sleep(1) backlight.rgb(0,0,255) time.sleep(1) backlight.rgb(255,255,255) time.sleep(1) for i in range(0,360): backlight.hue(i/360.0) time.sleep(0.01) for i in range(0,360): backlight.sweep(i/360.0) time.sleep(0.01)