|
Critical Link MityCam SoC Firmware
1.0
Critical Link MityCam SoC Firmware
|
Go to the documentation of this file.
9 #include <unordered_map>
12 #include <sensors/sensors.h>
17 #include "libdaq/gpio.h"
18 #include "libdaq/ad741x.h"
23 #include "libfpga/timestamp.h"
35 class tcVoltageSensor;
36 class tcTemperatureSensor;
38 class tcAbstractHandler;
478 bool enLo, uint16_t threshlo)
492 bool & enLo, uint16_t & threshlo)
606 virtual void Handler(
unsigned int gpionum,
unsigned int val);
696 std::map<int, std::pair<tcIntAccessor*, IntAccessorFunction> >
mhPeekMap;
697 std::map<int, std::pair<tcIntSetter*, IntSetterFunction> >
mhPokeMap;
715 std::unordered_map<tcIOCallback *, tsCaptureRequest> mcRequests;
719 tcTimestamp *mpTimestamp;
721 std::string mcSearchLoc;
724 bool mbReloadSkipFrames;
729 #endif // SENSORBOARD_H
teNackCode setExposure(std::chrono::microseconds anMicroseconds, uint32_t anExpIndex=0)
Definition: SensorBoard.h:132
virtual teNackCode poke(int32 anRegister, int32 anValue)
Definition: SensorBoard.cpp:552
virtual teNackCode calibrate()
Definition: SensorBoard.cpp:272
std::map< int, std::pair< tcIntAccessor *, IntAccessorFunction > > mhPeekMap
Definition: SensorBoard.h:696
virtual void snap(tsCaptureRequest asSnapRequest)
start a capture
Definition: SensorBoard.cpp:282
int id()
Definition: SensorBoard.cpp:179
virtual int32 getVerticalBin()=0
int32_t int32
Definition: Types.h:8
Definition: CameraTypes.h:52
virtual teNackCode getDemoMode(int32 &arMode)
Definition: SensorBoard.h:526
Definition: VoltageSensor.h:18
uint64_t uint64
Definition: Types.h:13
virtual uint64_t fpgaVersion()
Definition: SensorBoard.cpp:800
virtual teNackCode setShutterMode(teShutterMode eeMode)=0
Definition: TemperatureSensor.h:18
virtual int32 getIOValue()
tcSensorBoard::getIOValue
Definition: SensorBoard.cpp:518
uint32 ConvertPixelFormat(uint32 anFormat, bool abFlipX, bool abFlipY)
Utility routine to convert PFNC pixel format given flip options.
Definition: SensorBoard.cpp:871
virtual teNackCode loadColumnBias(const char *asFilename)
Definition: SensorBoard.h:533
virtual teNackCode setMirroring(bool isX, bool Enabled)
Definition: SensorBoard.h:459
virtual ROI getImageROI()
Definition: SensorBoard.h:192
teTestPattern
Definition: CameraTypes.h:122
virtual int32 getExposure(uint32_t anExpIndex=0)=0
int mnLM95235_die_sf
TEMP input subfeature for die temperature (CPU) sensor.
Definition: SensorBoard.h:708
int32 init()
Definition: SensorBoard.cpp:603
virtual teNackCode setExposure(int32 anMicroseconds, uint32_t anExpIndex=0)=0
virtual teNackCode setVerticalBin(int32 anPixels)=0
virtual teNackCode setSqrtCompression(bool enable)
Definition: SensorBoard.h:502
teNackCode setFrameInterval(std::chrono::microseconds anMicroseconds)
Definition: SensorBoard.h:163
virtual teNackCode loadColumnGain(const char *asFilename)
Definition: SensorBoard.h:540
int mnAD7414_sf
TEMP input subfeature number needed to get the actual temperature.
Definition: SensorBoard.h:707
virtual int32_t getSensorWidth()
Definition: SensorBoard.h:641
virtual void Handler(unsigned int gpionum, unsigned int val)
Handler GPIO Handler notifies changes on any gpio with edges enabled.
Definition: SensorBoard.cpp:588
virtual teNackCode loadPixelCal(const char *asFilename)
Definition: SensorBoard.h:547
virtual teNackCode setClockSetting(int32 anSetting)
Definition: SensorBoard.cpp:769
uint32 getFrameSizeBytes()
Definition: SensorBoard.cpp:810
tcMutex mhMutex
Definition: SensorBoard.h:688
virtual tcTemperatureSensor * getTempSensor()
get the tcTemperature monitor object for this sensor
Definition: SensorBoard.h:624
Definition: RAMStreamer.h:8
virtual float getTempCelsius()
Definition: SensorBoard.cpp:573
virtual teNackCode stop()=0
uint32 getMaxImgCount()
Definition: SensorBoard.cpp:861
Definition: Observer.h:12
uint32 getNumSnapFramesLeft()
Definition: SensorBoard.cpp:578
virtual teNackCode whiteLevelCalibrate()
Definition: SensorBoard.cpp:764
virtual int32 getShutterMode()=0
virtual ~tcSensorBoard()
Definition: SensorBoard.cpp:158
virtual teNackCode setROI(ROI region)=0
virtual tcAbstractHandler * getCustomHandlers(tcAbstractHandler *apTailHandler, std::map< std::string, tcAbstractHandler * > *apStringMap)
Definition: SensorBoard.cpp:617
virtual int32 getIODirection()
Definition: SensorBoard.cpp:501
virtual teNackCode getNoiseReduct(bool &enHi, uint16_t &threshhi, bool &enLo, uint16_t &threshlo)
Definition: SensorBoard.h:491
virtual tcTimestamp * getTimestamper()
Definition: SensorBoard.cpp:759
virtual int32 initialize()=0
virtual tcVoltageSensor * getVoltageSensor()
get the temperature monitor object for this sensor
Definition: SensorBoard.h:619
virtual void resetFpga()
Definition: SensorBoard.cpp:796
Definition: AbstractHandler.h:24
int getSysIdNumber(unsigned short &major, unsigned short &minor)
Definition: SensorBoard.cpp:840
teNackCode
Definition: CameraTypes.h:62
teBPPMode
Definition: CameraTypes.h:133
tcPollingInterruptThread mcInterruptThread
Definition: SensorBoard.h:699
virtual uint32 getMinFrameIntervalMicroS()
Definition: SensorBoard.h:151
teShutterMode
Definition: CameraTypes.h:141
virtual teNackCode setIODirection(int32 anPin, int32 anDirection)
tcSensorBoard::setIODirection Sets the camera GPIO direction.
Definition: SensorBoard.cpp:316
@ eeOperationNotSupported
!< Indicates a communication error (typically with the sensor)
Definition: CameraTypes.h:71
bool mbIsPowered
Definition: SensorBoard.h:684
std::map< int, std::pair< tcIntSetter *, IntSetterFunction > > mhPokeMap
Definition: SensorBoard.h:697
virtual float getBoardTempCelsius()
Definition: SensorBoard.cpp:779
virtual int32 getHorizontalBin()=0
teNackCode GetA10BoardTemp(uint32 anIndex, float &anTemp)
Utility routine to get the temp sensor readings off an A10 processor card.
Definition: SensorBoard.cpp:989
virtual int32 getTrigger()=0
virtual int32 getNumPins()
Definition: SensorBoard.cpp:599
virtual teNackCode save(int32 anConfiguration)=0
MityDSP::tcGpio * mpCamIO
Definition: SensorBoard.h:690
virtual teNackCode setIOInverter(int32 anPinNum, int32 anInvertEnable)
tcSensorBoard::setIOInverter Sets the camera GPIO invert state.
Definition: SensorBoard.cpp:384
uint32 mnMaxImgCount
Definition: SensorBoard.h:703
const sensors_chip_name * mpChipnameLM95235
lmsensors chipname for LM95235 on A10
Definition: SensorBoard.h:706
int32 mnPinCount
Definition: SensorBoard.h:692
virtual void runPeriodic()
can be called by framework to do any periodic work.
Definition: SensorBoard.h:632
virtual bool isCapturing()=0
virtual int GetCameraInfo(tsCameraInfo *apInfo)=0
virtual teNackCode getClockSetting(int32 &arSetting)
Definition: SensorBoard.cpp:774
void nextRequest()
Definition: SensorBoard.cpp:622
tcSensorBoard(int aeType, uint32 anStreamAddr, int32 length, int32 *aaGpioNum)
Definition: SensorBoard.cpp:32
MityDSP::tcAD741x * mpTempSensor
Definition: SensorBoard.h:701
virtual teNackCode setBPP(teBPPMode eeMode)=0
virtual teNackCode getMirroring(bool isX, bool *Enabled)
Definition: SensorBoard.h:467
Definition: CameraTypes.h:7
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
virtual int32 getTestPattern()=0
virtual teNackCode recall(int32 anConfiguration)=0
virtual std::string getTemperature(int32 anSensor=0)=0
const sensors_chip_name * mpChipnameAD7414
lmsensors chipname for AD7414 on A10/CV
Definition: SensorBoard.h:705
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
virtual teNackCode setColor(bool)
Definition: SensorBoard.h:250
static const std::string NO_TEMPERATURE_SENSOR
Definition: SensorBoard.h:550
virtual int32 validate()=0
virtual teNackCode power(bool abOn)
Definition: SensorBoard.cpp:418
static const std::string TEMPERATURE_SENSOR_ERROR
Definition: SensorBoard.h:551
uint32_t uint32
Definition: Types.h:11
MityDSP::tcGpio::PinConfig * maPinConfigs
Definition: SensorBoard.h:691
virtual tcRAMStreamer * getStreamer()
Definition: SensorBoard.cpp:531
int mnLM95235_board_sf
TEMP input subfeature for on-chip sensor.
Definition: SensorBoard.h:709
virtual teNackCode peek(int32 anRegister, int *apValue)
Definition: SensorBoard.cpp:536
Definition: PollingInterruptThread.h:22
teTriggerMode
Definition: CameraTypes.h:113
virtual std::string getVersion()=0
virtual teNackCode setFrameInterval(int32 anMicroseconds)=0
virtual teNackCode start()=0
virtual void update(tsUpdate asMessage)
Definition: SensorBoard.cpp:184
@ eeNoError
Definition: CameraTypes.h:64
virtual int32_t getSensorHeight()
Definition: SensorBoard.h:650
Definition: SensorBoard.h:40
virtual teNackCode setDemoMode(int32 anMode)
Definition: SensorBoard.h:519
tcRAMStreamer * mpStreamer
Definition: SensorBoard.h:694
virtual teNackCode getSqrtCompression(bool &enable)
Definition: SensorBoard.h:509
virtual int32 getFrameInterval()=0
virtual teNackCode setTestPattern(teTestPattern eeSelection)=0
std::chrono::microseconds getMinFrameInterval()
Definition: SensorBoard.h:152
Definition: IOCallback.h:56
virtual uint32 getPixelFormat(void)
Get the pixel format generated by the pixel pipeline.
Definition: SensorBoard.cpp:866
virtual void setTimestamper(tcTimestamp *apStamper)
Definition: SensorBoard.cpp:594
virtual teNackCode setHorizontalBin(int32 anPixels)=0
virtual teNackCode setTrigger(teTriggerMode eeTrigger)=0
void initGpios(int32 length, int32 *aaGpioNum)
Definition: SensorBoard.cpp:671
virtual teNackCode setNoiseReduct(bool enHi, uint16_t threshhi, bool enLo, uint16_t threshlo)
Definition: SensorBoard.h:477