# This file was automatically generated by SWIG (http://www.swig.org).
# Version 3.0.8
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.





from sys import version_info
if version_info >= (2, 6, 0):
    def swig_import_helper():
        from os.path import dirname
        import imp
        fp = None
        try:
            fp, pathname, description = imp.find_module('_SmslsDevicePy', [dirname(__file__)])
        except ImportError:
            import _SmslsDevicePy
            return _SmslsDevicePy
        if fp is not None:
            try:
                _mod = imp.load_module('_SmslsDevicePy', fp, pathname, description)
            finally:
                fp.close()
            return _mod
    _SmslsDevicePy = swig_import_helper()
    del swig_import_helper
else:
    import _SmslsDevicePy
del version_info
try:
    _swig_property = property
except NameError:
    pass  # Python < 2.2 doesn't have 'property'.


def _swig_setattr_nondynamic(self, class_type, name, value, static=1):
    if (name == "thisown"):
        return self.this.own(value)
    if (name == "this"):
        if type(value).__name__ == 'SwigPyObject':
            self.__dict__[name] = value
            return
    method = class_type.__swig_setmethods__.get(name, None)
    if method:
        return method(self, value)
    if (not static):
        if _newclass:
            object.__setattr__(self, name, value)
        else:
            self.__dict__[name] = value
    else:
        raise AttributeError("You cannot add attributes to %s" % self)


def _swig_setattr(self, class_type, name, value):
    return _swig_setattr_nondynamic(self, class_type, name, value, 0)


def _swig_getattr_nondynamic(self, class_type, name, static=1):
    if (name == "thisown"):
        return self.this.own()
    method = class_type.__swig_getmethods__.get(name, None)
    if method:
        return method(self)
    if (not static):
        return object.__getattr__(self, name)
    else:
        raise AttributeError(name)

def _swig_getattr(self, class_type, name):
    return _swig_getattr_nondynamic(self, class_type, name, 0)


def _swig_repr(self):
    try:
        strthis = "proxy of " + self.this.__repr__()
    except Exception:
        strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)

try:
    _object = object
    _newclass = 1
except AttributeError:
    class _object:
        pass
    _newclass = 0


