Skip to content
This repository was archived by the owner on Dec 1, 2020. It is now read-only.

Feature/pm 527 cpp client side odrive first setup #4

Merged
merged 28 commits into from
Aug 12, 2020

Conversation

JorisWeeda
Copy link
Contributor

Closes PM-527

Description

With this PR it should be possible to control the Odrive using CPP-code and later on ROS control. It is based on the native communication protocol which is also used by the official odrivetool shell. This is accomplished by writing a usb driver to send and receive data over the TX/RX communication line of the odrive.

Within this PR a basic program is included to publish data from the Odrive to a ROS topic to generaly display the usage and functionalities of the program. The Json file consists of the default configurations which are set during the startup sequence.

Changes

  • Include cpp USB driver for the odrive.
  • basic program to publish odrive data
  • configuration file for the March odrive

…ese with proper CMakeLists.txt and package.xml.

The CMakeLists.txt and package.xml hold the configurations to communicate with the Odrive over the USB connection
…erial connection in order to communicate with the odrive.

It also has a march_odrive.json which has some general configuration and gives the operator basic knowledge on how to use the configuration file. The enums can be used to translate data for and to the odrive.
… start the odrive properly. The odrive_msg.msg is later used to publish data from the odrive into a rostopic. The odrive.cpp has a general main which connects to an odrive with specified serial number and starts a loop
@JorisWeeda JorisWeeda requested review from Roelemans and a team as code owners July 7, 2020 15:39
@JorisWeeda JorisWeeda requested review from Olavhaasie and removed request for a team July 7, 2020 15:39
@JorisWeeda JorisWeeda marked this pull request as draft July 7, 2020 15:39
@JorisWeeda JorisWeeda changed the title Feature/pm 527 cpp client side odrive Feature/pm 527 cpp client side odrive first setup Jul 7, 2020
It uses the odrive_endpoint in order to communicate over the usb connection. The utils remain unused but will be integrated later on.
…onfiguration.

These are used in a test file which is located in the test folder
Also reformatted the OdriveEndpoint class to be better readable.
@JorisWeeda JorisWeeda marked this pull request as ready for review July 24, 2020 12:55
Copy link
Contributor

@Roelemans Roelemans left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! (though I don't 100% understand everything 😅).

@JorisWeeda JorisWeeda requested a review from Roelemans August 6, 2020 13:15
@Roelemans Roelemans merged commit 6b3cdc5 into master Aug 12, 2020
@Roelemans Roelemans deleted the feature/PM-527-cpp-client-side-odrive branch August 12, 2020 12:00
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants