94 lines
2.8 KiB
C++
94 lines
2.8 KiB
C++
#include <iostream>
|
|
#include <memory>
|
|
#include "scanner.h"
|
|
#include "scannerregs.h"
|
|
#include "usbservice.h"
|
|
#include "motorboard.h"
|
|
#include "ICapturer.h"
|
|
#include "Capturer.h"
|
|
#include "MonoCapturer.h"
|
|
#include "imageusbhandler.h"
|
|
#include "CImageMerge.h"
|
|
using namespace std;
|
|
|
|
int menu() {
|
|
int choice;
|
|
|
|
cout << " **** Menu **** " << endl << endl;
|
|
cout << "(1) start." << endl;
|
|
cout << "(2) stop. " << endl;
|
|
cout << "(3) count. " << endl;
|
|
cout << "(4) mode. " << endl;
|
|
cout << "(5) testcorrect"<<endl;
|
|
cout << "(0) Quit. " << endl << endl;
|
|
cout << ": ";
|
|
cin >> choice;
|
|
return choice;
|
|
}
|
|
|
|
|
|
int main()
|
|
{
|
|
// auto img = cv::imread("/home/linaro/anlogic_gxx_linux/0_org.jpg",cv::IMREAD_GRAYSCALE);
|
|
// auto retmat = CImageMerge().MergeImage(true,img,7776,150,0x90001);
|
|
// img.release();
|
|
// cv::imwrite("/home/linaro/anlogic_gxx_linux/0_org_t.jpg",retmat);
|
|
// return 1;
|
|
bool exit = false;
|
|
std::shared_ptr<MotorBoard> motorboard(new MotorBoard(nullptr));
|
|
std::shared_ptr<ICapturer> capturer(new MonoCapturer());
|
|
std::shared_ptr<IScanner> scanner(new Scanner(capturer, motorboard,nullptr));
|
|
std::shared_ptr<IRegsAccess> scannerRegs(new ScannerRegAccess(scanner));
|
|
scanner->set_imagehandler(std::shared_ptr<IImageHandler>(new ImageUsbHandler()));
|
|
int option;
|
|
for (;;)
|
|
{
|
|
option = menu();
|
|
switch (option)
|
|
{
|
|
case 0:
|
|
exit = true;
|
|
break;
|
|
case 1:
|
|
HGScanConfig cfg;//={
|
|
cfg.g200params.paper = 16;
|
|
cfg.g200params.color=0;
|
|
cfg.g200params.dpi = 0x02;
|
|
cfg.g200params.double_feed_enbale=0;
|
|
cfg.g200params.stable_enbale = 0;
|
|
cfg.g200params.screw_detect_enable = 0;
|
|
cfg.g200params.screw_detect_level = 0;
|
|
cfg.g200params.iscorrect_mode = 0;
|
|
cfg.g200params.en_autosize = 0;
|
|
cfg.g200params.pc_correct=0;
|
|
cfg.g200params.enable_sizecheck = 0;
|
|
cfg.g200params.enabledsp_cache = 0;
|
|
cfg.g200params.sizeerror_errorratio = 0;
|
|
//};
|
|
scanner->configparam(cfg);
|
|
scanner->start_scan();
|
|
while(1)
|
|
std::this_thread::sleep_for(chrono::milliseconds(1));
|
|
break;
|
|
case 2:
|
|
scanner->stop_scan();
|
|
break;
|
|
case 3:
|
|
std::cout << "scan count " << scanner->count() << std::endl;
|
|
break;
|
|
case 4:
|
|
std::cout << "os mode" << scanner->mode() << std::endl;
|
|
case 5 :
|
|
scanner->test_autocorrect(0);
|
|
default:
|
|
cout << "nop, Please select again! " << endl;
|
|
break;
|
|
}
|
|
/* code */
|
|
if (exit)
|
|
break;
|
|
}
|
|
|
|
cout << "exit menu" << endl;
|
|
return 0;
|
|
} |