imatest-control

imatest-control

Version: 1.28.12916488 - Release Date: 2.7.2025

imatest-control basics

The Api has a primary class called ControlSystem. Typically 1 of these needs to be instantiated.

Once the ControlSystem is instantiated, Controllers can be added to the ControlSystem. Likewise, Devices can be added to the Controllers.

After Adding Controllers and Devices, calling ControlSystem.initializeDevices() will connect to all added controllers and devices.

Once Initialized, Commands can be added to devices. If multiple commands are added to a device, the commands are queued.

In order to run the commands, call ControlSystem.Update() or ControlSystem.processAll()

ControlSystem.processAll() updates all commands incrementally and waits until all commands are finished.

Commands

A Command is created by creating command package and adding it to the device:

motionCommand = cntr.MovementCommandPackage()
motionCommand.disp_target = 30
commandStatus = controlSystem.addDeviceCommand(device, motionCommand, flags)

A command will be created with the parameters given in the passed in DeviceCommandPackage.

The following example shows a basic program that controls a “Dummy” Device (a device that does not have actual hardware)

 1from imatest import control as cntr
 2
 3import time
 4import os
 5
 6
 7
 8#create a Control System
 9system = cntr.ControlSystem()
10
11
12#Add Dummy Controller
13testCnt = cntr.DummyController()
14system.addDeviceController(testCnt)
15
16#Create Dummy Device
17testDevice = cntr.DummyDeviceInfo()
18testDevice.alias = "test_device"
19
20#Add Dummy Device to Controller
21testCnt.addDeviceInfo(testDevice)
22
23#Initialize the devices
24system.initializeDevices()
25
26
27#Add Commands
28if(testCnt.isConnected()):
29    motionCommand = cntr.MovementCommandPackage()
30
31    #set displacement target
32    motionCommand.disp_target = 30
33    lastCommand = system.addDeviceCommand(testDevice, motionCommand)
34
35
36    #Wait until command is finished.
37    lastCommand.runFull()
38
39
40    motionCommand = cntr.MovementCommandPackage()
41    motionCommand.disp_target = 0
42    lastCommand = system.addDeviceCommand(testDevice, motionCommand)
43
44    #Wait until command is finished.
45    lastCommand.runFull()
46
47    motionCommand = cntr.MovementCommandPackage()
48    #set displacement target
49    motionCommand.disp_target = 50
50    lastCommand = system.addDeviceCommand(testDevice, motionCommand)
51
52    #Wait until command is finished.
53    lastCommand.runFull()
54
55system.unInitialize()
56print("example finished.")
57
58

imatest-control examples

KinoFlo_Example

LEDLightBox_Example

 1from imatest import control as cntr
 2
 3import time
 4
 5#Create the Control System 
 6system = cntr.ControlSystem()
 7
 8#Optionally Mute Console Print Outs
 9#system.MuteConsole()
10
11#Add LEDLightBox Controller (LedLightBoxController)
12lightBoxCntr = cntr.LedLightBoxController()
13lightBoxCntr.port = "COM14"
14system.addDeviceController(lightBoxCntr)
15
16
17#Add LightBox device 
18dev1 = cntr.LedLightBoxDevice_High_LUX_LED_Box_Mixed_Info()
19dev1.alias = "lightbox"
20lightBoxCntr.addDeviceInfo(dev1)
21
22
23#Control system will connect to devices
24system.initializeDevices()
25
26
27
28if(lightBoxCntr.isConnected()):
29
30
31    #Create Commands For Lightbox 1
32    command0 = cntr.LedLightBoxCommand_Lighting()
33    command0.dimmerIntensityPercent = 0.5
34    command0.highLowSetting = False
35    command0.colorTemperaturePerc = 0.0
36    commandStatus0 = system.addDeviceCommand_Alias("lightbox", command0)
37
38    commandStatus0.runFull()
39    time.sleep(2.0)
40
41    command1 = cntr.LedLightBoxCommand_Lighting()
42    command1.dimmerIntensityPercent = 0.5
43    command1.highLowSetting = True
44    command1.colorTemperaturePerc = 0.0
45    commandStatus1 = system.addDeviceCommand_Alias("lightbox", command1)
46
47    commandStatus1.runFull()
48    time.sleep(2.0)
49
50    command2 = cntr.LedLightBoxCommand_Lighting()
51    command2.dimmerIntensityPercent = 0.5
52    command2.highLowSetting = False
53    command2.colorTemperaturePerc = 1.0
54    system.addDeviceCommand_Alias("lightbox", command2)
55
56
57system.unInitialize()
58print("finished")
59

Zaber_Example

 1import time
 2from imatest import control as cntr
 3
 4
 5
 6
 7
 8system = cntr.ControlSystem()
 9
10#Add Zaber Controller
11zabCnt = cntr.zaberController()
12zabCnt.com_type = "software_serial"
13zabCnt.port = "COM7"
14
15system.addDeviceController(zabCnt)
16
17#Add Zaber Device On Controller
18dev1 = cntr.ZaberDeviceInfo()
19dev1.zaberDeviceAddress = 2
20dev1.alias = "slider"
21axisInfo = cntr.ZaberAxisInfo()
22axisInfo.alias = "primary axis"
23dev1.AddAxisInfo(axisInfo)
24
25zabCnt.addDeviceInfo(dev1)
26
27
28system.initializeDevices()
29
30
31
32#Add Zaber Slider Commands
33if(zabCnt.isConnected()):
34    motionCommand = cntr.MovementCommandPackage()
35    motionCommand.disp_target = 30;
36    lastCommand = system.addDeviceCommand(dev1, motionCommand)
37
38    lastCommand.runFull()
39
40    motionCommand = cntr.MovementCommandPackage()
41    motionCommand.disp_target = 0
42    lastCommand = system.addDeviceCommand(dev1, motionCommand)
43
44    lastCommand.runFull()
45
46    motionCommand = cntr.MovementCommandPackage()
47    motionCommand.disp_target = 50
48    lastCommand = system.addDeviceCommand(dev1, motionCommand);
49
50    lastCommand.runFull()
51
52
53
54system.unInitialize()
55

RoboClaw(actuator)_Example

BenchTopTestStand(Manual_Zaber)_Example

 1from imatest import control as cntr
 2
 3import time
 4
 5
 6
 7system = cntr.ControlSystem()
 8
 9
10
11zaberCont = cntr.zaberController();
12zaberCont.alias = "BTS_ZaberController";
13zaberCont.port = "COM3";
14
15
16xAxisDev = cntr.ZaberDeviceInfo();
17xAxisDev.alias = "X-Axis";
18xAxisInfo = cntr.ZaberAxisInfo();
19xAxisInfo.alias = "XAxis";
20xAxisInfo.type = "linear";
21xAxisInfo.minAccLimit = 14;
22xAxisInfo.maxAccLimit = 30;
23xAxisDev.zaberDeviceAddress = 2;
24xAxisDev.AddAxisInfo(xAxisInfo);
25
26zAxisDev = cntr.ZaberDeviceInfo();
27zAxisDev.alias = "Z-Axis";
28zAxisDev.zaberDeviceAddress = 1;
29zAxisInfo = cntr.ZaberAxisInfo();
30zAxisInfo.alias = "ZAxis";
31zAxisInfo.type = "linear";
32zAxisInfo.minAccLimit = 14;
33zAxisInfo.maxAccLimit = 30;
34
35zAxisDev.AddAxisInfo(zAxisInfo);
36
37#zAxisDev.setEnableCommandLogging(True)
38
39zaberCont.addDeviceInfo(xAxisDev);
40zaberCont.addDeviceInfo(zAxisDev);
41
42system.addDeviceController(zaberCont);
43
44system.initializeDevices()
45
46
47
48#Add Zaber Slider Commands
49zCommand = cntr.ZaberCommandSetAxisMovement()
50zCommand.disp_target = 800
51zCommandStatus = zAxisDev.addCommand(zCommand)
52
53xCommand = cntr.ZaberCommandSetAxisMovement()
54xCommand.disp_target = 30
55xCommandStatus = xAxisDev.addCommand(xCommand)
56
57zCommandStatus.runFull()
58xCommandStatus.runFull()
59
60
61zCommand = cntr.ZaberCommandSetAxisMovement()
62zCommand.disp_target = 900
63zCommandStatus2 = zAxisDev.addCommand(zCommand)
64
65xCommand = cntr.ZaberCommandSetAxisMovement()
66xCommand.disp_target = 100
67xCommandStatus2 = xAxisDev.addCommand(xCommand)
68
69zCommandStatus2.runFull()
70xCommandStatus2.runFull()
71
72system.unInitialize()

BenchTopTestStand_Example

 1from imatest import control as cntr
 2
 3import time
 4
 5#create a control system.
 6system = cntr.ControlSystem()
 7
 8#refer to BTS manual for pictures showing the Coordinate System.
 9frame = cntr.BTSFraming()
10
11#specify zaber com port
12frame.zaberPort = "COM7"
13
14#initialize the frame. (connect)
15frame.initialize(system)
16
17#apply calibration offset if previously used the BTSFraming calibration routines. otherwise dont use.
18frame.calibrationOffset = cntr.Vector3D(0,0,-3.54612)
19
20#move the frame to the home reference position.
21frame.Home()
22
23#move the center of the chart to 114 mm away from the camera center frame point.
24frame.chartCenterFrame_Go_CameraCenterFrame(cntr.Vector3D(0,0,114))
25
26#print the position of the center of the chart relative to the camera center frame point.
27print(f'{frame.chartCenterFrame_CameraCenterFrame.x},{frame.chartCenterFrame_CameraCenterFrame.y},{frame.chartCenterFrame_CameraCenterFrame.z}')
28
29system.unInitialize()

imatest-control reference

class controlAPI.ApiCommandPackage[source]

Bases: object

Base Class for command packages

property alias

user definable unique alias for this command package

className()[source]
static staticClassName()[source]
property thisown

The membership flag

controlAPI.As_MovementCommandPackage(obj)[source]
controlAPI.As_MovementStateInfo(obj)[source]

Dynamic Cast a CommandStateInfo pointer into a MovementStateInfo pointer

controlAPI.As_ZaberCommandGetStorageKey(package)[source]
controlAPI.As_ZaberCommandSetAxisMovement(package)[source]
controlAPI.As_ZaberCommandSetStorageKey(package)[source]
class controlAPI.BTSFraming[source]

Bases: CompositeFrameBase

<summary> BTSFraming class, contains methods for control of BTS frames. all dimension Units are in millimeters

https://drive.google.com/file/d/1pRtOPzCtmoEOHzolEsyHNhHvKwgjnRsm/view?usp=drive_link

<summary>

property ChartCenterHome_CameraCenterFrame

<summary> Chart center home position in the cameracenter frame. Units: millimeters <summary>

Home()[source]

Command targetMountFrame to go to TargetMountHome position use if axis’ have been moved manually or without power to reset the BTSFrame.

property calibrationOffset

<summary> Calibration offset (can be obtained by calling doCalibrationAndValidation) <summary> <param name=”calibration”><param>

cameraCenterFrame_To_homeFrame(cameraSpace)[source]

<summary> Transform vector from cameraCenterFrame to homeFrame <summary> <param name=”cameraSpace”><param> <returns><returns>

property chartCenterFrame_CameraCenterFrame

<summary> Current relative location of the chartCenter to the CameraCenter <summary>

chartCenterFrame_Go_CameraCenterFrame(cameraSpace)[source]

