2 #include "XYZControl.h"
3 #include "parameters/Devices.h"
7 XYZControl::XYZControl()
30 fut = std::async([
this]() {
33 std::this_thread::sleep_for(std::chrono::milliseconds(
pollinterval));
ScopeNumber< double > zpos
position in micron of z axis
uint32_t pollinterval
interval (in milliseconds) to poll device
~XYZControl()
If pollthread was started, request stop and wait for finish.
virtual void SetZero()
Sets current xyz position as zero.
std::future< bool > fut
future for the async polling thread
bool initialized
true if initialized called successfully
ScopeNumber< double > ypos
position in micron of y axis
virtual void SetZeroYAxis()
Sets current Y position as zero.
ScopeNumber< double > xpos
position in micron of x axis
ScopeNumber< double > pollinterval
interval in milliseconds to poll device, be careful: long intervals slow quitting of Scope (since to ...
This is the include file for standard system include files, or project specific include files that ar...
StopCondition stop
to signal the async polling thread to stop
virtual void SetZeroZAxis()
Sets current Z position as zero.
virtual void SetZeroXAxis()
Sets current X position as zero.
Parameters for a general XYZ stage.
virtual void UpdatePositionValues()
Updates xpos, ypos, and zpos with the current device position.
void Set(const bool &_a=true)
virtual void Initialize(parameters::XYZControl &_params)
Initialize hardware.
virtual void StopPolling()
Stop the worker function.
std::array< ScopeNumber< double > *, 3 > xyzpos
pointers to a ScopeNumber that is updated with the polled x, y, and z positions
virtual void StartPolling()
Start the worker function in the pollthread.