5: 2017-12-22 (金) 00:34:28 takaboo ソース 6: 2017-12-23 (土) 11:36:42 takaboo ソース
Line 6: Line 6:
ライブラリ内のテーブルが更新されないまま存在しているIDに対してDXL_Set~やDXL_Get~のAPIを使用すると、何の処理も行わずに即時復帰する。~ ライブラリ内のテーブルが更新されないまま存在しているIDに対してDXL_Set~やDXL_Get~のAPIを使用すると、何の処理も行わずに即時復帰する。~
また全IDをスキャンし終えるまでには時間がかかるため、IDが明確にわかっている場合はDXL_GetModelInfoの使用を推奨する。 また全IDをスキャンし終えるまでには時間がかかるため、IDが明確にわかっている場合はDXL_GetModelInfoの使用を推奨する。
- int DXL_ScanDevices(TDeviceID dvid);+ int DXL_ScanDevices(TDeviceID dvid, uint8_t *ids);
-パラメータ -パラメータ
--TDeviceID '''dvid''' --TDeviceID '''dvid'''
~オープン済のDeviceIDを指定。~ ~オープン済のDeviceIDを指定。~
 +--uint8_t *'''ids'''
 +~検索された全IDをストアする配列のポインタ。不要ならNULLを指定。~
-戻り値 -戻り値
--bool~ --bool~
Line 15: Line 17:
-使用例 -使用例
 TDeviceID dev;  TDeviceID dev;
 + uint8_t ids[255], num = 0;
 // COM10を57600bpsでオープン  // COM10を57600bpsでオープン
 dev = DX_OpenPort ("\\\\.\\COM10", 9600);  dev = DX_OpenPort ("\\\\.\\COM10", 9600);
 // デバイスをスキャン  // デバイスをスキャン
- DXL_ScanDevices (dev);+ num = DXL_ScanDevices (dev, &ids);
***DXL_GetModelInfo [#j50f584f] ***DXL_GetModelInfo [#j50f584f]
Line 35: Line 38:
-使用例 -使用例
 TDeviceID dev;  TDeviceID dev;
- // COM10を57600bpsでオープン + dev = DX_OpenPort ("/dev/ttyUSB0", 57600);
- dev = DX_OpenPort ("\\\\.\\COM10", 57600);+
 // ID=1のデバイス情報を取得  // ID=1のデバイス情報を取得
 DXL_GetModelInfo (dev, 1);  DXL_GetModelInfo (dev, 1);
Line 59: Line 61:
***DXL_SetOperatingMode [#r5844545] ***DXL_SetOperatingMode [#r5844545]
動作モードを指定IDへ指令する。~ 動作モードを指定IDへ指令する。~
-設定時にトルクがディスエーブルされる。また、デバイスがサポートしないモードを指定した場合はエラーとなるため、必ず戻り値を取得して可否を判断すること。+デバイスの動作モードと指令値が異なる場合はトルクをディスエーブルした後に指令値に更新される。また、デバイスがサポートしないモードを指定した場合はエラーとなるため、必ず戻り値を取得して可否を判断すること。
 bool DXL_SetOperatingMode(TDeviceID dvid, uint8_t id, uint8_t mode);  bool DXL_SetOperatingMode(TDeviceID dvid, uint8_t id, uint8_t mode);


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