Skip to content
Draft
Show file tree
Hide file tree
Changes from 12 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 14 additions & 35 deletions _data/navigation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29646,7 +29646,6 @@ dynamixel_sdk:
url: /software/dynamixel/dynamixel_sdk/overview/#supported-operating-systems
- title: "Supported Languages"
url: /software/dynamixel/dynamixel_sdk/overview/#supported-languages
##
- title: "Quick Start Guide"
url: /software/dynamixel/dynamixel_sdk/quick_start_guide/#quick-start-guide
children:
Expand All @@ -29657,40 +29656,20 @@ dynamixel_sdk:
- title: "Library Setup"
url: /software/dynamixel/dynamixel_sdk/library_setup/#library-setup
children:
- title: "C Windows"
url: /software/dynamixel/dynamixel_sdk/library_setup/c_windows/#c-windows
- title: "C Linux"
url: /software/dynamixel/dynamixel_sdk/library_setup/c_linux/#c-linux
- title: "C macOS"
url: /software/dynamixel/dynamixel_sdk/library_setup/c_macos/#c-macos
- title: "CPP Windows"
url: /software/dynamixel/dynamixel_sdk/library_setup/cpp_windows/#cpp-windows
- title: "CPP Linux"
url: /software/dynamixel/dynamixel_sdk/library_setup/cpp_linux/#library-setup-cpp-linux
- title: "CPP macOS"
url: /software/dynamixel/dynamixel_sdk/library_setup/cpp_macos/#cpp-macos
- title: "Csharp Windows"
url: /software/dynamixel/dynamixel_sdk/library_setup/csharp_windows/#csharp-windows
- title: "Python Windows"
url: /software/dynamixel/dynamixel_sdk/library_setup/python_windows/#python-windows
- title: "Python Linux"
url: /software/dynamixel/dynamixel_sdk/library_setup/python_linux/#python-linux
- title: "Python macOS"
url: /software/dynamixel/dynamixel_sdk/library_setup/python_macos/#python-macos
- title: "Java Windows"
url: /software/dynamixel/dynamixel_sdk/library_setup/java_windows/#java-windows
- title: "Java Linux"
url: /software/dynamixel/dynamixel_sdk/library_setup/java_linux/#java-linux
- title: "Java macOS"
url: /software/dynamixel/dynamixel_sdk/library_setup/java_macos/#java-macos
- title: "MATLAB Windows"
url: /software/dynamixel/dynamixel_sdk/library_setup/matlab_windows/#matlab-windows
- title: "MATLAB Linux"
url: /software/dynamixel/dynamixel_sdk/library_setup/matlab_linux/#matlab-linux
- title: "MATLAB macOS"
url: /software/dynamixel/dynamixel_sdk/library_setup/matlab_macos/#matlab-macos
- title: "LabVIEW Windows"
url: /software/dynamixel/dynamixel_sdk/library_setup/labview_windows/#labview-windows
- title: "C"
url: /software/dynamixel/dynamixel_sdk/library_setup/c/#library-setup-c-linux
- title: "CPP"
url: /software/dynamixel/dynamixel_sdk/library_setup/cpp/#library-setup-cpp-linux
- title: "Python"
url: /software/dynamixel/dynamixel_sdk/library_setup/python/#library-setup-python-linux
- title: "Csharp"
url: /software/dynamixel/dynamixel_sdk/library_setup/csharp/#library-setup-csharp-windows
- title: "Java"
url: /software/dynamixel/dynamixel_sdk/library_setup/java/#library-setup-java-linux
- title: "MATLAB"
url: /software/dynamixel/dynamixel_sdk/library_setup/matlab/#library-setup-matlab-linux
- title: "LabVIEW"
url: /software/dynamixel/dynamixel_sdk/library_setup/labview/#library-setup-labview-windows
- title: Basic Read/Write tutorial
url: /software/dynamixel/dynamixel_sdk/basic_read_write_tutorial/
children:
Expand Down
114 changes: 114 additions & 0 deletions _includes/en/software/dynamixel_sdk/library_setup/c_linux.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
{::options parse_block_html="true" /}

