fastcat 0.13.15
C++ EtherCAT Device Command & Control Library
Loading...
Searching...
No Matches
jsd_device_base.h
Go to the documentation of this file.
1#ifndef FASTCAT_JSD_DEVICE_BASE_H_
2#define FASTCAT_JSD_DEVICE_BASE_H_
3
4// Include related header (for cc files)
5#include "fastcat/device_base.h"
6
7// Include c then c++ libraries
8
9// Include external then project includes
10#include "jsd/jsd_print.h"
11
12namespace fastcat
13{
14
16{
17 public:
23
24 public:
25 // overridden DeviceBase virtual methods
26 bool Write(DeviceCmd& cmd) override;
27
28 // setters/getters for EtherCat devices
29 void SetSlaveId(uint16_t slave_id);
30 uint16_t GetSlaveId();
31 void SetContext(jsd_t* context);
33 std::shared_ptr<std::queue<SdoResponse>> sdo_response_queue);
34 void SetOffline(bool is_offline);
35 bool IsOffline() { return is_offline_; };
36
37 protected:
41
42 bool is_offline_ = false;
43 jsd_t* context_ = NULL;
44 int slave_id_ = 0;
45
48 std::shared_ptr<std::queue<SdoResponse>> sdo_response_queue_;
49};
50
51} // namespace fastcat
52
53#endif
Definition device_base.h:20
Definition jsd_device_base.h:16
bool IsOffline()
Definition jsd_device_base.h:35
bool is_offline_
If is an offline version.
Definition jsd_device_base.h:42
std::shared_ptr< std::queue< SdoResponse > > sdo_response_queue_
Definition jsd_device_base.h:48
uint16_t GetSlaveId()
Definition jsd_device_base.cc:27
AsyncSdoRetVal WriteAsyncSdoRequestOnline(DeviceCmd &cmd)
Definition jsd_device_base.cc:55
jsd_t * context_
JSD context.
Definition jsd_device_base.h:43
bool Write(DeviceCmd &cmd) override
Definition jsd_device_base.cc:10
AsyncSdoRetVal WriteAsyncSdoRequestOffline(DeviceCmd &cmd)
Definition jsd_device_base.cc:85
void SetSlaveId(uint16_t slave_id)
Definition jsd_device_base.cc:21
void SetContext(jsd_t *context)
Definition jsd_device_base.cc:29
int slave_id_
EtherCAT Slave Index.
Definition jsd_device_base.h:44
AsyncSdoRetVal
Definition jsd_device_base.h:18
@ SDO_RET_VAL_NOT_APPLICABLE
Definition jsd_device_base.h:21
@ SDO_RET_VAL_SUCCESS
Definition jsd_device_base.h:20
@ SDO_RET_VAL_FAILURE
Definition jsd_device_base.h:19
AsyncSdoRetVal WriteAsyncSdoRequest(DeviceCmd &cmd)
Definition jsd_device_base.cc:48
void RegisterSdoResponseQueue(std::shared_ptr< std::queue< SdoResponse > > sdo_response_queue)
Definition jsd_device_base.cc:31
void SetOffline(bool is_offline)
Definition jsd_device_base.cc:37
Definition device_base.h:18