コード例 #1
0
ファイル: pong.py プロジェクト: MrCerealKiller/blinky-arcade
    def __init__(self, length=25, width=7, pad_rad=1, rate=0.1):

        self.port = '/dev/ttyACM1'

        self.length = length
        self.width = width
        self.pad_rad = pad_rad
        self.frame = [Col.BLACK for _ in range(self.length * self.width)]

        # Player Attributes
        self.pos1 = self.width // 2
        self.pts1 = 0
        self.pos2 = self.width // 2
        self.pts2 = 0

        # Ball Attributes
        self.rate = rate
        self.posb = np.zeros((2))
        self.posb = [(self.length // 2), (self.width // 2)]
        self.velb = np.zeros((2))

        self.reaction_time = 5 * self.rate
        self.last_calc = time.time()
        self.last_move = time.time()
        self.blt = bt.BlinkyTape(self.port, (self.length * self.width),
                                 buffered=False)
コード例 #2
0
    def setUpClass(self):
        # TODO: Why can't access self.testRig from __init__ here?
        self.testRig = TestRig.testRig
        self.testRig.resetState()

        self.i = UserInterface.interface
        self.dut = BlinkyTape.BlinkyTape()
コード例 #3
0
def blinkytape_artnet_receiver():
    print(("Listening in {0}:{1}").format(UDP_IP, UDP_PORT))

    sock = socket(AF_INET, SOCK_DGRAM)  # UDP
    sock.bind((UDP_IP, UDP_PORT))

    bt = BlinkyTape.BlinkyTape(BLINKYTAPE_DEVICE, BLINKYTAPE_LENGTH)


    lastSequence = 0

    packetCount = 0
    lastTime = time.time()

    datas = []

    while True:
        try:
            data, addr = sock.recvfrom(1024)
            packet = ArtnetPacket.unpack_raw_artnet_packet(data)

            if packet != None:
		#print("Sequence=%i universe=%i"%(packet.sequence,packet.universe))
                packetCount += 1

                while len(datas) < packet.universe + 1:
                    print("adding new universe %i"%(packet.universe))
                    datas.append('')

                datas[packet.universe] = packet.data

                # Send an update to the tape when a new sequence is received on the last universe
            	if packet.universe == (len(datas)-1) and lastSequence != packet.sequence:
                    outputData = ''
                    #print(datas)

                    for data in datas:
                        if len(data) > PIXELS_PER_UNIVERSE*BYTES_PER_PIXEL:
                            data = data[0:PIXELS_PER_UNIVERSE*BYTES_PER_PIXEL]

                        if len(data) < PIXELS_PER_UNIVERSE*BYTES_PER_PIXEL:
                            data += '\x00' * (PIXELS_PER_UNIVERSE*BYTES_PER_PIXEL - len(data))

                        outputData += data

                        #print(len(outputData))

                    bt.sendData(outputData)
                    lastSequence = packet.sequence


            if time.time() > lastTime+1:
                print("Packets per second: %i"%(packetCount))
                packetCount = 0
                lastTime = time.time()

        except KeyboardInterrupt:
            sock.close()
            sys.exit()
コード例 #4
0
def connect():
    serialPorts = glob.glob("/dev/cu.usbmodem*")
    port = serialPorts[0]

    if not port:
        sys.exit("Could not locate a BlinkyTape.")

    print "BlinkyTape found at: %s" % port

    bt = BlinkyTape.BlinkyTape(port)
    bt.displayColor(0, 0, 0)
    return bt
コード例 #5
0
def showTestPattern(portName):
    print "Showing test pattern on %s" % portName
    try:
        bt = BlinkyTape.BlinkyTape(portName)
        while True:
            bt.displayColor(255, 0, 0)
            time.sleep(1)
            bt.displayColor(0, 255, 0)
            time.sleep(1)
            bt.displayColor(0, 0, 255)
            time.sleep(1)
    except:
        pass
コード例 #6
0
    def __init__(self):
        logging.basicConfig(filename=config.logging_logfile,
                            level=config.logging_level)
        serial_ports = glob.glob("/dev/ttyACM0")
        port = serial_ports[0]

        if not port:
            sys.exit("Could not locate a BlinkyTape.")

        print "BlinkyTape found at: %s" % port

        self.bt = BlinkyTape.BlinkyTape(port)
        self.bt.displayColor(0, 0, 0)

        self.colors = [[0, 0, 0]] * config.led_count

        self.fade_steps = 50
        self.fade_pause = 0.02
コード例 #7
0
def resetToBootloader(portName):
    print "Resetting to bootloader on %s" % portName
    bt = BlinkyTape.BlinkyTape(portName)
    bt.displayColor(20, 0, 20)
    bt.resetToBootloader()