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) |