def __init__(self): try: self.dmx = DmxPro('/dev/ttyUSB0', 25) # interface to DMX Pro driver except: print "Error in LaserManagement::__init__: " sys.exit(1) self.Lasers = [] L1 = Laser_Stairville__150_RGY( DMX_address=1 ) # for each connected laser, instantiate such a class (use different DMX addresses!) and append to Lasers[] self.Lasers.append(L1) self.no_of_lasers = len(self.Lasers) # number of connected lasers
def __init__(self): try: self.dmx = DmxPro('/dev/ttyUSB0', 25) # interface to DMX Pro driver except: print "Error in LaserManagement::__init__: " sys.exit(1) self.Lasers = [] L1 = Laser_Stairville__150_RGY(DMX_address=1) # for each connected laser, instantiate such a class (use different DMX addresses!) and append to Lasers[] self.Lasers.append(L1) self.no_of_lasers = len(self.Lasers) # number of connected lasers
class LaserManagement: # this class provides functions to deal with the connected lasers def __init__(self): try: self.dmx = DmxPro('/dev/ttyUSB0', 25) # interface to DMX Pro driver except: print "Error in LaserManagement::__init__: " sys.exit(1) self.Lasers = [] L1 = Laser_Stairville__150_RGY(DMX_address=1) # for each connected laser, instantiate such a class (use different DMX addresses!) and append to Lasers[] self.Lasers.append(L1) self.no_of_lasers = len(self.Lasers) # number of connected lasers def SetBeamWidth(self, width, laser=1): """ sets the beamwidth in cm for a specified laser""" L = self.Lasers[laser-1] L.SetBeamWidth(width) def Move(self, x, y, laser=1): """moves a laser to laser channel coordinates x,y""" # parameter laser specifies, which laser to use L = self.Lasers[laser-1] L.SetMoveXY(x,y) self.dmx.setChannels(L.offset, L.buffer) self.dmx.send() def Stop(self): """turns of all lasers""" for L in self.Lasers: L.SetStop() self.dmx.setChannels(L.offset, L.buffer) self.dmx.send() def GetMaxChannels(self, laser=1): """returns max_left, max_right, max_top, max_bottom""" L = self.Lasers[laser-1] return L.max_left, L.max_right, L.max_top, L.max_bottom
class LaserManagement: # this class provides functions to deal with the connected lasers def __init__(self): try: self.dmx = DmxPro('/dev/ttyUSB0', 25) # interface to DMX Pro driver except: print "Error in LaserManagement::__init__: " sys.exit(1) self.Lasers = [] L1 = Laser_Stairville__150_RGY( DMX_address=1 ) # for each connected laser, instantiate such a class (use different DMX addresses!) and append to Lasers[] self.Lasers.append(L1) self.no_of_lasers = len(self.Lasers) # number of connected lasers def SetBeamWidth(self, width, laser=1): """ sets the beamwidth in cm for a specified laser""" L = self.Lasers[laser - 1] L.SetBeamWidth(width) def Move(self, x, y, laser=1): """moves a laser to laser channel coordinates x,y""" # parameter laser specifies, which laser to use L = self.Lasers[laser - 1] L.SetMoveXY(x, y) self.dmx.setChannels(L.offset, L.buffer) self.dmx.send() def Stop(self): """turns of all lasers""" for L in self.Lasers: L.SetStop() self.dmx.setChannels(L.offset, L.buffer) self.dmx.send() def GetMaxChannels(self, laser=1): """returns max_left, max_right, max_top, max_bottom""" L = self.Lasers[laser - 1] return L.max_left, L.max_right, L.max_top, L.max_bottom