<div class="main-header">
<h1 id="library-setup-c-linux">Library Setup &lt;C Linux&gt;</h1>
</div>
<style>
.main-header h1::before {
content: none !important;
}
</style>

This tutorial is written assuming you are using the latest version of Ubuntu. Commands may not be the same for alternative distributions of Linux.

# [Install requirements](#install-requirements)

- The DYNAMIXEL SDK requires GNU gcc ver. 5.4.0 20160609 or higher
- To check the version of your gcc compiler
``` bash
$ gcc -v
```

- Download the requirements
``` bash
$ sudo apt-get install gcc
$ sudo apt-get install build-essential
$ sudo apt-get install gcc-multilib g++-multilib # For cross-compiling
```

# [Build the SDK](#build-the-SDK)
- Check your system architecture
``` bash
$ uname -m
```

- Enter the appropriate build folder depending on your system and build the SDK
``` bash
$ cd DynamixelSDK/c/build/linux64 # for 64-bit systems
$ sudo make install
```
- make sure to enter the correct folder according to your system architecture.
- `linux64` for 64-bit systems
- `linux32` for 32-bit systems
- `linux_sbc` for ARM-based SBCs like Raspberry Pi

- If the build completes successfully, you should see the .so file generated inside the build folder.
``` bash
$ ls
libdxl_x86_c.so Makefile
```

- Grant permission to access the port
``` bash
$ sudo chmod 666 /dev/ttyUSB0
```

<br>
- Common `make` commands for building the SDK
``` bash
$ make # Compile the source code and generate binaries
$ make install # Install the library files to the system
$ make clean # Remove all build files and reset the build environment
$ make uninstall # Remove files installed by 'make install' from the system
$ make reinstall # Reinstall by cleaning, rebuilding, and installing again
```
{: .notice--success}

# [Building and Running the Sample Code](#building-and-running-the-sample-code)

The DYNAMIXEL SDK example code for C uses a .so (Linux Shared Object) library built in C.
The previous instructions walk you through building the latest library files in `[DynamixelSDK folder]/c/build/[linuxXX]/libdxl_xYY_c.so` built by its own source code.

* Go to the Makefile's directory using `cd`:

``` bash
$ cd [DynamixelSDK folder]/c/example/protocol1.0/read_write/linux32
```

OR

``` bash
$ cd [DynamixelSDK folder]/c/example/protocol1.0/read_write/linux64
```

![](/assets/images/sw/sdk/dynamixel_sdk/library_setup/c/linux/sample_code/exc4.png)

* Build the executable file:

``` bash
$ make
```

![](/assets/images/sw/sdk/dynamixel_sdk/library_setup/c/linux/sample_code/exc1.png)

* If there is an error, `$ make clean` then `$ make` again.

* To delete the executable file, `$ make clean`.

![](/assets/images/sw/sdk/dynamixel_sdk/library_setup/c/linux/sample_code/exc2.png)

* Access the port you will be using to communicate with DYNAMIXEL:

``` bash
$ sudo chmod a+rw /dev/ttyUSB0
```

![](/assets/images/sw/sdk/dynamixel_sdk/library_setup/c/linux/sample_code/exc3.png)

* Run the executable file:

``` bash
$ ./read_write
```

![](/assets/images/sw/sdk/dynamixel_sdk/library_setup/c/linux/sample_code/exc5.png)
Original file line number Diff line number Diff line change
@@ -1,24 +1,20 @@
---
layout: archive
lang: en
ref: c_macos
read_time: true
share: true
author_profile: false
permalink: /docs/en/software/dynamixel/dynamixel_sdk/library_setup/c_macos/
sidebar:
title: DYNAMIXEL SDK
nav: "dynamixel_sdk"
---

<style>body {counter-reset: h1 4 !important;}</style>
<div style="counter-reset: h2 2"></div>
<!-- <style>body {counter-reset: h1 4 !important;}</style>
<div style="counter-reset: h2 2"></div> -->

<!--[dummy Header 1]>
<h1 id="library-setup"><a href="#library-setup">Library Setup</a></h1>
<![end dummy Header 1]-->

