PMX ArduinoLib ReBoot
『PMX Library for Arduino』のReBoot()関数について解説します。
【解説】
ReBootコマンドは、指定した時間が経過した後にサーボを再起動するコマンドです。
再起動をすると、サーボの電源を入り切りしたときと同じくRAMのデータはすべてROMのデータに上書きされます。RAMの設定を残したい場合はSAVEコマンドを実行し、データを保存してから再起動してください。
ReBootコマンドは、サーボのトルクスイッチが「Free」の状態でのみ実行可能です。その他の状態で実行すると、ステータスエラーとして「モードエラー」が返りコマンドは実行されません。
※ReBootコマンドは、処理に時間がかかります。次のパケットは、実行後に約1000ms+resetTimeの間待ってから送ってください。
【構文】
status = ReBoot(ID, resetTime);
【例】
1 2 3 |
flag = pmx.ReBoot(ServoID, 500); // サーボのReBootコマンドの処理が完了するまで待つ delay(1500); //処理時間+resetTime |
【パラメータ】
引数1:ID(byte型)
第一引数の「ID」はサーボIDです。「ID」は、命令の対象になるサーボを指定しています。「ID」を0に指定すると、ID0のサーボを指定することができます。
引数2:resetTime(int型)
第二引数は、サーボが再起動を実行するまでの時間です。単位はmsです。500を指定すると0.5秒後に再起動が実行されます。すぐに再起動をする場合はを指定してください。
【戻り値】
戻り値:status(unsigned short型)
戻り値は、サーボとの通信状態とサーボの状態が正常かどうかのステータスを足したものが返ってきます。データが0であれば問題ありません。0以外の場合は、なんらかの問題が発生していますので、ステータス部がエラーの場合はオンラインマニュアルの『5.エラー状態』、または『PmxStatusErrorList』を、通信部がエラーの場合は『ComError』を参照してください。
status = PMXからの返信のステータス(PMX::PmxStatusErrorList) + 送受信の状態(PMX::ComError)