Ejemplo n.º 1
0
class KinetSender(Thread):

    PACKET_INTERVAL_SECONDS = 0.025
    srcIP = ""
    srcPort = 0  # any available
    destIP = "" 
    destPort = 6038
    fixturePorts = 0      
    fixtureLength = None   
    dataPackets = None
    dataLocks = None
    syncPacket = None
    sock = None
    payloadobjs = []
    log = None
    stop = False
    complete = Event()

    # set srcip="" for all available interfaces
    # pass array as fixtureLength for varying lengths, integer if all the same
    def __init__(self, srcip, destip, fixtureports, fixtureLength, log=None, start=True):
        Thread.__init__(self)
        if log:
            self.log = log
        else:
            self.log = BeaconLogging("Beacon-beta", "KinetSender", "KinetSender.log", logging.WARNING,logging.WARNING, None)       
        self.srcIP = srcip
        self.destIP = destip
        self.fixturePorts = fixtureports
        self.name = "KinetSender_" + self.destIP  # threadname
        self.fixtureLength = []
        if type(fixtureLength)==types.IntType:
            for k in range(0, self.fixturePorts):
                self.fixtureLength.append(fixtureLength)
        self.syncPacket = KinetPktSync()
        self.dataPackets = []
        for k in range(1, self.fixturePorts+1):
            self.dataPackets.append(KinetPktPortOut(k, self.fixtureLength[k-1]))
        self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        try:
            self.sock.bind((self.srcIP, self.srcPort))
        except Exception, e:
            self.log.log(logging.ERROR, "KinetSender.__init__()", "Exception binding socket", exception=e)
        else:     
Ejemplo n.º 2
0
class KinetSender(object):

    PACKET_INTERVAL_SECONDS = 0.007
    srcIP = ""
    srcPort = 0  # any available
    destIP = "" 
    destPort = 6038
    fixturePorts = 0      
    fixtureLength = None   
    dataPackets = None
    dataLocks = None
    syncPacket = None
    sock = None
    payloadobjs = []
    log = None
    stop = False
    complete = Event()

    # set srcip="" for all available interfaces
    # pass array as fixtureLength for varying lengths, integer if all the same
    def __init__(self, srcip, destip, fixtureports, fixtureLength, log=None, start=True):
        if log:
            self.log = log
        else:
            self.log = BeaconLogging("Beacon-beta", "KinetSender", "KinetSender.log", logging.WARNING,logging.WARNING, None)       
        self.srcIP = srcip
        self.destIP = destip
        self.fixturePorts = fixtureports
        self.name = "KinetSender_" + self.destIP  # threadname
        self.fixtureLength = []
        if type(fixtureLength)==types.IntType:
            for k in range(0, self.fixturePorts):
                self.fixtureLength.append(fixtureLength)
        self.syncPacket = KinetPktSync()
        self.dataPackets = []
        for k in range(1, self.fixturePorts+1):
            self.dataPackets.append(KinetPktPortOut(k, self.fixtureLength[k-1]))
        self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        self.runThread = Thread(target=self.run, name='Payload transmit thread')
        try:
            self.sock.bind((self.srcIP, self.srcPort))
        except Exception, e:
            self.log.log(logging.ERROR, "KinetSender.__init__()", "Exception binding socket", exception=e)
        else:     
Ejemplo n.º 3
0
 def __init__(self, srcip, destip, fixtureports, fixtureLength, log=None, start=True):
     if log:
         self.log = log
     else:
         self.log = BeaconLogging("Beacon-beta", "KinetSender", "KinetSender.log", logging.WARNING,logging.WARNING, None)       
     self.srcIP = srcip
     self.destIP = destip
     self.fixturePorts = fixtureports
     self.name = "KinetSender_" + self.destIP  # threadname
     self.fixtureLength = []
     if type(fixtureLength)==types.IntType:
         for k in range(0, self.fixturePorts):
             self.fixtureLength.append(fixtureLength)
     self.syncPacket = KinetPktSync()
     self.dataPackets = []
     for k in range(1, self.fixturePorts+1):
         self.dataPackets.append(KinetPktPortOut(k, self.fixtureLength[k-1]))
     self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
     self.runThread = Thread(target=self.run, name='Payload transmit thread')
     try:
         self.sock.bind((self.srcIP, self.srcPort))
     except Exception, e:
         self.log.log(logging.ERROR, "KinetSender.__init__()", "Exception binding socket", exception=e)
Ejemplo n.º 4
0
 def __init__(self, srcip, destip, fixtureports, fixtureLength, log=None, start=True):
     Thread.__init__(self)
     if log:
         self.log = log
     else:
         self.log = BeaconLogging("Beacon-beta", "KinetSender", "KinetSender.log", logging.WARNING,logging.WARNING, None)       
     self.srcIP = srcip
     self.destIP = destip
     self.fixturePorts = fixtureports
     self.name = "KinetSender_" + self.destIP  # threadname
     self.fixtureLength = []
     if type(fixtureLength)==types.IntType:
         for k in range(0, self.fixturePorts):
             self.fixtureLength.append(fixtureLength)
     self.syncPacket = KinetPktSync()
     self.dataPackets = []
     for k in range(1, self.fixturePorts+1):
         self.dataPackets.append(KinetPktPortOut(k, self.fixtureLength[k-1]))
     self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
     try:
         self.sock.bind((self.srcIP, self.srcPort))
     except Exception, e:
         self.log.log(logging.ERROR, "KinetSender.__init__()", "Exception binding socket", exception=e)
Ejemplo n.º 5
0
 def __init__(self,
              ports=1,
              portstart=1,
              portorder=None,
              log=None,
              icf=None):
     if log:
         self.log = log
     else:
         self.log = BeaconLogging("Beacon-beta", "IColorFlex",
                                  "IColorFlex.log", logging.WARNING,
                                  logging.WARNING, None)
     if portorder:
         self._portorder = portorder
     else:
         self._portorder = [1 for n in range(ports)]
     self._ports = ports
     self.portstart = portstart
     self._size = self._STRANDSIZE * ports
     self._payload = [(c_ubyte * (3 * self._STRANDSIZE))()
                      for k in xrange(self._ports)]
     self.ch = [RGBLamp() for k in xrange(self._size)]
     if icf != None:
         self.copy(icf)
Ejemplo n.º 6
0
                ("version", c_short), 
                ("type", c_short), 
                ("seqnum", c_int),
                ("pad", c_ulong)]
    def __init__(self): 
        self.magic = 0x4ADC0104
        self.version = 0x0002
        self.type = 0x0109
        self.seqnum = 0x0000                
    def __str__(self):
        return "KinetPktSyncOut"
    
if __name__ == '__main__':  
    

    log = BeaconLogging("Beacon-beta", "KinetSender", "KinetSenderTest.log", None,logging.INFO, None) 


    kinetsender = KinetSender("192.168.1.1", "192.168.1.50", 1, 150, log) #"192.168.42.2", "192.168.42.10", 12, 150)
    
    N=0 
    patterns = [(0, 0, 1), (0, 1, 0), (1, 0, 0), (1, 0, 1),
		(1, 1, 0), (0, 1, 1), (1, 1, 1)]
    while (True):
        try:
            N+=1
            p = patterns[(N/50)%len(patterns)]
            bob = range(1,151)
            for i in range(0,50):
                bob[i*3:i*3+3]=(N*x for x in p)     
            kinetsender.setPayload(1,bob)