PMX ArduinoLib setId()

『PMX Library for Arduino』のsetId()関数について解説します。

 

【解説】

SystemWRITEコマンドは、ID、通信速度、パリティ、及びサーボ通信時の応答時間を変更するコマンドです。変更の際は、誤動作を避けるためにシリアル番号でサーボを指定して処理を実行します。シリアル番号は、setID()関数内で読み出しますので、別途SystemREADを実行する必要はありません。

SystemWRITEコマンドは、ROM領域のデータを直接書き換えますので、データを保存するためにSAVEコマンドを実行する必要はありません。

setId()はサーボIDを変更することに特化した関数です。

※何らかの理由により処理を失敗した場合、サーボの状態がわからなくなりますので、サーボID、通信速度、パリティ、応答時間を変更する場合は、可能な限りマネージャソフトを使用して書き換えることをお勧めします。なお、マネージャソフトを使用する場合は、サーボとPCが通信するために「RS-485 USBアダプターHS」が必要です。

※SystemWRITEコマンドは、処理に時間がかかります。次のパケットは、実行後に約500ms待ってから送ってください。

 

【構文】

status = setId(ID, newId);

 

【例】

 

【パラメータ】

引数1:ID(byte型)

第一引数の「ID」はサーボIDです。「ID」は、MemREADコマンドの命令の対象になるサーボを指定しています。「ID」を0に指定すると、ID0のサーボを指定することができます。

 

引数2:newId(byte型)

第二引数の「newId」は新しくサーボに書き換えるサーボIDを渡します。

 

【戻り値】

戻り値:status(unsigned short型)

戻り値は、サーボとの通信状態とサーボの状態が正常かどうかのステータスを足したものが返ってきます。データが0であれば問題ありません。0以外の場合は、なんらかの問題が発生していますので、ステータス部がエラーの場合はオンラインマニュアルの『5.エラー状態』、または『PmxStatusErrorList』を、通信部がエラーの場合は『ComError』を参照してください。

status = PMXからの返信のステータス(PMX::PmxStatusErrorList) + 送受信の状態(PMX::ComError)

 

 

リファレンスの目次に戻る