<summary> Command the chartCenterFrame to move to a location relative to the CameraFrame <summary>

chartCenterFrame_Go_ChartCenterHomeFrame(homeSpace)[source]

<summary> Command the chartCenterFrame to go somewhere relative to the chartCenterHomeFrame <summary> <param name=”homeSpace”><param>

className()[source]
doCalibrationAndValidation()[source]

<summary> Do calibration and validation routine. prompts the user for micrometer reading. reports validation meaurements returns calibration offset for use later. <summary> <returns><returns>

homeFrame_To_cameraCenterFrame(homeSpace)[source]

<summary> Transform vector in the homeFrame to cameraCenterFrame. <summary> <param name=”homeSpace”><param> <returns><returns>

initialize(system)[source]

initialize the frame using the given config. :param config:

property stageAcceleration

<summary> Acceleration to command the stages to use. <summary>

property stageVelocity

<summary> Velocity to command the stages to use. <summary>

static staticClassName()[source]
property system
property thisown

The membership flag

zaberCont()[source]
zaberDevice1()[source]
zaberDevice1Axis()[source]
zaberDevice2()[source]
zaberDevice2Axis()[source]
property zaberPort

<summary> Serial Port for zaber (ex “COM4”) Set Before initialization. <summary>

class controlAPI.BTSFramingCommandStatusSet(*args, **kwargs)[source]

Bases: CompositeCommandStatusSet

className()[source]
initialize()

<summary> Start the command by internally initializing the thread, binding to the device, and ensuring it is ready to be updated. <summary> <returns><returns>

isBusy()

returns true if the command is currently running

isCancelled()

returns true if the command was cancelled.

isFinished()

returns true if the command has finished. (normally finished or cancelled).

isSuccessful()
isUpdateStepReady()
runASync()

<summary> initialize and start the command async. <summary> <returns><returns>

runFull()

<summary> initializes, and runs the command until it stops (blocking) <summary> <returns><returns>

static staticClassName()[source]
stop()

End the command (cancel)

property thisown

The membership flag

update(stepped=False)

<summary> update the command by allowing it to begin. if stepped = true, will begin to perform 1 update. if stepped = false, will update until finished. <summary> <param name=”stepped”><param> <returns><returns>

updateoverride(stepped=False)
waitFinished()

<summary> Wait for the command to finish. <summary>

waitUpdateReady()

<summary> Wait until command is ready to begin a update step <summary> <returns><returns>

waitUpdateReadyOrFinished()

<summary> Wait until command is ready to begin an update step or it is finished. <summary> <returns><returns>

property xAxis
property zAxis
class controlAPI.CommandCallbacks[source]

Bases: object

DEPRECIATED Base Clase to be overridden by user exposing methods called on command state changes.

className()[source]
onCommandFinished(commandStatus, deviceInfo)[source]

Called when a Command Finishes.

onCommandUpdate(commandStatus, deviceInfo)[source]

Called during command execution

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.CommandStateInfo[source]

Bases: object

className()[source]
property percentFinished

<summary> percentage to command completion. <summary>

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.CommandStatus[source]

Bases: CommandStatusControlMethods

Command Status Object for tracking the current state of a queued or executing command.

property alias

The unique alias for this command.

apiId()[source]
className()[source]
commandPackage()[source]

<summary> The command package associated with the command. <summary> <returns><returns>

controlSystem()[source]

<summary> The control system this command status belongs to. <summary> <returns><returns>

deviceApiId()[source]
deviceController()[source]

<summary> The device controller this command status is associated with. <summary> <returns><returns>

deviceInfo()[source]

<summary> The device this command status is associated with. <summary> <returns><returns>

initialize()[source]

<summary> Start the command by internally initializing the thread, binding to the device, and ensuring it is ready to be updated. <summary> <returns><returns>

isBusy()[source]

returns true if the command is currently running

isCancelled()[source]

returns true if the command was cancelled.

isFinished()[source]

returns true if the command has finished. (normally finished or cancelled).

isSuccessful()[source]
isUpdateStepReady()[source]
runASync()[source]

<summary> initialize and start the command async. <summary> <returns><returns>

runFull()[source]

<summary> initializes, and runs the command until it stops (blocking) <summary> <returns><returns>

stateInfo()[source]

<summary> The command state information associated with the command. <summary> <returns><returns>

static staticClassName()[source]
stop()[source]

End the command (cancel)

property thisown

The membership flag

update(stepped=False)[source]

<summary> update the command by allowing it to begin. if stepped = true, will begin to perform 1 update. if stepped = false, will update until finished. <summary> <param name=”stepped”><param> <returns><returns>

waitFinished()[source]

<summary> Wait for the command to finish. <summary>

waitUpdateReady()[source]

<summary> Wait until command is ready to begin a update step <summary> <returns><returns>

waitUpdateReadyOrFinished()[source]

<summary> Wait until command is ready to begin an update step or it is finished. <summary> <returns><returns>

class controlAPI.CommandStatusControlMethods(*args, **kwargs)[source]

Bases: object

Base class for implementing methods for CommandStatus objects.

className()[source]
initialize()[source]

<summary> Start the command by internally initializing the thread, binding to the device, and ensuring it is ready to be updated. <summary> <returns><returns>

isBusy()[source]

returns true if the command is currently running

isCancelled()[source]

returns true if the command was cancelled.

isFinished()[source]

returns true if the command has finished. (normally finished or cancelled).

isSuccessful()[source]
isUpdateStepReady()[source]
runASync()[source]

<summary> initialize and start the command async. <summary> <returns><returns>

runFull()[source]

<summary> initializes, and runs the command until it stops (blocking) <summary> <returns><returns>

static staticClassName()[source]
stop()[source]

End the command (cancel)

property thisown

The membership flag

update(stepped=False)[source]

<summary> update the command by allowing it to begin. if stepped = true, will begin to perform 1 update. if stepped = false, will update until finished. <summary> <param name=”stepped”><param> <returns><returns>

waitFinished()[source]

<summary> Wait for the command to finish. <summary>

waitUpdateReady()[source]

<summary> Wait until command is ready to begin a update step <summary> <returns><returns>

waitUpdateReadyOrFinished()[source]

<summary> Wait until command is ready to begin an update step or it is finished. <summary> <returns><returns>

class controlAPI.CommunicationCommandPackage[source]

Bases: DeviceCommandPackage

Generic Command to communicate with a device.

property alias

user definable unique alias for this command package

className()[source]
cloneFrom(other)

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()[source]
markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

property outgoingBuffer
prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.CompositeCommandStatusSet(*args, **kwargs)[source]

Bases: CommandStatusControlMethods

base class for giving access to composite command status sets. and functions to manage groups of commands etc.

className()[source]
initialize()[source]

<summary> Start the command by internally initializing the thread, binding to the device, and ensuring it is ready to be updated. <summary> <returns><returns>

isBusy()[source]

returns true if the command is currently running

isCancelled()[source]

returns true if the command was cancelled.

isFinished()[source]

returns true if the command has finished. (normally finished or cancelled).

isSuccessful()
isUpdateStepReady()
runASync()[source]

<summary> initialize and start the command async. <summary> <returns><returns>

runFull()[source]

<summary> initializes, and runs the command until it stops (blocking) <summary> <returns><returns>

static staticClassName()[source]
stop()[source]

End the command (cancel)

property thisown

The membership flag

update(stepped=False)

<summary> update the command by allowing it to begin. if stepped = true, will begin to perform 1 update. if stepped = false, will update until finished. <summary> <param name=”stepped”><param> <returns><returns>

updateoverride(stepped=False)[source]
waitFinished()[source]

<summary> Wait for the command to finish. <summary>

waitUpdateReady()[source]

<summary> Wait until command is ready to begin a update step <summary> <returns><returns>

waitUpdateReadyOrFinished()[source]

<summary> Wait until command is ready to begin an update step or it is finished. <summary> <returns><returns>

class controlAPI.CompositeFrameBase[source]

Bases: object

className()[source]
static staticClassName()[source]
property system
property thisown

The membership flag

class controlAPI.ControlSystem(*args)[source]

Bases: LoggerFunctionality

Primary class for managing upper-level control over a multi-axis system with different devices. Supports addition of Devices, Controllers, and Control/Commands

addDeviceCommand(device, package)[source]

Add a command to a device.

addDeviceCommandAlias(deviceAlias, package)[source]

Add a command to a device using device alias string

addDeviceCommandDevId(deviceId, package)[source]

Add a command to a device using device id

addDeviceController(controller)[source]

Add a device controller to the control system.

className()[source]
delay(*args)[source]

Overload 1: Add a time delay command to a device


Overload 2: Add a time delay command to a device

getControllerFromAlias(controllerAlias)[source]

Get a controller from its alias string

getDeviceFromAlias(deviceAlias)[source]

Get a device from its alias string

getLogger()
initializeController(controller)[source]

initFriendlyNameBuffer an added device controller.

initializeDevices()[source]

initFriendlyNameBuffer (start initial communication and do checks) on all added controllers/devices

loggerName()
muteConsole()[source]

Mute info messages on console.

runASyncCommandList(commandList)[source]

<summary> Start the list of commands running async, returns immediately. <summary> <param name=”commandList”><param>

runFullCommandListParallel(commandList)[source]

<summary> Run Commands in parallel <summary> <param name=”commandList”><param>

runFullCommandListSeq(commandList)[source]

<summary> Run Commands in order, one after another, fully <summary> <param name=”commandList”><param>

setCommandCallback(callbackObj)[source]

Attach a CommandCallbacks object to the ControlSystem.

static staticClassName()[source]
property thisown

The membership flag

unInitialize()[source]

<summary> De initialize the control system. disconnecting all controllers and devices. user created controllers and devices should remain allocated while this function is called - then can be freed/released afterwards. <summary>

unMuteConsole()[source]

UnMute info message on console.

waitFinishedCommandList(commandList)[source]

<summary> Wait for the list of commands to complete <summary> <param name=”commandList”><param>

class controlAPI.DMXDeviceCommandLightingPackage[source]

Bases: DMXDeviceCommandPackage

<summary> base class for dmx lighting command packages <summary>

property alias

user definable unique alias for this command package

className()[source]
cloneFrom(other)

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()[source]
markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.DMXDeviceCommandPackage[source]

Bases: DeviceCommandPackage

<summary> base class for dmx command packages <summary>

property alias

user definable unique alias for this command package

className()[source]
cloneFrom(other)

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()[source]
markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.DMXDeviceCommand_HSLColor8Bit[source]

Bases: DMXDeviceCommandLightingPackage

<summary> command to set the hsl color of a dmx lighting device <summary>

property alias

user definable unique alias for this command package

className()[source]
cloneFrom(other)

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()[source]
property h

<summary> hue <summary>

property l

<summary> lightness <summary>

markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

property s

<summary> saturation <summary>

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.DMXDeviceCommand_RGBColor8Bit[source]

Bases: DMXDeviceCommandLightingPackage

<summary> command to set the rgb color of a dmx lighting device <summary>

property alias

user definable unique alias for this command package

property blue
className()[source]
cloneFrom(other)[source]

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()[source]
property green
markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

property red
static staticClassName()[source]
property thisown

The membership flag

class controlAPI.DMXDeviceCommand_SetPersonality[source]

Bases: DMXDeviceCommandPackage

<summary> command to set the dmx personality of a dmx lighting device <summary>

property alias

user definable unique alias for this command package

className()[source]
cloneFrom(other)

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()[source]
markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

property personalityIndex
prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.DMXDeviceInfo[source]

