Ejemplo n.º 1
0
    def __init__(self,
                 busRestriction=0,
                 devAddressRestriction=0,
                 serialNumber=""):
        """ init DAVIS, display info, and start data transfer """
        self.handle = libcaer.caerDeviceOpen(1, libcaer.CAER_DEVICE_DAVIS,
                                             busRestriction,
                                             devAddressRestriction,
                                             serialNumber)
        self.info = libcaer.caerDavisInfoGet(self.handle)

        print("device ID: " +
              str(libcaer.caer_davis_info_deviceID_get(self.info)))

        if (libcaer.caer_davis_info_deviceIsMaster_get(self.info)):
            print("device is Master")
        else:
            print("device is Slave")

        print("device Serial Number: " +
              str(libcaer.caer_davis_info_deviceSerialNumber_get(self.info)))
        print(libcaer.caer_davis_info_deviceString_get(self.info))

        self.dvsSizeX = libcaer.caer_davis_info_dvsSizeX_get(self.info)
        self.dvsSizeY = libcaer.caer_davis_info_dvsSizeY_get(self.info)

        self.apsSizeX = libcaer.caer_davis_info_apsSizeX_get(self.info)
        self.apsSizeY = libcaer.caer_davis_info_apsSizeY_get(self.info)

        # init default biases
        ret = libcaer.caerDeviceSendDefaultConfig(self.handle)
        if (ret == True):
            print("Default biases loaded")
        else:
            print("Error while loading default biases")
            raise Exception

        # set blocking data exchange
        ret = libcaer.caerDeviceConfigSet(
            self.handle, libcaer.CAER_HOST_CONFIG_DATAEXCHANGE,
            libcaer.CAER_HOST_CONFIG_DATAEXCHANGE_BLOCKING, True)
        if (ret == True):
            print("Data exchange set to blocking mode")
        else:
            print(
                "Error in communicating with the device, please check your setup"
            )
            raise Exception

        # start data transfer from device
        ret = libcaer.caerDeviceDataStart(self.handle, None, None, None, None,
                                          None)
        if (ret == True):
            print("Data transfer started")
        else:
            print("Error in starting data transfer")
            raise Exception
Ejemplo n.º 2
0
    def __init__(self,
                 busRestriction=0,
                 devAddressRestriction=0,
                 serialNumber=""):
        """ init Dynapse, display info, and start data transfer """
        self.handle = libcaer.caerDeviceOpen(1, libcaer.CAER_DEVICE_DYNAPSE,
                                             busRestriction,
                                             devAddressRestriction,
                                             serialNumber)
        self.info = libcaer.caerDynapseInfoGet(self.handle)
        print("device ID: " +
              str(libcaer.caer_dynapse_info_deviceID_get(self.info)))
        print("device Logic Version: " +
              str(libcaer.caer_dynapse_info_logicVersion_get(self.info)))
        print(libcaer.caer_dynapse_info_deviceString_get(self.info))

        # containers
        self.neuid = []
        self.coreid = []
        self.chipid = []
        self.ts = []

        # init default biases
        ret = libcaer.caerDeviceSendDefaultConfig(self.handle)
        if (ret == True):
            print("Default biases loaded")
        else:
            print("Error while loading default biases")
            raise Exception

        # start data transfer from device
        ret = libcaer.caerDeviceDataStart(self.handle, None, None, None, None,
                                          None)
        if (ret == True):
            print("Data transfer started")
        else:
            print("Error in data transfer")
            raise Exception

        # set data exchange blocking
        ret = libcaer.caerDeviceConfigSet(
            self.handle, libcaer.CAER_HOST_CONFIG_DATAEXCHANGE,
            libcaer.CAER_HOST_CONFIG_DATAEXCHANGE_BLOCKING, True)
        if (ret == True):
            print("Data exchange set to blocking mode")
        else:
            print(
                "Error in communicating with the device, please check your setup"
            )
            raise Exception