Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
Lima-camera-frelon
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Jira
Jira
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
LimaGroup
Lima-camera-frelon
Commits
37cb997c
Commit
37cb997c
authored
Jan 15, 2019
by
Laurent Claustre
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'add_frelon16' into 'master'
Add frelon16 See merge request
!8
parents
70940493
ba8e942b
Pipeline
#7378
passed with stages
in 5 minutes
Changes
15
Pipelines
1
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
1592 additions
and
1068 deletions
+1592
-1068
CMakeLists.txt
CMakeLists.txt
+1
-0
include/Frelon.h
include/Frelon.h
+24
-6
include/FrelonCamera.h
include/FrelonCamera.h
+8
-71
include/FrelonGeometry.h
include/FrelonGeometry.h
+186
-0
include/FrelonInterface.h
include/FrelonInterface.h
+1
-1
include/FrelonModel.h
include/FrelonModel.h
+22
-18
sip/Frelon.sip
sip/Frelon.sip
+22
-7
sip/FrelonCamera.sip
sip/FrelonCamera.sip
+7
-19
sip/FrelonGeometry.sip
sip/FrelonGeometry.sip
+42
-0
sip/FrelonModel.sip
sip/FrelonModel.sip
+14
-11
src/Frelon.cpp
src/Frelon.cpp
+19
-14
src/FrelonCamera.cpp
src/FrelonCamera.cpp
+77
-824
src/FrelonGeometry.cpp
src/FrelonGeometry.cpp
+1050
-0
src/FrelonInterface.cpp
src/FrelonInterface.cpp
+4
-2
src/FrelonModel.cpp
src/FrelonModel.cpp
+115
-95
No files found.
CMakeLists.txt
View file @
37cb997c
...
...
@@ -101,6 +101,7 @@ add_library(frelon SHARED
src/Frelon.cpp
src/FrelonSerialLine.cpp
src/FrelonModel.cpp
src/FrelonGeometry.cpp
src/FrelonCamera.cpp
src/FrelonTimingCtrl.cpp
src/FrelonInterface.cpp
...
...
include/Frelon.h
View file @
37cb997c
...
...
@@ -50,6 +50,7 @@ enum Reg {
ReadoutTime
,
TransferTime
,
CcdModesAvail
,
StatusSeqA
,
StatusAMTA
,
StatusAMTB
,
StatusAMTC
,
StatusAMTD
,
LookUpTable
,
ImagesPerEOF
,
WeightValDFl
,
WeightValSig
,
SeqClockFreq
,
CamChar
,
};
typedef
std
::
map
<
Reg
,
std
::
string
>
RegStrMapType
;
...
...
@@ -115,12 +116,12 @@ extern InputChanList DefInputChanList;
enum
SerNbParam
{
SerNb
=
0x00ff
,
SPB1Kodak
=
0x2000
,
SPB1Adc16
=
0x4000
,
SPB
2Sign
=
0x01
00
,
SPB2Type
=
0x70
00
,
Taper
=
0x8000
,
SerNb
=
0x00ff
,
SPB1Kodak
=
0x2000
,
SPB1Adc16
=
0x4000
,
SPB
TypeMask
=
0x03
00
,
ChipTypeMask
=
0x78
00
,
Taper
Flag
=
0x8000
,
};
enum
RoiMode
{
...
...
@@ -135,6 +136,10 @@ typedef std::map<TimeUnitFactor, double> TimeUnitFactorMapType;
extern
TimeUnitFactorMapType
TimeUnitFactorMap
;
enum
SPBType
{
SPBType1
,
SPBType2
,
SPBType8
,
};
enum
ChipType
{
Atmel
,
Kodak
,
...
...
@@ -143,6 +148,19 @@ enum ChipType {
E2V_4k
,
E2V_4kNotMPP
,
Hama
,
Andanta_CcdFT2k
=
8
,
};
enum
SPBConType
{
SPBConNone
,
SPBConX
,
SPBConY
,
SPBConXY
,
};
enum
GeomType
{
SPB12_4_Quad
,
Hamamatsu
,
SPB2_F16
,
SPB8_F16_Half
,
SPB8_F16_Dual
,
};
typedef
std
::
map
<
ChipType
,
FrameDim
>
ChipMaxFrameDimMapType
;
...
...
include/FrelonCamera.h
View file @
37cb997c
...
...
@@ -24,6 +24,7 @@
#include "FrelonSerialLine.h"
#include "FrelonModel.h"
#include "FrelonGeometry.h"
#include "FrelonTimingCtrl.h"
#include "lima/HwMaxImageSizeCallback.h"
...
...
@@ -33,26 +34,11 @@ namespace lima
namespace
Frelon
{
class
Camera
:
public
HwMaxImageSizeCallbackGen
class
Camera
{
DEB_CLASS_NAMESPC
(
DebModCamera
,
"Camera"
,
"Frelon"
);
public:
class
DeadTimeChangedCallback
{
DEB_CLASS_NAMESPC
(
DebModCamera
,
"DeadTimeChangedCallback"
,
"Frelon::Camera"
);
public:
DeadTimeChangedCallback
();
virtual
~
DeadTimeChangedCallback
();
protected:
virtual
void
deadTimeChanged
(
double
dead_time
)
=
0
;
private:
friend
class
Camera
;
Camera
*
m_cam
;
};
Camera
(
Espia
::
SerialLine
&
espia_ser_line
);
~
Camera
();
...
...
@@ -76,8 +62,8 @@ class Camera : public HwMaxImageSizeCallbackGen
void
setFrameTransferMode
(
FrameTransferMode
ftm
);
void
getFrameTransferMode
(
FrameTransferMode
&
ftm
);
st
atic
st
d
::
string
getInputChanModeName
(
FrameTransferMode
ftm
,
InputChan
input_chan
);
std
::
string
getInputChanModeName
(
FrameTransferMode
ftm
,
InputChan
input_chan
);
void
getMaxFrameDim
(
FrameDim
&
max_frame_dim
);
void
getFrameDim
(
FrameDim
&
frame_dim
);
...
...
@@ -128,7 +114,7 @@ class Camera : public HwMaxImageSizeCallbackGen
void
setSPB2Config
(
SPB2Config
spb2_config
);
void
getSPB2Config
(
SPB2Config
&
spb2_config
);
static
std
::
string
getSPB2ConfigName
(
SPB2Config
spb2_config
);
std
::
string
getSPB2ConfigName
(
SPB2Config
spb2_config
);
void
setExtSyncEnable
(
ExtSync
ext_sync_ena
);
void
getExtSyncEnable
(
ExtSync
&
ext_sync_ena
);
...
...
@@ -147,8 +133,8 @@ class Camera : public HwMaxImageSizeCallbackGen
void
registerDeadTimeChangedCallback
(
DeadTimeChangedCallback
&
cb
);
void
unregisterDeadTimeChangedCallback
(
DeadTimeChangedCallback
&
cb
);
protected:
v
irtual
void
setMaxImageSizeCallbackActive
(
bool
cb_active
);
void
registerMaxImageSizeCallback
(
HwMaxImageSizeCallback
&
cb
);
v
oid
unregisterMaxImageSizeCallback
(
HwMaxImageSizeCallback
&
cb
);
private:
static
const
double
ResetLinkWaitTime
;
...
...
@@ -165,44 +151,6 @@ class Camera : public HwMaxImageSizeCallbackGen
void
sendCmd
(
Cmd
cmd
);
int
getModesAvail
();
void
setChanMode
(
int
chan_mode
);
void
getChanMode
(
int
&
chan_mode
);
void
calcBaseChanMode
(
FrameTransferMode
ftm
,
int
&
base_chan_mode
);
void
calcChanMode
(
FrameTransferMode
ftm
,
InputChan
input_chan
,
int
&
chan_mode
);
void
calcFTMInputChan
(
int
chan_mode
,
FrameTransferMode
&
ftm
,
InputChan
&
input_chan
);
void
setFlipMode
(
int
flip_mode
);
void
getFlipMode
(
int
&
flip_mode
);
Flip
getMirror
();
Point
getNbChan
();
Size
getCcdSize
();
Size
getChanSize
();
Flip
getRoiInsideMirror
();
void
writeChanRoi
(
const
Roi
&
chan_roi
);
void
readChanRoi
(
Roi
&
chan_roi
);
void
xformChanCoords
(
const
Point
&
point
,
Point
&
chan_point
,
Corner
&
ref_corner
);
void
calcImageRoi
(
const
Roi
&
chan_roi
,
const
Flip
&
roi_inside_mirror
,
Roi
&
image_roi
,
Point
&
roi_bin_offset
);
void
calcFinalRoi
(
const
Roi
&
image_roi
,
const
Point
&
roi_offset
,
Roi
&
final_roi
);
void
calcChanRoi
(
const
Roi
&
image_roi
,
Roi
&
chan_roi
,
Flip
&
roi_inside_mirror
);
void
calcChanRoiOffset
(
const
Roi
&
req_roi
,
const
Roi
&
image_roi
,
Point
&
roi_offset
);
void
checkRoiMode
(
const
Roi
&
roi
);
void
processSetRoi
(
const
Roi
&
req_roi
,
Roi
&
hw_roi
,
Roi
&
chan_roi
,
Point
&
roi_offset
);
void
resetRoiBinOffset
();
void
setTimeUnitFactor
(
TimeUnitFactor
time_unit_factor
);
void
getTimeUnitFactor
(
TimeUnitFactor
&
time_unit_factor
);
int
calcTimeUnits
(
double
time_sec
,
TimeUnitFactor
time_unit_factor
);
...
...
@@ -211,27 +159,16 @@ class Camera : public HwMaxImageSizeCallbackGen
bool
waitIdleStatus
(
Status
&
status
,
bool
use_ser_line
=
false
,
bool
read_spb2
=
false
);
void
deadTimeChanged
();
AutoMutex
lock
();
SerialLine
m_ser_line
;
Model
m_model
;
TimingCtrl
m_timing_ctrl
;
Point
m_chan_roi_offset
;
Point
m_roi_bin_offset
;
AutoPtr
<
Geometry
>
m_geom
;
TrigMode
m_trig_mode
;
int
m_nb_frames
;
bool
m_mis_cb_act
;
Mutex
m_lock
;
bool
m_started
;
double
m_dead_time
;
DeadTimeChangedCallback
*
m_dead_time_cb
;
};
inline
bool
Camera
::
isChanActive
(
InputChan
curr
,
InputChan
chan
)
{
return
(
curr
&
chan
)
==
chan
;
};
inline
AutoMutex
Camera
::
lock
()
...
...
include/FrelonGeometry.h
0 → 100644
View file @
37cb997c
//###########################################################################
// This file is part of LImA, a Library for Image Acquisition
//
// Copyright (C) : 2009-2011
// European Synchrotron Radiation Facility
// BP 220, Grenoble 38043
// FRANCE
//
// This is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 3 of the License, or
// (at your option) any later version.
//
// This software is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, see <http://www.gnu.org/licenses/>.
//###########################################################################
#ifndef FRELONGEOMETRY_H
#define FRELONGEOMETRY_H
#include "FrelonModel.h"
#include "lima/HwMaxImageSizeCallback.h"
namespace
lima
{
namespace
Frelon
{
class
Geometry
;
class
Camera
;
class
DeadTimeChangedCallback
{
DEB_CLASS_NAMESPC
(
DebModCamera
,
"DeadTimeChangedCallback"
,
"Frelon"
);
public:
DeadTimeChangedCallback
();
virtual
~
DeadTimeChangedCallback
();
protected:
virtual
void
deadTimeChanged
(
double
dead_time
)
=
0
;
private:
friend
class
Geometry
;
Geometry
*
m_geom
;
};
class
Geometry
:
public
HwMaxImageSizeCallbackGen
{
DEB_CLASS_NAMESPC
(
DebModCamera
,
"Geometry"
,
"Frelon"
);
public:
Geometry
(
Camera
&
cam
);
~
Geometry
();
void
sync
();
bool
getDefInputChan
(
FrameTransferMode
ftm
,
InputChan
&
input_chan
);
void
setInputChan
(
InputChan
input_chan
);
void
getInputChan
(
InputChan
&
input_chan
);
void
setFrameTransferMode
(
FrameTransferMode
ftm
);
void
getFrameTransferMode
(
FrameTransferMode
&
ftm
);
std
::
string
getInputChanModeName
(
FrameTransferMode
ftm
,
InputChan
input_chan
);
void
getMaxFrameDim
(
FrameDim
&
max_frame_dim
);
void
getFrameDim
(
FrameDim
&
frame_dim
);
bool
isChanActive
(
InputChan
curr
,
InputChan
chan
);
void
checkFlip
(
Flip
&
flip
);
void
setFlip
(
const
Flip
&
flip
);
void
getFlip
(
Flip
&
flip
);
void
checkBin
(
Bin
&
bin
);
void
setBin
(
const
Bin
&
bin
);
void
getBin
(
Bin
&
bin
);
void
setRoiMode
(
RoiMode
roi_mode
);
void
getRoiMode
(
RoiMode
&
roi_mode
);
void
checkRoi
(
const
Roi
&
set_roi
,
Roi
&
hw_roi
);
void
setRoi
(
const
Roi
&
set_roi
);
void
getRoi
(
Roi
&
hw_roi
);
void
setRoiBinOffset
(
const
Point
&
roi_bin_offset
);
void
getRoiBinOffset
(
Point
&
roi_bin_offset
);
void
setSPB2Config
(
SPB2Config
spb2_config
);
void
getSPB2Config
(
SPB2Config
&
spb2_config
);
std
::
string
getSPB2ConfigName
(
SPB2Config
spb2_config
);
void
getReadoutTime
(
double
&
readout_time
);
void
getTransferTime
(
double
&
xfer_time
);
void
getDeadTime
(
double
&
dead_time
);
void
deadTimeChanged
();
void
registerDeadTimeChangedCallback
(
DeadTimeChangedCallback
&
cb
);
void
unregisterDeadTimeChangedCallback
(
DeadTimeChangedCallback
&
cb
);
protected:
virtual
void
setMaxImageSizeCallbackActive
(
bool
cb_active
);
bool
isFrelon16
(
SPBType
spb_type
);
void
writeRegister
(
Reg
reg
,
int
val
);
void
readRegister
(
Reg
reg
,
int
&
val
);
void
readFloatRegister
(
Reg
reg
,
double
&
val
);
int
getModesAvail
();
void
setChanMode
(
int
chan_mode
);
void
getChanMode
(
int
&
chan_mode
);
void
calcBaseChanMode
(
FrameTransferMode
ftm
,
int
&
base_chan_mode
);
void
calcChanMode
(
FrameTransferMode
ftm
,
InputChan
input_chan
,
int
&
chan_mode
);
void
calcFTMInputChan
(
int
chan_mode
,
FrameTransferMode
&
ftm
,
InputChan
&
input_chan
);
void
setFlipMode
(
int
flip_mode
);
void
getFlipMode
(
int
&
flip_mode
);
Flip
getMirror
();
Point
getNbChan
();
Size
getCcdSize
();
Size
getChanSize
();
Flip
getRoiInsideMirror
();
void
writeChanRoi
(
const
Roi
&
chan_roi
);
void
readChanRoi
(
Roi
&
chan_roi
);
void
xformChanCoords
(
const
Point
&
point
,
Point
&
chan_point
,
Corner
&
ref_corner
);
void
calcImageRoi
(
const
Roi
&
chan_roi
,
const
Flip
&
roi_inside_mirror
,
Roi
&
image_roi
,
Point
&
roi_bin_offset
);
void
calcFinalRoi
(
const
Roi
&
image_roi
,
const
Point
&
roi_offset
,
Roi
&
final_roi
);
void
calcChanRoi
(
const
Roi
&
image_roi
,
Roi
&
chan_roi
,
Flip
&
roi_inside_mirror
);
void
calcChanRoiOffset
(
const
Roi
&
req_roi
,
const
Roi
&
image_roi
,
Point
&
roi_offset
);
void
checkRoiMode
(
const
Roi
&
roi
);
void
processSetRoi
(
const
Roi
&
req_roi
,
Roi
&
hw_roi
,
Roi
&
chan_roi
,
Point
&
roi_offset
);
void
resetRoiBinOffset
();
Camera
&
m_cam
;
Model
&
m_model
;
Point
m_chan_roi_offset
;
Point
m_roi_bin_offset
;
bool
m_mis_cb_act
;
double
m_dead_time
;
DeadTimeChangedCallback
*
m_dead_time_cb
;
};
inline
bool
Geometry
::
isChanActive
(
InputChan
curr
,
InputChan
chan
)
{
return
(
curr
&
chan
)
==
chan
;
};
inline
bool
Geometry
::
isFrelon16
(
SPBType
spb_type
)
{
GeomType
geom_type
=
m_model
.
getGeomType
();
return
(((
geom_type
==
SPB2_F16
)
&&
(
spb_type
==
SPBType2
))
||
(((
geom_type
==
SPB8_F16_Half
)
||
(
geom_type
==
SPB8_F16_Half
))
&&
(
spb_type
==
SPBType8
)));
}
}
// namespace Frelon
}
// namespace lima
#endif // FRELONGEOMETRY_H
include/FrelonInterface.h
View file @
37cb997c
...
...
@@ -177,7 +177,7 @@ class SyncCtrlObj : public HwSyncCtrlObj
virtual
void
getValidRanges
(
ValidRangesType
&
valid_ranges
);
private:
class
DeadTimeChangedCallback
:
public
Camera
::
DeadTimeChangedCallback
class
DeadTimeChangedCallback
:
public
Frelon
::
DeadTimeChangedCallback
{
DEB_CLASS_NAMESPC
(
DebModCamera
,
"DeadTimeChangedCallback"
,
"Frelon::SynCtrlObj"
);
...
...
include/FrelonModel.h
View file @
37cb997c
...
...
@@ -53,6 +53,7 @@ class Firmware
static
const
Firmware
v2_1b
;
static
const
Firmware
v3_0i
;
static
const
Firmware
v3_1c
;
static
const
Firmware
v4_1
;
private:
void
checkValid
();
...
...
@@ -108,6 +109,12 @@ class Model
DEB_CLASS_NAMESPC
(
DebModCamera
,
"Model"
,
"Frelon"
);
public:
enum
Feature
{
Taper
,
HamaChip
,
ModesAvail
,
TimeCalc
,
HTDCmd
,
GoodHTD
,
ImagesPerEOF
,
CamChar
,
SPB1
,
SPB2
,
SPB8
,
};
Model
();
~
Model
();
...
...
@@ -117,42 +124,39 @@ class Model
void
setComplexSerialNb
(
int
complex_ser_nb
);
void
getComplexSerialNb
(
int
&
complex_ser_nb
);
void
setCamChar
(
int
cam_char
);
void
getCamChar
(
int
&
cam_char
);
void
reset
();
bool
isValid
();
int
getSerialNb
();
bool
isSPB1
();
bool
isSPB2
();
SPBType
getSPBType
();
int
getAdcBits
();
ChipType
getChipType
();
bool
isHama
();
bool
hasTaper
();
bool
hasModesAvail
();
bool
hasTimeCalc
();
bool
hasHTDCmd
();
bool
hasGoodHTD
();
bool
hasImagesPerEOF
();
SPBConType
getSPBConType
();
GeomType
getGeomType
();
bool
has
(
Feature
feature
);
double
getPixelSize
();
std
::
string
getName
();
private:
typedef
std
::
map
<
Feature
,
bool
>
FeatureMap
;
void
update
();
void
checkValid
();
int
getSerialNbParam
(
SerNbParam
param
);
Firmware
m_firmware
;
int
m_complex_ser_nb
;
int
m_cam_char
;
bool
m_valid
;
ChipType
m_chip_type
;
bool
m_is_hama
;
bool
m_modes_avail
;
bool
m_time_calc
;
bool
m_htd_cmd
;
bool
m_good_htd
;
bool
m_images_per_eof
;
bool
m_valid
;
SPBType
m_spb_type
;
ChipType
m_chip_type
;
SPBConType
m_spb_con_type
;
FeatureMap
m_feature
;
};
...
...
sip/Frelon.sip
View file @
37cb997c
...
...
@@ -48,7 +48,8 @@ enum Reg {
SingleVertXfer, SingleHorzXfer, AllVertXfer, AllHorzXfer,
ReadoutTime, TransferTime, CcdModesAvail, StatusSeqA,
StatusAMTA, StatusAMTB, StatusAMTC, StatusAMTD,
LookUpTable, ImagesPerEOF,
LookUpTable, ImagesPerEOF, WeightValDFl, WeightValSig,
SeqClockFreq, CamChar,
};
/*
typedef std::map<Reg, std::string> RegStrMapType;
...
...
@@ -125,12 +126,12 @@ extern FTMInputChanListMapType FTMInputChanListMap;
*/
enum SerNbParam {
SerNb = 0x00ff,
SPB1Kodak = 0x2000,
SPB1Adc16 = 0x4000,
SPB
2Sign = 0x01
00,
SPB2Type = 0x70
00,
Taper
= 0x8000,
SerNb
= 0x00ff,
SPB1Kodak
= 0x2000,
SPB1Adc16
= 0x4000,
SPB
TypeMask = 0x03
00,
ChipTypeMask = 0x78
00,
Taper
Flag
= 0x8000,
};
enum RoiMode {
...
...
@@ -154,7 +155,21 @@ enum ChipType {
E2V_4k,
E2V_4kNotMPP,
Hama,
Andanta_CcdFT2k = 8,
};
enum SPBConType {
SPBConNone, SPBConX, SPBConY, SPBConXY,
};
enum GeomType {
SPB12_4_Quad,
Hamamatsu,
SPB2_F16,
SPB8_F16_Half,
SPB8_F16_Dual,
};
/*
typedef std::map<ChipType, FrameDim> ChipMaxFrameDimMapType;
extern ChipMaxFrameDimMapType ChipMaxFrameDimMap;
...
...
sip/FrelonCamera.sip
View file @
37cb997c
...
...
@@ -23,7 +23,6 @@
namespace Frelon
{
class Camera
{
...
...
@@ -32,15 +31,6 @@ class Camera
%End
public:
class DeadTimeChangedCallback {
public:
DeadTimeChangedCallback();
virtual ~DeadTimeChangedCallback();
protected:
virtual void deadTimeChanged(double dead_time) = 0;
};
Camera(Espia::SerialLine& espia_ser_line);
~Camera();
...
...
@@ -65,8 +55,8 @@ class Camera
void setFrameTransferMode(Frelon::FrameTransferMode ftm);
void getFrameTransferMode(Frelon::FrameTransferMode& ftm /Out/);
st
atic st
d::string getInputChanModeName(Frelon::FrameTransferMode ftm,
Frelon::InputChan input_chan);
std::string getInputChanModeName(Frelon::FrameTransferMode ftm,
Frelon::InputChan input_chan);
void getMaxFrameDim(FrameDim& max_frame_dim /Out/);
void getFrameDim(FrameDim& frame_dim /Out/);
...
...
@@ -117,7 +107,7 @@ class Camera
void setSPB2Config(Frelon::SPB2Config spb2_config);
void getSPB2Config(Frelon::SPB2Config& spb2_config /Out/);
st
atic st
d::string getSPB2ConfigName(Frelon::SPB2Config spb2_config);
std::string getSPB2ConfigName(Frelon::SPB2Config spb2_config);
void setExtSyncEnable(Frelon::ExtSync ext_sync_ena);
void getExtSyncEnable(Frelon::ExtSync& ext_sync_ena /Out/);
...
...
@@ -134,12 +124,10 @@ class Camera
void stop();
bool isRunning();
void registerDeadTimeChangedCallback(Frelon::Camera::DeadTimeChangedCallback& cb);
void unregisterDeadTimeChangedCallback(Frelon::Camera::DeadTimeChangedCallback& cb);
protected:
virtual void setMaxImageSizeCallbackActive(bool cb_active);
void registerDeadTimeChangedCallback(Frelon::DeadTimeChangedCallback& cb);
void unregisterDeadTimeChangedCallback(Frelon::DeadTimeChangedCallback& cb);
void registerMaxImageSizeCallback(HwMaxImageSizeCallback& cb);
void unregisterMaxImageSizeCallback(HwMaxImageSizeCallback& cb);
};
...
...
sip/FrelonGeometry.sip
0 → 100644
View file @
37cb997c
//###########################################################################
// This file is part of LImA, a Library for Image Acquisition
//
// Copyright (C) : 2009-2011
// European Synchrotron Radiation Facility
// BP 220, Grenoble 38043
// FRANCE
//
// This is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 3 of the License, or
// (at your option) any later version.
//
// This software is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, see <http://www.gnu.org/licenses/>.
//###########################################################################
namespace Frelon
{
class DeadTimeChangedCallback
{
%TypeHeaderCode
#include "FrelonGeometry.h"
%End
public:
DeadTimeChangedCallback();
virtual ~DeadTimeChangedCallback();
protected:
virtual void deadTimeChanged(double dead_time) = 0;
};
}; // namespace Frelon
sip/FrelonModel.sip
View file @
37cb997c
...
...
@@ -48,6 +48,7 @@ class Firmware
static const Frelon::Firmware v2_1b;
static const Frelon::Firmware v3_0i;
static const Frelon::Firmware v3_1c;
static const Frelon::Firmware v4_1;
};
...
...
@@ -59,6 +60,12 @@ class Model
%End
public:
enum Feature {
Taper, HamaChip,
ModesAvail, TimeCalc, HTDCmd, GoodHTD, ImagesPerEOF, CamChar,
SPB1, SPB2, SPB8,
};
Model();
~Model();
...
...
@@ -68,22 +75,18 @@ class Model
void setComplexSerialNb(int complex_ser_nb);
void getComplexSerialNb(int& complex_ser_nb /Out/);
void setCamChar(int cam_char);
void getCamChar(int& cam_char /Out/);
void reset();
bool isValid();
int getSerialNb();