Bases: DeviceInfo

property DMXBaseAddress
addCommandGeneric(package)
property alias
property apiDeviceId
className()[source]
commandLoggingEnabled()
commandLoggingLevel()
controlSystem()

access to owning control system.

deviceController()

access to owning controller.

initializeCommand(commandPackage)
isConnected()

Returns true is the device is currently connected.

property numChannels
preLoopCommandCheck(checkCancelled=True)
setCommandLoggingLevel(level)

Set the command logging level, 0 - regular, 1 - more detail, 2 - even more detail, etc. :type level: int :param level:

setEnableCommandLogging(enable)

set the device to log messages to the console. (default true) :type enable: boolean :param enable:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.DeviceCommandPackage[source]

Bases: ApiCommandPackage

Base Class containing command parameters needed to run a command for a device. The package is referenced during command updating. so parameters can be changed during command execution.

property alias

user definable unique alias for this command package

className()[source]
cloneFrom(other)[source]

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()[source]
markUpdatePackageReady()[source]

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

prepareUpdatePackage()[source]

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.DeviceController[source]

Bases: LoggerFunctionality

Base Class For Controlling Devices

addDeviceInfo(dev)[source]

<summary> Add a device to the controller. <summary> <param name=”dev”><param>

property alias

Alias of the controller

apiId()[source]

the assigned Api Id of the controller

checkCommandPackage(deviceId, package)[source]

check validity of command package

className()[source]
disconnect(expected=False)[source]

disconnect the controller, should handle both a manual disconnect and could be called from a comm error disconnect. set expected to false if called from a timeout error or unknown disconnect event. - error messages are printed. set expected to true if a manual disconnection is wanted.- info messages are printed.

getLogger()
isConnected()[source]

returns true if the controller is currently connected.

isSimulated()[source]

return if the controller is simulated. :rtype: boolean :return:

loggerName()
property port

port for connecting, if the device is a serial device this can be “COM3” or “/dev/tty.***”

removeDeviceInfo(dev)[source]

Remove an already added device.

setDisconnectCallback(callback)[source]

set a disconnected callback function to be called when the controller is disconnected.

setSimulated(simulated)[source]

set the simulated flag on the controller - simulated controllers can simulate interaction with attached devices. can only be set before the controller is initialized. :type simulated: boolean :param simulated:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.DeviceInfo[source]

Bases: HardwareInfo

Base Class for describing a device to be attached to a DeviceController

addCommandGeneric(package)[source]
property alias
property apiDeviceId
className()[source]
commandLoggingEnabled()[source]
commandLoggingLevel()[source]
controlSystem()[source]

access to owning control system.

deviceController()[source]

access to owning controller.

initializeCommand(commandPackage)[source]
isConnected()[source]

Returns true is the device is currently connected.

preLoopCommandCheck(checkCancelled=True)[source]
setCommandLoggingLevel(level)[source]

Set the command logging level, 0 - regular, 1 - more detail, 2 - even more detail, etc. :type level: int :param level:

setEnableCommandLogging(enable)[source]

set the device to log messages to the console. (default true) :type enable: boolean :param enable:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.DummyController[source]

Bases: DeviceController

<summary> Fully Virtual Controller Example used for controlling DummyDevices

BeginMotion(apiDeviceId)[source]
addDeviceInfo(dev)

<summary> Add a device to the controller. <summary> <param name=”dev”><param>

property alias

Alias of the controller

apiId()

the assigned Api Id of the controller

checkCommandPackage(deviceId, package)

check validity of command package

className()[source]
disconnect(expected=False)

disconnect the controller, should handle both a manual disconnect and could be called from a comm error disconnect. set expected to false if called from a timeout error or unknown disconnect event. - error messages are printed. set expected to true if a manual disconnection is wanted.- info messages are printed.

getLogger()
isConnected()

returns true if the controller is currently connected.

isSimulated()

return if the controller is simulated. :rtype: boolean :return:

loggerName()
property port

port for connecting, if the device is a serial device this can be “COM3” or “/dev/tty.***”

removeDeviceInfo(dev)

Remove an already added device.

setDisconnectCallback(callback)

set a disconnected callback function to be called when the controller is disconnected.

setSimulated(simulated)

set the simulated flag on the controller - simulated controllers can simulate interaction with attached devices. can only be set before the controller is initialized. :type simulated: boolean :param simulated:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.DummyDeviceInfo[source]

Bases: DeviceInfo

addCommand(package)[source]
addCommandGeneric(package)
property alias
property apiDeviceId
className()[source]
commandLoggingEnabled()
commandLoggingLevel()
controlSystem()

access to owning control system.

deviceController()

access to owning controller.

initializeCommand(commandPackage)
isConnected()

Returns true is the device is currently connected.

preLoopCommandCheck(checkCancelled=True)
setCommandLoggingLevel(level)

Set the command logging level, 0 - regular, 1 - more detail, 2 - even more detail, etc. :type level: int :param level:

setEnableCommandLogging(enable)

set the device to log messages to the console. (default true) :type enable: boolean :param enable:

static staticClassName()[source]
property thisown

The membership flag

property updateDelayTime_S
class controlAPI.EntTecController[source]

Bases: dmxController

<summary> controller for EntTec DMX USB Pro <summary>

addDeviceInfo(dev)

<summary> Add a device to the controller. <summary> <param name=”dev”><param>

property alias

Alias of the controller

apiId()

the assigned Api Id of the controller

checkCommandPackage(deviceId, package)

check validity of command package

className()[source]
disconnect(expected=False)

disconnect the controller, should handle both a manual disconnect and could be called from a comm error disconnect. set expected to false if called from a timeout error or unknown disconnect event. - error messages are printed. set expected to true if a manual disconnection is wanted.- info messages are printed.

getLogger()
isConnected()

returns true if the controller is currently connected.

isSimulated()

return if the controller is simulated. :rtype: boolean :return:

loggerName()
property port

port for connecting, if the device is a serial device this can be “COM3” or “/dev/tty.***”

removeDeviceInfo(dev)

Remove an already added device.

setDisconnectCallback(callback)

set a disconnected callback function to be called when the controller is disconnected.

setSimulated(simulated)

set the simulated flag on the controller - simulated controllers can simulate interaction with attached devices. can only be set before the controller is initialized. :type simulated: boolean :param simulated:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.ExoLight2DeviceInfo[source]

Bases: DeviceInfo

<summary> Device Info for the ExoLight2 device. <summary>

addCommandGeneric(package)
property alias
property apiDeviceId
property channel

<summary> Channel as attached to the Metaphase ULC2 controller (1 or 2) <summary>

className()[source]
commandLoggingEnabled()
commandLoggingLevel()
controlSystem()

access to owning control system.

deviceController()

access to owning controller.

property driveMode

<summary> Drive Control Mode <summary>

initializeCommand(commandPackage)
isConnected()

Returns true is the device is currently connected.

property modeDCSettings
property modeStrobeSettings
property modeVoltageSettings
property outputEnabled

<summary> Enable output to LED <summary>

preLoopCommandCheck(checkCancelled=True)
setCommandLoggingLevel(level)

Set the command logging level, 0 - regular, 1 - more detail, 2 - even more detail, etc. :type level: int :param level:

setEnableCommandLogging(enable)

set the device to log messages to the console. (default true) :type enable: boolean :param enable:

static staticClassName()[source]
property thisown

The membership flag

property triggerControlsDC

<summary>

<summary>

property triggerPolarity
<summary>

Rising Edge (true) or Falling Edge (false)

<summary>

property triggerType

<summary> Trigger type internal external. <summary>

class controlAPI.ExoLightCommand_SetDCLighting[source]

Bases: ExoLightCommand_SetLighting

<summary> Command to set the lighting (DC current drive mode) of a ExoLight device. <summary>

property alias

user definable unique alias for this command package

className()[source]
cloneFrom(other)

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()[source]
property intensityPercent

<summary> percentage of range [20mA to maxMilliAmpsDCMode] to drive the light in DC mode <summary>

markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

property outputEnabled
prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.ExoLightCommand_SetLighting[source]

Bases: DeviceCommandPackage

<summary> Command to set the lighting of a ExoLight device. <summary>

property alias

user definable unique alias for this command package

className()[source]
cloneFrom(other)

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()[source]
markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

property outputEnabled
prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.ExoLightCommand_SetStrobeLighting[source]

Bases: ExoLightCommand_SetLighting

<summary> Command to set the lighting (strobe mode) of a ExoLight device. <summary>

property alias

user definable unique alias for this command package

className()[source]
cloneFrom(other)

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()[source]
markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

property outputEnabled
prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

static staticClassName()[source]
property strobeCurrentMilliAmps

<summary> DC Amperage to drive the led (milliamps)

<summary>

property strobePulseWidthMicroSec

<summary> pulse width micro seconds

<summary>

property strobeTriggerDelayMicroSec

<summary> strobe trigger delay in microsecs <summary>

property strobeTriggerPeriodMicroSec

<summary> trigger period in micro seconds

<summary>

property thisown

The membership flag

class controlAPI.ExoLightCommand_SetVoltageLighting[source]

Bases: ExoLightCommand_SetLighting

<summary> Command to set the lighting (voltage mode) of a ExoLight device. <summary>

property alias

user definable unique alias for this command package

className()[source]
cloneFrom(other)

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()[source]
markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

property outputEnabled
prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

static staticClassName()[source]
property thisown

The membership flag

property voltage

<summary> output voltage <summary>

class controlAPI.FloatVector(*args)[source]

Bases: object

append(x)[source]
assign(n, x)[source]
back()[source]
begin()[source]
capacity()[source]
clear()[source]
empty()[source]
end()[source]
erase(*args)[source]
front()[source]
get_allocator()[source]
insert(*args)[source]
iterator()[source]
pop()[source]
pop_back()[source]
push_back(x)[source]
rbegin()[source]
rend()[source]
reserve(n)[source]
resize(*args)[source]
size()[source]
swap(v)[source]
property thisown

The membership flag

class controlAPI.HardwareDeviceController[source]

Bases: DeviceController

<summary> Base Class for hardware controllers.

addDeviceInfo(dev)

<summary> Add a device to the controller. <summary> <param name=”dev”><param>

property alias

Alias of the controller

apiId()

the assigned Api Id of the controller

checkCommandPackage(deviceId, package)

check validity of command package

className()[source]
disconnect(expected=False)

disconnect the controller, should handle both a manual disconnect and could be called from a comm error disconnect. set expected to false if called from a timeout error or unknown disconnect event. - error messages are printed. set expected to true if a manual disconnection is wanted.- info messages are printed.

getLogger()
isConnected()

returns true if the controller is currently connected.

isSimulated()

return if the controller is simulated. :rtype: boolean :return:

loggerName()
property port

port for connecting, if the device is a serial device this can be “COM3” or “/dev/tty.***”

removeDeviceInfo(dev)

Remove an already added device.

setDisconnectCallback(callback)

set a disconnected callback function to be called when the controller is disconnected.

setSimulated(simulated)

set the simulated flag on the controller - simulated controllers can simulate interaction with attached devices. can only be set before the controller is initialized. :type simulated: boolean :param simulated:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.HardwareInfo[source]

Bases: object

property alias
property apiDeviceId
property thisown

The membership flag

class controlAPI.IntVector(*args)[source]

Bases: object