class StepperApi(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, StepperApi, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, StepperApi, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    def SetConfigFilePath(self, configPath):
        return _SmslsDevicePy.StepperApi_SetConfigFilePath(self, configPath)

    def FindConfigWithName(self, configName):
        return _SmslsDevicePy.StepperApi_FindConfigWithName(self, configName)

    def Initialize(self):
        return _SmslsDevicePy.StepperApi_Initialize(self)

    def Close(self):
        return _SmslsDevicePy.StepperApi_Close(self)

    def GetNumMotors(self):
        return _SmslsDevicePy.StepperApi_GetNumMotors(self)

    def GetTargetAcceleration(self, motorId):
        return _SmslsDevicePy.StepperApi_GetTargetAcceleration(self, motorId)

    def SetTargetAcceleration(self, motorId, acceleration_rpm2):
        return _SmslsDevicePy.StepperApi_SetTargetAcceleration(self, motorId, acceleration_rpm2)

    def GetCurrentAcceleration(self, motorId):
        return _SmslsDevicePy.StepperApi_GetCurrentAcceleration(self, motorId)

    def GetMaxSpeed(self, motorId):
        return _SmslsDevicePy.StepperApi_GetMaxSpeed(self, motorId)

    def GetTargetSpeed(self, motorId):
        return _SmslsDevicePy.StepperApi_GetTargetSpeed(self, motorId)

    def SetTargetSpeed(self, motorId, speed_rpm):
        return _SmslsDevicePy.StepperApi_SetTargetSpeed(self, motorId, speed_rpm)

    def GetCurrentSpeed(self, motorId):
        return _SmslsDevicePy.StepperApi_GetCurrentSpeed(self, motorId)

    def AddCurrentSpeedChangeHandler(self, motorId, fptr):
        return _SmslsDevicePy.StepperApi_AddCurrentSpeedChangeHandler(self, motorId, fptr)

    def GetMinPosition(self, motorId):
        return _SmslsDevicePy.StepperApi_GetMinPosition(self, motorId)

    def GetMaxPosition(self, motorId):
        return _SmslsDevicePy.StepperApi_GetMaxPosition(self, motorId)

    def GetTargetPosition(self, motorId):
        return _SmslsDevicePy.StepperApi_GetTargetPosition(self, motorId)

    def SetTargetPosition(self, motorId, position_r):
        return _SmslsDevicePy.StepperApi_SetTargetPosition(self, motorId, position_r)

    def GetCurrentPosition(self, motorId):
        return _SmslsDevicePy.StepperApi_GetCurrentPosition(self, motorId)

    def SetCurrentPosition(self, motorId, position_r):
        return _SmslsDevicePy.StepperApi_SetCurrentPosition(self, motorId, position_r)

    def Start(self, motorId):
        return _SmslsDevicePy.StepperApi_Start(self, motorId)

    def Stop(self, motorId):
        return _SmslsDevicePy.StepperApi_Stop(self, motorId)

    def IsRunning(self, motorId):
        return _SmslsDevicePy.StepperApi_IsRunning(self, motorId)
    __swig_destroy__ = _SmslsDevicePy.delete_StepperApi
    __del__ = lambda self: None
StepperApi_swigregister = _SmslsDevicePy.StepperApi_swigregister
StepperApi_swigregister(StepperApi)


def GetStepperApi():
    return _SmslsDevicePy.GetStepperApi()
GetStepperApi = _SmslsDevicePy.GetStepperApi
class ServoApi(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, ServoApi, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, ServoApi, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    def SetConfigFilePath(self, configPath):
        return _SmslsDevicePy.ServoApi_SetConfigFilePath(self, configPath)

    def FindConfigWithName(self, configName):
        return _SmslsDevicePy.ServoApi_FindConfigWithName(self, configName)

    def Initialize(self):
        return _SmslsDevicePy.ServoApi_Initialize(self)

    def Close(self):
        return _SmslsDevicePy.ServoApi_Close(self)

    def GetNumMotors(self):
        return _SmslsDevicePy.ServoApi_GetNumMotors(self)

    def GetTargetAcceleration(self, motorId):
        return _SmslsDevicePy.ServoApi_GetTargetAcceleration(self, motorId)

    def SetTargetAcceleration(self, motorId, acceleration_dps2):
        return _SmslsDevicePy.ServoApi_SetTargetAcceleration(self, motorId, acceleration_dps2)

    def GetCurrentAcceleration(self, motorId):
        return _SmslsDevicePy.ServoApi_GetCurrentAcceleration(self, motorId)

    def GetTargetSpeed(self, motorId):
        return _SmslsDevicePy.ServoApi_GetTargetSpeed(self, motorId)

    def SetTargetSpeed(self, motorId, speed_dps):
        return _SmslsDevicePy.ServoApi_SetTargetSpeed(self, motorId, speed_dps)

    def GetCurrentSpeed(self, motorId):
        return _SmslsDevicePy.ServoApi_GetCurrentSpeed(self, motorId)

    def GetTargetPosition(self, motorId):
        return _SmslsDevicePy.ServoApi_GetTargetPosition(self, motorId)

    def SetTargetPosition(self, motorId, position_d):
        return _SmslsDevicePy.ServoApi_SetTargetPosition(self, motorId, position_d)

    def GetCurrentPosition(self, motorId):
        return _SmslsDevicePy.ServoApi_GetCurrentPosition(self, motorId)

    def Start(self, motorId):
        return _SmslsDevicePy.ServoApi_Start(self, motorId)

    def Stop(self, motorId):
        return _SmslsDevicePy.ServoApi_Stop(self, motorId)

    def IsRunning(self, motorId):
        return _SmslsDevicePy.ServoApi_IsRunning(self, motorId)

    def AddPositionKeypoint(self, motorId, keypointId, position_d):
        return _SmslsDevicePy.ServoApi_AddPositionKeypoint(self, motorId, keypointId, position_d)

    def GetPositionKeypoint(self, motorId, keypointId):
        return _SmslsDevicePy.ServoApi_GetPositionKeypoint(self, motorId, keypointId)

    def RemovePositionKeypoint(self, motorId, keypointId):
        return _SmslsDevicePy.ServoApi_RemovePositionKeypoint(self, motorId, keypointId)

    def ClearAllPostionKeypoints(self, motorId):
        return _SmslsDevicePy.ServoApi_ClearAllPostionKeypoints(self, motorId)

    def GetPositionKeypointCount(self, motorId):
        return _SmslsDevicePy.ServoApi_GetPositionKeypointCount(self, motorId)

    def GetPositionKeypointFromIndex(self, motorId, keypointIndex):
        return _SmslsDevicePy.ServoApi_GetPositionKeypointFromIndex(self, motorId, keypointIndex)

    def SetTargetPositionToKeypoint(self, motorId, keypointId):
        return _SmslsDevicePy.ServoApi_SetTargetPositionToKeypoint(self, motorId, keypointId)

    def GetCurrentPositionAsKeypoint(self, motorId):
        return _SmslsDevicePy.ServoApi_GetCurrentPositionAsKeypoint(self, motorId)
ServoApi_swigregister = _SmslsDevicePy.ServoApi_swigregister
ServoApi_swigregister(ServoApi)


def GetServoApi():
    return _SmslsDevicePy.GetServoApi()
GetServoApi = _SmslsDevicePy.GetServoApi
class InputOutputApi(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, InputOutputApi, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, InputOutputApi, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    def SetConfigFilePath(self, configPath):
        return _SmslsDevicePy.InputOutputApi_SetConfigFilePath(self, configPath)

    def FindConfigWithName(self, configName):
        return _SmslsDevicePy.InputOutputApi_FindConfigWithName(self, configName)

    def Initialize(self):
        return _SmslsDevicePy.InputOutputApi_Initialize(self)

    def Close(self):
        return _SmslsDevicePy.InputOutputApi_Close(self)

    def GetNumChannels(self):
        return _SmslsDevicePy.InputOutputApi_GetNumChannels(self)

    def SetChannelState(self, channelId, state):
        return _SmslsDevicePy.InputOutputApi_SetChannelState(self, channelId, state)

    def GetChannelState(self, channelId):
        return _SmslsDevicePy.InputOutputApi_GetChannelState(self, channelId)
InputOutputApi_swigregister = _SmslsDevicePy.InputOutputApi_swigregister
InputOutputApi_swigregister(InputOutputApi)


def GetInputOutputApi():
    return _SmslsDevicePy.GetInputOutputApi()
GetInputOutputApi = _SmslsDevicePy.GetInputOutputApi
class TemperatureApi(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, TemperatureApi, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, TemperatureApi, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr

    def SetHeaterConfigFilePath(self, configPath):
        return _SmslsDevicePy.TemperatureApi_SetHeaterConfigFilePath(self, configPath)

    def FindHeaterConfigWithName(self, configName):
        return _SmslsDevicePy.TemperatureApi_FindHeaterConfigWithName(self, configName)

    def Initialize(self):
        return _SmslsDevicePy.TemperatureApi_Initialize(self)

    def Close(self):
        return _SmslsDevicePy.TemperatureApi_Close(self)

    def GetNumHeaters(self):
        return _SmslsDevicePy.TemperatureApi_GetNumHeaters(self)

    def GetNumCoolers(self):
        return _SmslsDevicePy.TemperatureApi_GetNumCoolers(self)

    def GetSensorType(self, heaterId):
        return _SmslsDevicePy.TemperatureApi_GetSensorType(self, heaterId)

    def SetSensorType(self, heaterId, sensorType):
        return _SmslsDevicePy.TemperatureApi_SetSensorType(self, heaterId, sensorType)

    def GetSensorSubtype(self, heaterId):
        return _SmslsDevicePy.TemperatureApi_GetSensorSubtype(self, heaterId)

    def SetSensorSubtype(self, heaterId, tcType):
        return _SmslsDevicePy.TemperatureApi_SetSensorSubtype(self, heaterId, tcType)

    def GetCurrentTemp(self, heaterId):
        return _SmslsDevicePy.TemperatureApi_GetCurrentTemp(self, heaterId)

    def GetTargetTemp(self, heaterId):
        return _SmslsDevicePy.TemperatureApi_GetTargetTemp(self, heaterId)

    def SetTargetTemp(self, heaterId, temp_C):
        return _SmslsDevicePy.TemperatureApi_SetTargetTemp(self, heaterId, temp_C)

    def SetTargetTempLimits(self, heaterId, tempMin_C, tempMax_C):
        return _SmslsDevicePy.TemperatureApi_SetTargetTempLimits(self, heaterId, tempMin_C, tempMax_C)

    def GetControlMode(self, heaterId):
        return _SmslsDevicePy.TemperatureApi_GetControlMode(self, heaterId)

    def SetControlMode(self, heaterId, mode):
        return _SmslsDevicePy.TemperatureApi_SetControlMode(self, heaterId, mode)

    def GetCurrentManipulatedValue(self, heaterId):
        return _SmslsDevicePy.TemperatureApi_GetCurrentManipulatedValue(self, heaterId)

    def GetTargetManipulatedValue(self, heaterId):
        return _SmslsDevicePy.TemperatureApi_GetTargetManipulatedValue(self, heaterId)

    def SetTargetManipulatedValue(self, heaterId, mv):
        return _SmslsDevicePy.TemperatureApi_SetTargetManipulatedValue(self, heaterId, mv)

    def SetManipulatedValueLimits(self, heaterId, mvLow, mvHigh):
        return _SmslsDevicePy.TemperatureApi_SetManipulatedValueLimits(self, heaterId, mvLow, mvHigh)

    def GetPidGains(self, heaterId):
        return _SmslsDevicePy.TemperatureApi_GetPidGains(self, heaterId)

    def SetPidGains(self, heaterId, Kp, Ki, Kd):
        return _SmslsDevicePy.TemperatureApi_SetPidGains(self, heaterId, Kp, Ki, Kd)

    def StartHeater(self, heaterId):
        return _SmslsDevicePy.TemperatureApi_StartHeater(self, heaterId)

    def StopHeater(self, heaterId):
        return _SmslsDevicePy.TemperatureApi_StopHeater(self, heaterId)

    def HeaterIsRunning(self, heaterId):
        return _SmslsDevicePy.TemperatureApi_HeaterIsRunning(self, heaterId)

    def StartCooler(self, coolerId):
        return _SmslsDevicePy.TemperatureApi_StartCooler(self, coolerId)

    def StopCooler(self, coolerId):
        return _SmslsDevicePy.TemperatureApi_StopCooler(self, coolerId)

    def CoolerIsRunning(self, coolerId):
        return _SmslsDevicePy.TemperatureApi_CoolerIsRunning(self, coolerId)
TemperatureApi_swigregister = _SmslsDevicePy.TemperatureApi_swigregister
TemperatureApi_swigregister(TemperatureApi)


def GetTemperatureApi():
    return _SmslsDevicePy.GetTemperatureApi()
GetTemperatureApi = _SmslsDevicePy.GetTemperatureApi
class CameraApi(_object):
    __swig_setmethods__ = {}
    __setattr__ = lambda self, name, value: _swig_setattr(self, CameraApi, name, value)
    __swig_getmethods__ = {}
    __getattr__ = lambda self, name: _swig_getattr(self, CameraApi, name)

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _SmslsDevicePy.delete_CameraApi
    __del__ = lambda self: None

    def SetConfigFilePath(self, configPath):
        return _SmslsDevicePy.CameraApi_SetConfigFilePath(self, configPath)

    def FindConfigWithName(self, configName):
        return _SmslsDevicePy.CameraApi_FindConfigWithName(self, configName)

    def SaveConfig(self):
        return _SmslsDevicePy.CameraApi_SaveConfig(self)

    def SaveConfigAs(self, configPath):
        return _SmslsDevicePy.CameraApi_SaveConfigAs(self, configPath)

    def Initialize(self):
        return _SmslsDevicePy.CameraApi_Initialize(self)

    def Close(self):
        return _SmslsDevicePy.CameraApi_Close(self)

    def GetSystemSerial(self):
        return _SmslsDevicePy.CameraApi_GetSystemSerial(self)

    def GetNumChannels(self):
        return _SmslsDevicePy.CameraApi_GetNumChannels(self)

    def GetNumCells(self):
        return _SmslsDevicePy.CameraApi_GetNumCells(self)

    def GetSensorExposureTime(self, channelId):
        return _SmslsDevicePy.CameraApi_GetSensorExposureTime(self, channelId)

    def SetSensorExposureTime(self, channelId, time_msec):
        return _SmslsDevicePy.CameraApi_SetSensorExposureTime(self, channelId, time_msec)

    def CaptureSensorFrame(self, channelId):
        return _SmslsDevicePy.CameraApi_CaptureSensorFrame(self, channelId)

    def GetSensorDataSize(self, channelId):
        return _SmslsDevicePy.CameraApi_GetSensorDataSize(self, channelId)

    def GetSensorData(self, channelId, data):
        return _SmslsDevicePy.CameraApi_GetSensorData(self, channelId, data)

    def GetSensorNoiseLevel(self, channelId):
        return _SmslsDevicePy.CameraApi_GetSensorNoiseLevel(self, channelId)

    def GetSensorAmbientLevel(self, channelId):
        return _SmslsDevicePy.CameraApi_GetSensorAmbientLevel(self, channelId)

    def RemoveRegion(self, cellId):
        return _SmslsDevicePy.CameraApi_RemoveRegion(self, cellId)

    def UpdateRegion(self, cellId, channelId, startIndex, stopIndex):
        return _SmslsDevicePy.CameraApi_UpdateRegion(self, cellId, channelId, startIndex, stopIndex)

    def ClearAllRegions(self):
        return _SmslsDevicePy.CameraApi_ClearAllRegions(self)

    def GetRegionExposureTime(self, cellId):
        return _SmslsDevicePy.CameraApi_GetRegionExposureTime(self, cellId)

    def SetRegionExposureTime(self, cellId, time_msec):
        return _SmslsDevicePy.CameraApi_SetRegionExposureTime(self, cellId, time_msec)

    def GetRegionDataSize(self, cellId):
        return _SmslsDevicePy.CameraApi_GetRegionDataSize(self, cellId)

    def GetRegionIndices(self, cellId, indices):
        return _SmslsDevicePy.CameraApi_GetRegionIndices(self, cellId, indices)

    def GetRegionData(self, cellId, data):
        return _SmslsDevicePy.CameraApi_GetRegionData(self, cellId, data)

    def GetRegionNoiseLevel(self, cellId):
        return _SmslsDevicePy.CameraApi_GetRegionNoiseLevel(self, cellId)

    def GetRegionMin(self, cellId):
        return _SmslsDevicePy.CameraApi_GetRegionMin(self, cellId)

    def GetRegionMax(self, cellId):
        return _SmslsDevicePy.CameraApi_GetRegionMax(self, cellId)

    def GetRegionAvg(self, cellId):
        return _SmslsDevicePy.CameraApi_GetRegionAvg(self, cellId)

    def AddRegionKeypoint(self, cellId, pointId, pixelIndex):
        return _SmslsDevicePy.CameraApi_AddRegionKeypoint(self, cellId, pointId, pixelIndex)

    def RemoveRegionKeypoint(self, cellId, pointId):
        return _SmslsDevicePy.CameraApi_RemoveRegionKeypoint(self, cellId, pointId)

    def UpdateRegionKeypoint(self, cellId, pointId, pixelIndex):
        return _SmslsDevicePy.CameraApi_UpdateRegionKeypoint(self, cellId, pointId, pixelIndex)

    def ClearAllRegionKeypoints(self, cellId):
        return _SmslsDevicePy.CameraApi_ClearAllRegionKeypoints(self, cellId)

    def GetRegionKeypointCount(self, cellId):
        return _SmslsDevicePy.CameraApi_GetRegionKeypointCount(self, cellId)

    def GetRegionKeypointIndices(self, cellId, indices):
        return _SmslsDevicePy.CameraApi_GetRegionKeypointIndices(self, cellId, indices)

    def GetRegionKeypointData(self, cellId, data):
        return _SmslsDevicePy.CameraApi_GetRegionKeypointData(self, cellId, data)

    def GetRegionKeypoint(self, cellId, keypointId):
        return _SmslsDevicePy.CameraApi_GetRegionKeypoint(self, cellId, keypointId)

    def GetRegionKeypointIndex(self, cellId, keypointId):
        return _SmslsDevicePy.CameraApi_GetRegionKeypointIndex(self, cellId, keypointId)
CameraApi_swigregister = _SmslsDevicePy.CameraApi_swigregister
CameraApi_swigregister(CameraApi)


def GetCameraApi():
    return _SmslsDevicePy.GetCameraApi()
GetCameraApi = _SmslsDevicePy.GetCameraApi
# This file is compatible with both classic and new-style classes.


