65 lines
1.6 KiB
C++
65 lines
1.6 KiB
C++
|
#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;
|
||
|
}
|