9: 2019-03-29 (Fri) 10:04:08 takaboo source Cur: 2019-04-03 (Wed) 19:08:13 takaboo source
Line 10: Line 10:
**ライブラリおよびサンプルプログラムのダウンロード [#j8bd290f] **ライブラリおよびサンプルプログラムのダウンロード [#j8bd290f]
以下のリンクよりライブラリ及びサンプルプログラムをアーカイブしたファイルがダウンロードできます。 以下のリンクよりライブラリ及びサンプルプログラムをアーカイブしたファイルがダウンロードできます。
--''2019/03/26 Ver.2.2''~+-''2019/04/04 Ver.2.3''~ 
 +#ref(http://www.besttechnology.co.jp/dow​nload/DX2LIB_V2.3.zip) 
 +更新内容 
 +--拡張APIにおけるDynamixel PRO plus及びDynamixel PRO (A)ファーム正式対応~ 
 +-2019/03/26 Ver.2.2~
#ref(http://www.besttechnology.co.jp/dow​nload/DX2LIB_V2.2.zip) #ref(http://www.besttechnology.co.jp/dow​nload/DX2LIB_V2.2.zip)
-内容+更新内容
--拡張API追加~ --拡張API追加~
--その他修正 --その他修正
--''2016/12/05 Ver.1.3beta''~+-2016/12/05 Ver.1.3beta~
#ref(http://www.besttechnology.co.jp/dow​nload/DX2LIB_V1.3beta.zip) #ref(http://www.besttechnology.co.jp/dow​nload/DX2LIB_V1.3beta.zip)
内容 内容
Line 177: Line 181:
+コンパイル準備~ +コンパイル準備~
ダウンロードファイルを解凍~ ダウンロードファイルを解凍~
-+オブジェクトファイルの作成++ライブラリファイルの生成
- gcc -O3 -c -D__MAKE_LIB__ dx2lib_intuitive.cpp dx2lib.cpp + $ gcc -c -D__MAKE_LIB__ dx2lib_intuitive.cpp dx2lib.cpp 
- ar -rcsv libdx2lib.a dx2lib_intuitive.o dx2lib.o+ $ ar -rcsv libdx2lib.a dx2lib_intuitive.o dx2lib.o
+共有ライブラリの作成~ +共有ライブラリの作成~
RubyやPython等で使用する場合等~ RubyやPython等で使用する場合等~
- gcc -fPIC -shared -Wl,-soname=dx2lib_m.so.2 -O3 -D__MAKE_LIB__ dx2lib_intuitive.cpp dx2lib.cpp -o dx2lib.so.2.2 + $ gcc -fPIC -shared -D__MAKE_LIB__ dx2lib_intuitive.cpp dx2lib.cpp -o dx2lib.so.2.3 
-+コンパイル++ユーザプログラムとのリンク
-dx2libのライブラリファイルとC言語ソースを合わせてコンパイルする。~+生成したライブラリファイルと自身のソースをリンクする。~
ポート・ボーレート等は使用する環境に合わせて適宜追加・修正する。~ ポート・ボーレート等は使用する環境に合わせて適宜追加・修正する。~
ライブラリは必要に合わせて追加する。~ ライブラリは必要に合わせて追加する。~
-  gcc sample.c -ldx2lib -o sample+ $ gcc sample.c -ldx2lib -o sample
なお、コンパイルや実行にあたってI/Fやカーネル・ディストリビューションに依存するのがLinuxですので、そのまま使用できない場合は適宜ソースを修正下さい。 なお、コンパイルや実行にあたってI/Fやカーネル・ディストリビューションに依存するのがLinuxですので、そのまま使用できない場合は適宜ソースを修正下さい。
Line 692: Line 696:
   ids:{1,2,3},    ids:{1,2,3},
 };  };
 + 
 // 読み出しすデータの構造体  // 読み出しすデータの構造体
 typedef struct {  typedef struct {
Line 700: Line 704:
 } __attribute__ ((gcc_struct, __packed__)) TSyncR[3];  } __attribute__ ((gcc_struct, __packed__)) TSyncR[3];
 TSyncR    rdat;  TSyncR    rdat;
 + 
 TDeviceID  dev;  TDeviceID  dev;
 TErrorCode  err;  TErrorCode  err;
Line 740: Line 744:
   } __attribute__ ((gcc_struct, __packed__)) data[2];    } __attribute__ ((gcc_struct, __packed__)) data[2];
 } __attribute__ ((gcc_struct, __packed__)) TSyncW;  } __attribute__ ((gcc_struct, __packed__)) TSyncW;
 + 
 TSyncW syncw = {  TSyncW syncw = {
   116,  // アドレス (Goal Position)    116,  // アドレス (Goal Position)
Line 747: Line 751:
   { 2, 1024 }}  // 2軸目 ID=2, GoalPosition=1024    { 2, 1024 }}  // 2軸目 ID=2, GoalPosition=1024
 };  };
 + 
 TDeviceID  dev;  TDeviceID  dev;
 TErrorCode err;  TErrorCode err;
 + 
 dev = DX2_OpenPort ("\\\\.\\COM5", 1000000);  dev = DX2_OpenPort ("\\\\.\\COM5", 1000000);
 if (dev) {  if (dev) {
Line 782: Line 786:
 TErrorCode err;  TErrorCode err;
 uint8_t    rdat[1000]; // 読み出したデータの保存先  uint8_t    rdat[1000]; // 読み出したデータの保存先
 + 
 const TBulkReadParam param[3] = {  const TBulkReadParam param[3] = {
   {1,100,20}, // ID=1の124番地から20バイト分    {1,100,20}, // ID=1の124番地から20バイト分
Line 788: Line 792:
   {3,  0, 7}  // ID=3の0番地から7バイト分    {3,  0, 7}  // ID=3の0番地から7バイト分
 };  };
 + 
 dev = DX2_OpenPort ("\\\\.\\COM5", 1000000);  dev = DX2_OpenPort ("\\\\.\\COM5", 1000000);
 if (dev) {  if (dev) {
Line 834: Line 838:
   {3, 116, 4, 4095}  // 3軸目 ID=1, アドレス=116, サイズ=4, GPos=4095    {3, 116, 4, 4095}  // 3軸目 ID=1, アドレス=116, サイズ=4, GPos=4095
 };  };
 + 
 TDeviceID  dev;  TDeviceID  dev;
 TErrorCode err;  TErrorCode err;
 + 
 dev = DX2_OpenPort ("\\\\.\\COM5", 1000000);  dev = DX2_OpenPort ("\\\\.\\COM5", 1000000);
 if (dev) {  if (dev) {
Line 907: Line 911:
   1,    // サイズ    1,    // サイズ
 };  };
 + 
 dev = DX2_OpenPort ("\\\\.\\COM10", 1000000);  dev = DX2_OpenPort ("\\\\.\\COM10", 1000000);
 if (dev) {  if (dev) {


Front page   Diff ReloadPrint View   Page list Search Recent changes   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)