inpにそのスケール範囲(0~div)内の目標値を渡します。引数inpに入力された数値に応じたパルスにして出す。回転する(3003.ang_minのパルスを出力)のように使えるようにしました。この範囲以上のパルスは出力できないようにしています。説明が複雑になりますが、使い方は割と簡単でなかなか使えそうな関数です。GRBの数値をサーボ用パルスに対応するように計算して作り出せばいいので、要するにスケール変換の要領です。算出したGRBをTW.GRBに入れるとサーボパルスが発生します。○ms×2000=GRB用の数値に変換できます。{return;}サーボの最大、最小パルスの範囲外処理。これは範囲外のパルスをサーボに入力しないためです。その数値は、だいたいどのサーボもこんな程度だろうという数値にしています。サーボ範囲を入力しています。ここだけfloat型にしています。ムダのようですが、ここは少数入力にしたくて・・)入力値をGRBに与える数値への変換後に再び、範囲外処理をしています。変換で何か変な数値となっても、やはり範囲外の動きになるパルスを出力しないため。割り算すると少数になることがありますが、小数以下2桁程度あればいいので、ここだけのために小数型のfloatなどは使わず、100倍して整数で割り算し、あとで100で割る方法です。本来は小数型など使わず、整数型でやるべきところです。100で上限に目論見通りなりました。サーボの範囲も変更してみます。s3003;s3003.ang_max=1.5;s3003.ang_min=1.0;サーボの最大パルスを1.5ms(GRBで3000)の数値にします。これ以上の数値は出力しないはずです。目標通り機能しています。それでは次にボリュームとつなげてみます。