# This file was automatically generated by SWIG (http://www.swig.org).
# Version 4.0.2
#
# 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 as _swig_python_version_info
if _swig_python_version_info < (2, 7, 0):
    raise RuntimeError("Python 2.7 or later required")

# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _pyupm_rsc
else:
    import _pyupm_rsc

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

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


def _swig_setattr_nondynamic_instance_variable(set):
    def set_instance_attr(self, name, value):
        if name == "thisown":
            self.this.own(value)
        elif name == "this":
            set(self, name, value)
        elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
            set(self, name, value)
        else:
            raise AttributeError("You cannot add instance attributes to %s" % self)
    return set_instance_attr


def _swig_setattr_nondynamic_class_variable(set):
    def set_class_attr(cls, name, value):
        if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
            set(cls, name, value)
        else:
            raise AttributeError("You cannot add class attributes to %s" % cls)
    return set_class_attr


def _swig_add_metaclass(metaclass):
    """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
    def wrapper(cls):
        return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
    return wrapper


class _SwigNonDynamicMeta(type):
    """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
    __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)


import upm.pyupm_interfaces

def getVersion():
    return _pyupm_rsc.getVersion()
RSC_CATALOG_LISTING_MSB = _pyupm_rsc.RSC_CATALOG_LISTING_MSB
RSC_CATALOG_LISTING_LSB = _pyupm_rsc.RSC_CATALOG_LISTING_LSB
RSC_SERIAL_NO_YYYY_MSB = _pyupm_rsc.RSC_SERIAL_NO_YYYY_MSB
RSC_SERIAL_NO_YYYY_LSB = _pyupm_rsc.RSC_SERIAL_NO_YYYY_LSB
RSC_SERIAL_NO_DDD_MSB = _pyupm_rsc.RSC_SERIAL_NO_DDD_MSB
RSC_SERIAL_NO_DDD_LSB = _pyupm_rsc.RSC_SERIAL_NO_DDD_LSB
RSC_SERIAL_NO_XXXX_MSB = _pyupm_rsc.RSC_SERIAL_NO_XXXX_MSB
RSC_SERIAL_NO_XXXX_LSB = _pyupm_rsc.RSC_SERIAL_NO_XXXX_LSB
RSC_PRESSURE_RANGE_LSB = _pyupm_rsc.RSC_PRESSURE_RANGE_LSB
RSC_PRESSURE_RANGE_MSB = _pyupm_rsc.RSC_PRESSURE_RANGE_MSB
RSC_PRESSURE_MINIMUM_LSB = _pyupm_rsc.RSC_PRESSURE_MINIMUM_LSB
RSC_PRESSURE_MINIMUM_MSB = _pyupm_rsc.RSC_PRESSURE_MINIMUM_MSB
RSC_PRESSURE_UNIT_MSB = _pyupm_rsc.RSC_PRESSURE_UNIT_MSB
RSC_PRESSURE_UNIT_LSB = _pyupm_rsc.RSC_PRESSURE_UNIT_LSB
RSC_PRESSURE_REFERENCE = _pyupm_rsc.RSC_PRESSURE_REFERENCE
RSC_ADC_CONDIG_00 = _pyupm_rsc.RSC_ADC_CONDIG_00
RSC_ADC_CONDIG_01 = _pyupm_rsc.RSC_ADC_CONDIG_01
RSC_ADC_CONDIG_02 = _pyupm_rsc.RSC_ADC_CONDIG_02
RSC_ADC_CONDIG_03 = _pyupm_rsc.RSC_ADC_CONDIG_03
RSC_OFFSET_COEFFICIENT_0_LSB = _pyupm_rsc.RSC_OFFSET_COEFFICIENT_0_LSB
RSC_OFFSET_COEFFICIENT_0_MSB = _pyupm_rsc.RSC_OFFSET_COEFFICIENT_0_MSB
RSC_OFFSET_COEFFICIENT_1_LSB = _pyupm_rsc.RSC_OFFSET_COEFFICIENT_1_LSB
RSC_OFFSET_COEFFICIENT_1_MSB = _pyupm_rsc.RSC_OFFSET_COEFFICIENT_1_MSB
RSC_OFFSET_COEFFICIENT_2_LSB = _pyupm_rsc.RSC_OFFSET_COEFFICIENT_2_LSB
RSC_OFFSET_COEFFICIENT_2_MSB = _pyupm_rsc.RSC_OFFSET_COEFFICIENT_2_MSB
RSC_OFFSET_COEFFICIENT_3_LSB = _pyupm_rsc.RSC_OFFSET_COEFFICIENT_3_LSB
RSC_OFFSET_COEFFICIENT_3_MSB = _pyupm_rsc.RSC_OFFSET_COEFFICIENT_3_MSB
RSC_SPAN_COEFFICIENT_0_LSB = _pyupm_rsc.RSC_SPAN_COEFFICIENT_0_LSB
RSC_SPAN_COEFFICIENT_0_MSB = _pyupm_rsc.RSC_SPAN_COEFFICIENT_0_MSB
RSC_SPAN_COEFFICIENT_1_LSB = _pyupm_rsc.RSC_SPAN_COEFFICIENT_1_LSB
RSC_SPAN_COEFFICIENT_1_MSB = _pyupm_rsc.RSC_SPAN_COEFFICIENT_1_MSB
RSC_SPAN_COEFFICIENT_2_LSB = _pyupm_rsc.RSC_SPAN_COEFFICIENT_2_LSB
RSC_SPAN_COEFFICIENT_2_MSB = _pyupm_rsc.RSC_SPAN_COEFFICIENT_2_MSB
RSC_SPAN_COEFFICIENT_3_LSB = _pyupm_rsc.RSC_SPAN_COEFFICIENT_3_LSB
RSC_SPAN_COEFFICIENT_3_MSB = _pyupm_rsc.RSC_SPAN_COEFFICIENT_3_MSB
RSC_SHAPE_COEFFICIENT_0_LSB = _pyupm_rsc.RSC_SHAPE_COEFFICIENT_0_LSB
RSC_SHAPE_COEFFICIENT_0_MSB = _pyupm_rsc.RSC_SHAPE_COEFFICIENT_0_MSB
RSC_SHAPE_COEFFICIENT_1_LSB = _pyupm_rsc.RSC_SHAPE_COEFFICIENT_1_LSB
RSC_SHAPE_COEFFICIENT_1_MSB = _pyupm_rsc.RSC_SHAPE_COEFFICIENT_1_MSB
RSC_SHAPE_COEFFICIENT_2_LSB = _pyupm_rsc.RSC_SHAPE_COEFFICIENT_2_LSB
RSC_SHAPE_COEFFICIENT_2_MSB = _pyupm_rsc.RSC_SHAPE_COEFFICIENT_2_MSB
RSC_SHAPE_COEFFICIENT_3_LSB = _pyupm_rsc.RSC_SHAPE_COEFFICIENT_3_LSB
RSC_SHAPE_COEFFICIENT_3_MSB = _pyupm_rsc.RSC_SHAPE_COEFFICIENT_3_MSB
RSC_CHECKSUM_LSB = _pyupm_rsc.RSC_CHECKSUM_LSB
RSC_CHECKSUM_MSB = _pyupm_rsc.RSC_CHECKSUM_MSB
RSC_EEPROM_ADDRESS_SPACE_SIZE = _pyupm_rsc.RSC_EEPROM_ADDRESS_SPACE_SIZE
RSC_EEPROM_STANDARD_ARGUMENT_LENGTH = _pyupm_rsc.RSC_EEPROM_STANDARD_ARGUMENT_LENGTH
RSC_READ_EEPROM_INSTRUCTION = _pyupm_rsc.RSC_READ_EEPROM_INSTRUCTION
RSC_EEPROM_ADDRESS_LOWER_BYTE_MASK = _pyupm_rsc.RSC_EEPROM_ADDRESS_LOWER_BYTE_MASK
RSC_EEPROM_ADDRESS_9TH_BIT_MASK = _pyupm_rsc.RSC_EEPROM_ADDRESS_9TH_BIT_MASK
RSC_SENSOR_NAME_LEN = _pyupm_rsc.RSC_SENSOR_NAME_LEN
RSC_SENSOR_NUMBER_LEN = _pyupm_rsc.RSC_SENSOR_NUMBER_LEN
RSC_PRESSURE_RANGE_LEN = _pyupm_rsc.RSC_PRESSURE_RANGE_LEN
RSC_PRESSURE_MINIMUM_LEN = _pyupm_rsc.RSC_PRESSURE_MINIMUM_LEN
RSC_PRESSURE_UNIT_LEN = _pyupm_rsc.RSC_PRESSURE_UNIT_LEN
RSC_SENSOR_TYPE_LEN = _pyupm_rsc.RSC_SENSOR_TYPE_LEN
RSC_COEFF_T_ROW_NO = _pyupm_rsc.RSC_COEFF_T_ROW_NO
RSC_COEFF_T_COL_NO = _pyupm_rsc.RSC_COEFF_T_COL_NO
RSC_COEFF_ADDRESS_SPACE_SIZE = _pyupm_rsc.RSC_COEFF_ADDRESS_SPACE_SIZE
RSC_ADC_RESET_COMMAND = _pyupm_rsc.RSC_ADC_RESET_COMMAND
RSC_DATA_RATE_SHIFT = _pyupm_rsc.RSC_DATA_RATE_SHIFT
RSC_DATA_RATE_MASK = _pyupm_rsc.RSC_DATA_RATE_MASK
RSC_ADC_REG_MASK = _pyupm_rsc.RSC_ADC_REG_MASK
RSC_ADC_NUM_BYTES_MASK = _pyupm_rsc.RSC_ADC_NUM_BYTES_MASK
RSC_OPERATING_MODE_MASK = _pyupm_rsc.RSC_OPERATING_MODE_MASK
RSC_OPERATING_MODE_SHIFT = _pyupm_rsc.RSC_OPERATING_MODE_SHIFT
RSC_SET_BITS_MASK = _pyupm_rsc.RSC_SET_BITS_MASK
RSC_ADC_WREG = _pyupm_rsc.RSC_ADC_WREG
MSEC_PER_SEC = _pyupm_rsc.MSEC_PER_SEC
READ = _pyupm_rsc.READ
WRITE = _pyupm_rsc.WRITE
N_DR_20_SPS = _pyupm_rsc.N_DR_20_SPS
N_DR_45_SPS = _pyupm_rsc.N_DR_45_SPS
N_DR_90_SPS = _pyupm_rsc.N_DR_90_SPS
N_DR_175_SPS = _pyupm_rsc.N_DR_175_SPS
N_DR_330_SPS = _pyupm_rsc.N_DR_330_SPS
N_DR_600_SPS = _pyupm_rsc.N_DR_600_SPS
N_DR_1000_SPS = _pyupm_rsc.N_DR_1000_SPS
N_DR_NA = _pyupm_rsc.N_DR_NA
F_DR_40_SPS = _pyupm_rsc.F_DR_40_SPS
F_DR_90_SPS = _pyupm_rsc.F_DR_90_SPS
F_DR_180_SPS = _pyupm_rsc.F_DR_180_SPS
F_DR_350_SPS = _pyupm_rsc.F_DR_350_SPS
F_DR_660_SPS = _pyupm_rsc.F_DR_660_SPS
F_DR_1200_SPS = _pyupm_rsc.F_DR_1200_SPS
F_DR_2000_SPS = _pyupm_rsc.F_DR_2000_SPS
F_DR_NA = _pyupm_rsc.F_DR_NA
NORMAL_MODE = _pyupm_rsc.NORMAL_MODE
NA_MODE = _pyupm_rsc.NA_MODE
FAST_MODE = _pyupm_rsc.FAST_MODE
PASCAL = _pyupm_rsc.PASCAL
KPASCAL = _pyupm_rsc.KPASCAL
MPASCAL = _pyupm_rsc.MPASCAL
PSI = _pyupm_rsc.PSI
INH2O = _pyupm_rsc.INH2O
BAR = _pyupm_rsc.BAR
mBAR = _pyupm_rsc.mBAR
DIFFERENTIAL = _pyupm_rsc.DIFFERENTIAL
ABSOLUTE = _pyupm_rsc.ABSOLUTE
GAUGE = _pyupm_rsc.GAUGE
OFFSET = _pyupm_rsc.OFFSET
SPAN = _pyupm_rsc.SPAN
SHAPE = _pyupm_rsc.SHAPE
PRESSURE = _pyupm_rsc.PRESSURE
TEMPERATURE = _pyupm_rsc.TEMPERATURE
EEPROM = _pyupm_rsc.EEPROM
ADC = _pyupm_rsc.ADC
class RSC(upm.pyupm_interfaces.iPressure, upm.pyupm_interfaces.iTemperature):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, bus, cs_ee_pin, cs_adc_pin):
        _pyupm_rsc.RSC_swiginit(self, _pyupm_rsc.new_RSC(bus, cs_ee_pin, cs_adc_pin))
    __swig_destroy__ = _pyupm_rsc.delete_RSC

    def getSensorName(self):
        return _pyupm_rsc.RSC_getSensorName(self)

    def getSensorSerialNumber(self):
        return _pyupm_rsc.RSC_getSensorSerialNumber(self)

    def getPressureRange(self):
        return _pyupm_rsc.RSC_getPressureRange(self)

    def getMinimumPressure(self):
        return _pyupm_rsc.RSC_getMinimumPressure(self)

    def getPressureUnit(self):
        return _pyupm_rsc.RSC_getPressureUnit(self)

    def getPressureType(self):
        return _pyupm_rsc.RSC_getPressureType(self)

    def getInitialADCState(self):
        return _pyupm_rsc.RSC_getInitialADCState(self)

    def updateCoefficients(self):
        return _pyupm_rsc.RSC_updateCoefficients(self)

    def setupADC(self, adc_init_values):
        return _pyupm_rsc.RSC_setupADC(self, adc_init_values)

    def getTemperature(self):
        return _pyupm_rsc.RSC_getTemperature(self)

    def getPressure(self):
        return _pyupm_rsc.RSC_getPressure(self)

    def setMode(self, mode):
        return _pyupm_rsc.RSC_setMode(self, mode)

    def setDataRate(self, dr):
        return _pyupm_rsc.RSC_setDataRate(self, dr)

# Register RSC in _pyupm_rsc:
_pyupm_rsc.RSC_swigregister(RSC)



