71 lines
1.9 KiB
C++
71 lines
1.9 KiB
C++
#pragma once
|
|
#include <ICapturer.h>
|
|
#include "hgutils.h"
|
|
|
|
class FpgaComm;
|
|
class gVideo;
|
|
class Gpio;
|
|
|
|
class Capturer : public ICapturer
|
|
{
|
|
public:
|
|
Capturer();
|
|
virtual ~Capturer();
|
|
virtual void Fpga_regsAccess_reset(bool enable);
|
|
virtual void open();
|
|
virtual void open(HGScanConfig config, FPGAConfigParam fpgaparam);
|
|
virtual void close();
|
|
virtual void start();
|
|
virtual void stop();
|
|
virtual bool is_runing();
|
|
virtual void snap();
|
|
virtual void stopsnap() {}
|
|
virtual int getautosizeheight() { return 0; }
|
|
virtual void set_size(int width, int height);
|
|
virtual void set_sp(int sp);
|
|
|
|
virtual void *readFrame(int timeout);
|
|
|
|
virtual void set_gain(int ix, int val);
|
|
virtual void set_offset(int ix, int val);
|
|
virtual void set_expo(int ix, int val);
|
|
|
|
virtual std::shared_ptr<IRegsAccess> regs();
|
|
virtual void reset();
|
|
virtual int width();
|
|
virtual int height();
|
|
virtual int color();
|
|
virtual void init_autocorrect(int colormode);
|
|
virtual void setcapturecall(std::function<void(int, std::string)> callback)
|
|
{
|
|
m_captureCallback = callback;
|
|
};
|
|
virtual void single_correct(std::uint32_t mode) override {}
|
|
|
|
private:
|
|
void setFGPAParmas(int exposures[2][3], int gains[2][6], int offsets[2][6]);
|
|
void configFPGAParam(bool iscorrect, int mode);
|
|
void fpga_reset();
|
|
void fpga_reload();
|
|
void autocorrect(int colormode);
|
|
void creatcorrect(int mode);
|
|
void openDevice(int mode);
|
|
void creatcorrectconfig(int mode);
|
|
bool saveLutImg(int mode, int index);
|
|
std::shared_ptr<Gpio> vdd_cis_3voff_pin;
|
|
std::shared_ptr<Gpio> vdd_vis_5ven_pin;
|
|
std::shared_ptr<Gpio> reset_pin;
|
|
std::shared_ptr<Gpio> image_in_transfer_pin;
|
|
std::shared_ptr<Gpio> initDone_pin;
|
|
std::shared_ptr<Gpio> fpgaLoad;
|
|
std::shared_ptr<FpgaComm> fpgaComm;
|
|
|
|
std::shared_ptr<gVideo> video;
|
|
std::function<void(int, std::string)> m_captureCallback;
|
|
HGScanConfig m_configParam;
|
|
bool bcorrecting;
|
|
std::thread m_correctthread;
|
|
HGCorrectConfigs cisconfigs;
|
|
ScannerNativeParam scannerinfo;
|
|
};
|