def __init__(self): HippieTrap.__init__(self) self.state = False self.patterns = [] self.current_pattern = None self.random_patterns = None self.next_update = 0
def main(transitions=True): with HippieTrap() as trap: trap.begin() trap.set_brightness(ALL, brightness) ht.add_pattern(SweepTwoColorShiftPattern) ht.add_pattern(SweepOneColorPerRingPattern) ht.add_pattern(SwappiesPattern) ht.add_pattern(RandomColorsPattern) ht.add_pattern(EachBottleOneRainbowPattern) ht.add_pattern(FireIceCirclesPattern) ht.add_pattern(SolidPattern) ht.add_pattern(RainbowPattern) ht.add_pattern(TexturePattern) ht.setup() while True: random.shuffle(patterns) for pattern_class in patterns: pattern = pattern_class(trap) print(pattern.name) pattern.start() try: sleep(10) except KeyboardInterrupt: pattern.stop() pattern.join() trap.clear(ALL) return pattern.stop(transition=transitions) pattern.join()
def send_firmware(filename): with HippieTrap() as ch: try: with open(filename, "rb") as f: lines = f.readlines() filesize = os.path.getsize(filename) except IOError as err: print(("Error loading hex file: %s" % err)) return print(("filesize: %d bytes of max %d bytes" % (filesize, MAX_SIZE))) if filesize >= MAX_SIZE: print("hex file too large. Can't upload.") return for i in range(16): if not ch.ser.write(bytearray((0x45, ))): print("Cannot write programming header.") return sleep(.1) if not ch.ser.write(bytearray(struct.pack("<H", filesize))): print("Cannot write hex file size header.") return sleep(.1) for i, line in enumerate(lines): if not line: break if not ch.ser.write(bytearray(line)): print("Cannot write to device.") return print(("%03d/%03d\b\b\b\b\b\b\b\b" % (i, len(lines))), end=' ') sys.stdout.flush() sleep(.05) print("Write complete.")
from random import random class RandomColorsPattern(PatternBase): PERIOD = 850 name = "random colors" def pattern(self): self.trap.send_entropy() while True: self.trap.send_fade(ALL, self.PERIOD, ()) self.trap.start_pattern(ALL) sleep(self.PERIOD / 1000.0) self.trap.stop_pattern(ALL) if self.stop_thread: break self.trap.stop_pattern(ALL) if __name__ == "__main__": with HippieTrap() as trap: trap.begin() trap.set_brightness(ALL, 100) p = RandomColorsPattern(trap) p.pattern()
#!/usr/bin/env python3 import os import sys import math import random from time import sleep, time from hippietrap.hippietrap import HippieTrap, BROADCAST, NUM_NODES from hippietrap.color import Color with HippieTrap() as ch: ch.begin() start = int(sys.argv[1]) for id in range(start, NUM_NODES + 1): ch.set_color(id, Color(0, 0, 0)) for id in range(start, NUM_NODES + 1): print(id) ch.set_color(id, Color(0, 0, 255)) sleep(.25)
def __init__(self): HippieTrap.__init__(self) self.state = False self.patterns = [] self.current_pattern = None
#!/usr/bin/env python3 import os import sys import math from hippietrap.hippietrap import HippieTrap with HippieTrap() as ht: ht.power_on()
#!/usr/bin/python import os import sys import math from hippietrap.hippietrap import HippieTrap HippieTrap.power_on()
#!/usr/bin/python import os from time import sleep from hippietrap.hippietrap import HippieTrap, BROADCAST with HippieTrap() as ch: ch.clear(BROADCAST) sleep(.1) HippieTrap.power_off()