append(x)[source]
assign(n, x)[source]
back()[source]
begin()[source]
capacity()[source]
clear()[source]
empty()[source]
end()[source]
erase(*args)[source]
front()[source]
get_allocator()[source]
insert(*args)[source]
iterator()[source]
pop()[source]
pop_back()[source]
push_back(x)[source]
rbegin()[source]
rend()[source]
reserve(n)[source]
resize(*args)[source]
size()[source]
swap(v)[source]
property thisown

The membership flag

class controlAPI.IsolightPuckCommandStatus[source]

Bases: CommandStatus

<summary> Command status for the isolight puck. <summary>

property alias

The unique alias for this command.

apiId()
className()[source]
commandPackage()

<summary> The command package associated with the command. <summary> <returns><returns>

controlSystem()

<summary> The control system this command status belongs to. <summary> <returns><returns>

deviceApiId()
deviceController()

<summary> The device controller this command status is associated with. <summary> <returns><returns>

deviceInfo()

<summary> The device this command status is associated with. <summary> <returns><returns>

initialize()

<summary> Start the command by internally initializing the thread, binding to the device, and ensuring it is ready to be updated. <summary> <returns><returns>

isBusy()

returns true if the command is currently running

isCancelled()

returns true if the command was cancelled.

isFinished()

returns true if the command has finished. (normally finished or cancelled).

isSuccessful()
isUpdateStepReady()
runASync()

<summary> initialize and start the command async. <summary> <returns><returns>

runFull()

<summary> initializes, and runs the command until it stops (blocking) <summary> <returns><returns>

stateInfo()[source]

<summary> The command state information associated with the command. <summary> <returns><returns>

static staticClassName()[source]
stop()

End the command (cancel)

property thisown

The membership flag

update(stepped=False)

<summary> update the command by allowing it to begin. if stepped = true, will begin to perform 1 update. if stepped = false, will update until finished. <summary> <param name=”stepped”><param> <returns><returns>

waitFinished()

<summary> Wait for the command to finish. <summary>

waitUpdateReady()

<summary> Wait until command is ready to begin a update step <summary> <returns><returns>

waitUpdateReadyOrFinished()

<summary> Wait until command is ready to begin an update step or it is finished. <summary> <returns><returns>

class controlAPI.IsolightPuckCommand_Update[source]

Bases: DeviceCommandPackage

<summary> Command to update the lighting and take light sensor reading from the isolight puck. <summary>

property alias

user definable unique alias for this command package

className()[source]
cloneFrom(other)

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()[source]
property ledPattern

<summary> LED pattern <summary>

markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.IsolightPuckController[source]

Bases: HardwareDeviceController

<summary> Controller for the isolight puck. <summary>

addDeviceInfo(dev)

<summary> Add a device to the controller. <summary> <param name=”dev”><param>

property alias

Alias of the controller

apiId()

the assigned Api Id of the controller

checkCommandPackage(deviceId, package)

check validity of command package

className()[source]
disconnect(expected=False)

disconnect the controller, should handle both a manual disconnect and could be called from a comm error disconnect. set expected to false if called from a timeout error or unknown disconnect event. - error messages are printed. set expected to true if a manual disconnection is wanted.- info messages are printed.

getLogger()
isConnected()

returns true if the controller is currently connected.

isSimulated()

return if the controller is simulated. :rtype: boolean :return:

loggerName()
property port

port for connecting, if the device is a serial device this can be “COM3” or “/dev/tty.***”

removeDeviceInfo(dev)

Remove an already added device.

setDisconnectCallback(callback)

set a disconnected callback function to be called when the controller is disconnected.

setSimulated(simulated)

set the simulated flag on the controller - simulated controllers can simulate interaction with attached devices. can only be set before the controller is initialized. :type simulated: boolean :param simulated:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.IsolightPuckDeviceInfo[source]

Bases: DeviceInfo

<summary> Device Info for the isolight puck. <summary>

addCommand(package)[source]
addCommandGeneric(package)
property alias
property apiDeviceId
className()[source]
commandLoggingEnabled()
commandLoggingLevel()
controlSystem()

access to owning control system.

deviceController()

access to owning controller.

initializeCommand(commandPackage)
isConnected()

Returns true is the device is currently connected.

property port

Sereal Port Associated with the puck

preLoopCommandCheck(checkCancelled=True)
setCommandLoggingLevel(level)

Set the command logging level, 0 - regular, 1 - more detail, 2 - even more detail, etc. :type level: int :param level:

setEnableCommandLogging(enable)

set the device to log messages to the console. (default true) :type enable: boolean :param enable:

static staticClassName()[source]
property thisown

The membership flag

property updateRateMS

<summary> suggested update rate of the internal sensor in milliseconds, sensor may increase this in order to take accurate readings. <summary>

class controlAPI.IsolightPuckUpdateStateInfo[source]

Bases: CommandStateInfo

<summary> State Info providing readings from the isolight puck sensor. <summary>

className()[source]
property percentFinished

<summary> percentage to command completion. <summary>

property sensor_GRXYZ_X

<summary> GRXYZ values <summary>

property sensor_GRXYZ_Y
property sensor_GRXYZ_Z
property sensor_cct

<summary> correlated color temperature (K) <summary>

property sensor_lightlevel

<summary> light level in lux <summary>

property sensor_u_prime

<summary> Yu’v’ color space <summary>

property sensor_v_prime
property sensor_x_normalized

<summary> normalized x,y,z values <summary>

property sensor_y_normalized
property sensor_z_normalized
static staticClassName()[source]
property thisown

The membership flag

class controlAPI.KinoFloDeviceCommand_RGBColor8Bit[source]

Bases: DMXDeviceCommand_RGBColor8Bit

property alias

user definable unique alias for this command package

property blue
property cct
className()[source]
cloneFrom(other)[source]

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()[source]
property dimmer
property green
property greenMagenta
markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

property red
static staticClassName()[source]
property thisown

The membership flag

class controlAPI.KinoFloDeviceInfo[source]

Bases: DMXDeviceInfo

property DMXBaseAddress
addCommandGeneric(package)
property alias
property apiDeviceId
className()[source]
commandLoggingEnabled()
commandLoggingLevel()
controlSystem()

access to owning control system.

deviceController()

access to owning controller.

initializeCommand(commandPackage)
isConnected()

Returns true is the device is currently connected.

property numChannels
preLoopCommandCheck(checkCancelled=True)
setCommandLoggingLevel(level)

Set the command logging level, 0 - regular, 1 - more detail, 2 - even more detail, etc. :type level: int :param level:

setEnableCommandLogging(enable)

set the device to log messages to the console. (default true) :type enable: boolean :param enable:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.LedLightBoxCommand_Lighting[source]

Bases: DeviceCommandPackage

<summary> Command to set the lighting of a led light box. <summary>

property alias

user definable unique alias for this command package

className()[source]
cloneFrom(other)[source]

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property colorTemperaturePerc
property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()[source]
property dimmerIntensityPercent
property flickerDutyCyclePercent
property flickerFrequencyHz
property highLowSetting
markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.LedLightBoxController[source]

Bases: LedLightBoxControllerBase

<summary> controller for LedLightBox <summary>

addDeviceInfo(dev)

<summary> Add a device to the controller. <summary> <param name=”dev”><param>

property alias

Alias of the controller

apiId()

the assigned Api Id of the controller

checkCommandPackage(deviceId, package)

check validity of command package

className()[source]
disconnect(expected=False)

disconnect the controller, should handle both a manual disconnect and could be called from a comm error disconnect. set expected to false if called from a timeout error or unknown disconnect event. - error messages are printed. set expected to true if a manual disconnection is wanted.- info messages are printed.

getLogger()
isConnected()

returns true if the controller is currently connected.

isSimulated()

return if the controller is simulated. :rtype: boolean :return:

loggerName()
property port

port for connecting, if the device is a serial device this can be “COM3” or “/dev/tty.***”

removeDeviceInfo(dev)

Remove an already added device.

setDisconnectCallback(callback)

set a disconnected callback function to be called when the controller is disconnected.

setSimulated(simulated)

set the simulated flag on the controller - simulated controllers can simulate interaction with attached devices. can only be set before the controller is initialized. :type simulated: boolean :param simulated:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.LedLightBoxControllerBase[source]

Bases: HardwareDeviceController

<summary> base class for led light box controllers <summary>

addDeviceInfo(dev)

<summary> Add a device to the controller. <summary> <param name=”dev”><param>

property alias

Alias of the controller

apiId()

the assigned Api Id of the controller

checkCommandPackage(deviceId, package)

check validity of command package

className()[source]
disconnect(expected=False)

disconnect the controller, should handle both a manual disconnect and could be called from a comm error disconnect. set expected to false if called from a timeout error or unknown disconnect event. - error messages are printed. set expected to true if a manual disconnection is wanted.- info messages are printed.

getLogger()
isConnected()

returns true if the controller is currently connected.

isSimulated()

return if the controller is simulated. :rtype: boolean :return:

loggerName()
property port

port for connecting, if the device is a serial device this can be “COM3” or “/dev/tty.***”

removeDeviceInfo(dev)

Remove an already added device.

setDisconnectCallback(callback)

set a disconnected callback function to be called when the controller is disconnected.

setSimulated(simulated)

set the simulated flag on the controller - simulated controllers can simulate interaction with attached devices. can only be set before the controller is initialized. :type simulated: boolean :param simulated:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.LedLightBoxDeviceInfo[source]

Bases: DeviceInfo

<summary> https://www.imatest.com/product/imatest-led-lightbox/ <summary>

addCommandGeneric(package)
property alias
property apiDeviceId
className()[source]
commandLoggingEnabled()
commandLoggingLevel()
controlSystem()

access to owning control system.

deviceController()

access to owning controller.

property highLowCapable
initializeCommand(commandPackage)
isConnected()

Returns true is the device is currently connected.

property isPanel
property maxDimmerIntegerHigh
property maxDimmerIntegerLow
property mixedCapable
preLoopCommandCheck(checkCancelled=True)
setCommandLoggingLevel(level)

Set the command logging level, 0 - regular, 1 - more detail, 2 - even more detail, etc. :type level: int :param level:

setEnableCommandLogging(enable)

set the device to log messages to the console. (default true) :type enable: boolean :param enable:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.LedLightBoxDevice_High_LUX_LED_Box_Mixed_Info[source]

Bases: LedLightBoxDeviceInfo

<summary> device info for High_LUX_LED_Box_Mixed <summary>

addCommand(package)[source]
addCommandGeneric(package)
property alias
property apiDeviceId
className()[source]
commandLoggingEnabled()
commandLoggingLevel()
controlSystem()

access to owning control system.

deviceController()

access to owning controller.

static friendlyName()[source]
property highLowCapable
initializeCommand(commandPackage)
isConnected()

Returns true is the device is currently connected.

property isPanel
property maxDimmerIntegerHigh
property maxDimmerIntegerLow
property mixedCapable
preLoopCommandCheck(checkCancelled=True)
setCommandLoggingLevel(level)

Set the command logging level, 0 - regular, 1 - more detail, 2 - even more detail, etc. :type level: int :param level:

setEnableCommandLogging(enable)

set the device to log messages to the console. (default true) :type enable: boolean :param enable:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.LedLightBoxDevice_High_LUX_LED_Box_Single_Info[source]

Bases: LedLightBoxDeviceInfo

<summary> device info for High_LUX_LED_Box_Single <summary>

addCommand(package)[source]
addCommandGeneric(package)
property alias
property apiDeviceId
className()[source]
commandLoggingEnabled()
commandLoggingLevel()
controlSystem()

access to owning control system.

deviceController()

