8: 2019-03-26 (火) 18:19:28 takaboo | 9: 2019-03-29 (金) 10:04:08 takaboo | ||
---|---|---|---|
Line 4: | Line 4: | ||
シリアル通信に関するAPI、タイミングやエラー処理、プロトコルの整合性チェック等をライブラリ内で行うため、シリアル通信である事をほとんど意識すること無くアプリケーションの作りこみに専念することができます。 | シリアル通信に関するAPI、タイミングやエラー処理、プロトコルの整合性チェック等をライブラリ内で行うため、シリアル通信である事をほとんど意識すること無くアプリケーションの作りこみに専念することができます。 | ||
- | なお、PCと[[BTE061D]]・[[BTE061E]]・[[BTE068]]・[[BTE068B]]・[[BTE082]]・[[BTE083]]・[[BTE074]]・[[BTE079B]]・[[BTE080B]]のいずれかがUSBポートに接続され、PCのOSに仮想COMポートが増設された状態で使用するものとします。 | + | なお、PCと[[BTE061D]]・[[BTE061E]]・[[BTE068]]・[[BTE068B]]・[[BTE082]]・[[BTE083]]・[[BTE074]]・[[BTE079]]・[[BTE080]]・[[BTE079B]]・[[BTE080B]]・[[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 146: | Line 146: | ||
***Python [#mc6a5a49] | ***Python [#mc6a5a49] | ||
- | 'SampleCode\Ruby'フォルダにサンプルが同梱されます。ポート・ボーレート・ID等は使用する環境に合わせて適宜修正して使用します。~ | + | 'SampleCode\Python'フォルダにサンプルが同梱されます。ポート・ボーレート・ID等は使用する環境に合わせて適宜修正して使用します。~ |
- | [[Python:http://www.python.jp/Zope]]はオープンソースの動的なプログラミング言語で、外部のDLLへ簡易にアクセスすることが出来ます。~ | + | [[Python:http://www.python.jp]]はオープンソースの動的なプログラミング言語で、外部のDLLへ簡易にアクセスすることが出来ます。~ |
- | LinuxでLoadLibraryを呼び出す際はcdllインスタンスを使用します。 | + | 各APIのPython用の宣言を定義したdx2lib.pyをimportするだけで済みます。 |
- | dx2lib = windll.LoadLibrary( "dx2lib_x32.dll" ) # for window | + | from dx2lib import * # dx2libをインポート |
- | dx2lib = cdll.LoadLibrary( "./dx2lib.so" ) # for linux | + | |
***Java [#ceff395d] | ***Java [#ceff395d] | ||
Line 179: | Line 178: | ||
ダウンロードファイルを解凍~ | ダウンロードファイルを解凍~ | ||
+オブジェクトファイルの作成~ | +オブジェクトファイルの作成~ | ||
- | gcc dx2lib.c -o dx2lib.o | + | gcc -O3 -c -D__MAKE_LIB__ dx2lib_intuitive.cpp dx2lib.cpp |
+ | ar -rcsv libdx2lib.a dx2lib_intuitive.o dx2lib.o | ||
+共有ライブラリの作成~ | +共有ライブラリの作成~ | ||
- | RubyやPython等で使用する場合のみ。~ | + | RubyやPython等で使用する場合等~ |
- | gcc -fPIC -shared dx2lib.c -o dx2lib.so | + | gcc -fPIC -shared -Wl,-soname=dx2lib_m.so.2 -O3 -D__MAKE_LIB__ dx2lib_intuitive.cpp dx2lib.cpp -o dx2lib.so.2.2 |
+コンパイル~ | +コンパイル~ | ||
- | dx2libのオブジェクトファイルとC言語ソースを合わせてコンパイルする。~ | + | dx2libのライブラリファイルとC言語ソースを合わせてコンパイルする。~ |
ポート・ボーレート等は使用する環境に合わせて適宜追加・修正する。~ | ポート・ボーレート等は使用する環境に合わせて適宜追加・修正する。~ | ||
ライブラリは必要に合わせて追加する。~ | ライブラリは必要に合わせて追加する。~ | ||
- | gcc sample.c dx2lib.o -o sample | + | gcc sample.c -ldx2lib -o sample |
なお、コンパイルや実行にあたってI/Fやカーネル・ディストリビューションに依存するのがLinuxですので、そのまま使用できない場合は適宜ソースを修正下さい。 | なお、コンパイルや実行にあたってI/Fやカーネル・ディストリビューションに依存するのがLinuxですので、そのまま使用できない場合は適宜ソースを修正下さい。 |