22 size_t start()
override;
44 int32_t
execute(uint64_t pending_signals)
override;
65 std::list<VirtualDevice *>
get_slaves()
override;
77 std::map<int32_t, MockSlave *> slaves_;
78 std::atomic_bool running_;
81 std::vector<double> actual_positions_;
82 std::vector<double> actual_velocities_;
83 std::vector<double> actual_torques_;
85 std::vector<LowPassFilter> velocity_filters_;
86 std::vector<LowPassFilter> torque_filters_;
88 std::random_device random_device_;
89 std::mt19937 random_generator_;
91 const double inertia_ = 7.0e-5;
92 const double friction_ = 5.0e-4;
93 const double sampling_time_ = 1000.0e-6;
96 sampling_time_ / (2 * inertia_ + sampling_time_ * friction_);
98 sampling_time_ / (2 * inertia_ + sampling_time_ * friction_);
99 const double b1_ = -1 * (sampling_time_ * friction_ - 2 * inertia_) /
100 (2 * inertia_ + sampling_time_ * friction_);
102 static uint32_t get_statusword(uint32_t statusword, uint32_t controlword);
103 static uint32_t get_motion_encoder_resolution(
MockSlave *mock_slave);
105 static bool is_controlword_switch_on(uint32_t control_word);
106 static bool is_controlword_enable_voltage(uint32_t control_word);
107 static bool is_controlword_quick_stop(uint32_t control_word);
108 static bool is_controlword_enable_op(uint32_t control_word);
109 static bool is_controlword_fault_reset(uint32_t control_word);
110 static bool ctrl_shutdown(uint32_t control_word);
111 static bool ctrl_switch_on(uint32_t control_word);
112 static bool ctrl_disable_volt(uint32_t control_word);
113 static bool ctrl_quick_stop(uint32_t control_word);
114 static bool ctrl_disable_op(uint32_t control_word);
115 static bool ctrl_enable_op(uint32_t control_word);
116 static bool ctrl_communication_timeout(uint32_t control_word);
Definition: ethercat_master.h:9
Definition: mock_master.h:12
int get_slaves_responding() override
Return the number of slaves.
Definition: mock_master.cc:253
~MockMaster() override
Definition: mock_master.cc:67
bool is_running() override
Definition: mock_master.cc:89
bool disable_all_slaves() override
Switch all slaves to PREOP.
Definition: mock_master.cc:263
void abort_all_client_requests() override
Definition: mock_master.h:74
std::list< VirtualDevice * > get_slaves() override
Get all of the available slaves.
Definition: mock_master.cc:255
size_t start() override
Start the mock master.
Definition: mock_master.cc:73
int32_t execute(uint64_t pending_signals) override
Main mock master loop function to be executed at one millisecond interval.
Definition: mock_master.cc:91
void stop() override
Stop the mock master.
Definition: mock_master.cc:81
size_t restart() override
Restart the mock master.
Definition: mock_master.cc:87
Definition: mock_slave.h:10