access to owning controller.

static friendlyName()[source]
property highLowCapable
initializeCommand(commandPackage)
isConnected()

Returns true is the device is currently connected.

property isPanel
property maxDimmerIntegerHigh
property maxDimmerIntegerLow
property mixedCapable
preLoopCommandCheck(checkCancelled=True)
setCommandLoggingLevel(level)

Set the command logging level, 0 - regular, 1 - more detail, 2 - even more detail, etc. :type level: int :param level:

setEnableCommandLogging(enable)

set the device to log messages to the console. (default true) :type enable: boolean :param enable:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.LedLightBoxDevice_Standard_LED_Box_Mixed_Info[source]

Bases: LedLightBoxDeviceInfo

<summary> device info for Standard_LED_Box_Mixed <summary>

addCommand(package)[source]
addCommandGeneric(package)
property alias
property apiDeviceId
className()[source]
commandLoggingEnabled()
commandLoggingLevel()
controlSystem()

access to owning control system.

deviceController()

access to owning controller.

static friendlyName()[source]
property highLowCapable
initializeCommand(commandPackage)
isConnected()

Returns true is the device is currently connected.

property isPanel
property maxDimmerIntegerHigh
property maxDimmerIntegerLow
property mixedCapable
preLoopCommandCheck(checkCancelled=True)
setCommandLoggingLevel(level)

Set the command logging level, 0 - regular, 1 - more detail, 2 - even more detail, etc. :type level: int :param level:

setEnableCommandLogging(enable)

set the device to log messages to the console. (default true) :type enable: boolean :param enable:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.LedLightBoxDevice_Standard_LED_Box_Single_Info[source]

Bases: LedLightBoxDeviceInfo

<summary> device info for Standard_LED_Box_Single <summary>

addCommand(package)[source]
addCommandGeneric(package)
property alias
property apiDeviceId
className()[source]
commandLoggingEnabled()
commandLoggingLevel()
controlSystem()

access to owning control system.

deviceController()

access to owning controller.

static friendlyName()[source]
property highLowCapable
initializeCommand(commandPackage)
isConnected()

Returns true is the device is currently connected.

property isPanel
property maxDimmerIntegerHigh
property maxDimmerIntegerLow
property mixedCapable
preLoopCommandCheck(checkCancelled=True)
setCommandLoggingLevel(level)

Set the command logging level, 0 - regular, 1 - more detail, 2 - even more detail, etc. :type level: int :param level:

setEnableCommandLogging(enable)

set the device to log messages to the console. (default true) :type enable: boolean :param enable:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.LedLightBoxDevice_Ultra_High_Illumination_Flickering_Info[source]

Bases: LedLightBoxDeviceInfo

<summary> device info for Ultra_High_Illumination_Flickering <summary>

addCommand(package)[source]
addCommandGeneric(package)
property alias
property apiDeviceId
className()[source]
commandLoggingEnabled()
commandLoggingLevel()
controlSystem()

access to owning control system.

deviceController()

access to owning controller.

static friendlyName()[source]
property highLowCapable
initializeCommand(commandPackage)
isConnected()

Returns true is the device is currently connected.

property isPanel
property maxDimmerIntegerHigh
property maxDimmerIntegerLow
property mixedCapable
preLoopCommandCheck(checkCancelled=True)
setCommandLoggingLevel(level)

Set the command logging level, 0 - regular, 1 - more detail, 2 - even more detail, etc. :type level: int :param level:

setEnableCommandLogging(enable)

set the device to log messages to the console. (default true) :type enable: boolean :param enable:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.LedLightPanelCommand_SetLighting[source]

Bases: LedLightBoxCommand_Lighting

<summary> Command to set the lighting of a led light panel. <summary>

property alias

user definable unique alias for this command package

className()[source]
cloneFrom(other)

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property colorTemperaturePerc
property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()[source]
property dimmerIntensityPercent
property flickerDutyCyclePercent
property flickerFrequencyHz
property highLowSetting
markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.LedLightPanel_Single_Info[source]

Bases: LedLightBoxDeviceInfo

<summary> https://www.imatest.com/wp-content/uploads/2019/04/Imatest-LED-Light-Panel_Info-Sheet.pdf <summary>

addCommand(package)[source]
addCommandGeneric(package)
property alias
property apiDeviceId
className()[source]
commandLoggingEnabled()
commandLoggingLevel()
controlSystem()

access to owning control system.

deviceController()

access to owning controller.

static friendlyName()[source]
property highLowCapable
initializeCommand(commandPackage)
isConnected()

Returns true is the device is currently connected.

property isPanel
property maxDimmerIntegerHigh
property maxDimmerIntegerLow
property mixedCapable
preLoopCommandCheck(checkCancelled=True)
setCommandLoggingLevel(level)

Set the command logging level, 0 - regular, 1 - more detail, 2 - even more detail, etc. :type level: int :param level:

setEnableCommandLogging(enable)

set the device to log messages to the console. (default true) :type enable: boolean :param enable:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.LiftingColumnCommandGetEncoderPos[source]

Bases: DeviceCommandPackage

<summary> Get the Internal Encoder Count of the RoboClaw <summary>

property alias

user definable unique alias for this command package

className()[source]
cloneFrom(other)

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()[source]
markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.LiftingColumnCommandMovementPackage[source]

Bases: MovementCommandPackage

<summary>

Movement command for roboclaw. <summary>

Units_Degrees = 1
Units_Millimeters = 0
property acc_target

Acc Target ex: (Millimeters/S^2)

property alias

user definable unique alias for this command package

className()[source]
cloneFrom(other)[source]

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()[source]
property disp_absolute

whether position should be global to device or relative to starting position when command starts.

property disp_target

Position Target ex: (Millimeters)

property expectStall

<summary> stall expected flag - set to true if expecting a stall. (useful to home against mechanical limit) <summary>

markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

static staticClassName()[source]
property thisown

The membership flag

property trackAcc

Track Acceleration Target (if acc_target is non-zero)

property trackDisp

Enable Track Displacement Target

property trackVel

Track Velocity Target (if vel_target is non-zero)

property units
property vel_target

Vel Target ex: (Millimeters/S)

class controlAPI.LiftingColumnCommandSetEncoderPos[source]

Bases: DeviceCommandPackage

<summary> Set the Internal Encoder Count of the RoboClaw <summary>

property alias

user definable unique alias for this command package

className()[source]
cloneFrom(other)

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

property counts
createSharedPtr()[source]
markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.LiftingColumnCommandStatus[source]

Bases: CommandStatus

<summary> Lifting Column Command Status <summary>

property alias

The unique alias for this command.

apiId()
className()[source]
commandPackage()

<summary> The command package associated with the command. <summary> <returns><returns>

controlSystem()

<summary> The control system this command status belongs to. <summary> <returns><returns>

deviceApiId()
deviceController()

<summary> The device controller this command status is associated with. <summary> <returns><returns>

deviceInfo()

<summary> The device this command status is associated with. <summary> <returns><returns>

initialize()

<summary> Start the command by internally initializing the thread, binding to the device, and ensuring it is ready to be updated. <summary> <returns><returns>

isBusy()

returns true if the command is currently running

isCancelled()

returns true if the command was cancelled.

isFinished()

returns true if the command has finished. (normally finished or cancelled).

isSuccessful()
isUpdateStepReady()
runASync()

<summary> initialize and start the command async. <summary> <returns><returns>

runFull()

<summary> initializes, and runs the command until it stops (blocking) <summary> <returns><returns>

stateInfo()[source]

<summary> The command state information associated with the command. <summary> <returns><returns>

static staticClassName()[source]
stop()

End the command (cancel)

property thisown

The membership flag

update(stepped=False)

<summary> update the command by allowing it to begin. if stepped = true, will begin to perform 1 update. if stepped = false, will update until finished. <summary> <param name=”stepped”><param> <returns><returns>

waitFinished()

<summary> Wait for the command to finish. <summary>

waitUpdateReady()

<summary> Wait until command is ready to begin a update step <summary> <returns><returns>

waitUpdateReadyOrFinished()

<summary> Wait until command is ready to begin an update step or it is finished. <summary> <returns><returns>

class controlAPI.LiftingColumnController[source]

Bases: HardwareDeviceController

<summary> controller for Lifting Column <summary>

addDeviceInfo(dev)

<summary> Add a device to the controller. <summary> <param name=”dev”><param>

property alias

Alias of the controller

apiId()

the assigned Api Id of the controller

checkCommandPackage(deviceId, package)

check validity of command package

className()[source]
disconnect(expected=False)

disconnect the controller, should handle both a manual disconnect and could be called from a comm error disconnect. set expected to false if called from a timeout error or unknown disconnect event. - error messages are printed. set expected to true if a manual disconnection is wanted.- info messages are printed.

getLogger()
isConnected()

returns true if the controller is currently connected.

isSimulated()

return if the controller is simulated. :rtype: boolean :return:

loggerName()
property port

port for connecting, if the device is a serial device this can be “COM3” or “/dev/tty.***”

removeDeviceInfo(dev)

Remove an already added device.

setDisconnectCallback(callback)

set a disconnected callback function to be called when the controller is disconnected.

setSimulated(simulated)

set the simulated flag on the controller - simulated controllers can simulate interaction with attached devices. can only be set before the controller is initialized. :type simulated: boolean :param simulated:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.LiftingColumnDeviceInfo[source]

Bases: DeviceInfo

<summary> Device Info for the Lifting Column <summary>

property QPSS
addCommand(package)[source]
addCommandGeneric(package)
property alias
property apiDeviceId
className()[source]
commandLoggingEnabled()
commandLoggingLevel()
controlSystem()

access to owning control system.

property countsPerMM

<summary> Counts Per millimeter <summary>

deviceController()

access to owning controller.

property encoderDeadZone
initializeCommand(commandPackage)
isConnected()

Returns true is the device is currently connected.

property maxDutyCycle

<summary> duty cycle (power factor) (0 - 100) <summary>

property mm_s_p_duty

<summary> (millimeters/s)/(dutyCycle) ratio <summary>

preLoopCommandCheck(checkCancelled=True)
property roboClawAddress
setCommandLoggingLevel(level)

Set the command logging level, 0 - regular, 1 - more detail, 2 - even more detail, etc. :type level: int :param level:

setEnableCommandLogging(enable)

set the device to log messages to the console. (default true) :type enable: boolean :param enable:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.LiftingColumnMovementStateInfo[source]

Bases: MovementStateInfo

<summary> Lifting Column Movement State Info <summary>

className()[source]
property currentAcc
property currentPos
property currentTargetAcc
property currentTargetPos
property currentTargetVel
property currentVel
property homing
property isHomed
property isStalled

<summary> indicates if the column has stalled (normal cases: at lower limit or upper limit - or under high load) <summary>

property percentFinished

<summary> percentage to command completion. <summary>

property referencePos
property signedDir
static staticClassName()[source]
property thisown

The membership flag

class controlAPI.LoggerFunctionality[source]

Bases: object

base class implementing logger functionality for classes.

className()[source]
getLogger()[source]
loggerName()[source]
static staticClassName()[source]
property thisown

The membership flag

class controlAPI.LoopBackComController[source]

Bases: DeviceController

addDeviceInfo(dev)

<summary> Add a device to the controller. <summary> <param name=”dev”><param>

property alias

Alias of the controller

apiId()

the assigned Api Id of the controller

checkCommandPackage(deviceId, package)

check validity of command package

className()[source]
disconnect(expected=False)

