5#include "ProfilerInfo.h"
6#include "ProfileData.h"
7#include "UserSetManager.h"
18enum class OutputLineGPIO {
32enum class OutputLevel { Low, High };
36enum class AcquisitionStatus {
37 AcquisitionTriggerWait,
330 friend class InternalInterfaces;
331 std::shared_ptr<ProfilerImpl> _d;
Represents a batch of profiles, which can be obtained by calling Profiler::retrieveBatchData()....
Describes the event of profiler. Use ProfilerEvent::registerProfilerEventCallback to register an even...
Operates the laser profiler. Use Profiler::connect to connect an available laser profiler,...
std::function< void(const ProfileBatch &batch, void *pUser)> AcquisitionCallback
The type of callback function.
ErrorStatus retrieveBatchData(ProfileBatch &batch, int timeoutMs=4000) const
Retrieves a batch of the profiles. There are two ways to retrieve profile data, by polling or callbac...
ErrorStatus registerAcquisitionCallback(const Profiler::AcquisitionCallback &func, void *pUser)
Registers the callback function for data acquisition. There are two ways to retrieve profile data,...
UserSetManager & userSetManager()
Gets the UserSetManager of the laser profiler. UserSetManager provides various operations to manage a...
ErrorStatus disconnect()
Disconnects from the current laser profiler and releases the associated resources.
ErrorStatus setHeartbeatInterval(unsigned int intervalMs)
Sets the time interval at which the client sends periodic heartbeat messages to the profiler side....
ErrorStatus getProfilerStatus(ProfilerStatus &status) const
Gets various statuses of the laser profiler.
Profiler(const Profiler &other) noexcept
Copy constructor.
UserSet & currentUserSet()
Gets the UserSet currently in effect of the laser profiler. UserSet can access all available paramete...
ErrorStatus saveVirtualDeviceFile(const ProfileBatch &data, const std::string &filePath)
Saves the acquired ProfileBatch data collected, Parameter s, and ProfilerInfo in an MRAW format file ...
ErrorStatus triggerSoftware()
Sends a software signal to trigger data acquisition. This method is used when no external signals are...
ErrorStatus getAcquisitionStatus(AcquisitionStatus &status)
Gets the acquisition status.
static std::vector< ProfilerInfo > discoverProfilers()
Discovers all available laser profilers, and returns the laser profiler information list....
ErrorStatus getProfilerInfo(ProfilerInfo &info) const
Gets the basic information of the laser profiler, such as model, serial number, firmware version,...
ErrorStatus setOutputForGPIO(OutputLineGPIO outputLine, OutputLevel value)
Sets controller GPIO output value.
ErrorStatus stopAcquisition()
Exits the laser profiler from the acquisition ready status to avoid accidental triggering of scanning...
ErrorStatus connect(const std::string &ipAddress, unsigned int timeoutMs=5000)
Connects to a laser profiler via IP address.
ErrorStatus connect(const ProfilerInfo &info, unsigned int timeoutMs=5000)
Connects to a laser profiler via ProfilerInfo.
ErrorStatus startAcquisition()
Enters the laser profiler into the acquisition ready status, where it can accept trigger signals for ...
Profiler & operator=(const Profiler &other) noexcept
Copy assignment.
Manages device user sets.
Describes the types of errors.
Describes the laser profiler information.
Describes the laser profiler's statuses.
Describes the laser profiler temperatures.
float controllerCpuTemperature
The temperature (in °C) of the controller CPU.
float sensorCpuTemperature
The temperature (in °C) of the FPGA.