fastcat 0.13.15
C++ EtherCAT Device Command & Control Library
Loading...
Searching...
No Matches
platinum_actuator.h
Go to the documentation of this file.
1#ifndef FASTCAT_PLATINUM_ACTUATOR_H_
2#define FASTCAT_PLATINUM_ACTUATOR_H_
3
4// Include related header (for cc files)
5
6// Include C then C++ libraries
7
8// Include external then project includes
9#include "fastcat/jsd/actuator.h"
10#include "jsd/jsd_epd_nominal_pub.h"
11// #include "jsd/jsd_epd_pub.h"
12
13namespace fastcat
14{
16{
17 public:
19
20 protected:
21 jsd_epd_nominal_state_t jsd_epd_state_ = {};
22
23 private:
24 void PopulateJsdSlaveConfig() override;
25 void PopulateState() override;
26
27 bool HandleNewProfPosCmdImpl(const DeviceCmd& cmd) override;
28 bool HandleNewProfVelCmdImpl(const DeviceCmd& cmd) override;
29 bool HandleNewProfTorqueCmdImpl(const DeviceCmd& cmd) override;
30
31 FaultType ProcessProfPosDisengaging() override;
32 FaultType ProcessProfPos() override;
33 FaultType ProcessProfVelDisengaging() override;
34 FaultType ProcessProfVel() override;
35 FaultType ProcessProfTorqueDisengaging() override;
36 FaultType ProcessProfTorque() override;
37
38 void ElmoRead() override;
39 void ElmoClearErrors() override;
40 void ElmoFault() override{};
41 void ElmoReset() override;
42 void ElmoSetPeakCurrent(double current) override;
43 void ElmoSetDigitalOutput(uint8_t digital_output_index,
44 uint8_t output_level) override;
45 void ElmoSetUnitMode(int32_t mode, uint16_t app_id) override;
46 void ElmoSetGainSchedulingMode(jsd_elmo_gain_scheduling_mode_t mode,
47 uint16_t app_id) override;
48 void ElmoSetGainSchedulingIndex(uint16_t index) override;
49 void ElmoCSP(const jsd_elmo_motion_command_csp_t& jsd_csp_cmd) override;
50 void ElmoCSV(const jsd_elmo_motion_command_csv_t& jsd_csv_cmd) override;
51 void ElmoCST(const jsd_elmo_motion_command_cst_t& jsd_cst_cmd) override;
52 void ElmoHalt() override;
53 void ElmoProcess() override;
54
55 double GetActualVelocity() override;
56 double GetElmoActualPosition() override;
57 jsd_elmo_state_machine_state_t GetElmoStateMachineState() override;
58 bool IsStoEngaged() override;
59};
60
61} // namespace fastcat
62
63#endif
Definition actuator.h:67
Definition platinum_actuator.h:16
PlatinumActuator()
Definition platinum_actuator.cc:10
jsd_epd_nominal_state_t jsd_epd_state_
Definition platinum_actuator.h:21
Definition device_base.h:18