Critical Link MityCam SoC Firmware  1.0
Critical Link MityCam SoC Firmware
StdOutSensorBoard.h
Go to the documentation of this file.
1 #ifndef STDOUTSENSORBOARD_H
2 #define STDOUTSENSORBOARD_H
3 
4 #include "CameraTypes.h"
5 #include "Sensors/SensorBoard.h"
6 #include "Utility/Timer.h"
7 
8 namespace SocCamera
9 {
10 
12 {
13 public:
14 
16  {
18  };
19 
21 
22  virtual ~tcStdOutSensorBoard();
23 
29  virtual int GetCameraInfo(tsCameraInfo* apInfo);
30 
36  virtual int32 initialize();
37 
46  virtual teNackCode setExposure(int32 anMicroseconds, uint32_t anExpIndex = 0) override;
47 
52  virtual int32 getExposure(uint32_t anExpIndex = 0) override;
53 
62  virtual teNackCode setFrameInterval(int32 anMicroseconds);
63 
68  virtual int32 getFrameInterval();
69 
78  virtual teNackCode setROI(ROI region);
79 
84  virtual ROI getROI();
85 
92  virtual teNackCode setVerticalBin(int32 anPixels);
93 
98  virtual int32 getVerticalBin();
99 
106  virtual teNackCode setHorizontalBin(int32 anPixels);
107 
112  virtual int32 getHorizontalBin();
113 
120  virtual teNackCode setShutterMode(teShutterMode eeMode);
121 
127  virtual int32 getShutterMode();
128 
135  virtual teNackCode setBPP(teBPPMode eeMode);
136 
141  virtual int32 getBPP();
142 
149  virtual teNackCode setTestPattern(teTestPattern eeSelection);
150 
155  virtual int32 getTestPattern();
156 
163  virtual teNackCode setTrigger(teTriggerMode eeTrigger);
164 
169  virtual int32 getTrigger();
170 
179  virtual teNackCode peek(int32 anRegister, int* apValue);
180 
189  virtual teNackCode poke(int32 anRegister, int32 anValue);
190 
197  virtual int32 validate();
198 
205  virtual bool isCapturing();
206 
213  virtual teNackCode start();
214 
220  virtual teNackCode stop();
221 
231  virtual std::string getTemperature(int32 anSensor = eeThermistor);
232 
237  virtual std::string getVersion();
238 
244  virtual teNackCode save(int32 anConfiguration);
245 
251  virtual teNackCode recall(int32 anConfiguration);
252 
263  virtual teNackCode setIODirection(int32 anMask);
264 
275  virtual teNackCode setIOValue(int32 anMask);
276 
284  virtual int32 getIODirection();
285 
292  virtual int32 getIOValue();
293 
294  virtual void InitBuffers();
295 
296  virtual void timerTicked(tcTimer* apTimer);
297 
298 private:
299  // Shadow of the raw, adjusted, exposure and frame interval times in
300  // microseconds; these get translated before setting registers
301  uint32 mnExposureTimeMicroseconds;
302  uint32 mnFrameIntervalMicroseconds;
303 
304  // Shadows of the raw configurations:
305  teTriggerMode meTrigger;
306  teShutterMode meShutterMode;
307  teBPPMode meBPPMode;
308  teTestPattern meTestPattern;
309 
310  // Shadow of the raw ROI; this gets translated into the real thing down the
311  // line:
312  ROI msROI;
313 
314  // Shadow of the binning factors:
315  int32 mnVerticalBin;
316  int32 mnHorizontalBin;
317 
318  // State of capturing.
319  bool mbCapturing;
320 
321  tcTimer mcTimer;
322 };
323 
324 }
325 
326 #endif // STDOUTSENSORBOARD_H
327 
SocCamera::tcStdOutSensorBoard::setROI
virtual teNackCode setROI(ROI region)
Definition: StdOutSensorBoard.cpp:128
SocCamera::tcStdOutSensorBoard::teTemperatureSensors
teTemperatureSensors
Definition: StdOutSensorBoard.h:15
SocCamera::tcStdOutSensorBoard::eeBotTemp
@ eeBotTemp
Definition: StdOutSensorBoard.h:17
SocCamera::tcStdOutSensorBoard::getVerticalBin
virtual int32 getVerticalBin()
Definition: StdOutSensorBoard.cpp:199
int32
int32_t int32
Definition: Types.h:8
SocCamera::tsCameraInfo
Definition: CameraTypes.h:52
SocCamera::tcStdOutSensorBoard::GetCameraInfo
virtual int GetCameraInfo(tsCameraInfo *apInfo)
Definition: StdOutSensorBoard.cpp:48
SocCamera::tcStdOutSensorBoard::save
virtual teNackCode save(int32 anConfiguration)
Definition: StdOutSensorBoard.cpp:422
SocCamera::tcStdOutSensorBoard::InitBuffers
virtual void InitBuffers()
Definition: StdOutSensorBoard.cpp:578
SocCamera::teTestPattern
teTestPattern
Definition: CameraTypes.h:122
SocCamera::tcStdOutSensorBoard::setVerticalBin
virtual teNackCode setVerticalBin(int32 anPixels)
Definition: StdOutSensorBoard.cpp:170
SocCamera::tcStdOutSensorBoard::setTrigger
virtual teNackCode setTrigger(teTriggerMode eeTrigger)
Definition: StdOutSensorBoard.cpp:300
SensorBoard.h
SocCamera::tcStdOutSensorBoard::setTestPattern
virtual teNackCode setTestPattern(teTestPattern eeSelection)
Definition: StdOutSensorBoard.cpp:281
SocCamera::tcStdOutSensorBoard::setIOValue
virtual teNackCode setIOValue(int32 anMask)
Definition: StdOutSensorBoard.cpp:533
SocCamera::tcStdOutSensorBoard::validate
virtual int32 validate()
Definition: StdOutSensorBoard.cpp:345
SocCamera::tcStdOutSensorBoard::setShutterMode
virtual teNackCode setShutterMode(teShutterMode eeMode)
Definition: StdOutSensorBoard.cpp:232
SocCamera::tcStdOutSensorBoard::getShutterMode
virtual int32 getShutterMode()
Definition: StdOutSensorBoard.cpp:254
CameraTypes.h
SocCamera::tcStdOutSensorBoard::timerTicked
virtual void timerTicked(tcTimer *apTimer)
Definition: StdOutSensorBoard.cpp:656
SocCamera::tcStdOutSensorBoard::setHorizontalBin
virtual teNackCode setHorizontalBin(int32 anPixels)
Definition: StdOutSensorBoard.cpp:204
SocCamera::tcStdOutSensorBoard::recall
virtual teNackCode recall(int32 anConfiguration)
Definition: StdOutSensorBoard.cpp:453
SocCamera::tcStdOutSensorBoard::getFrameInterval
virtual int32 getFrameInterval()
Definition: StdOutSensorBoard.cpp:123
SocCamera::tcStdOutSensorBoard::poke
virtual teNackCode poke(int32 anRegister, int32 anValue)
Definition: StdOutSensorBoard.cpp:338
tcTimer
Definition: Timer.h:25
SocCamera::tcStdOutSensorBoard::initialize
virtual int32 initialize()
Definition: StdOutSensorBoard.cpp:64
SocCamera::tcStdOutSensorBoard::getIODirection
virtual int32 getIODirection()
Definition: StdOutSensorBoard.cpp:547
SocCamera::teNackCode
teNackCode
Definition: CameraTypes.h:62
SocCamera::teBPPMode
teBPPMode
Definition: CameraTypes.h:133
SocCamera::teShutterMode
teShutterMode
Definition: CameraTypes.h:141
SocCamera::tcStdOutSensorBoard::setIODirection
virtual teNackCode setIODirection(int32 anMask)
Definition: StdOutSensorBoard.cpp:517
SocCamera::tcStdOutSensorBoard::getIOValue
virtual int32 getIOValue()
Definition: StdOutSensorBoard.cpp:558
Timer.h
SocCamera::tcStdOutSensorBoard::tcStdOutSensorBoard
tcStdOutSensorBoard()
Definition: StdOutSensorBoard.cpp:10
SocCamera::tcStdOutSensorBoard::peek
virtual teNackCode peek(int32 anRegister, int *apValue)
Definition: StdOutSensorBoard.cpp:327
SocCamera::tcStdOutSensorBoard::getTemperature
virtual std::string getTemperature(int32 anSensor=eeThermistor)
Definition: StdOutSensorBoard.cpp:408
SocCamera::tcStdOutSensorBoard::getBPP
virtual int32 getBPP()
Definition: StdOutSensorBoard.cpp:276
SocCamera::tcStdOutSensorBoard::getExposure
virtual int32 getExposure(uint32_t anExpIndex=0) override
Definition: StdOutSensorBoard.cpp:95
tcTimedObject
Definition: Timer.h:17
SocCamera::tcStdOutSensorBoard::setExposure
virtual teNackCode setExposure(int32 anMicroseconds, uint32_t anExpIndex=0) override
Definition: StdOutSensorBoard.cpp:73
SocCamera::tcStdOutSensorBoard::getTestPattern
virtual int32 getTestPattern()
Definition: StdOutSensorBoard.cpp:295
SocCamera::tcStdOutSensorBoard::getROI
virtual ROI getROI()
Definition: StdOutSensorBoard.cpp:165
SocCamera::tcStdOutSensorBoard::start
virtual teNackCode start()
Definition: StdOutSensorBoard.cpp:359
SocCamera
Definition: CameraTypes.h:7
SocCamera::tcStdOutSensorBoard::eeThermistor
@ eeThermistor
Definition: StdOutSensorBoard.h:17
SocCamera::tcStdOutSensorBoard::getHorizontalBin
virtual int32 getHorizontalBin()
Definition: StdOutSensorBoard.cpp:227
SocCamera::tcStdOutSensorBoard::getTrigger
virtual int32 getTrigger()
Definition: StdOutSensorBoard.cpp:322
uint32
uint32_t uint32
Definition: Types.h:11
SocCamera::tcStdOutSensorBoard::setBPP
virtual teNackCode setBPP(teBPPMode eeMode)
Definition: StdOutSensorBoard.cpp:259
SocCamera::tcStdOutSensorBoard::getVersion
virtual std::string getVersion()
getVersion
Definition: StdOutSensorBoard.cpp:413
SocCamera::teTriggerMode
teTriggerMode
Definition: CameraTypes.h:113
SocCamera::ROI
Definition: ROI.h:10
SocCamera::tcStdOutSensorBoard
Definition: StdOutSensorBoard.h:11
SocCamera::tcStdOutSensorBoard::eeTopTemp
@ eeTopTemp
Definition: StdOutSensorBoard.h:17
SocCamera::tcStdOutSensorBoard::stop
virtual teNackCode stop()
Definition: StdOutSensorBoard.cpp:385
SocCamera::tcSensorBoard
Definition: SensorBoard.h:40
SocCamera::tcStdOutSensorBoard::~tcStdOutSensorBoard
virtual ~tcStdOutSensorBoard()
Definition: StdOutSensorBoard.cpp:40
SocCamera::tcStdOutSensorBoard::setFrameInterval
virtual teNackCode setFrameInterval(int32 anMicroseconds)
Definition: StdOutSensorBoard.cpp:100
SocCamera::tcStdOutSensorBoard::isCapturing
virtual bool isCapturing()
Definition: StdOutSensorBoard.cpp:354