pnd-cpp-sdk 1.4.4
Loading...
Searching...
No Matches
groupCommand.hpp
1#pragma once
2
3#include <memory>
4#include <vector>
5
6#include "aios.h"
7
8namespace Pnd {
9
14class GroupCommand final {
15 public:
19 GroupCommand(size_t number_of_modules);
20
24 ~GroupCommand() noexcept;
25
29 size_t size() const;
30
34 PndCommandPtr operator[](size_t index);
35
39 const PndCommandPtr operator[](size_t index) const;
40
45 void clear();
46
52 void setPosition(const std::vector<float> &position);
53
60 void setTrapezoidalMove(const std::vector<float> &val);
61
67 void setVelocity(const std::vector<float> &velocity);
68
75 void setVelocityRamp(const std::vector<float> &velocity);
76
82 void setCurrent(const std::vector<float> &effort);
83
90 void enable(const std::vector<float> &status);
91
97 void reboot(const std::vector<bool> &flag);
98
104 void getError(const std::vector<bool> &flag);
105
111 void clearError(const std::vector<bool> &flag);
112
119 void resetLinearCount(const std::vector<float> &linearCount);
120
127 void setMotionCtrlConfig(const std::vector<MotionControllerConfig *> &config);
128
135 void setMotorConfig(const std::vector<MotorConfig *> &config);
136
143 void setTrapTraj(const std::vector<TrapTraj *> &config);
144
150 void saveConfig(const std::vector<bool> &flag);
151
158 void setNetworkSetting(const std::vector<NetworkSetting *> &config);
159
160 // For latency test
161 void setLatencyTest(const std::vector<bool> &flag);
162
163 /******* fw2 .0 *******/
164 void setInputPositionPt(const std::vector<PosPtInfo> &param);
165
166 void setInputVelocityPt(const std::vector<float> &param);
167
168 void setInputTorquePt(const std::vector<float> &param);
169 /******* fw2 .0 *******/
170
177 void RcuPower(const std::vector<bool> &status);
178 void RcuAV5VPower(const std::vector<bool> &status);
179 void RcuV5VPower(const std::vector<bool> &status);
180 void RcuV5VAPower(const std::vector<bool> &status);
181 void RcuV5VBPower(const std::vector<bool> &status);
182 void Rcu12VPower(const std::vector<bool> &status);
183 void RcuFan12VPower(const std::vector<bool> &status);
184 void Rcu19VPower(const std::vector<bool> &status);
185
186 void RcuBrakeCmd(const std::vector<RcuBrake> &param);
187 void RcuAdcOffset(const std::vector<float> &param);
188 void RcuFwUpgrade();
189
190 // Encoder
191 void getEncoderAngle(const std::vector<float> &param);
192
193 public:
198 PndGroupCommandPtr internal_;
199
203 const size_t number_of_modules_;
204
205 private:
209 std::vector<PndCommandPtr> commands_;
210};
211
212} // namespace Pnd
A list of Command objects appropriate for sending to a Group of modules; the size() must match the nu...
Definition groupCommand.hpp:14
void setVelocity(const std::vector< float > &velocity)
Convenience function for setting velocity commands from vectors.
Definition groupCommand.cpp:37
PndCommandPtr operator[](size_t index)
Access the command for an individual module.
Definition groupCommand.cpp:16
void setMotorConfig(const std::vector< MotorConfig * > &config)
Convenience function for setting setMotorConfig commands from vectors.
Definition groupCommand.cpp:107
void RcuPower(const std::vector< bool > &status)
Convenience function for setting ctrlBoxEnable commands from vectors.
Definition groupCommand.cpp:174
void enable(const std::vector< float > &status)
Convenience function for setting enable commands from vectors.
Definition groupCommand.cpp:59
void setTrapezoidalMove(const std::vector< float > &val)
Convenience function for setting TrapezoidalMove commands from vectors.
Definition groupCommand.cpp:30
void resetLinearCount(const std::vector< float > &linearCount)
Convenience function for setting resetLinearCount commands from vectors.
Definition groupCommand.cpp:91
void setTrapTraj(const std::vector< TrapTraj * > &config)
Convenience function for setting setTrapTraj commands from vectors.
Definition groupCommand.cpp:115
void setMotionCtrlConfig(const std::vector< MotionControllerConfig * > &config)
Convenience function for setting setMotionCtrlConfig commands from vectors.
Definition groupCommand.cpp:99
void saveConfig(const std::vector< bool > &flag)
Convenience function for setting saveConfig commands from vectors.
Definition groupCommand.cpp:123
void setVelocityRamp(const std::vector< float > &velocity)
Convenience function for setting velocity ramp commands from vectors.
Definition groupCommand.cpp:44
PndGroupCommandPtr internal_
Definition groupCommand.hpp:198
void setCurrent(const std::vector< float > &effort)
Convenience function for setting current commands from vectors.
Definition groupCommand.cpp:51
void setPosition(const std::vector< float > &position)
Convenience function for setting position commands from vectors.
Definition groupCommand.cpp:22
size_t size() const
Returns the number of module commands in this group command.
Definition groupCommand.cpp:14
const size_t number_of_modules_
Definition groupCommand.hpp:203
~GroupCommand() noexcept
Destructor cleans up group command object as necessary.
Definition groupCommand.cpp:10
void clear()
Clears all data in this GroupCommand object; this returns to the state the GroupCommand was at time o...
Definition groupCommand.cpp:20
void getError(const std::vector< bool > &flag)
Convenience function for setting getError commands from vectors.
Definition groupCommand.cpp:75
void reboot(const std::vector< bool > &flag)
Convenience function for setting reboot commands from vectors.
Definition groupCommand.cpp:67
void setNetworkSetting(const std::vector< NetworkSetting * > &config)
Convenience function for setting setNetworkSetting commands from vectors.
Definition groupCommand.cpp:131
void clearError(const std::vector< bool > &flag)
Convenience function for setting clearError commands from vectors.
Definition groupCommand.cpp:83