disconnect the controller, should handle both a manual disconnect and could be called from a comm error disconnect. set expected to false if called from a timeout error or unknown disconnect event. - error messages are printed. set expected to true if a manual disconnection is wanted.- info messages are printed.

getLogger()
isConnected()

returns true if the controller is currently connected.

isSimulated()

return if the controller is simulated. :rtype: boolean :return:

loggerName()
property port

port for connecting, if the device is a serial device this can be “COM3” or “/dev/tty.***”

removeDeviceInfo(dev)

Remove an already added device.

setDisconnectCallback(callback)

set a disconnected callback function to be called when the controller is disconnected.

setSimulated(simulated)

set the simulated flag on the controller - simulated controllers can simulate interaction with attached devices. can only be set before the controller is initialized. :type simulated: boolean :param simulated:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.LoopBackComDeviceInfo[source]

Bases: DeviceInfo

addCommand(package)[source]
addCommandGeneric(package)
property alias
property apiDeviceId
className()[source]
commandLoggingEnabled()
commandLoggingLevel()
controlSystem()

access to owning control system.

deviceController()

access to owning controller.

initializeCommand(commandPackage)
isConnected()

Returns true is the device is currently connected.

preLoopCommandCheck(checkCancelled=True)
setCommandLoggingLevel(level)

Set the command logging level, 0 - regular, 1 - more detail, 2 - even more detail, etc. :type level: int :param level:

setEnableCommandLogging(enable)

set the device to log messages to the console. (default true) :type enable: boolean :param enable:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.LowLightSensorCommandStatus[source]

Bases: CommandStatus

<summary> Command Status for the Low Light Sensor <summary>

property alias

The unique alias for this command.

apiId()
className()[source]
commandPackage()

<summary> The command package associated with the command. <summary> <returns><returns>

controlSystem()

<summary> The control system this command status belongs to. <summary> <returns><returns>

deviceApiId()
deviceController()

<summary> The device controller this command status is associated with. <summary> <returns><returns>

deviceInfo()

<summary> The device this command status is associated with. <summary> <returns><returns>

initialize()

<summary> Start the command by internally initializing the thread, binding to the device, and ensuring it is ready to be updated. <summary> <returns><returns>

isBusy()

returns true if the command is currently running

isCancelled()

returns true if the command was cancelled.

isFinished()

returns true if the command has finished. (normally finished or cancelled).

isSuccessful()
isUpdateStepReady()
runASync()

<summary> initialize and start the command async. <summary> <returns><returns>

runFull()

<summary> initializes, and runs the command until it stops (blocking) <summary> <returns><returns>

stateInfo()[source]

<summary> The command state information associated with the command. <summary> <returns><returns>

static staticClassName()[source]
stop()

End the command (cancel)

property thisown

The membership flag

update(stepped=False)

<summary> update the command by allowing it to begin. if stepped = true, will begin to perform 1 update. if stepped = false, will update until finished. <summary> <param name=”stepped”><param> <returns><returns>

waitFinished()

<summary> Wait for the command to finish. <summary>

waitUpdateReady()

<summary> Wait until command is ready to begin a update step <summary> <returns><returns>

waitUpdateReadyOrFinished()

<summary> Wait until command is ready to begin an update step or it is finished. <summary> <returns><returns>

class controlAPI.LowLightSensorCommand_Update[source]

Bases: DeviceCommandPackage

<summary> Command to update the lighting and take light sensor reading <summary>

property alias

user definable unique alias for this command package

className()[source]
cloneFrom(other)

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()[source]
markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.LowLightSensorController[source]

Bases: HardwareDeviceController

<summary> Controller for the Low Light Sensor <summary>

addDeviceInfo(dev)

<summary> Add a device to the controller. <summary> <param name=”dev”><param>

property alias

Alias of the controller

apiId()

the assigned Api Id of the controller

checkCommandPackage(deviceId, package)

check validity of command package

className()[source]
disconnect(expected=False)

disconnect the controller, should handle both a manual disconnect and could be called from a comm error disconnect. set expected to false if called from a timeout error or unknown disconnect event. - error messages are printed. set expected to true if a manual disconnection is wanted.- info messages are printed.

getLogger()
isConnected()

returns true if the controller is currently connected.

isSimulated()

return if the controller is simulated. :rtype: boolean :return:

loggerName()
property port

port for connecting, if the device is a serial device this can be “COM3” or “/dev/tty.***”

removeDeviceInfo(dev)

Remove an already added device.

setDisconnectCallback(callback)

set a disconnected callback function to be called when the controller is disconnected.

setSimulated(simulated)

set the simulated flag on the controller - simulated controllers can simulate interaction with attached devices. can only be set before the controller is initialized. :type simulated: boolean :param simulated:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.LowLightSensorDeviceInfo[source]

Bases: DeviceInfo

<summary> Device Info for the Low Light Sensor <summary>

addCommand(package)[source]
addCommandGeneric(package)
property alias
property apiDeviceId
className()[source]
commandLoggingEnabled()
commandLoggingLevel()
controlSystem()

access to owning control system.

deviceController()

access to owning controller.

initializeCommand(commandPackage)
isConnected()

Returns true is the device is currently connected.

preLoopCommandCheck(checkCancelled=True)
setCommandLoggingLevel(level)

Set the command logging level, 0 - regular, 1 - more detail, 2 - even more detail, etc. :type level: int :param level:

setEnableCommandLogging(enable)

set the device to log messages to the console. (default true) :type enable: boolean :param enable:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.LowLightSensorUpdateStateInfo[source]

Bases: CommandStateInfo

<summary> State Info providing readings from the low light sensor <summary>

className()[source]
property lx
property percentFinished

<summary> percentage to command completion. <summary>

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.LowLightSensor_DataInfo[source]

Bases: object

<summary> Data Info for the Low Light Sensor <summary>

property fLx
property thisown

The membership flag

class controlAPI.MOTYZ_Framing[source]

Bases: CompositeFrameBase

<summary> The MOTYZ_Framing object can be calibrated to the coordinates of a target chart by calling frame.calibrate() and following the prompts to enter in distance values from the chart center using the range finder. MOTYZ_Frame. state can be saved by saving/restoring the chartDisplacement_Ref, chartDisplacement, and liftingCol_refPos variables at any time if the frame is in the same position after calibration. <summary>

calibrate()[source]

<summary> prompt for distance measurement to calibrate the frame. <summary>

property chartDisplacement_Ref

homed chart displacement (set by calibration routine)

className()[source]
property currentChartDisplacement

<summary> current chart displacement - read only after calling go_Chart_YZ <summary>

go_Chart_YZ(chartDisplacement)[source]

<summary> Go to liftingCol_refPos position chartDistance millimeters away from the chart. <summary>

home()[source]

Home all Axis.

initialize(system)[source]

<summary> Initialize the frame (always required first) <summary> <param name=”system”><param>

property liftingCol_refPos

<summary> lifting col referance position (set by calibration routine) <summary>

property liftingColumnPort

<summary> Serial Port for Lifting Column. (ex “COM5”) <summary>

property stageAcceleration

<summary> stage acceleration to use when moving <summary>

property stageVelocity

<summary> stage velocity to use when moving <summary>

static staticClassName()[source]
property system
property thisown

The membership flag

property zaberPort

<summary> Serial Port for zaber (ex “COM4”) <summary>

class controlAPI.MonitorCommandPackage[source]

Bases: DeviceCommandPackage

Base class command to get current state of device.

property alias

user definable unique alias for this command package

className()[source]
cloneFrom(other)

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()[source]
markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.MovementCommandPackage[source]

Bases: DeviceCommandPackage

Generic Movement Command Supported on moving devices

Units_Degrees = 1
Units_Millimeters = 0
property acc_target

Acc Target ex: (Millimeters/S^2)

property alias

user definable unique alias for this command package

className()[source]
cloneFrom(other)[source]

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()[source]
property disp_absolute

whether position should be global to device or relative to starting position when command starts.

property disp_target

Position Target ex: (Millimeters)

markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

static staticClassName()[source]
property thisown

The membership flag

property trackAcc

Track Acceleration Target (if acc_target is non-zero)

property trackDisp

Enable Track Displacement Target

property trackVel

Track Velocity Target (if vel_target is non-zero)

property units
property vel_target

Vel Target ex: (Millimeters/S)

class controlAPI.MovementStateInfo[source]

Bases: CommandStateInfo

base class for representing the movement state of a command at any time.

className()[source]
property currentAcc
property currentPos
property currentTargetAcc
property currentTargetPos
property currentTargetVel
property currentVel
property homing
property isHomed
property percentFinished

<summary> percentage to command completion. <summary>

property referencePos
property signedDir
static staticClassName()[source]
property thisown

The membership flag

class controlAPI.PheonixMecanoActuator[source]

Bases: LiftingColumnDeviceInfo

<summary> Device Info for the Pheonix Mecano Actuator (DEPRECATED) <summary>

property QPSS
addCommand(package)
addCommandGeneric(package)
property alias
property apiDeviceId
className()[source]
commandLoggingEnabled()
commandLoggingLevel()
controlSystem()

access to owning control system.

property countsPerMM

<summary> Counts Per millimeter <summary>

deviceController()

access to owning controller.

property encoderDeadZone
initializeCommand(commandPackage)
isConnected()

Returns true is the device is currently connected.

property maxDutyCycle

<summary> duty cycle (power factor) (0 - 100) <summary>

property mm_s_p_duty

<summary> (millimeters/s)/(dutyCycle) ratio <summary>

preLoopCommandCheck(checkCancelled=True)
property roboClawAddress
setCommandLoggingLevel(level)

Set the command logging level, 0 - regular, 1 - more detail, 2 - even more detail, etc. :type level: int :param level:

setEnableCommandLogging(enable)

set the device to log messages to the console. (default true) :type enable: boolean :param enable:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.PhysicalAxisControlInfo[source]

Bases: object

base class representing a physical axis (linear or rotational, with movement limits)

property isRadial
property maxAccLimit
property maxPosLimit
property maxVelLimit
property minAccLimit
property minPosLimit
property minVelLimit
property submittedToApi
property thisown

The membership flag

class controlAPI.SpectralSensorCommandStatus[source]

Bases: CommandStatus

<summary> Command Status for the Spectral Sensor <summary>

property alias

The unique alias for this command.

apiId()
className()[source]
commandPackage()

<summary> The command package associated with the command. <summary> <returns><returns>

controlSystem()

<summary> The control system this command status belongs to. <summary> <returns><returns>

deviceApiId()
deviceController()

<summary> The device controller this command status is associated with. <summary> <returns><returns>

deviceInfo()

<summary> The device this command status is associated with. <summary> <returns><returns>

initialize()

<summary> Start the command by internally initializing the thread, binding to the device, and ensuring it is ready to be updated. <summary> <returns><returns>

isBusy()

returns true if the command is currently running

isCancelled()

returns true if the command was cancelled.

isFinished()

returns true if the command has finished. (normally finished or cancelled).

isSuccessful()
isUpdateStepReady()
runASync()

<summary> initialize and start the command async. <summary> <returns><returns>

runFull()

<summary> initializes, and runs the command until it stops (blocking) <summary> <returns><returns>

stateInfo()[source]

<summary> The command state information associated with the command. <summary> <returns><returns>

static staticClassName()[source]
stop()

End the command (cancel)

property thisown

The membership flag

update(stepped=False)

<summary> update the command by allowing it to begin. if stepped = true, will begin to perform 1 update. if stepped = false, will update until finished. <summary> <param name=”stepped”><param> <returns><returns>

