tx-gxx-linux/device/gxx-linux/testscanner/main.cpp

65 lines
1.6 KiB
C++
Raw Normal View History

2023-04-08 00:56:20 +00:00
#include <iostream>
#include <memory>
#include "scanner.h"
#include "scannerregs.h"
#include "usbservice.h"
#include "motorboard.h"
#include "Capturer.h"
#include "imageusbhandler.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 << "(0) Quit. " << endl << endl;
cout << ": ";
cin >> choice;
return choice;
}
int main()
{
bool exit = false;
std::shared_ptr<MotorBoard> motorboard(new MotorBoard());
std::shared_ptr<Capturer> capturer(new Capturer());
std::shared_ptr<Scanner> 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:
scanner->start_scan();
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;
default:
cout << "nop, Please select again! " << endl;
break;
}
/* code */
if (exit)
break;
}
cout << "exit menu" << endl;
return 0;
}