6: 2016-12-04 (日) 21:50:48 takaboo ソース 7: 2017-08-20 (日) 11:15:44 takaboo ソース
Line 4: Line 4:
シリアル通信に関するAPI、タイミングやエラー処理、プロトコルの整合性チェック等をライブラリ内で行うため、シリアル通信である事をほとんど意識すること無くアプリケーションの作りこみに専念することができます。 シリアル通信に関するAPI、タイミングやエラー処理、プロトコルの整合性チェック等をライブラリ内で行うため、シリアル通信である事をほとんど意識すること無くアプリケーションの作りこみに専念することができます。
-なお、PCと[[BTE061D]]・[[BTE061E]]・[[BTE068]]・[[BTE068B]]・[[BTE082]]・[[BTE083]]・[[BTE074]]・[[BTE079]]・[[BTE080]]のいずれかがUSBポートに接続され、PCのOSに仮想COMポートが増設された状態で使用するものとします。+なお、PCと[[BTE061D]]・[[BTE061E]]・[[BTE068]]・[[BTE068B]]・[[BTE082]]・[[BTE083]]・[[BTE074]]・[[BTE079B]]・[[BTE080B]]のいずれかが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 314: Line 314:
~DX2_OpenPortで開いた際の[[TDeviceID>#TDeviceID]]。 ~DX2_OpenPortで開いた際の[[TDeviceID>#TDeviceID]]。
--uint8_t '''id''' --uint8_t '''id'''
-~対象とするID (0~254)。+~対象とするID (0~252, 254)。
--[[TErrorCode>#TErrorCode]] '''*err''' --[[TErrorCode>#TErrorCode]] '''*err'''
~エラーコード。 ~エラーコード。
Line 358: Line 358:
 TDxAlarmStatus stat[254];  TDxAlarmStatus stat[254];
 int        i;  int        i;
- uint32_t    num = 254;+ uint32_t    num = 252;
 // オープン  // オープン
 dev = DX2_OpenPort ("\\\\.\\COM10", 57143);  dev = DX2_OpenPort ("\\\\.\\COM10", 57143);
Line 367: Line 367:
       printf ("Found ID=%d %02X\n", stat[i].id, stat[i].Status);        printf ("Found ID=%d %02X\n", stat[i].id, stat[i].Status);
   }    }
 +   // クローズ
 +   DX2_ClosePort (dev);
 + }
 +
 +***DX2_Reset [#fd640394]
 +RESETインストラクションを使用して対象IDを出荷時の状態に初期化する。
 + bool DX2_Reset (TDeviceID dvid, uint8_t id, TErrorCode *err);
 +-パラメータ
 +--[[TDeviceID>#TDeviceID]] '''dvid'''
 +~DX2_OpenPortで開いた際の[[TDeviceID>#TDeviceID]]。
 +--uint8_t '''id'''
 +~対象とするID (0~252, 254)。
 +--[[TErrorCode>#TErrorCode]] '''*err'''
 +~エラーコード。
 +-戻り値
 +--bool
 +~正常な応答が得られた場合はtrue、それ以外はfalseを返す。~
 +-使用例
 + TDeviceID  dev;
 + TErrorCode err;
 + // オープン
 + dev = DX2_OpenPort ("\\\\.\\COM10", 57143);
 + if (dev) {
 +   // ID=1にRESETを発行
 +   if (DX2_Reset (dev, 1, &err))
 +     printf ("Success [%08X]\n", err);
 +   else
 +     printf ("Fail [%08X]\n", err);
 +   // クローズ
 +   DX2_ClosePort (dev);
 + }
 +
 +***DX2_Reboot [#becb91ef]
 +REBOOTインストラクションを使用して対象IDを再起動する。
 + bool DX2_Reboot (TDeviceID dvid, uint8_t id, TErrorCode *err);
 +-パラメータ
 +--[[TDeviceID>#TDeviceID]] '''dvid'''
 +~DX2_OpenPortで開いた際の[[TDeviceID>#TDeviceID]]。
 +--uint8_t '''id'''
 +~対象とするID (0~252, 254)。
 +--[[TErrorCode>#TErrorCode]] '''*err'''
 +~エラーコード。
 +-戻り値
 +--bool
 +~正常な応答が得られた場合はtrue、それ以外はfalseを返す。~
 +-使用例
 + TDeviceID  dev;
 + TErrorCode err;
 + // オープン
 + dev = DX2_OpenPort ("\\\\.\\COM10", 57143);
 + if (dev) {
 +   // ID=1にREBOOTを発行
 +   if (DX2_Reboot (dev, 1, &err))
 +     printf ("Success [%08X]\n", err);
 +   else
 +     printf ("Fail [%08X]\n", err);
   // クローズ    // クローズ
   DX2_ClosePort (dev);    DX2_ClosePort (dev);
Line 593: Line 649:
***DX2_WriteBlockData [#fcf55aa0] ***DX2_WriteBlockData [#fcf55aa0]
対象IDのコントロールテーブルへ指定サイズのデータを書き込む。 対象IDのコントロールテーブルへ指定サイズのデータを書き込む。
- bool DX2_WriteBlockData(TDeviceID dvid, uint8_t id, uint16_t adr, uint8_t *dat, uint32_t len, TErrorCode *err);+ bool DX2_WriteBlockData(TDeviceID dvid, uint8_t id, uint16_t adr, const uint8_t *dat, uint32_t len, TErrorCode *err);
-パラメータ -パラメータ
--[[TDeviceID>#TDeviceID]] '''dvid''' --[[TDeviceID>#TDeviceID]] '''dvid'''
Line 808: Line 864:
~DX2_OpenPortで開いた際の[[TDeviceID>#TDeviceID]]。 ~DX2_OpenPortで開いた際の[[TDeviceID>#TDeviceID]]。
--uint8_t '''id''' --uint8_t '''id'''
-~対象とするID (0~254)。+~対象とするID (0~252)。
--[[TInstruction>#TInstruction]] '''inst''' --[[TInstruction>#TInstruction]] '''inst'''
~使用するインストラクション。 ~使用するインストラクション。
Line 931: Line 987:
|1|~|~| |1|~|~|
|0|~|~| |0|~|~|
 +
 +**追加API [#ac9f5496]
 +#include(DXL_intuitive,notitle)


トップ   差分 リロード印刷に適した表示   全ページ一覧 単語検索 最新ページの一覧   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom