PMX ArduinoLib SAVE()
『PMX Library for Python』のSAVE()関数について解説します。
【解説】
SAVEコマンドは、サーボのRAM領域にあるデータをROM領域に保存することができます。MemWRITEで各設定値を書き換えた場合は、RAM領域を書き換えますので電源を落とすとデータが消えてしまいますが、ROM領域に保存することで電源を落としてもデータを保持することができます。MemWRITEコマンドと組み合わせてご利用ください。
SAVEコマンドは、サーボのトルクスイッチが「Free」の状態でのみ実行可能です。その他の状態で実行すると、ステータスエラーとして「モードエラー」が返りコマンドは実行されません。
※SAVEコマンドはアドレスを指定して保存することはできません。RAM領域のデータを全てROM領域に保存しますのでご注意ください。
【構文】
status = SAVE(ID)
【例】
1 2 3 4 5 6 7 8 9 |
flag = pmx.SAVE(ServoID); // SAVEコマンドを実行 if(flag == 0){ Serial.println("SAVEコマンドが正常に動作しました"); } else{ Serial.println("SAVEコマンドを送ったらエラーが返ってきました"); } Serial.print("flag="); Serial.println(flag, HEX); |
【パラメータ】
引数1:ID(byte型)
第一引数の「ID」はサーボIDです。「ID」は、命令の対象になるサーボを指定しています。「ID」を0に指定すると、ID0のサーボを指定することができます。
【戻り値】
戻り値:status(unsigned short型)
戻り値は、サーボとの通信状態とサーボの状態が正常かどうかのステータスを足したものが返ってきます。データが0であれば問題ありません。0以外の場合は、なんらかの問題が発生していますので、ステータス部がエラーの場合はオンラインマニュアルの『5.エラー状態』、または『PmxStatusErrorList』を、通信部がエラーの場合は『ComError』を参照してください。
status = PMXからの返信のステータス(PMX::PmxStatusErrorList) + 送受信の状態(PMX::ComError)