Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
rsimpl::auto_exposure_mechanism Class Reference

#include <zr300.h>

Classes

struct  exposure_and_frame_counter
 

Public Member Functions

void add_frame (rs_frame_ref *frame, std::shared_ptr< rsimpl::frame_archive > archive)
 
 auto_exposure_mechanism (zr300_camera *dev, fisheye_auto_exposure_state auto_exposure_state)
 
void update_auto_exposure_state (fisheye_auto_exposure_state &auto_exposure_state)
 
 ~auto_exposure_mechanism ()
 

Private Member Functions

void clear_queue ()
 
size_t get_queue_size ()
 
unsigned get_skip_frames (const fisheye_auto_exposure_state &auto_exposure_state)
 
void push_back_data (rs_frame_ref *data)
 
void push_back_exp_and_cnt (exposure_and_frame_counter exp_and_cnt)
 
bool try_get_exp_by_frame_cnt (double &exposure, const unsigned long long frame_counter)
 
bool try_pop_front_data (rs_frame_ref **data)
 

Private Attributes

auto_exposure_algorithm auto_exposure_algo
 
std::condition_variable cv
 
std::deque< rs_frame_ref * > data_queue
 
zr300_cameradevice
 
std::mutex exp_and_cnt_queue_mtx
 
std::deque< exposure_and_frame_counterexposure_and_frame_counter_queue
 
std::shared_ptr< std::thread > exposure_thread
 
std::atomic< unsigned > frames_counter
 
std::atomic< bool > keep_alive
 
const std::size_t max_size_of_exp_and_cnt_queue = 10
 
std::mutex queue_mtx
 
std::atomic< unsigned > skip_frames
 
std::shared_ptr< rsimpl::frame_archivesync_archive
 

Detailed Description

Definition at line 250 of file zr300.h.

Constructor & Destructor Documentation

rsimpl::auto_exposure_mechanism::auto_exposure_mechanism ( zr300_camera dev,
fisheye_auto_exposure_state  auto_exposure_state 
)

Definition at line 624 of file zr300.cpp.

rsimpl::auto_exposure_mechanism::~auto_exposure_mechanism ( )

Definition at line 700 of file zr300.cpp.

Member Function Documentation

void rsimpl::auto_exposure_mechanism::add_frame ( rs_frame_ref frame,
std::shared_ptr< rsimpl::frame_archive archive 
)

Definition at line 718 of file zr300.cpp.

void rsimpl::auto_exposure_mechanism::clear_queue ( )
private

Definition at line 806 of file zr300.cpp.

size_t rsimpl::auto_exposure_mechanism::get_queue_size ( )
private

Definition at line 801 of file zr300.cpp.

unsigned rsimpl::auto_exposure_mechanism::get_skip_frames ( const fisheye_auto_exposure_state auto_exposure_state)
inlineprivate

Definition at line 268 of file zr300.h.

void rsimpl::auto_exposure_mechanism::push_back_data ( rs_frame_ref data)
private

Definition at line 785 of file zr300.cpp.

void rsimpl::auto_exposure_mechanism::push_back_exp_and_cnt ( exposure_and_frame_counter  exp_and_cnt)
private

Definition at line 744 of file zr300.cpp.

bool rsimpl::auto_exposure_mechanism::try_get_exp_by_frame_cnt ( double &  exposure,
const unsigned long long  frame_counter 
)
private

Definition at line 754 of file zr300.cpp.

bool rsimpl::auto_exposure_mechanism::try_pop_front_data ( rs_frame_ref **  data)
private

Definition at line 790 of file zr300.cpp.

void rsimpl::auto_exposure_mechanism::update_auto_exposure_state ( fisheye_auto_exposure_state auto_exposure_state)

Definition at line 711 of file zr300.cpp.

Member Data Documentation

auto_exposure_algorithm rsimpl::auto_exposure_mechanism::auto_exposure_algo
private

Definition at line 274 of file zr300.h.

std::condition_variable rsimpl::auto_exposure_mechanism::cv
private

Definition at line 277 of file zr300.h.

std::deque<rs_frame_ref*> rsimpl::auto_exposure_mechanism::data_queue
private

Definition at line 279 of file zr300.h.

zr300_camera* rsimpl::auto_exposure_mechanism::device
private

Definition at line 273 of file zr300.h.

std::mutex rsimpl::auto_exposure_mechanism::exp_and_cnt_queue_mtx
private

Definition at line 284 of file zr300.h.

std::deque<exposure_and_frame_counter> rsimpl::auto_exposure_mechanism::exposure_and_frame_counter_queue
private

Definition at line 283 of file zr300.h.

std::shared_ptr<std::thread> rsimpl::auto_exposure_mechanism::exposure_thread
private

Definition at line 276 of file zr300.h.

std::atomic<unsigned> rsimpl::auto_exposure_mechanism::frames_counter
private

Definition at line 281 of file zr300.h.

std::atomic<bool> rsimpl::auto_exposure_mechanism::keep_alive
private

Definition at line 278 of file zr300.h.

const std::size_t rsimpl::auto_exposure_mechanism::max_size_of_exp_and_cnt_queue = 10
private

Definition at line 272 of file zr300.h.

std::mutex rsimpl::auto_exposure_mechanism::queue_mtx
private

Definition at line 280 of file zr300.h.

std::atomic<unsigned> rsimpl::auto_exposure_mechanism::skip_frames
private

Definition at line 282 of file zr300.h.

std::shared_ptr<rsimpl::frame_archive> rsimpl::auto_exposure_mechanism::sync_archive
private

Definition at line 275 of file zr300.h.


The documentation for this class was generated from the following files:


librealsense
Author(s): Sergey Dorodnicov , Mark Horn , Reagan Lopez
autogenerated on Fri Mar 13 2020 03:16:19