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