MotorControlModuleSDFM_TMS3.../Projects/EFC_Application/UMLibrary/technological/function/MoveToPointWithTimeout.hh

56 lines
1.5 KiB
C++
Raw Normal View History

/*
* MoveToPointWithTimeout.hh
*
* Created on: 8 <EFBFBD><EFBFBD><EFBFBD>. 2020 <EFBFBD>.
* Author: LeonidTitov
*/
#ifndef UMLIBRARY_TECHNOLOGICAL_FUNCTION_MOVETOPOINTWITHTIMEOUT_HH_
#define UMLIBRARY_TECHNOLOGICAL_FUNCTION_MOVETOPOINTWITHTIMEOUT_HH_
#include "MoveToPoint.hh"
namespace technological { namespace function {
class MoveToPointWithTimeout : public MoveToPoint {
public:
struct Setting {
float retention_accuracy; //!<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
float on_position_timeout; //!<<3C><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>.
float permit_speed_factor; //!<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>.
float permit_time; //!<<3C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
Setting();
bool isValid();
};
void configure( Setting & config );
short getState() const;
void stop();
MoveToPointWithTimeout( ResourceKeeper< technological::adapter::TieInterface<vector::ITechValue> > & control_system_wrapper,
ResourceKeeper<vector::ITechValue> & speed_limit,
ResourceKeeper<vector::ITechValue> & torque_limit,
ResourceKeeper<vector::ITechValue> & acc_limit
);
protected:
virtual void on_start( Input & input, float start_point, systemic::time_t on_position_timeout );
virtual void in_progress();
private:
systemic::Timer compite_timer;
float permit_speed_factor;
float permit_time;
bool move_failure;
};
}}
#endif /* UMLIBRARY_TECHNOLOGICAL_FUNCTION_MOVETOPOINTWITHTIMEOUT_HH_ */