6#ifndef OPENEV_DEVICES_DAVIS_HPP
7#define OPENEV_DEVICES_DAVIS_HPP
10#include "openev/containers/vector.hpp"
21 constexpr static uint32_t DEFAULT_INTERVAL = 20000;
22 constexpr static uint32_t DEFAULT_EXPOSURE = 6500;
117 bool getData(StampedMatVector &frames);
124 bool getData(StampedMatQueue &frames);
211 bool getData(
Vector &events, StampedMatVector &frame, ImuVector &imu);
220 bool getData(
Queue &events, StampedMatQueue &frame, ImuQueue &imu);
244 std::size_t
getEventRaw(uint64_t *data,
const bool allow_realloc =
true);
247 template <
typename T1,
typename T2,
typename T3>
248 void getData_([[maybe_unused]] T1 *dvs, [[maybe_unused]] T2 *aps, [[maybe_unused]] T3 *imu);
250 void init()
override;
Abstract camera device driver.
This is an auxiliary class. This class cannot be instanced.
Definition abstract-camera.hpp:117
This class extends AbstractCamera to operate with DAVIS event cameras. DAVIS cameras offer events (DV...
Definition davis.hpp:19
void enableDvs(bool state)
Enable DVS.
Definition davis.cpp:75
void enableAps(bool state)
Enable APS.
Definition davis.cpp:89
void setDvsEventsPerPacket(uint32_t n)
Set DVS maximum number of events per transmission.
Definition davis.cpp:84
bool setBias(const uint8_t name, const BiasValue &value)
Set the bias value associated with the given name.
Definition davis.cpp:71
void setDvsTimeInterval(uint32_t usec)
Set DVS maximum time interval between subsequent transmissions.
Definition davis.cpp:79
bool getData(Vector &events) override
Get DVS data.
Definition davis.cpp:107
void enableImu(bool state)
Enable IMU.
Definition davis.cpp:101
BiasValue getBias(const uint8_t name) const
Retrieve the bias value associated with the given name.
Definition davis.cpp:67
void setExposure(uint32_t exposure)
Set APS exposure time.
Definition davis.cpp:97
void getEventRaw(std::vector< uint64_t > &data)
Retrieve raw event data.
Definition davis.cpp:298
void setApsTimeInterval(uint32_t usec)
Set APS maximum time interval between subsequent transmissions.
Definition davis.cpp:93
This class extends std::queue to implement event queues. For more information, please refer here.
Definition queue.hpp:35
This class extends cv::Mat to include timestamp.
Definition abstract-camera.hpp:53
This class extends std::vector to implement event vectors. For more information, please refer here.
Definition vector.hpp:36
Queue container for basic event structures.
Definition abstract-camera.hpp:35
This struct is used to store IMU data from a DAVIS event camera.
Definition abstract-camera.hpp:91