1
1
#ifndef _IPECAMERA_PRIVATE_H
2
2
#define _IPECAMERA_PRIVATE_H
5
#include <pcilib/model.h>
4
6
#include "ipecamera.h"
6
#define IPECAMERA_BUG_EXTRA_DATA
8
//#define IPECAMERA_BUG_EXTRA_DATA
7
9
#define IPECAMERA_BUG_MULTIFRAME_PACKETS //**< this is by design, start of packet comes directly after the end of last one in streaming mode */
8
10
//#define IPECAMERA_BUG_INCOMPLETE_PACKETS
9
11
#define IPECAMERA_BUG_POSTPONED_READ
13
15
//#define IPECAMERA_ANNOUNCE_READY //**< announce new event only after the reconstruction is done */
17
#define IPECAMERA_REGISTER_TIMEOUT 10000 //**< us */
18
#define IPECAMERA_DMA_TIMEOUT 50000 //**< us */
15
20
#define IPECAMERA_DEFAULT_BUFFER_SIZE 64 //**< should be power of 2 */
16
21
#define IPECAMERA_RESERVE_BUFFERS 2 //**< Return Frame is Lost error, if requested frame will be overwritten after specified number of frames
17
22
#define IPECAMERA_SLEEP_TIME 250000 //**< Michele thinks 250 should be enough, but reset failing in this case */
114
119
size_t buffer_size; /**< How many images to store */
115
120
size_t buffer_pos; /**< Current image offset in the buffer, due to synchronization reasons should not be used outside of reader_thread */
116
121
size_t cur_size; /**< Already written part of data in bytes */
117
size_t raw_size; /**< Size of raw data in bytes */
118
size_t full_size; /**< Size of raw data including the padding */
119
size_t padded_size; /**< Size of buffer for raw data, including the padding for performance */
120
size_t cur_raw_size; /**< Size of raw data in bytes */
121
size_t cur_full_size; /**< Size of raw data including the padding */
122
size_t cur_padded_size; /**< Size of buffer for raw data, including the padding for performance */
122
size_t raw_size; /**< Expected maximum size of raw data in bytes */
123
size_t full_size; /**< Expected maximum size of raw data including the padding */
124
size_t padded_size; /**< Expected maximum size of buffer for raw data, including additional padding due to the ipecamera bugs */
125
size_t cur_raw_size; /**< Expected size (for currently configured ROI) of raw data in bytes */
126
size_t cur_full_size; /**< Expected size (for currently configured ROI) of raw data including the padding */
127
size_t cur_padded_size; /**< Expected size (for currently configured ROI) of buffer for raw data, including additional padding due to the ipecamera bugs */
124
129
size_t image_size; /**< Size of a single image in bytes */
126
131
size_t max_frames; /**< Maximal number of frames what may be buffered in camera DDR memory */
127
132
int firmware; /**< Firmware version */
128
int fr_mode; /**< Fast Reject mode */
129
133
int cmosis_outputs; /**< Number of active cmosis outputs: 4 or 16 */
130
134
int width, height;