Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions ethercat_driver/include/ethercat_driver/ethercat_driver.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,9 @@ class EthercatDriver : public hardware_interface::SystemInterface
ETHERCAT_DRIVER_PUBLIC
CallbackReturn on_deactivate(const rclcpp_lifecycle::State & previous_state) override;

ETHERCAT_DRIVER_PUBLIC
CallbackReturn on_cleanup(const rclcpp_lifecycle::State & previous_state) override;

ETHERCAT_DRIVER_PUBLIC
hardware_interface::return_type read(const rclcpp::Time &, const rclcpp::Duration &) override;

Expand Down
11 changes: 11 additions & 0 deletions ethercat_driver/src/ethercat_driver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -372,6 +372,17 @@ CallbackReturn EthercatDriver::on_deactivate(
return CallbackReturn::SUCCESS;
}

CallbackReturn EthercatDriver::on_cleanup(
const rclcpp_lifecycle::State & /*previous_state*/)
{
ec_modules_.clear();

RCLCPP_INFO(
rclcpp::get_logger("EthercatDriver"), "System successfully cleaned up!");

return CallbackReturn::SUCCESS;
}

hardware_interface::return_type EthercatDriver::read(
const rclcpp::Time & /*time*/,
const rclcpp::Duration & /*period*/)
Expand Down
1 change: 1 addition & 0 deletions ethercat_interface/src/ec_master.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ EcMaster::~EcMaster()
delete domain.second;
}
}
ecrt_release_master(master_);
}

void EcMaster::addSlave(uint16_t alias, uint16_t position, EcSlave * slave)
Expand Down