# 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_nrf24l01
else:
    import _pyupm_nrf24l01

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__)



def getVersion():
    return _pyupm_nrf24l01.getVersion()
class uint8Array(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, nelements):
        _pyupm_nrf24l01.uint8Array_swiginit(self, _pyupm_nrf24l01.new_uint8Array(nelements))
    __swig_destroy__ = _pyupm_nrf24l01.delete_uint8Array

    def __getitem__(self, index):
        return _pyupm_nrf24l01.uint8Array___getitem__(self, index)

    def __setitem__(self, index, value):
        return _pyupm_nrf24l01.uint8Array___setitem__(self, index, value)

    def cast(self):
        return _pyupm_nrf24l01.uint8Array_cast(self)

    @staticmethod
    def frompointer(t):
        return _pyupm_nrf24l01.uint8Array_frompointer(t)

# Register uint8Array in _pyupm_nrf24l01:
_pyupm_nrf24l01.uint8Array_swigregister(uint8Array)

def uint8Array_frompointer(t):
    return _pyupm_nrf24l01.uint8Array_frompointer(t)

class Callback(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    __swig_destroy__ = _pyupm_nrf24l01.delete_Callback

    def run(self):
        return _pyupm_nrf24l01.Callback_run(self)

    def __init__(self):
        _pyupm_nrf24l01.Callback_swiginit(self, _pyupm_nrf24l01.new_Callback())

# Register Callback in _pyupm_nrf24l01:
_pyupm_nrf24l01.Callback_swigregister(Callback)


def generic_callback(callback):
    return _pyupm_nrf24l01.generic_callback(callback)
CONFIG = _pyupm_nrf24l01.CONFIG
EN_AA = _pyupm_nrf24l01.EN_AA
EN_RXADDR = _pyupm_nrf24l01.EN_RXADDR
SETUP_AW = _pyupm_nrf24l01.SETUP_AW
SETUP_RETR = _pyupm_nrf24l01.SETUP_RETR
RF_CH = _pyupm_nrf24l01.RF_CH
RF_SETUP = _pyupm_nrf24l01.RF_SETUP
STATUS = _pyupm_nrf24l01.STATUS
OBSERVE_TX = _pyupm_nrf24l01.OBSERVE_TX
CD = _pyupm_nrf24l01.CD
RX_ADDR_P0 = _pyupm_nrf24l01.RX_ADDR_P0
RX_ADDR_P1 = _pyupm_nrf24l01.RX_ADDR_P1
RX_ADDR_P2 = _pyupm_nrf24l01.RX_ADDR_P2
RX_ADDR_P3 = _pyupm_nrf24l01.RX_ADDR_P3
RX_ADDR_P4 = _pyupm_nrf24l01.RX_ADDR_P4
RX_ADDR_P5 = _pyupm_nrf24l01.RX_ADDR_P5
TX_ADDR = _pyupm_nrf24l01.TX_ADDR
RX_PW_P0 = _pyupm_nrf24l01.RX_PW_P0
RX_PW_P1 = _pyupm_nrf24l01.RX_PW_P1
RX_PW_P2 = _pyupm_nrf24l01.RX_PW_P2
RX_PW_P3 = _pyupm_nrf24l01.RX_PW_P3
RX_PW_P4 = _pyupm_nrf24l01.RX_PW_P4
RX_PW_P5 = _pyupm_nrf24l01.RX_PW_P5
FIFO_STATUS = _pyupm_nrf24l01.FIFO_STATUS
DYNPD = _pyupm_nrf24l01.DYNPD
FEATURE = _pyupm_nrf24l01.FEATURE
MASK_RX_DR = _pyupm_nrf24l01.MASK_RX_DR
MASK_TX_DS = _pyupm_nrf24l01.MASK_TX_DS
MASK_MAX_RT = _pyupm_nrf24l01.MASK_MAX_RT
EN_CRC = _pyupm_nrf24l01.EN_CRC
CRCO = _pyupm_nrf24l01.CRCO
PWR_UP = _pyupm_nrf24l01.PWR_UP
PRIM_RX = _pyupm_nrf24l01.PRIM_RX
ENAA_P5 = _pyupm_nrf24l01.ENAA_P5
ENAA_P4 = _pyupm_nrf24l01.ENAA_P4
ENAA_P3 = _pyupm_nrf24l01.ENAA_P3
ENAA_P2 = _pyupm_nrf24l01.ENAA_P2
ENAA_P1 = _pyupm_nrf24l01.ENAA_P1
ENAA_P0 = _pyupm_nrf24l01.ENAA_P0
ERX_P5 = _pyupm_nrf24l01.ERX_P5
ERX_P4 = _pyupm_nrf24l01.ERX_P4
ERX_P3 = _pyupm_nrf24l01.ERX_P3
ERX_P2 = _pyupm_nrf24l01.ERX_P2
ERX_P1 = _pyupm_nrf24l01.ERX_P1
ERX_P0 = _pyupm_nrf24l01.ERX_P0
AW = _pyupm_nrf24l01.AW
ARD = _pyupm_nrf24l01.ARD
ARC = _pyupm_nrf24l01.ARC
PLL_LOCK = _pyupm_nrf24l01.PLL_LOCK
RF_DR = _pyupm_nrf24l01.RF_DR
RF_PWR = _pyupm_nrf24l01.RF_PWR
LNA_HCURR = _pyupm_nrf24l01.LNA_HCURR
RX_DR = _pyupm_nrf24l01.RX_DR
TX_DS = _pyupm_nrf24l01.TX_DS
MAX_RT = _pyupm_nrf24l01.MAX_RT
RX_P_NO = _pyupm_nrf24l01.RX_P_NO
TX_FULL = _pyupm_nrf24l01.TX_FULL
PLOS_CNT = _pyupm_nrf24l01.PLOS_CNT
ARC_CNT = _pyupm_nrf24l01.ARC_CNT
TX_REUSE = _pyupm_nrf24l01.TX_REUSE
FIFO_FULL = _pyupm_nrf24l01.FIFO_FULL
TX_EMPTY = _pyupm_nrf24l01.TX_EMPTY
RX_FULL = _pyupm_nrf24l01.RX_FULL
RX_EMPTY = _pyupm_nrf24l01.RX_EMPTY
R_REGISTER = _pyupm_nrf24l01.R_REGISTER
W_REGISTER = _pyupm_nrf24l01.W_REGISTER
REGISTER_MASK = _pyupm_nrf24l01.REGISTER_MASK
R_RX_PAYLOAD = _pyupm_nrf24l01.R_RX_PAYLOAD
W_TX_PAYLOAD = _pyupm_nrf24l01.W_TX_PAYLOAD
FLUSH_TX = _pyupm_nrf24l01.FLUSH_TX
FLUSH_RX = _pyupm_nrf24l01.FLUSH_RX
REUSE_TX_PL = _pyupm_nrf24l01.REUSE_TX_PL
NOP = _pyupm_nrf24l01.NOP
RF_DR_LOW = _pyupm_nrf24l01.RF_DR_LOW
RF_DR_HIGH = _pyupm_nrf24l01.RF_DR_HIGH
RF_PWR_LOW = _pyupm_nrf24l01.RF_PWR_LOW
RF_PWR_HIGH = _pyupm_nrf24l01.RF_PWR_HIGH
ADDR_LEN = _pyupm_nrf24l01.ADDR_LEN
_CONFIG = _pyupm_nrf24l01._CONFIG
MAX_BUFFER = _pyupm_nrf24l01.MAX_BUFFER
HIGH = _pyupm_nrf24l01.HIGH
LOW = _pyupm_nrf24l01.LOW
BLE_MAC_0 = _pyupm_nrf24l01.BLE_MAC_0
BLE_MAC_1 = _pyupm_nrf24l01.BLE_MAC_1
BLE_MAC_2 = _pyupm_nrf24l01.BLE_MAC_2
BLE_MAC_3 = _pyupm_nrf24l01.BLE_MAC_3
BLE_MAC_4 = _pyupm_nrf24l01.BLE_MAC_4
BLE_MAC_5 = _pyupm_nrf24l01.BLE_MAC_5
BLE_PAYLOAD_OFFSET = _pyupm_nrf24l01.BLE_PAYLOAD_OFFSET
NRF_250KBPS = _pyupm_nrf24l01.NRF_250KBPS
NRF_1MBPS = _pyupm_nrf24l01.NRF_1MBPS
NRF_2MBPS = _pyupm_nrf24l01.NRF_2MBPS
NRF_0DBM = _pyupm_nrf24l01.NRF_0DBM
NRF_6DBM = _pyupm_nrf24l01.NRF_6DBM
NRF_12DBM = _pyupm_nrf24l01.NRF_12DBM
NRF_18DBM = _pyupm_nrf24l01.NRF_18DBM
class NRF24L01(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, cs, ce):
        _pyupm_nrf24l01.NRF24L01_swiginit(self, _pyupm_nrf24l01.new_NRF24L01(cs, ce))

    def name(self):
        return _pyupm_nrf24l01.NRF24L01_name(self)

    def init(self, chipSelect, chipEnable):
        return _pyupm_nrf24l01.NRF24L01_init(self, chipSelect, chipEnable)

    def configure(self):
        return _pyupm_nrf24l01.NRF24L01_configure(self)

    def send(self, *args):
        return _pyupm_nrf24l01.NRF24L01_send(self, *args)

    def setSourceAddress(self, addr):
        return _pyupm_nrf24l01.NRF24L01_setSourceAddress(self, addr)

    def setDestinationAddress(self, addr):
        return _pyupm_nrf24l01.NRF24L01_setDestinationAddress(self, addr)

    def setBroadcastAddress(self, addr):
        return _pyupm_nrf24l01.NRF24L01_setBroadcastAddress(self, addr)

    def setPayload(self, load):
        return _pyupm_nrf24l01.NRF24L01_setPayload(self, load)

    def setDataReceivedHandler(self, call_obj):
        return _pyupm_nrf24l01.NRF24L01_setDataReceivedHandler(self, call_obj)

    def dataReady(self):
        return _pyupm_nrf24l01.NRF24L01_dataReady(self)

    def dataSending(self):
        return _pyupm_nrf24l01.NRF24L01_dataSending(self)

    def getData(self, data):
        return _pyupm_nrf24l01.NRF24L01_getData(self, data)

    def getStatus(self):
        return _pyupm_nrf24l01.NRF24L01_getStatus(self)

    def rxFifoEmpty(self):
        return _pyupm_nrf24l01.NRF24L01_rxFifoEmpty(self)

    def rxPowerUp(self):
        return _pyupm_nrf24l01.NRF24L01_rxPowerUp(self)

    def rxFlushBuffer(self):
        return _pyupm_nrf24l01.NRF24L01_rxFlushBuffer(self)

    def txPowerUp(self):
        return _pyupm_nrf24l01.NRF24L01_txPowerUp(self)

    def powerDown(self):
        return _pyupm_nrf24l01.NRF24L01_powerDown(self)

    def setChannel(self, channel):
        return _pyupm_nrf24l01.NRF24L01_setChannel(self, channel)

    def setPower(self, power):
        return _pyupm_nrf24l01.NRF24L01_setPower(self, power)

    def setSpeedRate(self, rate):
        return _pyupm_nrf24l01.NRF24L01_setSpeedRate(self, rate)

    def txFlushBuffer(self):
        return _pyupm_nrf24l01.NRF24L01_txFlushBuffer(self)

    def pollListener(self):
        return _pyupm_nrf24l01.NRF24L01_pollListener(self)

    def ceHigh(self):
        return _pyupm_nrf24l01.NRF24L01_ceHigh(self)

    def ceLow(self):
        return _pyupm_nrf24l01.NRF24L01_ceLow(self)

    def csOn(self):
        return _pyupm_nrf24l01.NRF24L01_csOn(self)

    def csOff(self):
        return _pyupm_nrf24l01.NRF24L01_csOff(self)

    def setBeaconingMode(self):
        return _pyupm_nrf24l01.NRF24L01_setBeaconingMode(self)

    def sendBeaconingMsg(self, msg):
        return _pyupm_nrf24l01.NRF24L01_sendBeaconingMsg(self, msg)
    m_rxBuffer = property(_pyupm_nrf24l01.NRF24L01_m_rxBuffer_get, _pyupm_nrf24l01.NRF24L01_m_rxBuffer_set)
    m_txBuffer = property(_pyupm_nrf24l01.NRF24L01_m_txBuffer_get, _pyupm_nrf24l01.NRF24L01_m_txBuffer_set)
    m_bleBuffer = property(_pyupm_nrf24l01.NRF24L01_m_bleBuffer_get, _pyupm_nrf24l01.NRF24L01_m_bleBuffer_set)
    __swig_destroy__ = _pyupm_nrf24l01.delete_NRF24L01

# Register NRF24L01 in _pyupm_nrf24l01:
_pyupm_nrf24l01.NRF24L01_swigregister(NRF24L01)