waitFinished()

<summary> Wait for the command to finish. <summary>

waitUpdateReady()

<summary> Wait until command is ready to begin a update step <summary> <returns><returns>

waitUpdateReadyOrFinished()

<summary> Wait until command is ready to begin an update step or it is finished. <summary> <returns><returns>

class controlAPI.SpectralSensorCommand_Update[source]

Bases: DeviceCommandPackage

<summary> Command to update the lighting and take light sensor reading from the isolight puck. <summary>

property alias

user definable unique alias for this command package

className()[source]
cloneFrom(other)

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()[source]
property integralTime_US

<summary> Time in microseconds the device should integrate over for each end-result sample <summary>

markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.SpectralSensorController[source]

Bases: HardwareDeviceController

<summary> Controller for the Spectral Sensor <summary>

addDeviceInfo(dev)

<summary> Add a device to the controller. <summary> <param name=”dev”><param>

property alias

Alias of the controller

apiId()

the assigned Api Id of the controller

checkCommandPackage(deviceId, package)

check validity of command package

className()[source]
disconnect(expected=False)

disconnect the controller, should handle both a manual disconnect and could be called from a comm error disconnect. set expected to false if called from a timeout error or unknown disconnect event. - error messages are printed. set expected to true if a manual disconnection is wanted.- info messages are printed.

getLogger()
isConnected()

returns true if the controller is currently connected.

isSimulated()

return if the controller is simulated. :rtype: boolean :return:

loggerName()
property port

port for connecting, if the device is a serial device this can be “COM3” or “/dev/tty.***”

removeDeviceInfo(dev)

Remove an already added device.

setDisconnectCallback(callback)

set a disconnected callback function to be called when the controller is disconnected.

setSimulated(simulated)

set the simulated flag on the controller - simulated controllers can simulate interaction with attached devices. can only be set before the controller is initialized. :type simulated: boolean :param simulated:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.SpectralSensorDeviceInfo[source]

Bases: DeviceInfo

<summary> Device Info for the Spectral Sensor <summary>

addCommand(package)[source]
addCommandGeneric(package)
property alias
property apiDeviceId
className()[source]
commandLoggingEnabled()
commandLoggingLevel()
controlSystem()

access to owning control system.

deviceController()

access to owning controller.

initializeCommand(commandPackage)
isConnected()

Returns true is the device is currently connected.

preLoopCommandCheck(checkCancelled=True)
setCommandLoggingLevel(level)

Set the command logging level, 0 - regular, 1 - more detail, 2 - even more detail, etc. :type level: int :param level:

setEnableCommandLogging(enable)

set the device to log messages to the console. (default true) :type enable: boolean :param enable:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.SpectralSensorUpdateStateInfo[source]

Bases: CommandStateInfo

<summary> State Info providing readings from the SpectralSensor <summary>

property CentreWave
property CentroidWave
property DominantWave
property EndTestWave
property EndTestWaveIdx
property HlafWidth
property IntegTime0
property Mark
property PeakWave
property Purity
property Ra
property Ri
property Spect1nmData
property StartTestWave
property StartTestWaveIdx
property TestDate
property TestTime
property VDark
property VDarkDAC
property VPeak
property cct
className()[source]
property duv
property fBraito
property fEfc
property fGraito
property fLx
property fRraito
property fSP
property iType

Spectrograph/lighting data

property iVer
property percentFinished

<summary> percentage to command completion. <summary>

static staticClassName()[source]
property thisown

The membership flag

property u
property u2
property v
property v2
property x
property y
class controlAPI.SpectralSensor_SpecDataInfo[source]

Bases: object

<summary> Data Info for the Spectral Sensor <summary>

property CentreWave
property CentroidWave
property DominantWave
property EndTestWave
property EndTestWaveIdx
property HlafWidth
property IntegTime0
property Mark
property PeakWave
property Purity
property Ra
property Ri
property Spect1nmData
property StartTestWave
property StartTestWaveIdx
property TestDate
property TestTime
property VDark
property VDarkDAC
property VPeak
property cct
property duv
property fBraito
property fEfc
property fGraito
property fLx
property fRraito
property fSP
property iType
property iVer
property thisown

The membership flag

property u
property u2
property v
property v2
property x
property y
class controlAPI.SwigPyIterator(*args, **kwargs)[source]

Bases: object

advance(n)[source]
copy()[source]
decr(n=1)[source]
distance(x)[source]
equal(x)[source]
incr(n=1)[source]
next()[source]
previous()[source]
property thisown

The membership flag

value()[source]
class controlAPI.SynchronizeDeviceCommand[source]

Bases: DeviceCommandPackage

Command that synchronizes multiple commands to finish at a certain time

property alias

user definable unique alias for this command package

className()[source]
cloneFrom(other)

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()
markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.ThorLabsUPLED_Controller[source]

Bases: HardwareDeviceController

<summary> controller for ThorLabs UPLED devices <summary>

addDeviceInfo(dev)

<summary> Add a device to the controller. <summary> <param name=”dev”><param>

property alias

Alias of the controller

apiId()

the assigned Api Id of the controller

checkCommandPackage(deviceId, package)

check validity of command package

className()[source]
disconnect(expected=False)

disconnect the controller, should handle both a manual disconnect and could be called from a comm error disconnect. set expected to false if called from a timeout error or unknown disconnect event. - error messages are printed. set expected to true if a manual disconnection is wanted.- info messages are printed.

getLogger()
isConnected()

returns true if the controller is currently connected.

isSimulated()

return if the controller is simulated. :rtype: boolean :return:

loggerName()
property port

port for connecting, if the device is a serial device this can be “COM3” or “/dev/tty.***”

removeDeviceInfo(dev)

Remove an already added device.

sendIntensityCommand(apiDeviceId, intensityPercent)[source]
setDisconnectCallback(callback)

set a disconnected callback function to be called when the controller is disconnected.

setSimulated(simulated)

set the simulated flag on the controller - simulated controllers can simulate interaction with attached devices. can only be set before the controller is initialized. :type simulated: boolean :param simulated:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.ThorLabsUPLED_DeviceInfo[source]

Bases: DeviceInfo

<summary> Device Info for the ThorLabs UPLED device. <summary>

addCommandGeneric(package)
property alias
property apiDeviceId
className()[source]
commandLoggingEnabled()
commandLoggingLevel()
controlSystem()

access to owning control system.

deviceController()

access to owning controller.

initializeCommand(commandPackage)
isConnected()

Returns true is the device is currently connected.

preLoopCommandCheck(checkCancelled=True)
setCommandLoggingLevel(level)

Set the command logging level, 0 - regular, 1 - more detail, 2 - even more detail, etc. :type level: int :param level:

setEnableCommandLogging(enable)

set the device to log messages to the console. (default true) :type enable: boolean :param enable:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.ThorLabsUPLED_SetLighting[source]

Bases: DeviceCommandPackage

<summary> Command to set the lighting of a ThorLabs UPLED device. <summary>

property alias

user definable unique alias for this command package

className()[source]
cloneFrom(other)

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()[source]
property intensityPercent
markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.ThousliteCommand_SetLighting[source]

Bases: DeviceCommandPackage

<summary> Command to set the lighting of a Thouslite device. <summary>

property alias

user definable unique alias for this command package

className()[source]
cloneFrom(other)[source]

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()[source]
markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

property recipe
light intensity for the 14 channels.

0 - 1023 all 0 will turn off LEDCube power. % Channels:

1 -> White (Broad spectrum) 2 -> Orange (585nm) 3 -> Lt Orange (Broad spectrum) 4 -> Blue-Green (480nm) 5 -> Red (660nm) 6 -> Green-Blue (505nm) 7 -> Green (520nm) 8 -> Blue (445nm) 9 -> Lt Violet (420nm) 10 -> Red (635nm) 11 -> Yellow-Grn (545nm) 12 -> Dk Violet (405nm) 13 -> Red (670nm) 14 -> Red/IR (700/850nm)

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.ThousliteController[source]

Bases: HardwareDeviceController

<summary> controller for Thouslite devices <summary>

addDeviceInfo(dev)

<summary> Add a device to the controller. <summary> <param name=”dev”><param>

property alias

Alias of the controller

apiId()

the assigned Api Id of the controller

property apiMajorVersion

<summary> The Api version (1 or 2) to use when communicating with the thouslite, default is 1 (older models) <summary>

property baudrate

<summary> The baudrate to connect to the controller (9600 for older models, 115200 for newer touch screen controller) only used with apiMajorVersion = 2 <summary>

checkCommandPackage(deviceId, package)

check validity of command package

className()[source]
disconnect(expected=False)

disconnect the controller, should handle both a manual disconnect and could be called from a comm error disconnect. set expected to false if called from a timeout error or unknown disconnect event. - error messages are printed. set expected to true if a manual disconnection is wanted.- info messages are printed.

getLogger()
isConnected()

returns true if the controller is currently connected.

isSimulated()

return if the controller is simulated. :rtype: boolean :return:

loggerName()
property port

port for connecting, if the device is a serial device this can be “COM3” or “/dev/tty.***”

removeDeviceInfo(dev)

Remove an already added device.

setDisconnectCallback(callback)

set a disconnected callback function to be called when the controller is disconnected.

setSimulated(simulated)

set the simulated flag on the controller - simulated controllers can simulate interaction with attached devices. can only be set before the controller is initialized. :type simulated: boolean :param simulated:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.ThousliteDeviceInfo[source]

Bases: DeviceInfo

<summary> Device Info for the Thouslite device. <summary>

addCommand(package)[source]
addCommandGeneric(package)
property alias
property apiDeviceId
className()[source]
commandLoggingEnabled()
commandLoggingLevel()
controlSystem()

access to owning control system.

property cubeId

The unique ID of the LEDCube as shown on the side.

deviceController()

access to owning controller.

initializeCommand(commandPackage)
isConnected()

Returns true is the device is currently connected.

preLoopCommandCheck(checkCancelled=True)
setCommandLoggingLevel(level)

Set the command logging level, 0 - regular, 1 - more detail, 2 - even more detail, etc. :type level: int :param level:

setEnableCommandLogging(enable)

set the device to log messages to the console. (default true) :type enable: boolean :param enable:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.TimeDelayDeviceCommand[source]

Bases: DeviceCommandPackage

Command that adds a time delay.

property alias

user definable unique alias for this command package

className()[source]
cloneFrom(other)

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()
markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

static staticClassName()[source]
property thisown

The membership flag

property time_s

<summary> time in seconds to wait. <summary>

class controlAPI.ULC2Controller[source]

Bases: HardwareDeviceController

<summary> base class controller for ULC2 <summary>

addDeviceInfo(dev)

<summary> Add a device to the controller. <summary> <param name=”dev”><param>

property alias

Alias of the controller

apiId()

the assigned Api Id of the controller

checkCommandPackage(deviceId, package)

check validity of command package

className()[source]
disconnect(expected=False)

disconnect the controller, should handle both a manual disconnect and could be called from a comm error disconnect. set expected to false if called from a timeout error or unknown disconnect event. - error messages are printed. set expected to true if a manual disconnection is wanted.- info messages are printed.

getLogger()
property ipAddress
isConnected()

returns true if the controller is currently connected.

isSimulated()

return if the controller is simulated. :rtype: boolean :return:

property localUdpPort
loggerName()
property port

port for connecting, if the device is a serial device this can be “COM3” or “/dev/tty.***”

removeDeviceInfo(dev)

