38#include "ErrorStatus.h"
39#include "CommonTypes.h"
41#include "ProfilerInfo.h"
48 std::cout <<
"........................................." << std::endl;
49 std::cout <<
"Profiler Model Name: " << profilerInfo.
model << std::endl;
50 std::cout <<
"Controller Serial Number: " << profilerInfo.
controllerSN << std::endl;
51 std::cout <<
"Sensor Serial Number: " << profilerInfo.
sensorSN << std::endl;
52 std::cout <<
"Profiler IP Address: " << profilerInfo.
ipAddress << std::endl;
53 std::cout <<
"Profiler IP Subnet Mask: " << profilerInfo.
subnetMask << std::endl;
54 std::cout <<
"Profiler IP Assignment Method: "
57 std::cout <<
"Hardware Version: "
59 std::cout <<
"Firmware Version: "
61 std::cout <<
"........................................." << std::endl;
62 std::cout << std::endl;
71 std::cout <<
"Find Mech-Eye 3D Laser Profilers..." << std::endl;
72 std::vector<mmind::eye::ProfilerInfo> profilerInfoList =
75 if (profilerInfoList.empty()) {
76 std::cout <<
"No Mech-Eye 3D Laser Profiler found." << std::endl;
80 for (
int i = 0; i < profilerInfoList.size(); i++) {
81 std::cout <<
"Mech-Eye 3D Laser profiler index : " << i << std::endl;
82 printProfilerInfo(profilerInfoList[i]);
85 std::cout <<
"Please enter the profiler index you want to connect: ";
86 unsigned inputIndex = 0;
91 if (std::regex_match(str.begin(), str.end(), std::regex{
"[0-9]+"}) &&
92 atoi(str.c_str()) < profilerInfoList.size()) {
93 inputIndex = atoi(str.c_str());
96 std::cout <<
"Input invalid! Please enter the profiler index you want to connect: ";
100 status = profiler.
connect(profilerInfoList[inputIndex]);
102 if (!status.
isOK()) {
107 std::cout <<
"Connect Mech-Eye 3D Laser Profiler Successfully." << std::endl;
111inline bool confirmCapture()
113 std::cout <<
"Do you want the profiler to capture image ? Please input y/n to confirm: "
116 std::string confirmStr;
117 std::cin >> confirmStr;
118 if (confirmStr ==
"y") {
120 }
else if (confirmStr ==
"n") {
121 std::cout <<
"program ends!" << std::endl;
124 std::cout <<
"Please input y/n again!" << std::endl;
Operates the laser profiler. Use Profiler::connect to connect an available laser profiler,...
static std::vector< ProfilerInfo > discoverProfilers()
Discovers all available laser profilers, and returns the laser profiler information list....
ErrorStatus connect(const ProfilerInfo &info, unsigned int timeoutMs=5000)
Connects to a laser profiler via ProfilerInfo.
std::string toString() const
Converts a Version object to a string of Version.
Describes the types of errors.
bool isOK() const
Returns true if the operation succeeds.
Describes the laser profiler information.
Version hardwareVersion
The version of the hardware. The hardware cannot be upgraded.
Version firmwareVersion
The version of the firmware. The firmware can be upgraded.
std::string subnetMask
The IP subnet mask of the laser profiler.
IpAssignmentMethod ipAssignmentMethod
The IP address assignment method of the laser profiler.
std::string model
The laser profiler model.
std::string controllerSN
The controller serial number.
std::string sensorSN
The sensor serial number.
std::string ipAddress
The IP address of the laser profiler.