Class MotionInterface#

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#
Common::Queue async#

asynchronous message queue object

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