Class Motion#
Defined in File calib_interface.h
Class Documentation#
-
class Motion#
motion interface class for the calib hardware
This class defines the interface for all of the calib hardware and contains the functions used to communicate with it.
Public Functions
-
Motion()#
-
inline ~Motion()#
-
long configure_class()#
-
long open()#
opens the PI socket connection
-
long close()#
closes the PI socket connection
-
long is_open(std::string arg, std::string &retstring)#
-
long home(std::string arg, std::string &help)#
home all daisy-chained motors
-
long is_home(std::string name_in, std::string &retstring)#
return the home state of the motors
-
long get(std::string name_in, std::string &retstring)#
get state of named actuator(s)
-
long set(std::string input, std::string &retstring)#
set state(s) of named actuator(s)
-
long send_command(const std::string &name, std::string cmd)#
writes the raw command as received to the master controller, no reply
-
long send_command(const std::string &name, std::string cmd, std::string &retstring)#
writes command?, reads reply
Public Members
-
std::string name#
-
std::string host#
-
int port#
-
Physik_Instrumente::Interface<Physik_Instrumente::ServoInfo> motorinterface#
-
std::mutex pi_mutex#
mutex to protect multi-threaded access to PI controller
-
volatile std::atomic<int> motors_running#
number of motors that are running in threads
-
volatile std::atomic<long> thr_error#
error state of threads
-
std::mutex wait_mtx#
mutex object for waiting for threads
-
std::condition_variable cv#
condition variable for waiting for threads
-
Motion()#