Program Listing for File device_discover.h

Return to documentation for file (include/libcaer/devices/device_discover.h)

#ifndef LIBCAER_DEVICES_DEVICE_DISCOVER_H_
#define LIBCAER_DEVICES_DEVICE_DISCOVER_H_

#include "davis.h"
#include "dvs128.h"
#include "dvs132s.h"
#include "dvxplorer.h"
#include "dynapse.h"
#include "edvs.h"
#include "samsung_evk.h"

#ifdef __cplusplus
extern "C" {
#endif

struct caer_device_discovery_result {
    uint16_t deviceType;
    bool deviceErrorOpen;
    bool deviceErrorVersion;
    union {
        struct caer_dvs128_info dvs128Info;
        struct caer_edvs_info edvsInfo;
        struct caer_davis_info davisInfo;
        struct caer_dynapse_info dynapseInfo;
        struct caer_dvs132s_info dvs132sInfo;
        struct caer_dvx_info dvXplorerInfo;
        struct caer_samsung_evk_info samsungEVKInfo;
    } deviceInfo;
};

typedef struct caer_device_discovery_result *caerDeviceDiscoveryResult;

#define CAER_DEVICE_DISCOVER_ALL -1

LIBRARY_PUBLIC_VISIBILITY ssize_t caerDeviceDiscover(int16_t deviceType, caerDeviceDiscoveryResult *discoveredDevices);

LIBRARY_PUBLIC_VISIBILITY caerDeviceHandle caerDeviceDiscoverOpen(
    uint16_t deviceID, caerDeviceDiscoveryResult discoveredDevice);

#ifdef __cplusplus
}
#endif

#endif /* LIBCAER_DEVICES_DEVICE_DISCOVER_H_ */