Critical Link MityCam SoC Firmware  1.0
Critical Link MityCam SoC Firmware
SensorBoard.h
Go to the documentation of this file.
1 #ifndef SENSORBOARD_H
2 #define SENSORBOARD_H
3 
4 #include <cstdlib>
5 #include <string>
6 #include <map>
7 #include <list>
8 #include <vector>
9 #include <unordered_map>
10 #include <chrono>
11 // support for libsensors
12 #include <sensors/sensors.h>
13 
14 
15 #include "CameraTypes.h"
16 #include "Utility/Mutex.h"
17 #include "libdaq/gpio.h"
18 #include "libdaq/ad741x.h"
19 #include "Utility/PeekPokeTypes.h"
20 #include "Utility/Types.h"
21 #include "Utility/RAMStreamer.h"
22 #include "Utility/SIMRAMStreamer.h"
23 #include "libfpga/timestamp.h"
25 #include "Utility/Observer.h"
26 #include "Utility/Observable.h"
27 
29 #include "IOChannel/IOCallback.h"
30 #include "IOChannel/Image.h"
31 
32 namespace SocCamera
33 {
34 
35 class tcVoltageSensor;
36 class tcTemperatureSensor;
37 
38 class tcAbstractHandler;
39 
40 class tcSensorBoard: public tcObserver, public MityDSP::tcGpio::Observer
41 {
42 public:
43  tcSensorBoard(int aeType, uint32 anStreamAddr, int32 length, int32 *aaGpioNum);
44 
45  tcSensorBoard(int aeType, uint32_t anFpgaBaseAddr, uint32_t anRamStreamAddr, int32 length, int32 *aaGpioNum);
46 
47  virtual ~tcSensorBoard();
48 
49  int id();
50 
51  int32 init();
52 
53  virtual tcAbstractHandler* getCustomHandlers(tcAbstractHandler* apTailHandler, std::map<std::string, tcAbstractHandler*> *apStringMap);
54 
62  virtual void resetFpga();
63 
64  virtual uint64_t fpgaVersion();
65 
71  virtual int GetCameraInfo(tsCameraInfo* apInfo) = 0;
72 
77  virtual void update(tsUpdate asMessage);
78 
83  virtual teNackCode calibrate();
84 
91 
99  virtual teNackCode setClockSetting(int32 anSetting);
100 
106  virtual teNackCode getClockSetting(int32 &arSetting);
107 
112  virtual void snap(tsCaptureRequest asSnapRequest);
113 
119  virtual int32 initialize() = 0;
120 
131  virtual teNackCode setExposure(int32 anMicroseconds, uint32_t anExpIndex = 0) = 0;
132  teNackCode setExposure(std::chrono::microseconds anMicroseconds, uint32_t anExpIndex = 0) { return setExposure(static_cast<int32>(anMicroseconds.count()), anExpIndex); }
133 
138  virtual int32 getExposure(uint32_t anExpIndex = 0) = 0;
139 
151  virtual uint32 getMinFrameIntervalMicroS() { return 1000; }
152  std::chrono::microseconds getMinFrameInterval() { return std::chrono::microseconds{ getMinFrameIntervalMicroS() }; }
153 
162  virtual teNackCode setFrameInterval(int32 anMicroseconds) = 0;
163  teNackCode setFrameInterval(std::chrono::microseconds anMicroseconds) { return setFrameInterval(static_cast<int32>(anMicroseconds.count())); }
164 
169  virtual int32 getFrameInterval() = 0;
170 
179  virtual teNackCode setROI(ROI region) = 0;
180 
185  virtual ROI getROI() = 0;
186 
192  virtual ROI getImageROI() { return this->getROI(); }
193 
200  virtual teNackCode setVerticalBin(int32 anPixels) = 0;
201 
206  virtual int32 getVerticalBin() = 0;
207 
214  virtual teNackCode setHorizontalBin(int32 anPixels) = 0;
215 
220  virtual int32 getHorizontalBin() = 0;
221 
228  virtual teNackCode setShutterMode(teShutterMode eeMode) = 0;
229 
235  virtual int32 getShutterMode() = 0;
236 
243  virtual teNackCode setBPP(teBPPMode eeMode) = 0;
244 
250  virtual teNackCode setColor(bool /*abColor*/) { return eeNoError; }
251 
258  virtual teNackCode setTestPattern(teTestPattern eeSelection) = 0;
259 
264  virtual int32 getTestPattern() = 0;
265 
272  virtual teNackCode setTrigger(teTriggerMode eeTrigger) = 0;
273 
278  virtual int32 getTrigger() = 0;
279 
288  virtual teNackCode peek(int32 anRegister, int* apValue);
289 
298  virtual teNackCode poke(int32 anRegister, int32 anValue);
299 
306  virtual int32 validate() = 0;
307 
314  virtual bool isCapturing() = 0;
315 
322  virtual teNackCode start() = 0;
323 
329  virtual teNackCode stop() = 0;
330 
339  virtual std::string getTemperature(int32 anSensor = 0) = 0;
340 
345  virtual float getTempCelsius();
346 
353  virtual float getBoardTempCelsius();
354 
359  virtual std::string getVersion() = 0;
360 
366  virtual teNackCode save(int32 anConfiguration) = 0;
367 
373  virtual teNackCode recall(int32 anConfiguration) = 0;
374 
375  // GPIO functions can be handled abstractly from the rest of the sensor board...
376  // If they are done in sysfs.
377 
390  virtual teNackCode setIODirection(int32 anPin, int32 anDirection);
391 
405  virtual teNackCode setIOValue(int32 anPinNum, int32 anValue);
406 
422  virtual teNackCode setIOInverter(int32 anPinNum, int32 anInvertEnable);
423 
429  virtual teNackCode power(bool abOn);
430 
438  virtual int32 getIODirection();
439 
446  virtual int32 getIOValue();
447 
451  virtual int32 getNumPins();
452 
459  virtual teNackCode setMirroring(bool isX, bool Enabled) { return eeOperationNotSupported; }
460 
467  virtual teNackCode getMirroring(bool isX, bool* Enabled) { return eeOperationNotSupported; }
468 
477  virtual teNackCode setNoiseReduct(bool enHi, uint16_t threshhi,
478  bool enLo, uint16_t threshlo)
479  {
481  }
482 
491  virtual teNackCode getNoiseReduct(bool & enHi, uint16_t & threshhi,
492  bool & enLo, uint16_t & threshlo)
493  {
495  }
496 
502  virtual teNackCode setSqrtCompression(bool enable) { return eeOperationNotSupported; }
503 
509  virtual teNackCode getSqrtCompression(bool & enable) { return eeOperationNotSupported; }
510 
520 
527 
533  virtual teNackCode loadColumnBias(const char *asFilename) { return eeOperationNotSupported; }
534 
540  virtual teNackCode loadColumnGain(const char *asFilename) { return eeOperationNotSupported; }
541 
547  virtual teNackCode loadPixelCal(const char *asFilename) { return eeOperationNotSupported; }
548 
549  // Constant variables:
550  static const std::string NO_TEMPERATURE_SENSOR;
551  static const std::string TEMPERATURE_SENSOR_ERROR;
552 
557  virtual tcRAMStreamer *getStreamer();
558 
563  virtual tcTimestamp *getTimestamper();
564 
568  virtual void setTimestamper(tcTimestamp *apStamper);
569 
574  virtual tcSensorBoard* self();
575 
581 
588  int getSysIdNumber(unsigned short &major, unsigned short &minor);
589 
595 
600 
606  virtual void Handler(unsigned int gpionum, unsigned int val);
607 
613  virtual uint32 getPixelFormat(void);
614 
619  virtual tcVoltageSensor *getVoltageSensor() { return nullptr;}
624  virtual tcTemperatureSensor *getTempSensor() { return nullptr;}
625 
632  virtual void runPeriodic() {}
633 
641  virtual int32_t getSensorWidth() {return 0;}
642 
650  virtual int32_t getSensorHeight() {return 0;}
651 
652 protected:
653  void nextRequest();
654 
655  void initGpios(int32 length, int32 *aaGpioNum);
656 
664  virtual uint32 GetSkipFrames(bool &reload) { reload = false; return 0; }
665 
673  uint32 ConvertPixelFormat(uint32 anFormat, bool abFlipX, bool abFlipY);
674 
682  teNackCode GetA10BoardTemp(uint32 anIndex, float& anTemp);
683 
685 
686  // Mutex to use for thread safety when multiple command handlers may be present.
687  // Just put at the top of the function tcMutexLocker locker(&mhMutex);
689 
690  MityDSP::tcGpio *mpCamIO;
691  MityDSP::tcGpio::PinConfig *maPinConfigs;
693 
695 
696  std::map<int, std::pair<tcIntAccessor*, IntAccessorFunction> > mhPeekMap;
697  std::map<int, std::pair<tcIntSetter*, IntSetterFunction> > mhPokeMap;
698 
700 
701  MityDSP::tcAD741x *mpTempSensor;
702 
704 
705  const sensors_chip_name* mpChipnameAD7414;
706  const sensors_chip_name* mpChipnameLM95235;
710 
711 private:
712 
713  int meType;
714 
715  std::unordered_map<tcIOCallback *, tsCaptureRequest> mcRequests;
716 
717  uint64 mnAddressOffset;
718 
719  tcTimestamp *mpTimestamp;
720 
721  std::string mcSearchLoc;
722 
723  uint32 mnSkipFrames;
724  bool mbReloadSkipFrames;
725 };
726 
727 }
728 
729 #endif // SENSORBOARD_H
SocCamera::tcSensorBoard::setExposure
teNackCode setExposure(std::chrono::microseconds anMicroseconds, uint32_t anExpIndex=0)
Definition: SensorBoard.h:132
SocCamera::tcSensorBoard::poke
virtual teNackCode poke(int32 anRegister, int32 anValue)
Definition: SensorBoard.cpp:552
SocCamera::tcSensorBoard::calibrate
virtual teNackCode calibrate()
Definition: SensorBoard.cpp:272
SocCamera::tcSensorBoard::mhPeekMap
std::map< int, std::pair< tcIntAccessor *, IntAccessorFunction > > mhPeekMap
Definition: SensorBoard.h:696
SocCamera::tcSensorBoard::snap
virtual void snap(tsCaptureRequest asSnapRequest)
start a capture
Definition: SensorBoard.cpp:282
tsUpdate
Definition: Observer.h:6
SocCamera::tcSensorBoard::id
int id()
Definition: SensorBoard.cpp:179
SocCamera::tcSensorBoard::getVerticalBin
virtual int32 getVerticalBin()=0
int32
int32_t int32
Definition: Types.h:8
SocCamera::tsCameraInfo
Definition: CameraTypes.h:52
SocCamera::tcSensorBoard::getDemoMode
virtual teNackCode getDemoMode(int32 &arMode)
Definition: SensorBoard.h:526
SocCamera::tcVoltageSensor
Definition: VoltageSensor.h:18
uint64
uint64_t uint64
Definition: Types.h:13
SocCamera::tcSensorBoard::fpgaVersion
virtual uint64_t fpgaVersion()
Definition: SensorBoard.cpp:800
SocCamera::tcSensorBoard::setShutterMode
virtual teNackCode setShutterMode(teShutterMode eeMode)=0
SocCamera::tcTemperatureSensor
Definition: TemperatureSensor.h:18
PeekPokeTypes.h
Types.h
SocCamera::tcSensorBoard::getIOValue
virtual int32 getIOValue()
tcSensorBoard::getIOValue
Definition: SensorBoard.cpp:518
RAMStreamer.h
SocCamera::tcSensorBoard::ConvertPixelFormat
uint32 ConvertPixelFormat(uint32 anFormat, bool abFlipX, bool abFlipY)
Utility routine to convert PFNC pixel format given flip options.
Definition: SensorBoard.cpp:871
SocCamera::tcSensorBoard::loadColumnBias
virtual teNackCode loadColumnBias(const char *asFilename)
Definition: SensorBoard.h:533
SocCamera::tcSensorBoard::setMirroring
virtual teNackCode setMirroring(bool isX, bool Enabled)
Definition: SensorBoard.h:459
SocCamera::tcSensorBoard::getImageROI
virtual ROI getImageROI()
Definition: SensorBoard.h:192
SocCamera::teTestPattern
teTestPattern
Definition: CameraTypes.h:122
SocCamera::tcSensorBoard::getExposure
virtual int32 getExposure(uint32_t anExpIndex=0)=0
SocCamera::tcSensorBoard::mnLM95235_die_sf
int mnLM95235_die_sf
TEMP input subfeature for die temperature (CPU) sensor.
Definition: SensorBoard.h:708
SocCamera::tcSensorBoard::init
int32 init()
Definition: SensorBoard.cpp:603
SocCamera::tcSensorBoard::setExposure
virtual teNackCode setExposure(int32 anMicroseconds, uint32_t anExpIndex=0)=0
SocCamera::tcSensorBoard::setVerticalBin
virtual teNackCode setVerticalBin(int32 anPixels)=0
SocCamera::tcSensorBoard::setSqrtCompression
virtual teNackCode setSqrtCompression(bool enable)
Definition: SensorBoard.h:502
SocCamera::tcSensorBoard::setFrameInterval
teNackCode setFrameInterval(std::chrono::microseconds anMicroseconds)
Definition: SensorBoard.h:163
SocCamera::tcSensorBoard::loadColumnGain
virtual teNackCode loadColumnGain(const char *asFilename)
Definition: SensorBoard.h:540
SocCamera::tcSensorBoard::mnAD7414_sf
int mnAD7414_sf
TEMP input subfeature number needed to get the actual temperature.
Definition: SensorBoard.h:707
SocCamera::tcSensorBoard::getSensorWidth
virtual int32_t getSensorWidth()
Definition: SensorBoard.h:641
SocCamera::tcSensorBoard::Handler
virtual void Handler(unsigned int gpionum, unsigned int val)
Handler GPIO Handler notifies changes on any gpio with edges enabled.
Definition: SensorBoard.cpp:588
SocCamera::tcSensorBoard::loadPixelCal
virtual teNackCode loadPixelCal(const char *asFilename)
Definition: SensorBoard.h:547
SocCamera::tcSensorBoard::setClockSetting
virtual teNackCode setClockSetting(int32 anSetting)
Definition: SensorBoard.cpp:769
SocCamera::tcSensorBoard::getFrameSizeBytes
uint32 getFrameSizeBytes()
Definition: SensorBoard.cpp:810
SocCamera::tcSensorBoard::mhMutex
tcMutex mhMutex
Definition: SensorBoard.h:688
Observer.h
SocCamera::tcSensorBoard::getTempSensor
virtual tcTemperatureSensor * getTempSensor()
get the tcTemperature monitor object for this sensor
Definition: SensorBoard.h:624
tcRAMStreamer
Definition: RAMStreamer.h:8
SocCamera::tcSensorBoard::getTempCelsius
virtual float getTempCelsius()
Definition: SensorBoard.cpp:573
SocCamera::tcSensorBoard::stop
virtual teNackCode stop()=0
CameraTypes.h
SocCamera::tcSensorBoard::getMaxImgCount
uint32 getMaxImgCount()
Definition: SensorBoard.cpp:861
tcObserver
Definition: Observer.h:12
SocCamera::tcSensorBoard::getNumSnapFramesLeft
uint32 getNumSnapFramesLeft()
Definition: SensorBoard.cpp:578
SocCamera::tcSensorBoard::whiteLevelCalibrate
virtual teNackCode whiteLevelCalibrate()
Definition: SensorBoard.cpp:764
SocCamera::tcSensorBoard::getShutterMode
virtual int32 getShutterMode()=0
SocCamera::tcSensorBoard::~tcSensorBoard
virtual ~tcSensorBoard()
Definition: SensorBoard.cpp:158
SocCamera::tcSensorBoard::setROI
virtual teNackCode setROI(ROI region)=0
SocCamera::tcSensorBoard::getROI
virtual ROI getROI()=0
SocCamera::tcSensorBoard::getCustomHandlers
virtual tcAbstractHandler * getCustomHandlers(tcAbstractHandler *apTailHandler, std::map< std::string, tcAbstractHandler * > *apStringMap)
Definition: SensorBoard.cpp:617
SocCamera::tcSensorBoard::getIODirection
virtual int32 getIODirection()
Definition: SensorBoard.cpp:501
SocCamera::tcSensorBoard::getNoiseReduct
virtual teNackCode getNoiseReduct(bool &enHi, uint16_t &threshhi, bool &enLo, uint16_t &threshlo)
Definition: SensorBoard.h:491
SocCamera::tcSensorBoard::getTimestamper
virtual tcTimestamp * getTimestamper()
Definition: SensorBoard.cpp:759
SocCamera::tcSensorBoard::initialize
virtual int32 initialize()=0
SocCamera::tcSensorBoard::getVoltageSensor
virtual tcVoltageSensor * getVoltageSensor()
get the temperature monitor object for this sensor
Definition: SensorBoard.h:619
SocCamera::tcSensorBoard::resetFpga
virtual void resetFpga()
Definition: SensorBoard.cpp:796
SocCamera::tcAbstractHandler
Definition: AbstractHandler.h:24
SocCamera::tcSensorBoard::getSysIdNumber
int getSysIdNumber(unsigned short &major, unsigned short &minor)
Definition: SensorBoard.cpp:840
SocCamera::teNackCode
teNackCode
Definition: CameraTypes.h:62
SocCamera::teBPPMode
teBPPMode
Definition: CameraTypes.h:133
SocCamera::tcSensorBoard::mcInterruptThread
tcPollingInterruptThread mcInterruptThread
Definition: SensorBoard.h:699
SocCamera::tcSensorBoard::getMinFrameIntervalMicroS
virtual uint32 getMinFrameIntervalMicroS()
Definition: SensorBoard.h:151
PollingInterruptThread.h
SocCamera::teShutterMode
teShutterMode
Definition: CameraTypes.h:141
SocCamera::tcSensorBoard::setIODirection
virtual teNackCode setIODirection(int32 anPin, int32 anDirection)
tcSensorBoard::setIODirection Sets the camera GPIO direction.
Definition: SensorBoard.cpp:316
SocCamera::eeOperationNotSupported
@ eeOperationNotSupported
!< Indicates a communication error (typically with the sensor)
Definition: CameraTypes.h:71
SocCamera::tcSensorBoard::mbIsPowered
bool mbIsPowered
Definition: SensorBoard.h:684
SocCamera::tcSensorBoard::mhPokeMap
std::map< int, std::pair< tcIntSetter *, IntSetterFunction > > mhPokeMap
Definition: SensorBoard.h:697
SocCamera::tcSensorBoard::getBoardTempCelsius
virtual float getBoardTempCelsius()
Definition: SensorBoard.cpp:779
SocCamera::tcSensorBoard::getHorizontalBin
virtual int32 getHorizontalBin()=0
SocCamera::tcSensorBoard::GetA10BoardTemp
teNackCode GetA10BoardTemp(uint32 anIndex, float &anTemp)
Utility routine to get the temp sensor readings off an A10 processor card.
Definition: SensorBoard.cpp:989
SocCamera::tcSensorBoard::getTrigger
virtual int32 getTrigger()=0
SocCamera::tcSensorBoard::getNumPins
virtual int32 getNumPins()
Definition: SensorBoard.cpp:599
SocCamera::tcSensorBoard::save
virtual teNackCode save(int32 anConfiguration)=0
SocCamera::tcSensorBoard::mpCamIO
MityDSP::tcGpio * mpCamIO
Definition: SensorBoard.h:690
SocCamera::tcSensorBoard::setIOInverter
virtual teNackCode setIOInverter(int32 anPinNum, int32 anInvertEnable)
tcSensorBoard::setIOInverter Sets the camera GPIO invert state.
Definition: SensorBoard.cpp:384
SocCamera::tcSensorBoard::mnMaxImgCount
uint32 mnMaxImgCount
Definition: SensorBoard.h:703
Image.h
SocCamera::tcSensorBoard::mpChipnameLM95235
const sensors_chip_name * mpChipnameLM95235
lmsensors chipname for LM95235 on A10
Definition: SensorBoard.h:706
SocCamera::tcSensorBoard::mnPinCount
int32 mnPinCount
Definition: SensorBoard.h:692
SIMRAMStreamer.h
SocCamera::tcSensorBoard::runPeriodic
virtual void runPeriodic()
can be called by framework to do any periodic work.
Definition: SensorBoard.h:632
SocCamera::tcSensorBoard::isCapturing
virtual bool isCapturing()=0
SocCamera::tcSensorBoard::GetCameraInfo
virtual int GetCameraInfo(tsCameraInfo *apInfo)=0
Observable.h
SocCamera::tcSensorBoard::getClockSetting
virtual teNackCode getClockSetting(int32 &arSetting)
Definition: SensorBoard.cpp:774
SocCamera::tcSensorBoard::nextRequest
void nextRequest()
Definition: SensorBoard.cpp:622
SocCamera::tcSensorBoard::tcSensorBoard
tcSensorBoard(int aeType, uint32 anStreamAddr, int32 length, int32 *aaGpioNum)
Definition: SensorBoard.cpp:32
StatusReporter.h
SocCamera::tcSensorBoard::mpTempSensor
MityDSP::tcAD741x * mpTempSensor
Definition: SensorBoard.h:701
SocCamera::tcSensorBoard::setBPP
virtual teNackCode setBPP(teBPPMode eeMode)=0
SocCamera::tcSensorBoard::getMirroring
virtual teNackCode getMirroring(bool isX, bool *Enabled)
Definition: SensorBoard.h:467
SocCamera
Definition: CameraTypes.h:7
SocCamera::tcSensorBoard::setIOValue
virtual teNackCode setIOValue(int32 anPinNum, int32 anValue)
tcSensorBoard::setIOValue Sets the output value of the gpio-camio linux module controlling the cam-gp...
Definition: SensorBoard.cpp:438
SocCamera::tcSensorBoard::getTestPattern
virtual int32 getTestPattern()=0
SocCamera::tcSensorBoard::recall
virtual teNackCode recall(int32 anConfiguration)=0
SocCamera::tcSensorBoard::getTemperature
virtual std::string getTemperature(int32 anSensor=0)=0
Mutex.h
SocCamera::tcSensorBoard::mpChipnameAD7414
const sensors_chip_name * mpChipnameAD7414
lmsensors chipname for AD7414 on A10/CV
Definition: SensorBoard.h:705
SocCamera::tcSensorBoard::GetSkipFrames
virtual uint32 GetSkipFrames(bool &reload)
GetSkipFrames If the current sensor needs to skip initially received frames, they can overload this f...
Definition: SensorBoard.h:664
SocCamera::tcSensorBoard::setColor
virtual teNackCode setColor(bool)
Definition: SensorBoard.h:250
IOCallback.h
SocCamera::tcSensorBoard::NO_TEMPERATURE_SENSOR
static const std::string NO_TEMPERATURE_SENSOR
Definition: SensorBoard.h:550
SocCamera::tcSensorBoard::validate
virtual int32 validate()=0
SocCamera::tcSensorBoard::power
virtual teNackCode power(bool abOn)
Definition: SensorBoard.cpp:418
SocCamera::tcSensorBoard::TEMPERATURE_SENSOR_ERROR
static const std::string TEMPERATURE_SENSOR_ERROR
Definition: SensorBoard.h:551
uint32
uint32_t uint32
Definition: Types.h:11
SocCamera::tcSensorBoard::maPinConfigs
MityDSP::tcGpio::PinConfig * maPinConfigs
Definition: SensorBoard.h:691
SocCamera::tcSensorBoard::getStreamer
virtual tcRAMStreamer * getStreamer()
Definition: SensorBoard.cpp:531
SocCamera::tcSensorBoard::mnLM95235_board_sf
int mnLM95235_board_sf
TEMP input subfeature for on-chip sensor.
Definition: SensorBoard.h:709
SocCamera::tcSensorBoard::peek
virtual teNackCode peek(int32 anRegister, int *apValue)
Definition: SensorBoard.cpp:536
tcPollingInterruptThread
Definition: PollingInterruptThread.h:22
SocCamera::teTriggerMode
teTriggerMode
Definition: CameraTypes.h:113
SocCamera::ROI
Definition: ROI.h:10
SocCamera::tcSensorBoard::getVersion
virtual std::string getVersion()=0
SocCamera::tcSensorBoard::setFrameInterval
virtual teNackCode setFrameInterval(int32 anMicroseconds)=0
SocCamera::tcSensorBoard::start
virtual teNackCode start()=0
SocCamera::tcSensorBoard::update
virtual void update(tsUpdate asMessage)
Definition: SensorBoard.cpp:184
SocCamera::eeNoError
@ eeNoError
Definition: CameraTypes.h:64
SocCamera::tcSensorBoard::getSensorHeight
virtual int32_t getSensorHeight()
Definition: SensorBoard.h:650
SocCamera::tcSensorBoard
Definition: SensorBoard.h:40
SocCamera::tcSensorBoard::setDemoMode
virtual teNackCode setDemoMode(int32 anMode)
Definition: SensorBoard.h:519
SocCamera::tcSensorBoard::mpStreamer
tcRAMStreamer * mpStreamer
Definition: SensorBoard.h:694
SocCamera::tcSensorBoard::getSqrtCompression
virtual teNackCode getSqrtCompression(bool &enable)
Definition: SensorBoard.h:509
SocCamera::tcSensorBoard::getFrameInterval
virtual int32 getFrameInterval()=0
tcMutex
Definition: Mutex.h:11
SocCamera::tcSensorBoard::setTestPattern
virtual teNackCode setTestPattern(teTestPattern eeSelection)=0
SocCamera::tcSensorBoard::getMinFrameInterval
std::chrono::microseconds getMinFrameInterval()
Definition: SensorBoard.h:152
tsCaptureRequest
Definition: IOCallback.h:56
SocCamera::tcSensorBoard::getPixelFormat
virtual uint32 getPixelFormat(void)
Get the pixel format generated by the pixel pipeline.
Definition: SensorBoard.cpp:866
SocCamera::tcSensorBoard::setTimestamper
virtual void setTimestamper(tcTimestamp *apStamper)
Definition: SensorBoard.cpp:594
SocCamera::tcSensorBoard::setHorizontalBin
virtual teNackCode setHorizontalBin(int32 anPixels)=0
SocCamera::tcSensorBoard::setTrigger
virtual teNackCode setTrigger(teTriggerMode eeTrigger)=0
SocCamera::tcSensorBoard::initGpios
void initGpios(int32 length, int32 *aaGpioNum)
Definition: SensorBoard.cpp:671
SocCamera::tcSensorBoard::setNoiseReduct
virtual teNackCode setNoiseReduct(bool enHi, uint16_t threshhi, bool enLo, uint16_t threshlo)
Definition: SensorBoard.h:477