## [C macOS](#c-macos)
{::options parse_block_html="true" /}

<div class="main-header">
<h1 id="library-setup-c-macos">Library Setup &lt;C macOS&gt;</h1>
</div>
<style>
.main-header h1::before {
content: none !important;
}
</style>

{% include en/maintenance_is_in_progress.md %}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,44 +1,35 @@
---
layout: archive
lang: en
ref: c_windows
read_time: true
share: true
author_profile: false
permalink: /docs/en/software/dynamixel/dynamixel_sdk/library_setup/c_windows/
sidebar:
title: DYNAMIXEL SDK
nav: "dynamixel_sdk"
---
{::options parse_block_html="true" /}

<style>body {counter-reset: h1 3 !important;}</style>
<div class="main-header">
<h1 id="library-setup-c-windows">Library Setup &lt;C Windows&gt;</h1>
</div>
<style>
.main-header h1::before {
content: none !important;
}
</style>

# [Library Setup](#library-setup)

## [C Windows](#c-windows)

### [Compiler and Builder](#compiler-and-builder)

* [Download Visual Studio Community for Windows Desktop](https://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx)
# [Install requirements](#install-requirements)
- [Download Visual Studio Community for Windows Desktop](https://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx)

![](/assets/images/sw/sdk/dynamixel_sdk/library_setup/c/vs.png)

### [Building the Library](#building-the-library)
# [Build the SDK](#build-the-SDK)

* Open the project solution file (.sln) located in the `[DynamixelSDK folder]/c/build/win32` directory OR `[DynamixelSDK folder]/c/build/win64` directory).
- Open the project solution file (.sln) located in the `[DynamixelSDK folder]/c/build/win32` directory OR `[DynamixelSDK folder]/c/build/win64` directory).

![](/assets/images/sw/sdk/dynamixel_sdk/library_setup/c/windows/library_file/1.png)

* In the Solution Explorer, right click on the project and select Properties.
- In the Solution Explorer, right click on the project and select Properties.

![](/assets/images/sw/sdk/dynamixel_sdk/library_setup/c/windows/library_file/2.png)

* Under General Configuration Properties, confirm that the paths and file extensions are set to the following:
- Under General Configuration Properties, confirm that the paths and file extensions are set to the following:

