/alps/ipecamera

To get this branch, use:
bzr branch http://darksoft.org/webbzr/alps/ipecamera

« back to all changes in this revision

Viewing changes to private.h

  • Committer: Suren A. Chilingaryan
  • Date: 2015-04-27 00:28:57 UTC
  • Revision ID: csa@suren.me-20150427002857-82fk6r3e8rfgy4wr
First stand-alone ipecamera implementation

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
#ifndef _IPECAMERA_PRIVATE_H
2
2
#define _IPECAMERA_PRIVATE_H
3
3
 
 
4
#include <pthread.h>
 
5
#include <pcilib/model.h>
4
6
#include "ipecamera.h"
5
7
 
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
12
14
 
13
15
//#define IPECAMERA_ANNOUNCE_READY              //**< announce new event only after the reconstruction is done */
14
16
 
 
17
#define IPECAMERA_REGISTER_TIMEOUT 10000        //**< us */
 
18
#define IPECAMERA_DMA_TIMEOUT 50000             //**< us */
 
19
 
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 */
123
128
    
124
129
    size_t image_size;          /**< Size of a single image in bytes */
125
130
    
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;
131
135