def off(): for x in range(6): backlight.set_pixel(x, 0, 0, 0) touch.set_led(x, 0) backlight.show() lcd.clear() lcd.show()
def cleanup(self): backlight.set_all(0, 0, 0) backlight.show() lcd.clear() lcd.show() for i in range(0, self.num_leds): touch.set_led(i, 0)
def handler(ch, event): global menu if event == 'press': touch.set_led(ch, 1) if ch == 3 and menu.inThread == False: menu.nextOption() elif ch == 5 and menu.inThread == False: menu.prevOption() elif ch == 4 and menu.inThread == False: if menu.options[menu.curPos][2] == None: if menu.toggleLed: print("Turning off") menu.ledThread.join() menu.toggleLed = False else: print("Turning On") menu.ledThread = menu.options[menu.curPos][1]() menu.ledThread.start() menu.toggleLed = True elif menu.options[menu.curPos][2] == True: menu.inThread = True menu.curThread = menu.options[menu.curPos][1]() menu.curThread.start() else: menu.options[menu.curPos][1]() elif ch == 0 and menu.inThread == True: menu.curThread.join() menu.inThread = False touch.set_led(ch, 0) print(str(menu.curPos))
def off(self): for x in range(6): backlight.set_all(0, 0, 0) touch.set_led(x, 0) backlight.show() lcd.clear() lcd.show()
def turn_display_off(): for x in range(6): touch.set_led(x, 0) backlight.set_all(0, 0, 0) backlight.show() lcd.clear() lcd.show()
def test_touch_set_led(cap1xxx): """Test that set_led calls Cap1166.set_led_state.""" from gfxhat import touch touch.set_led(0, True) cap1xxx.Cap1166().set_led_state.assert_called_with(touch.LED_MAPPING[0], True)
def handler(ch, event): if event == "press": led_states[ch] = not led_states[ch] touch.set_led(ch, led_states[ch]) if led_states[ch]: backlight.set_pixel(ch, 0, 255, 255) else: backlight.set_pixel(ch, 0, 255, 0) backlight.show()
def handler(ch, event): if event == 'press': led_states[ch] = not led_states[ch] touch.set_led(ch, led_states[ch]) #if led_states[ch]: #backlight.set_pixel(ch, 0, 255, 255) #else: #backlight.set_pixel(ch, 0, 255, 0) backlight.show()
def start(self): for x in range(6): touch.set_led(x, 1) time.sleep(0.1) touch.set_led(x, 0) for x in range(6): backlight.set_pixel(x, 255, 79, 193) backlight.show()
def reboot(self): for x in range(6): backlight.set_pixel(x, 0, 0, 0) touch.set_led(x, 0) backlight.show() lcd.clear() drive = clsDrive.Drive() drive.stop() lcd.show() call("sudo reboot", shell=True)
def __init__(self, timeout=30): self.homescreen = HomeScreen() self._screens = [] # Array of additionally added screens self._active = 0 self.timeout = timeout # Timeout time in seconds self.timed_out = False # Are we currently timed out? self.last_interaction_time = time.time( ) # Time of last user interaction for x in range(6): touch.set_led(x, 0) touch.on(x, self.touch_handler)
def update(self, now: datetime, app: GfxApp): if not self._first_render: self._first_render = datetime.now() delta = (datetime.now() - self._first_render).total_seconds() if delta > len(BOOT_FRAMES) * 0.2: self._first_render = None app.navigate_to(FuelStatsScreen.ID) return frame_i = ceil(delta / 0.2) % len(BOOT_FRAMES) frame = BOOT_FRAMES[frame_i] for i in range(len(frame)): set_led(i, frame[i])
def Menu(): global menuOptions, cur menuOptions = addOptions() ShowOption(menuOptions[cur]) for x in range(6): touch.on(x, handler) try: signal.pause() except KeyboardInterrupt: for x in range(6): backlight.set_pixel(x, 0, 0, 0) touch.set_led(x, 0) backlight.show() lcd.clear() lcd.show()
def launch_radio(self, channel, event): #import pdb; pdb.set_trace() time.sleep(0.5) print("on rentre dans la fonction player_stmt:", self.player_stmt) if self.player_stmt == True: self.player.stop() self.player_stmt = False touch.set_led(5, 0) print("GOOD : On arrete la lecture, player_stmt", self.player_stmt) return self.player_stmt elif self.player_stmt == False: self.player = vlc.MediaPlayer(self.choices[2]) radio = self.player.play() self.player_stmt = True touch.set_led(5, 1) print("on lance la lecture, player_stmt:", self.player_stmt) return self.player_stmt
def backlight_screen(self, channel, event): time.sleep(0.5) if self.backlight == True: for x in range(6): backlight.set_pixel(x, 0, 0, 0) backlight.show() self.backlight = False touch.set_led(2, 0) print("Backlight status: ", self.backlight) return self.backlight else: for x in range(6): backlight.set_pixel(x, 255, 79, 193) backlight.show() self.backlight = True touch.set_led(2, 1) print("Backlight status: ", self.backlight) return self.backlight
def backlight_clear_reset(): from gfxhat import touch, lcd, backlight from time import sleep lcd.clear() lcd.show() i = '0' if i == '0': backlight.set_all(220, 130, 110) backlight.show() sleep(1) backlight.set_all(120, 230, 110) backlight.show() sleep(1) backlight.set_all(0, 0, 110) backlight.show() sleep(3) for x in range(6): backlight.set_pixel(x, 0, 0, 0) touch.set_led(x, 0) backlight.show() lcd.clear()
def __init__(self, controller, options_dict): print("""menu-options.py This example shows how you might store a list of menu options associated with functions and navigate them on GFX HAT. Press Ctrl+C or select "Exit" to exit. """) self.width, self.height = lcd.dimensions() self.font = ImageFont.truetype(fonts.BitbuntuFull, 10) self.image = Image.new('P', (self.width, self.height)) self.draw = ImageDraw.Draw(self.image) self.controller = controller self.slept = False self.sleep_timer = 0 self.fade = 255 self.is_playing = controller.get_playing_state() for x in range(6): touch.set_led(x, 0) self.set_backlight() touch.on(x, self.handler) backlight.show() atexit.register(self.cleanup) self.menu_options = [] for key in options_dict: self.menu_options.append( MenuOption(key, controller.change_station, self.font, (options_dict[key], True, key))) self.current_menu_option = 1 self.trigger_action = False
def btn_handler(self, channel, event): #print("Got {} on channel {}".format(event, channel)) #Handle LED if event == 'press' and on_RPI: touch.set_led(channel, 1) threading.Timer(0.5, self.turn_off_led, [channel]).start() # Turn Script off if channel == 0 and event == 'press' and isinstance(self.current_screen, WeatherScreen): self.toggle_screen() return # Pass to screen if event == 'press': is_changed = self.current_screen.btn_handler(channel) if is_changed: self.main_loop.set() self.main_loop.clear() # Change Screens if event == 'press' and channel == 2: self.current_screen = self.screens[(self.screens.index(self.current_screen) + 1) % len(self.screens)] self.push_screen()
def handler(ch, event): global menuOptions, cur if event == 'press': touch.set_led(ch, 1) if ch == 3: cur += 1 elif ch == 5: cur -= 1 if ch == 4: touch.set_led(ch, 0) menuOptions[cur][1]() else: cur = menuCheck() ShowOption(menuOptions[cur]) touch.set_led(ch, 0)
def init_screen(self): for x in range(6): touch.set_led(x, 0) backlight.set_pixel(x, 255, 255, 255) touch.on(x, self.handler)
def on_navigate_to(self, from_screen: str = None): for i in range(6): set_led(i, 0) self._has_rendered = False
def illuminate(self, channel, event): for x in range(6): touch.set_led(x, 1) time.sleep(0.1) touch.set_led(x, 0)
def toggle_led(self, led_no, sleep_duration): touch.set_led(led_no, 1) time.sleep(sleep_duration) touch.set_led(led_no, 0)
def LedOnOff(): for x in range(6): touch.set_led(x, 1) time.sleep(0.1) touch.set_led(x, 0)
draw.text((0, 30), line2, 1, font) def handler(ch, event): if event == 'press': led_states[ch] = not led_states[ch] touch.set_led(ch, led_states[ch]) #if led_states[ch]: #backlight.set_pixel(ch, 0, 255, 255) #else: #backlight.set_pixel(ch, 0, 255, 0) backlight.show() for x in range(6): touch.set_led(x, 1) time.sleep(0.1) touch.set_led(x, 0) for x in range(6): #backlight.set_pixel(x, 0, 255, 0) touch.on(x, handler) lcd.contrast(40) backlight.set_all(255, 255, 153) backlight.show() for x in range(128): for y in range(64): pixel = image.getpixel((x, y)) lcd.set_pixel(x, y, pixel)
def main(): print("""display-temp.py""") print('Connecting to {}'.format(SENSORTAG_ADDRESS)) tag = SensorTag(SENSORTAG_ADDRESS) print("Connection successfull!") print("Initializing GFX-HAT...") width, height = lcd.dimensions() image = Image.new('P', (width, height)) draw = ImageDraw.Draw(image) for x in range(6): touch.set_led(x, 0) backlight.set_pixel(x, 255, 255, 255) # touch.on(x, handler) backlight.set_all(155, 155, 155) backlight.show() atexit.register(cleanup) print("Reporting started every {0} seconds".format(FREQUENCY_SECONDS)) try: while True: image.paste(0, (0, 0, width, height)) readings = get_readings(tag) if not readings: print("SensorTag disconnected. Reconnecting.") reconnect(tag) continue # print readings print("Time:\t{}".format(datetime.datetime.now())) print("IR reading:\t\t{}, temperature:\t{}".format( readings["ir"], readings["ir_temp"])) print("Humidity reading:\t{}, temperature:\t{}".format( readings["humidity"], readings["humidity_temp"])) print("Barometer reading:\t{}, temperature:\t{}".format( readings["pressure"], readings["baro_temp"])) print("Luxmeter reading:\t{}".format(readings["light"])) fields = [ datetime.datetime.now(), readings['ir'], readings['ir_temp'], readings['humidity'], readings['humidity_temp'], readings['pressure'], readings['baro_temp'], readings['light'] ] with open(r'data.csv', 'a') as f: writer = csv.writer(f) writer.writerow(fields) # Drawing IP and Hostname # draw.text((2,1), "IP: " + get_ip(), 1, font) # draw.text((2,10), "Hostname: " + get_hostname(), 1, font) now = datetime.datetime.now() current_time = now.strftime("%H:%M:%S") draw.text((2, 1), "Time : " + str(current_time), 1, font) draw.text((2, 10), "IR (temp): " + str(readings["ir_temp"]) + "C", 1, font) draw.text((2, 20), "Hum (temp): " + str(readings["humidity_temp"]) + "C", 1, font) draw.text((2, 30), "Bar (temp): " + str(readings["baro_temp"]) + "C", 1, font) draw.text((2, 40), "Luxometer : " + str(readings["light"]) + "lux", 1, font) draw.text((2, 50), "IP: " + get_ip(), 1, font) mean_temp = float(readings['ir_temp']) + float( readings['humidity_temp']) + float(readings['baro_temp']) mean_temp /= 3.0 if mean_temp > 28.0: backlight.set_all(155, 0, 0) elif mean_temp > 27.0: backlight.set_all(155, 75, 75) elif mean_temp < 24.0: backlight.set_all(100, 100, 155) elif mean_temp < 23.0: backlight.set_all(50, 50, 155) elif mean_temp < 22.0: backlight.set_all(0, 0, 155) else: backlight.set_all(155, 155, 155) backlight.show() for x in range(width): for y in range(height): pixel = image.getpixel((x, y)) lcd.set_pixel(x, y, pixel) lcd.show() # time.sleep(1.0 / 30) time.sleep(FREQUENCY_SECONDS) except KeyboardInterrupt: cleanup()
def turn_off_led(channel): touch.set_led(channel, 0)