* Output Directory: `$(SolutionDir)output\`
* Intermediate Directory: `$(Configuration)\`
* Platform Toolset: `Visual Studio 20XX (v000)`
* Configuration Type: `Dynamic Library (.dll)`.
- Output Directory: `$(SolutionDir)output\`
- Intermediate Directory: `$(Configuration)\`
- Platform Toolset: `Visual Studio 20XX (v000)`
- Configuration Type: `Dynamic Library (.dll)`.

{% capture notice_01 %}
**WARNING**:
Expand All @@ -49,66 +40,66 @@ If the library file needs to be built in a lower or higher version of Visual Stu

![](/assets/images/sw/sdk/dynamixel_sdk/library_setup/c/windows/library_file/3.png)

* Confirm that the Additional Include Directories path under the General C/C++ Configuration Properties tree is as follows:
- Confirm that the Additional Include Directories path under the General C/C++ Configuration Properties tree is as follows:

`..\..\..\include\dynamixel_sdk`

![](/assets/images/sw/sdk/dynamixel_sdk/library_setup/c/windows/library_file/4.png)

* Right click on the project and select Build to build the library.
- Right click on the project and select Build to build the library.

![](/assets/images/sw/sdk/dynamixel_sdk/library_setup/c/windows/library_file/5.png)

* The built library file will be saved to `[DynamixelSDK folder]/c/build/[winXX]/output/dxl_xYY_c.dll`.
- The built library file will be saved to `[DynamixelSDK folder]/c/build/[winXX]/output/dxl_xYY_c.dll`.

### [Building and Running the Sample Code](#building-and-running-the-sample-code)
# [Building and Running the Sample Code](#building-and-running-the-sample-code)

The DYNAMIXEL SDK sample code for C uses the library files (.dll for Windows) compiled from the C language source.

By following the instructions above, The compiled .dll files are output to `[DynamixelSDK folder]/c/build/[winXX]/output/dxl_xYY_c.dll` after being built from the included source code.

* Run the .sln file located in the `[DynamixelSDK folder]/c/example/protocol2.0/read_write/win32` folder if you have a 32-bit platform OR the `[DynamixelSDK folder]/c/example/protocol2.0/read_write/win64` folder if you have a 64-bit platform.
- Run the .sln file located in the `[DynamixelSDK folder]/c/example/protocol2.0/read_write/win32` folder if you have a 32-bit platform OR the `[DynamixelSDK folder]/c/example/protocol2.0/read_write/win64` folder if you have a 64-bit platform.

![](/assets/images/sw/sdk/dynamixel_sdk/library_setup/c/windows/sample_code/1.png)

* Right click on the project and select Properties.
- Right click on the project and select Properties.

![](/assets/images/sw/sdk/dynamixel_sdk/library_setup/c/windows/sample_code/2.png)

* In the resulting Property Pages window, under Configuration Properties --> General, check that the directories and file extensions are set as follows:
- In the resulting Property Pages window, under Configuration Properties --> General, check that the directories and file extensions are set as follows:

* Output Directory: `$(SolutionDir)$(Configuration)\`
* Intermediate Directory: `$(Configuration)\`
* Target Extension: `.exe`
* Configuration Type: `Application (.exe)`
- Output Directory: `$(SolutionDir)$(Configuration)\`
- Intermediate Directory: `$(Configuration)\`
- Target Extension: `.exe`
- Configuration Type: `Application (.exe)`

![](/assets/images/sw/sdk/dynamixel_sdk/library_setup/c/windows/sample_code/3.png)

* Under Configuration Properties --> Debugging add the following path to your Environment:
- Under Configuration Properties --> Debugging add the following path to your Environment:
- win32: `PATH=%PATH%;..\..\..\..\..\build\win32\output;`
- win64: `PATH=%PATH%;..\..\..\..\..\build\win64\output;`

![](/assets/images/sw/sdk/dynamixel_sdk/library_setup/c/windows/sample_code/4.png)

* Under Configuration Properties --> VC++ Directories, add the following path to Library Directories:
- Under Configuration Properties --> VC++ Directories, add the following path to Library Directories:
- win32: `..\..\..\..\..\build\win32\output;`
- win64: `..\..\..\..\..\build\win64\output;`

![](/assets/images/sw/sdk/dynamixel_sdk/library_setup/c/windows/sample_code/5.png)

* Under Configuration Properties --> C/C++ --> General, add the following path to Additional Include Directories:
- Under Configuration Properties --> C/C++ --> General, add the following path to Additional Include Directories:

`..\..\..\..\..\include\dynamixel_sdk`

![](/assets/images/sw/sdk/dynamixel_sdk/library_setup/c/windows/sample_code/6.png)

* Under Configuration Properties --> Linker --> Input, add the following file to Additional Dependencies:
- Under Configuration Properties --> Linker --> Input, add the following file to Additional Dependencies:

- win32: `dxl_x86_c.lib;`
- win64: `dxl_x64_c.lib;`

![](/assets/images/sw/sdk/dynamixel_sdk/library_setup/c/windows/sample_code/7.png)

* Click on the Local Windows Debugger button to run the program.
- Click on the Local Windows Debugger button to run the program.

![](/assets/images/sw/sdk/dynamixel_sdk/library_setup/c/windows/sample_code/8.png)
Original file line number Diff line number Diff line change
@@ -1,20 +1,7 @@
---
layout: archive
lang: en
ref: cpp_linux
read_time: true
share: true
author_profile: false
permalink: /docs/en/software/dynamixel/dynamixel_sdk/library_setup/cpp_linux/
sidebar:
title: DYNAMIXEL SDK
nav: "dynamixel_sdk"
---

{::options parse_block_html="true" /}

<div class="main-header">
<h1 id="library-setup-cpp-linux">Library Setup <C++ Linux></h1>
<h1 id="library-setup-cpp-linux">Library Setup &lt;C++ Linux&gt;</h1>
</div>
<style>
.main-header h1::before {
Expand Down
Loading