6: 2016-12-04 (日) 21:50:48 takaboo |
7: 2017-08-20 (日) 11:15:44 takaboo |
| シリアル通信に関する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]]を装備した装置を同一ネットワーク上で同時に運用する事は推奨できない。| |
| ~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''' |
| ~エラーコード。 | | ~エラーコード。 |
| 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); |
| 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); |
| ***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''' |
| ~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''' |
| ~使用するインストラクション。 | | ~使用するインストラクション。 |
| |1|~|~| | | |1|~|~| |
| |0|~|~| | | |0|~|~| |
| + | |
| + | **追加API [#ac9f5496] |
| + | #include(DXL_intuitive,notitle) |