Class MotionInterface#
Defined in File motion_interface.h
Class Documentation#
-
class MotionInterface#
acam motion interface class
This class defines the interface to the PI controllers used for the filter wheel and dust cover.
Public Functions
-
inline MotionInterface()#
-
inline std::string get_current_filtername() const#
-
inline std::string get_current_coverpos() const#
-
long initialize_class()#
-
long open()#
opens the PI socket connection
-
long close()#
closes the PI socket connection
-
bool is_open()#
are motor controllers connected?
-
long is_open(std::string arg, std::string &retstring)#
are motor controllers connected?
-
long home(std::string name_in, std::string &help)#
home specified motors
-
long is_home(std::string name_in, std::string &retstring)#
return the home state of the specified motors
-
long move_abs(std::string name, float pos)#
-
long send_command(const std::string &name, std::string cmd)#
writes 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
-
long motion(std::string args, std::string &retstring)#
basic motion test commands
-
long filter(std::string args, std::string &retstring)#
set or get the filter
-
long get_current_filter(std::string &currname)#
get current filter posname
-
long get_current_filter(std::string &currname, int &currid, float &currpos)#
get current filter posname,id,pos
-
long cover(std::string posname, std::string &retstring)#
set or get the dust cover
-
long read_cover(std::string &retstring)#
Public Members
-
Physik_Instrumente::Interface<Physik_Instrumente::StepperInfo> 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
-
inline MotionInterface()#