Remove an already added device.

setDisconnectCallback(callback)

set a disconnected callback function to be called when the controller is disconnected.

setSimulated(simulated)

set the simulated flag on the controller - simulated controllers can simulate interaction with attached devices. can only be set before the controller is initialized. :type simulated: boolean :param simulated:

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.ULC2_DC_Mode[source]

Bases: object

property maxMilliAmpsDCMode

<summary> mac milliamps allowed to drive in DC mode. <summary>

property thisown

The membership flag

class controlAPI.ULC2_STROBE_Mode[source]

Bases: object

property strobeMilliAmpsLimit

<summary> strobe mode <summary>

property strobePulseWidthMaxLimitMicroSec

<summary> strobe mode <summary>

property strobeTriggerPeriodLimitMicroSec

<summary> strobe mode <summary>

property thisown

The membership flag

class controlAPI.ULC2_VOLTAGE_Mode[source]

Bases: object

property thisown

The membership flag

property voltagelimitVolts

<summary> strobe mode <summary>

class controlAPI.VCXFraming[source]

Bases: CompositeFrameBase

<summary> DEPRECIATED. VCX Framing class, contains methods for control of VCX frames. all dimension Units are in millimeters

property camera_ChartCenterFrame

<summary> Current Camera Position in ChartCenter Frame. <summary>

property camera_MechanicalOriginFrame

<summary> Current Camera position in mechanicalorigin Frame. <summary>

property camera_MountBaseFrame

<summary> Camera position relative to the MountBaseFrame. <summary>

chartCenterFrame_To_MechanicalOriginFrame(chartCenterSpace)[source]

transform vector in the chartcenter frame to the mechanical origin frame. :type chartCenterSpace: Vector3D :param chartCenterSpace: :rtype: Vector3D :return:

property chartCenter__MechanicalOriginFrame

<summary> chart center position Relative to mechanical base point. “Vector B” Units: millimeters <summary>

className()[source]
property home__MechanicalOriginFrame

<summary> Home position of table relative to mechanical base point. “Vector A” Units: millimeters <summary>

initialize(system)[source]
property liftingColumnPort

<summary> Serial Port for Lifting Column. (ex “COM5”) <summary>

mechanicalOriginFrame_To_HomeFrame(mechanicalSpace)[source]

transform vector in the mechanicalorigin frame to the home frame. :type mechanicalSpace: Vector3D :param mechanicalSpace: :rtype: Vector3D :return:

mountBaseFrame_To_MechanicalOriginFrame(mountbaseSpace)[source]

<summary> transform vector in mountbase space to mechanical origin frame space. <summary> <param name=”mountbaseSpace”><param> <returns><returns>

mountBase_GoTo_Home()[source]
mountBase_Go_ChartCenterFrame(chartSpace, omega)[source]
mountBase_Go_HomeFrame(displacement, omega)[source]
mountBase_Go_MechanicalOriginFrame(mechSpace, omega)[source]
property mountBase_MechanicalOriginFrame

current target mount position in the mechanical origin frame.

property mountBase_Omega_MechanicalOriginFrame

current rotation of MountBase in the mechanicalOrigin frame.

static staticClassName()[source]
property system
targetMountHomeFrame_To_MechanicaOriginFrame(homeSpace)[source]

transform vector in the home frame to the mechanicalorigin frame. (offset) :type homeSpace: Vector3D :param homeSpace: :rtype: Vector3D :return:

property thisown

The membership flag

property zaberPort

<summary> Serial Port for zaber (ex “COM4”) <summary>

class controlAPI.Vector3D(*args)[source]

Bases: object

primative 3D Vector

IsZero()[source]

<summary> return true if vector is unset (0,0,0) (no fuzzy compare) <summary> <returns><returns>

property thisown

The membership flag

property x
property y
property z
class controlAPI.ZaberAxisInfo[source]

Bases: PhysicalAxisControlInfo

<summary> Axis Info for attaching to a Zaber Device <summary>

property alias
property apiAxisIdx
property isRadial
property maxAccLimit
property maxPosLimit
property maxVelLimit
property minAccLimit
property minPosLimit
property minVelLimit
property submittedToApi
property thisown

The membership flag

class controlAPI.ZaberCommandGetStorageKey[source]

Bases: DeviceCommandPackage

<summary> command to get the storage key / value on a zaber device. <summary>

property alias

user definable unique alias for this command package

className()[source]
cloneFrom(other)

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()[source]
property key

<summary> Zaber Storage Key <summary>

markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.ZaberCommandSetAxisMovement[source]

Bases: MovementCommandPackage

<summary> command to set axis movement on a zaber device <summary>

Units_Degrees = 1
Units_Millimeters = 0
property acc_target

Acc Target ex: (Millimeters/S^2)

property alias

user definable unique alias for this command package

className()[source]
cloneFrom(other)

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()[source]
property disp_absolute

whether position should be global to device or relative to starting position when command starts.

property disp_target

Position Target ex: (Millimeters)

property doNativeHome

<summary> Ignores all other parameters and calls home() on the zaber device. <summary>

markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

static staticClassName()[source]
property thisown

The membership flag

property trackAcc

Track Acceleration Target (if acc_target is non-zero)

property trackDisp

Enable Track Displacement Target

property trackVel

Track Velocity Target (if vel_target is non-zero)

property units
property vel_target

Vel Target ex: (Millimeters/S)

property zaberAxisId
class controlAPI.ZaberCommandSetStorageKey[source]

Bases: DeviceCommandPackage

<summary> command to set the storage key / value on a zaber device. <summary>

property alias

user definable unique alias for this command package

className()[source]
cloneFrom(other)

clone from another device package - should be implemented for custom types. :type other: DeviceCommandPackage :param other:

property continuous

set to true if command is a continous (async/time consuming) command or if it is desired that the command run indefinitely. (tracking command etc) set to false if the command should terminate once a target is reached.

createSharedPtr()[source]
property key

<summary> Zaber Storage Key <summary>

markUpdatePackageReady()

signal the update package is ready to be used in running commands. prepareUpdatePackage() should be called first.

property number
prepareUpdatePackage()

Creates/Returns the DeviceCommandPackage to be used for updates to a running command. Update package will be a shallow copy of this package. It is expected that markUpdatePackageReady() be called after update package is altered. :rtype: DeviceCommandPackage :return: DeviceCommandPackage*

static staticClassName()[source]
property thisown

The membership flag

class controlAPI.ZaberCommandStorageKeyStateInfo[source]

Bases: CommandStateInfo

<summary> state info for storage keystate of a zaber device. <summary>

className()[source]
property percentFinished

<summary> percentage to command completion. <summary>

static staticClassName()[source]
property thisown

The membership flag

property value
class controlAPI.ZaberDeviceInfo[source]

Bases: DeviceInfo

<summary> Device Info for a single Zaber device. <summary>

AddAxisInfo(axis)[source]
addCommand(package)[source]
addCommandGeneric(package)
property alias
property apiDeviceId
className()[source]
commandLoggingEnabled()
commandLoggingLevel()
controlSystem()

access to owning control system.

deviceController()

access to owning controller.

initializeCommand(commandPacakge)[source]
property internals
isConnected()

Returns true is the device is currently connected.

property motionSim
preLoopCommandCheck(checkCancelled=True)
setCommandLoggingLevel(level)

Set the command logging level, 0 - regular, 1 - more detail, 2 - even more detail, etc. :type level: int :param level:

setEnableCommandLogging(enable)

set the device to log messages to the console. (default true) :type enable: boolean :param enable:

static staticClassName()[source]
property thisown

The membership flag

property zaberDeviceAddress
controlAPI.addLogPath(logFilePath)[source]

Add a new log path for log files to be created in. :type logFilePath: string :param logFilePath:

controlAPI.basicFunc(a, b)[source]
class controlAPI.controlGuiInterface[source]

Bases: object

property noUserLoadMode

wait until the GUI is closed.

open(argc, argv)[source]

open the control GUI in a seperate thread.

property thisown

The membership flag

update()[source]
class controlAPI.dmxController[source]

Bases: HardwareDeviceController

<summary> controller base class for dmx devices <summary>

addDeviceInfo(dev)

<summary> Add a device to the controller. <summary> <param name=”dev”><param>

property alias

Alias of the controller

apiId()

the assigned Api Id of the controller

checkCommandPackage(deviceId, package)

check validity of command package

className()[source]
disconnect(expected=False)

disconnect the controller, should handle both a manual disconnect and could be called from a comm error disconnect. set expected to false if called from a timeout error or unknown disconnect event. - error messages are printed. set expected to true if a manual disconnection is wanted.- info messages are printed.

getLogger()
isConnected()

returns true if the controller is currently connected.

isSimulated()

return if the controller is simulated. :rtype: boolean :return:

loggerName()
property port

port for connecting, if the device is a serial device this can be “COM3” or “/dev/tty.***”

removeDeviceInfo(dev)

Remove an already added device.

setDisconnectCallback(callback)

set a disconnected callback function to be called when the controller is disconnected.

setSimulated(simulated)

set the simulated flag on the controller - simulated controllers can simulate interaction with attached devices. can only be set before the controller is initialized. :type simulated: boolean :param simulated:

static staticClassName()[source]
property thisown

The membership flag

controlAPI.getRuntimeDependancyPath()[source]
controlAPI.getRuntimeLibraryPath()[source]
controlAPI.homeSpace_To_Zaber(home)[source]

<summary>

<summary> <param name=”home”><param> <returns><returns>

controlAPI.logLocation(index)[source]

return the full path of the log location :type index: int :param index: the log location index (default 0) :rtype: string :return: the log location as a string.

controlAPI.printTestErrorMessage()[source]

print a test error message from the library

controlAPI.printTestErrorThrowMessage()[source]

print a test error message from the library and throw an exception

controlAPI.printTestMessage()[source]

print a test message from the library

controlAPI.pythonPrintLogFunction()[source]
controlAPI.raiseTestSIGSEG()[source]

raise a test SIGSEGV signal from the library :rtype: int :return:

controlAPI.throwTestException()[source]

throw a test exception from the library :rtype: int :return:

class controlAPI.zaberController[source]

Bases: HardwareDeviceController

<summary> controller for Zaber devices <summary>

addDeviceInfo(dev)

<summary> Add a device to the controller. <summary> <param name=”dev”><param>

property alias

Alias of the controller

apiId()

the assigned Api Id of the controller

checkCommandPackage(deviceId, package)

check validity of command package

className()[source]
disconnect(expected=False)

disconnect the controller, should handle both a manual disconnect and could be called from a comm error disconnect. set expected to false if called from a timeout error or unknown disconnect event. - error messages are printed. set expected to true if a manual disconnection is wanted.- info messages are printed.

getLogger()
isConnected()

returns true if the controller is currently connected.

isSimulated()

return if the controller is simulated. :rtype: boolean :return:

loggerName()
property port

port for connecting, if the device is a serial device this can be “COM3” or “/dev/tty.***”

removeDeviceInfo(dev)

Remove an already added device.

setDisconnectCallback(callback)

set a disconnected callback function to be called when the controller is disconnected.

setSimulated(simulated)

set the simulated flag on the controller - simulated controllers can simulate interaction with attached devices. can only be set before the controller is initialized. :type simulated: boolean :param simulated:

static staticClassName()[source]
property thisown

The membership flag

controlAPI.zaber_To_HomeSpace(zaber)[source]

<summary> convert zaber axis positions to homespace coordinates. <summary> <param name=”zaber”><param> <returns><returns>