25 #ifndef CANOPENCONTROLLER_H 26 #define CANOPENCONTROLLER_H 28 #include <boost/noncopyable.hpp> 29 #include <boost/shared_ptr.hpp> 37 #ifdef _IC_BUILDER_ICL_COMM_WEBSOCKET_ 39 #include <icl_comm_websocket/WsBroadcaster.h> 49 #endif // _IC_BUILDER_ICL_COMM_WEBSOCKET_ 52 namespace canopen_schunk{
84 const std::string& resource_folder_location =
"");
94 void initNodes(
const int16_t node_id = -1);
109 void reconnectCanDevice(
const std::string& can_identifier,
const uint32_t baud_rate);
117 template <
typename GroupT>
118 void addGroup(
const std::string& identifier);
131 template <
typename GroupT>
139 void deleteGroup(
const std::string& identifier);
149 template <
typename NodeT>
150 void addNode(
const uint8_t node_id,
const std::string& group_name =
"default");
157 void deleteNode (
const uint8_t node_id);
179 template <
typename NodeT>
190 std::vector<uint8_t> getNodeList ();
200 void enablePPMotion(
const int16_t node_id = -1);
257 #endif // CANOPENCONTROLLER_H
std::string m_resource_folder_location
This folder contains for example the error code definitions.
size_t m_ws_broadcast_counter
CanDevPtr getCanDevice() const
Get a handle to the current CAN device. This is basically for debugging with a Dummy Can Device...
size_t m_ws_broadcast_rate
Counts sync cycles.
HeartBeatMonitor::Ptr m_heartbeat_monitor
std::map< uint8_t, DS301Node::Ptr > m_nodes
Map of all nodes with id identifier.
uint32_t m_polling_period_ms
The CAN message polling period duration in milliseconds.
uint32_t m_can_device_receive_fifo_size
uint32_t m_can_device_baud_rate
int32_t m_can_device_flags
The CanOpenController class is the main entry point for any calls to the canOpen System.
std::map< std::string, DS301Group::Ptr > m_groups
Map of all node groups, with string identifier.
boost::shared_ptr< const CanOpenController > ConstPtr
Shared pointer to a const CanOpenController.
unsigned char m_can_device_acceptance_mask
uint32_t m_can_device_send_fifo_size
boost::shared_ptr< CanOpenController > Ptr
Shared pointer to a CanOpenController.
unsigned char m_can_device_acceptance_code
std::string m_can_device_name
CanOpenReceiveThreadPtr m_receive_thread
Handle for the can receive thread.
boost::shared_ptr< icl_comm::websocket::WsBroadcaster > m_ws_broadcaster
Interface to send out diagnostics data. Only available if compiled with IC_BUILDER_ICL_COMM_WEBSOCKET...
CanDevPtr m_can_device
Handle for the can device.