PMX ArduinoLib FactoryReset()
『PMX Library for Arduino』のFactoryReset()関数について解説します。
【解説】
FactoryResetコマンドは、サーボに保存されているROM領域のデータを工場出荷時のデータに書き換えるコマンドです。
変更の際は、誤動作を避けるためにシリアル番号でサーボを指定して処理を実行します。前述のSystemREADコマンドでサーボのシリアル番号を取得してから使用してください。
なお、ID、通信速度、バリティ、応答時間はFactoryResetコマンドの対象外です。こちらを変更する場合はSystemWRITEコマンドを使用してください。
FactoryResetコマンドは、サーボのトルクスイッチが「Free」の状態でのみ実行可能です。その他の状態で実行すると、ステータスエラーとして「モードエラー」が返りコマンドは実行されません。
※FactoryResetコマンドは、処理に時間がかかります。次のパケットは、実行後に約1000ms待ってから送ってください。
【構文】
status = FactoryReset(ID, serialNum[4]);
【例】
1 2 3 4 5 6 7 8 |
// シリアル番号を読み出す byte serialByteNum[4]; flag = pmx.getSerialNumber(ServoID, serialByteNum); flag = pmx.FactoryReset(ServoID, serialByteNum); // サーボのFactoryResetコマンドの処理が完了するまで待つ delay(1000); |
【パラメータ】
引数1:ID(byte型)
第一引数の「ID」はサーボIDです。「ID」は、命令の対象になるサーボを指定しています。「ID」を0に指定すると、ID0のサーボを指定することができます。
引数2:serialNum(byte配列型)
第二引数の「serialNum」はシリアル番号です。SystemREAD()関数、またはgetSerialNumber()関数を使用してサーボから読み出します。
【戻り値】
戻り値:status(unsigned short型)
戻り値は、サーボとの通信状態とサーボの状態が正常かどうかのステータスを足したものが返ってきます。データが0であれば問題ありません。0以外の場合は、なんらかの問題が発生していますので、ステータス部がエラーの場合はオンラインマニュアルの『5.エラー状態』、または『PmxStatusErrorList』を、通信部がエラーの場合は『ComError』を参照してください。
status = PMXからの返信のステータス(PMX::PmxStatusErrorList) + 送受信の状態(PMX::ComError)