3#ifndef __CAN_OPEN_HPP__
4#define __CAN_OPEN_HPP__
9#include "ICanMessageNotifier.hpp"
10#include "ICanSenderDelegate.hpp"
11#include "SdoClient.hpp"
12#include "PdoProtocol.hpp"
13#include "EmcyConsumer.hpp"
14#include "NmtProtocol.hpp"
15#include "DriveStatusMachine.hpp"
106 {
return _driveStatus; }
Wrapper for CAN protocol handles with handy accessors.
Definition CanOpenNode.hpp:35
NmtProtocol * nmt() const
Retrieve handle of NMT instance.
Definition CanOpenNode.hpp:101
ReceivePdo * rpdo2() const
Retrieve handle of RPDO2 instance.
Definition CanOpenNode.hpp:69
ReceivePdo * rpdo3() const
Retrieve handle of RPDO3 instance.
Definition CanOpenNode.hpp:73
SdoClient * sdo() const
Retrieve handle of SDO client instance.
Definition CanOpenNode.hpp:61
DriveStatusMachine * driveStatus() const
Retrieve handle of drive state machine instance.
Definition CanOpenNode.hpp:105
~CanOpenNode()
Destructor.
Definition CanOpenNode.cpp:23
bool notifyMessage(const can_message &msg) override
Notify observers that a new CAN message has arrived.
Definition CanOpenNode.cpp:52
void configureSender(ICanSenderDelegate *sender)
Pass sender handle to internal CAN protocol handles.
Definition CanOpenNode.cpp:42
TransmitPdo * tpdo4() const
Retrieve handle of TPDO4 instance.
Definition CanOpenNode.hpp:93
CanOpenNode & operator=(const CanOpenNode &)=delete
Deleted copy assingment operator.
TransmitPdo * tpdo3() const
Retrieve handle of TPDO3 instance.
Definition CanOpenNode.hpp:89
TransmitPdo * tpdo1() const
Retrieve handle of TPDO1 instance.
Definition CanOpenNode.hpp:81
static constexpr double SDO_TIMEOUT
Timeout on SDO transfers (seconds)
Definition CanOpenNode.hpp:37
EmcyConsumer * emcy() const
Retrieve handle of EMCY instance.
Definition CanOpenNode.hpp:97
static constexpr double STATE_MACHINE_TIMEOUT
Timeout on state machine transitions (seconds)
Definition CanOpenNode.hpp:38
ReceivePdo * rpdo4() const
Retrieve handle of RPDO4 instance.
Definition CanOpenNode.hpp:77
CanOpenNode(const CanOpenNode &)=delete
Deleted copy constructor.
TransmitPdo * tpdo2() const
Retrieve handle of TPDO2 instance.
Definition CanOpenNode.hpp:85
unsigned int getId() const
Retrieve CAN node id.
Definition CanOpenNode.hpp:57
ReceivePdo * rpdo1() const
Retrieve handle of RPDO1 instance.
Definition CanOpenNode.hpp:65
Representation of a CiA 402 state machine controller.
Definition DriveStatusMachine.hpp:61
Representation of CAN EMCY protocol.
Definition EmcyConsumer.hpp:33
Implementation-agnostic consumer for RX CAN transfers.
Definition ICanMessageNotifier.hpp:22
Implementation-agnostic consumer for TX CAN transfers.
Definition ICanSenderDelegate.hpp:22
Representation of NMT protocol.
Definition NmtProtocol.hpp:45
Representation of RPDO protocol.
Definition PdoProtocol.hpp:178
Representation of SDO client protocol.
Definition SdoClient.hpp:32
Representation of TPDO protocol.
Definition PdoProtocol.hpp:229
The main, catch-all namespace for Robotics Lab UC3M.
Definition groups.dox:6
Proxy CAN message structure.
Definition CanMessage.hpp:20