-
Notifications
You must be signed in to change notification settings - Fork 3
Feature/pm 524 Generalize motor controller #284
base: develop
Are you sure you want to change the base?
Changes from 20 commits
6abd775
c8f3af5
f07ebf8
1db4b01
7cf1336
9d320e5
fffab68
ae33d44
00e9bad
2e1b2f4
ef553b9
a60801f
087227e
9d8bc65
81423e5
5e73645
f0c296f
ea89e8e
03c994a
df36bbf
5edecb5
58fbd2f
855e436
e68a574
0a1c16a
c49c6b3
0fbe358
4f66858
b48674d
81f0db4
41257c8
79a93a3
1e55adb
ea171c0
9b5cc5c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -43,23 +43,23 @@ class MarchRobot | |
| MarchRobot(MarchRobot&&) = delete; | ||
| MarchRobot& operator=(MarchRobot&&) = delete; | ||
|
|
||
| void resetIMotionCubes(); | ||
| void resetMotorControllers(); | ||
|
|
||
| void startEtherCAT(bool reset_imc); | ||
| void startCommunication(bool reset_motor_controllers); | ||
|
|
||
| void stopEtherCAT(); | ||
| void stopCommunication(); | ||
|
|
||
| int getMaxSlaveIndex(); | ||
|
|
||
| bool hasValidSlaves(); | ||
|
|
||
| bool isEthercatOperational(); | ||
| bool isCommunicationOperational(); | ||
|
|
||
| std::exception_ptr getLastEthercatException() const noexcept; | ||
| std::exception_ptr getLastCommunicationException() const noexcept; | ||
|
|
||
| void waitForPdo(); | ||
| void waitForUpdate(); | ||
|
|
||
| int getEthercatCycleTime() const; | ||
| int getCycleTime() const; | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It's nice that you changed these names, however, that does not make them compatible with other motor controllers. The reset and start functions are implemented specifically for the IMotionCube, so you still have to change those methods.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I was already hesitant about the removal of ethercat from these namings, because that indeed introduces a lot more vagueness. Hence I reverted them for now. I do not really understand what you say about reset and start functions; the reset of the MarchRobot directly calls the reset of the MotorController, which should work for any controller. Similarly, the start method calls start for the ethercatMaster, which in turn simply calls initialize for each MotorController. This should work for any Ethercat motor controller. For a none-ethercat motor controller, a new communication master object should be created, with another implementation of the start method. |
||
|
|
||
| Joint& getJoint(::std::string jointName); | ||
|
|
||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.