Critical Link MityCam SoC Firmware  1.0
Critical Link MityCam SoC Firmware
LegacyCCD.h
Go to the documentation of this file.
1 /*
2  * ExternalExposure.h
3  *
4  * Created on: Nov 1, 2017
5  * Author: mitydsp
6  */
7 
8 #ifndef LEGACYCCD_H_
9 #define LEGACYCCD_H_
10 
11 #include "CameraTypes.h"
12 #include "CCDParameters.h"
13 
14 
15 namespace SocCamera
16 {
17 
18 class tcTECHandler;
19 
25 {
26 public:
28  virtual ~tcLegacyCCD() {};
29 
30  // basic CCD Support (for legacy MityCCD interface)
31  virtual teNackCode ClearCCD(int anNumTimes = 1) = 0;
32  virtual teNackCode SetCCDOffset(uint16_t Mean, uint16_t SubtractMean) = 0;
33  virtual teNackCode SetBinParam(uint8_t* apBinCodes, uint32_t anSetNumber) = 0;
34  virtual teNackCode GetBinParam(uint8_t* apBinCodes, uint32_t anSetNumber) = 0;
35  virtual teNackCode GetOutputIndices(uint32_t* apRows, uint32_t *apRowCount, uint32_t anSetNumber) = 0;
36  virtual teNackCode GetBinningSequence(unsigned char* apVeritcalSeq, unsigned char* apHorizSeq, unsigned short* apSeqLength) = 0;
37  virtual teNackCode SetBinningSequence(unsigned char* apVeritcalSeq, unsigned char* apHorizSeq, unsigned short* apSeqLength) = 0;
38  virtual teNackCode GetHorBinParam(unsigned int* apSetNumber, unsigned short* apOffset, unsigned short* apNumCols, char* apBinCode) = 0;
39  virtual teNackCode SetHorBinParam(unsigned int anSetNumber, char* apBinCode) = 0;
40  virtual teNackCode SetGain(int Setting) = 0;
41  virtual teNackCode GetGain(int& NumSettings, int& CurrentSetting, float* apGains) = 0;
42  virtual teNackCode SetFilter(bool FastSetting) = 0;
43  virtual teNackCode GetFilter(bool& FastSetting) = 0;
44  virtual bool GetReadoutNoise(float &arMean, float &arStdDev, int anAutoClear) = 0;
45  virtual void SetNumClears(unsigned short NumClears) = 0;
46  virtual void GetImageIntervals(unsigned int& mnAreaIntervalMs,
47  unsigned int& mnBinnedIntervalMs, unsigned int& mnAreaMaskIntervalMs,
48  unsigned int& mnCustomIntervalMs) = 0;
49  virtual teNackCode SetBinEnable(bool Enable) = 0;
50  virtual bool GetBinEnable(void) = 0;
51 
52  // Needed to set the SET PID parameters from timing file
53  virtual void AddTECHandler(tcTECHandler* apHandler) = 0;
54 
58  virtual teNackCode SetTDIEnable(bool Enable) = 0;
59  virtual bool GetTDIEnable() = 0;
60  virtual teNackCode SetTDIConfig(uint32_t BinMode, uint32_t LinesPerImage, uint32_t SkipLines, uint32_t InterFrameSkipLines) = 0;
61  virtual void GetTDIConfig(uint32_t& BinMode, uint32_t& LinesPerImage, uint32_t& SkipLines, uint32_t& InterFrameSkipLines) = 0;
62  virtual teNackCode SetTDILinePeriod(uint32_t LinePeriod_usec) = 0;
63  virtual uint32_t GetTDILinePeriod() = 0;
64  virtual teNackCode SetTagConfig(int tag, bool enable, uint32_t Column) = 0;
65  virtual void GetTagConfig(int tag, bool& enable, uint32_t& Column) = 0;
67 
71  virtual float GetMeanReadoutNoise() const = 0;
72  virtual float GetStdDevReadoutNoise() const = 0;
73  virtual unsigned short GetOffset() const = 0;
74  virtual unsigned short GetSubstrate() const = 0;
76 };
77 
78 }
79 
80 #endif /* LEGACYCCD_H_ */
SocCamera::tcLegacyCCD::GetMeanReadoutNoise
virtual float GetMeanReadoutNoise() const =0
SocCamera::tcLegacyCCD::GetTDIConfig
virtual void GetTDIConfig(uint32_t &BinMode, uint32_t &LinesPerImage, uint32_t &SkipLines, uint32_t &InterFrameSkipLines)=0
SocCamera::tcLegacyCCD::GetBinningSequence
virtual teNackCode GetBinningSequence(unsigned char *apVeritcalSeq, unsigned char *apHorizSeq, unsigned short *apSeqLength)=0
SocCamera::tcLegacyCCD::GetTagConfig
virtual void GetTagConfig(int tag, bool &enable, uint32_t &Column)=0
SocCamera::tcLegacyCCD::SetTDILinePeriod
virtual teNackCode SetTDILinePeriod(uint32_t LinePeriod_usec)=0
SocCamera::tcLegacyCCD::~tcLegacyCCD
virtual ~tcLegacyCCD()
Definition: LegacyCCD.h:28
SocCamera::tcLegacyCCD::GetReadoutNoise
virtual bool GetReadoutNoise(float &arMean, float &arStdDev, int anAutoClear)=0
SocCamera::tcLegacyCCD::tcLegacyCCD
tcLegacyCCD()
Definition: LegacyCCD.h:27
SocCamera::tcLegacyCCD::SetGain
virtual teNackCode SetGain(int Setting)=0
SocCamera::tcLegacyCCD::AddTECHandler
virtual void AddTECHandler(tcTECHandler *apHandler)=0
SocCamera::tcLegacyCCD::GetImageIntervals
virtual void GetImageIntervals(unsigned int &mnAreaIntervalMs, unsigned int &mnBinnedIntervalMs, unsigned int &mnAreaMaskIntervalMs, unsigned int &mnCustomIntervalMs)=0
SocCamera::tcLegacyCCD::SetBinningSequence
virtual teNackCode SetBinningSequence(unsigned char *apVeritcalSeq, unsigned char *apHorizSeq, unsigned short *apSeqLength)=0
SocCamera::tcLegacyCCD::GetOutputIndices
virtual teNackCode GetOutputIndices(uint32_t *apRows, uint32_t *apRowCount, uint32_t anSetNumber)=0
SocCamera::tcTECHandler
Definition: TECHandler.h:18
CameraTypes.h
SocCamera::tcLegacyCCD::GetFilter
virtual teNackCode GetFilter(bool &FastSetting)=0
SocCamera::tcLegacyCCD::GetTDIEnable
virtual bool GetTDIEnable()=0
SocCamera::tcLegacyCCD::SetBinEnable
virtual teNackCode SetBinEnable(bool Enable)=0
SocCamera::tcLegacyCCD::GetStdDevReadoutNoise
virtual float GetStdDevReadoutNoise() const =0
SocCamera::tcLegacyCCD::GetBinParam
virtual teNackCode GetBinParam(uint8_t *apBinCodes, uint32_t anSetNumber)=0
SocCamera::tcLegacyCCD::SetFilter
virtual teNackCode SetFilter(bool FastSetting)=0
SocCamera::tcLegacyCCD::SetBinParam
virtual teNackCode SetBinParam(uint8_t *apBinCodes, uint32_t anSetNumber)=0
SocCamera::teNackCode
teNackCode
Definition: CameraTypes.h:62
SocCamera::tcLegacyCCD::GetTDILinePeriod
virtual uint32_t GetTDILinePeriod()=0
SocCamera::tcLegacyCCD::GetSubstrate
virtual unsigned short GetSubstrate() const =0
SocCamera::tcLegacyCCD::GetGain
virtual teNackCode GetGain(int &NumSettings, int &CurrentSetting, float *apGains)=0
SocCamera::tcLegacyCCD::SetTDIConfig
virtual teNackCode SetTDIConfig(uint32_t BinMode, uint32_t LinesPerImage, uint32_t SkipLines, uint32_t InterFrameSkipLines)=0
SocCamera::tcLegacyCCD::GetBinEnable
virtual bool GetBinEnable(void)=0
SocCamera::tcLegacyCCD
The tcLegacyCCD class provides interfaces needed to control CCDs and support the MityViewer interface...
Definition: LegacyCCD.h:24
SocCamera::tcLegacyCCD::GetHorBinParam
virtual teNackCode GetHorBinParam(unsigned int *apSetNumber, unsigned short *apOffset, unsigned short *apNumCols, char *apBinCode)=0
SocCamera::tcLegacyCCD::GetOffset
virtual unsigned short GetOffset() const =0
SocCamera::tcLegacyCCD::SetTDIEnable
virtual teNackCode SetTDIEnable(bool Enable)=0
SocCamera::tcLegacyCCD::SetNumClears
virtual void SetNumClears(unsigned short NumClears)=0
SocCamera
Definition: CameraTypes.h:7
SocCamera::tcLegacyCCD::ClearCCD
virtual teNackCode ClearCCD(int anNumTimes=1)=0
SocCamera::tcLegacyCCD::SetHorBinParam
virtual teNackCode SetHorBinParam(unsigned int anSetNumber, char *apBinCode)=0
SocCamera::tcLegacyCCD::SetCCDOffset
virtual teNackCode SetCCDOffset(uint16_t Mean, uint16_t SubtractMean)=0
SocCamera::tcLegacyCCD::SetTagConfig
virtual teNackCode SetTagConfig(int tag, bool enable, uint32_t Column)=0
CCDParameters.h