if i % (8*stepSize) == 0: time.sleep(1) def dumpBusList(buses): for bus in buses: print "%s %s (direction=%s) %d min (%d sec)" % (bus['PublishedLineName'], bus['DestinationDisplay'], bus['DirectionRef'], minutesLeft(bus), secondsLeft(bus)) font = LedFont() display = LedDisplay(font, lines=DISPLAY_LINES, device=DEVICE) display.writeTxt("Line 1", xpos=0, ypos=0, color='red') display.writeTxt("Line 2", xpos=0, ypos=8, color='green') display.writeTxt("Line 3", xpos=0, ypos=16, color='orange') display.writeTxt("Line 4", xpos=0, ypos=24, color='green') display.send() time.sleep(1) for i in range(100, -1, -4): display.flush(DISPLAY_LINES-1) display.writeTxt("Scrolling", xpos=i, ypos=(DISPLAY_LINES-1)*8, color='green') display.send(DISPLAY_LINES-1) while True: display.flush() scrollCount = 0 lastRequestTime = time.time() print "" try: buses = [] for stopId in STOPS: print "Performing HTTP request for",
display = LedDisplay(font, lines=DISPLAY_LINES, device=DEVICE) import random counter = 1 snowflakes = [] def moveSnowflakes(flake): flake[0] += 1 if flake[0] > 127: flake[0] = 0 flake[1] += 1 if flake[1] > 31: flake[1] = 0 for i in range(0, 30): snowflakes.append([random.randint(0, 127), random.randint(0, 31)]) while True: counter += 1 display.flush() for flake in snowflakes: moveSnowflakes(flake) color = random.randint(0, 2) if color == 0: color = 'green' if color == 1: color = 'red' if color == 2: color = 'orange' display.setPixel(flake[0], flake[1], color) display.writeTxt("NUCCC 2011", color='red', xpos=30, ypos=13) display.send()
buses = json.loads(jsonstr) for bus in buses: bus['DestinationDisplay'] = compressName(bus['DestinationDisplay']) bus['AimedArrivalTime'] = dateStrToStruct(bus['AimedArrivalTime']) bus['AimedDepartureTime'] = dateStrToStruct(bus['AimedDepartureTime']) bus['ExpectedArrivalTime'] = dateStrToStruct(bus['ExpectedArrivalTime']) bus['ExpectedDepartureTime'] = dateStrToStruct(bus['ExpectedDepartureTime']) bus['RecordedAtTime'] = dateStrToStruct(bus['RecordedAtTime']) buses = sortBy(buses, 'ExpectedArrivalTime') drawOnLine(0, buses[0]) drawOnLine(1, buses[1]) drawOnLine(2, buses[2]) display.send() for bus in buses[3:]: # print "scrolling bus: " + bus['DestinationDisplay'] text = bus['LineRef'] + ' ' + bus['DestinationDisplay'] + ' ' + str(minutesLeft(bus)) + ' min' for i in range(128, -128, -1): display.flush(line=3) display.writeTxt(text, xpos=i, ypos=8*3) display.send(line=3) except IOError: print "Failed to fetch data" display.flush() display.writeTxt("Offline...", xpos=0, ypos=0, color='red') display.send()