13: 2021-03-27 (土) 06:45:22 takaboo | 14: 2021-07-07 (水) 20:22:31 takaboo | ||
---|---|---|---|
Line 4: | Line 4: | ||
シリアル通信に関するAPI、タイミングやエラー処理、プロトコルの整合性チェック等をライブラリ内で行うため、シリアル通信である事をほとんど意識すること無くアプリケーションの作りこみに専念することができます。 | シリアル通信に関するAPI、タイミングやエラー処理、プロトコルの整合性チェック等をライブラリ内で行うため、シリアル通信である事をほとんど意識すること無くアプリケーションの作りこみに専念することができます。 | ||
- | なお、PCと[[BTE061D]]・[[BTE061E]]・[[BTE068]]・[[BTE068B]]・[[BTE068C]]・[[BTE082]]・[[BTE083]]・[[BTE074]]・[[BTE079]]・[[BTE080]]・[[BTE079B]]・[[BTE080B]]・[[BTX229>http://emanual.robotis.com/docs/en/parts/interface/u2d2/]]のいずれかがUSBポートに接続され、PCのOSに仮想COMポートが増設された状態で使用するものとします。 | + | なお、PCと[[BTE061D]]・[[BTE061E]]・[[BTE068]]・[[BTE068B]]・[[BTE068C]]・[[BTE082]]・[[BTE083]]・[[BTE074]]・[[BTE079]]・[[BTE080]]・[[BTE079B]]・[[BTE079C]]・[[BTE080B]]・[[BTE080C]]・[[BTX229>http://emanual.robotis.com/docs/en/parts/interface/u2d2/]]のいずれかがUSBポートに接続され、PCのOSに仮想COMポートが増設された状態で使用するものとします。 |
|CENTER:BGCOLOR(red): :idea:|[[DYNAMIXEL Communiation Protocol 1.0]]と[[DYNAMIXEL Communiation Protocol 2.0]]を装備した装置を同一ネットワーク上で同時に運用する事は推奨できない。| | |CENTER:BGCOLOR(red): :idea:|[[DYNAMIXEL Communiation Protocol 1.0]]と[[DYNAMIXEL Communiation Protocol 2.0]]を装備した装置を同一ネットワーク上で同時に運用する事は推奨できない。| | ||
Line 10: | Line 10: | ||
**ライブラリおよびサンプルプログラムのダウンロード [#j8bd290f] | **ライブラリおよびサンプルプログラムのダウンロード [#j8bd290f] | ||
以下のリンクよりライブラリ及びサンプルプログラムをアーカイブしたファイルがダウンロードできます。 | 以下のリンクよりライブラリ及びサンプルプログラムをアーカイブしたファイルがダウンロードできます。 | ||
- | -''2020/01/22 Ver.2.6''~ | + | -''2021/07/20 Ver.2.7''~ |
+ | #ref(https://www.besttechnology.co.jp/download/DX2LIB_V2.7.zip) | ||
+ | 更新内容 | ||
+ | --追加APIの各デバイス毎の速度リミッタ見直し | ||
+ | --DXL_GetPresentCurrent内のPシリーズ用アドレス幅指定バグ修正 | ||
+ | --新しく追加されたDynamixelの定義を追加 | ||
+ | --Linux環境における受信処理の見直し | ||
+ | --makedll.batとbuild_dx2lib.shの内容を一部変更 | ||
+ | --dx2lib.py内のDXL_ScanDevicesの誤記修正 | ||
+ | --Linux用のサンプルを追加 | ||
+ | --C言語のサンプルソースをUTF-8のBOM付きに統一 | ||
+ | -2020/01/22 Ver.2.6~ | ||
#ref(https://www.besttechnology.co.jp/download/DX2LIB_V2.6.zip) | #ref(https://www.besttechnology.co.jp/download/DX2LIB_V2.6.zip) | ||
更新内容 | 更新内容 | ||
Line 43: | Line 54: | ||
|DX2LIB|dx2lib_x32.dll|<|ライブラリ本体 | | |DX2LIB|dx2lib_x32.dll|<|ライブラリ本体 | | ||
|~|dx2lib_x64.dll|<|~| | |~|dx2lib_x64.dll|<|~| | ||
- | |~|libdx2lib_x32.a|<|GCC用ライブラリ(定義のみ) | | + | |~|libdx2lib_x32.a|<|MINGW用ライブラリ(定義のみ) | |
|~|libdx2lib_x64.a|<|~| | |~|libdx2lib_x64.a|<|~| | ||
|~|dx2lib_x32.llb|<|MSVC用ライブラリ(定義のみ) | | |~|dx2lib_x32.llb|<|MSVC用ライブラリ(定義のみ) | | ||
|~|dx2lib_x64.lib|<|~| | |~|dx2lib_x64.lib|<|~| | ||
- | |~|dx2lib.c|<|ライブラリソース | | + | |~|dx2lib.cpp|<|ライブラリソース | |
+ | |~|dx2lib_intuitive.cpp|<|~| | ||
|~|dx2lib.h|<|ライブラリヘッダ | | |~|dx2lib.h|<|ライブラリヘッダ | | ||
+ | |~|dx2memmap.h|<|DXLアイテムアドレス定義ヘッダ | | ||
|~|dx2lib_matlab.h|<|matlab用ヘッダ | | |~|dx2lib_matlab.h|<|matlab用ヘッダ | | ||
- | |~|makelib.bat|<|ライブラリ再構築用バッチ | | + | |~|dx2lib.py|<|python用モジュール | |
+ | |~|makelib.bat|<|Windows向けライブラリ再構築用バッチ | | ||
|~|83.bat|<|~| | |~|83.bat|<|~| | ||
+ | |~|build_dx2lib.sh|<|Linux向けライブラリ再構築用スクリプト | | ||
|SampleCode|GCCDeveloperLite|smpl??.c |サンプル | | |SampleCode|GCCDeveloperLite|smpl??.c |サンプル | | ||
|~|~|dx2lib.h |DX2LIBフォルダに収録されるものと同一 | | |~|~|dx2lib.h |DX2LIBフォルダに収録されるものと同一 | | ||
Line 65: | Line 80: | ||
|~|Python|smpl??.py |サンプル | | |~|Python|smpl??.py |サンプル | | ||
|~|~|dx2lib.py |DX2LIBフォルダに収録されるものと同一 | | |~|~|dx2lib.py |DX2LIBフォルダに収録されるものと同一 | | ||
- | |~|~|dx2lib_x32.dll |DX2LIBフォルダに収録されるものと同一 | | + | |~|~|dx2lib_x32.dll |~| |
|~|~|dx2lib_x64.dll |~| | |~|~|dx2lib_x64.dll |~| | ||
|~|LabVIEW2011|sample??.vi |サンプル | | |~|LabVIEW2011|sample??.vi |サンプル | | ||
Line 75: | Line 90: | ||
|~|~|dx2lib_x32.dll |DX2LIBフォルダに収録されるものと同一 | | |~|~|dx2lib_x32.dll |DX2LIBフォルダに収録されるものと同一 | | ||
|~|~|dx2lib_x64.dll |~| | |~|~|dx2lib_x64.dll |~| | ||
- | |~|Linux|smpl2.c |サンプル | | + | |~|Linux|smpl??.c |サンプル | |
- | |~|~|smpl4.c |~| | + | |~|~|kbhit.h |kbhitエミュレーション | |
- | |~|Ruby|SMPL1.c |サンプル | | + | |~|~|makefile |サンプルコンパイル用makefile | |
- | |~|~|SMPL3.c |~| | + | |~|~|dx2lib.h |DX2LIBフォルダに収録されるものと同一 | |
+ | |~|~|dx2memmap.h |~| | ||
+ | |~|Ruby|SMPL1.rb |サンプル | | ||
+ | |~|~|SMPL3.rb |~| | ||
**開発環境毎の設定 [#u3ff03d9] | **開発環境毎の設定 [#u3ff03d9] | ||
Line 206: | Line 224: | ||
+コンパイル準備~ | +コンパイル準備~ | ||
ダウンロードファイルを解凍~ | ダウンロードファイルを解凍~ | ||
- | +ライブラリファイルの生成~ | + | +ライブラリ及び共有ライブラリの生成~ |
- | $ gcc -c -D__MAKE_LIB__ dx2lib_intuitive.cpp dx2lib.cpp | + | DXLIB2ディレクトリに移動し同梱のスクリプトファイルを実行 |
- | $ ar -rcsv libdx2lib.a dx2lib_intuitive.o dx2lib.o | + | $ bash ./build_dx2lib.sh |
- | +共有ライブラリの作成~ | + | コンパイルが成功するとライブラリファイルがサンプルディレクトリにコピーされる |
- | RubyやPython等で使用する場合等~ | + | |
- | $ gcc -fPIC -shared -D__MAKE_LIB__ dx2lib_intuitive.cpp dx2lib.cpp -o dx2lib.so.2.3 | + | |
+ユーザプログラムとのリンク~ | +ユーザプログラムとのリンク~ | ||
生成したライブラリファイルと自身のソースをリンクする。~ | 生成したライブラリファイルと自身のソースをリンクする。~ | ||
ポート・ボーレート等は使用する環境に合わせて適宜追加・修正する。~ | ポート・ボーレート等は使用する環境に合わせて適宜追加・修正する。~ | ||
- | ライブラリは必要に合わせて追加する。~ | + | ライブラリ検索パスは必要に合わせて変更する。~ |
- | $ gcc sample.c -ldx2lib -o sample | + | $ gcc sample.c -L. -ldx2lib -o sample |
- | なお、コンパイルや実行にあたってI/Fやカーネル・ディストリビューションに依存するのがLinuxですので、そのまま使用できない場合は適宜ソースを修正下さい。 | + | なおサンプルプログラムはGCC Developer Liteフォルダに同梱されたものをLinux向けに多少修正したものです。付属のmakefileを介してmakeを使って簡便にコンパイルできます。 |
+ | $ make sample2_ping2 (特定のソースのみコンパイル) | ||
+ | $ make (カレントの全ソースをコンパイル) | ||
+ | コンパイルや実行にあたってI/Fやカーネル・ディストリビューションに依存するのがLinuxですので、そのまま使用できない場合は適宜ソースを修正下さい。 | ||
**API [#ybae1454] | **API [#ybae1454] |