新たに『ROCKET+1D』への対応を行い、これで4種類(マイナーチェンジを除く)のグッズがコントロール可能になりました。
今まで、筆者が実機として所持していたのはU.F.O. SAだけでして、このバグに気付くことができていなかったのですが、なんと、今までの『UfoSaCtralDual』ではU.F.O. SA以外のグッズを認識・接続できても動作させることができない、という致命的なバグがありました。重ね重ね申し訳ございません。m(__)m
なぜ接続までできていたのに動かなかったのか。
送信するデータは3バイトなのですが、グッズの種類によって先頭の2バイトの値が異なります。
これを接続したグッズの種類によって変える、というロジックの記述をミスっており、どのグッズであろうが初期値であるU.F.O. SAのものとして送信してしまっていた。
というのがバグの詳細です。
なまじっか初期値でU.F.O. SAの値を持たせてしまっていて、筆者の持っている実機もU.F.O. SAだけということで筆者のコーディング作業ミスがそのまま今まで発見できずに残ってきてしまいました。
今回、筆者がU.F.O. SA以外の対応グッズを初めて購入したことで、発見に至りました。
『UfoSaCtralPro』では動くのに、なぜ『UfoSaCtralDual』で動かんとね? と小15分くらい悩みました。
また、詳細は『U.F.O. SA/A10サイクロンSA/バッハスマート/ROCKET +1D 独自制御アプリPro版Ver.2.30』の記事で触れましたが、ローター系のグッズでは回転方向の指示、いわゆる数値としてはマイナスの値が効かない、無視される、ということで、ランダム制御をしようとしても非常に変化が乏しいという状況にあったのではないかと思います。
そこで、ローター系、具体的にはバッハスマートとROCKET+1Dを動作させる際はプラスの値の範囲でのみランダムとなるようにロジックを変更し、任意のパターン設定で記述されたマイナス値はプラス値に反転させて動作させる、という対応をしました。
これにより、ランダム制御の変化が乏しい(特に停止状態からマイナス値が続く局面ではずっと停止状態が続いてしまうので「なんじゃこれ?」って感じになっていたと思います)という問題は解決します。
ただし、任意パターンの設定で-11から+11へ反転変化みたいな記述をしていた場合、ローター系では反転の概念がなくなりますので全く同じパワーが続くことになります。
記事がバラけてしまってすみませんが、使用方法や機能紹介、設定のコツ等は当アプリUfoSaCtrlProの各バージョンの記事をご参照ください。
『U.F.O. SA/A10サイクロンSA/バッハスマート コントロールアプリDual版Ver.1.20』
『U.F.O. SA/A10サイクロンSA/バッハスマート コントロールアプリDual版Ver.1.10』
『U.F.O. SA/A10サイクロンSAコントロールアプリDual版Ver.1.00』
『U.F.O. SA/A10サイクロンSA/バッハスマート コントロールアプリPro版Ver.2.10a』
『U.F.O. SA/A10サイクロンSA/バッハスマート コントロールアプリPro版Ver.2.10』
『U.F.O. SA/A10サイクロンSAコントロールアプリPro版Ver.2.00』
『U.F.O. SA/A10サイクロンSAコントロールアプリPro版Ver.1.40』
『リモコン操作デモ For UfoSaCtrlPro』
『U.F.O. SA/A10サイクロンSAコントロールアプリPro版Ver.1.31』
『U.F.O. SA/A10サイクロンSAコントロールアプリPro版Ver.1.30』
『U.F.O. SA/A10サイクロンSAコントロールアプリPro版Ver.1.20』
『U.F.O. SA/A10サイクロンSAコントロールアプリPro版Ver.1.10』
『U.F.O. SA/A10サイクロンSAコントロールアプリPro版Ver.1.00』
予定通りに事が進めば次回は大きな仕様変更が入ると思いますので、そのときに改めてまとめ(でも分量多くて大変だなぁ、いやしかし、このまま記事がバラけているのもよろしくないし……葛藤)たいと思います。うっ。
(ここの内容は『U.F.O. SA/A10サイクロンSA/バッハスマート/ROCKET +1D 独自制御アプリPro版Ver.2.30』と全く同じですので、既にそちらを見た方は飛ばしてください。)
停止状態の0からマックスパワーの100まで段階はあるのですが、実際にはあまり小さい値だとパワーが弱すぎてグッズを動かすことができずにモーターが唸るだけといったことになったりします。
UfoSaCtrlではその現象を回避しつつ、多くのU.F.O. SAで回転動作可能であろう値を12(変更可能)としてオフセット値にしています。
が、おそらく、U.F.O. SAは最も小さな値で動けるグッズでして、A10サイクロンSA +PLUS(プラス)のような可動部の大きなグッズはもちろんのこと、バッハスマートやROCKET+1Dなどのローター系も偏心している錘を動かすのにはもっと大きな値を指定しないと動き出すことができないかと思います。
実際にアプリを改修して一晩、UfoSaCtrlDualでU.F.O. SA2台動かしつつUfoSaCtrlProでROCKET+1Dを動かすという、1台のAndroid端末でグッズ3台同時制御チクオナニーを実践して確認してみたのですが、少なくともROCKET+1Dではオフセット値を30あるいはもっと大きな数字にした方が良さげな感じです。
一方、筆者の場合、U.F.O. SAのパワー(回転速度)は大きくとも40弱程度で十分に感じているわけですが、ROCKET+1Dでは通常時でも70〜80、イクときにはそれこそマックスの100も使うくらいの勢いがあった方が良いように思いました。
つまり、それほどグッズによって欲しいパワーにばらつきがある、ということが分かりましたので、今のアプリの仕様で工夫できるところは工夫していただいて、次回以降の改修ではその辺りを織り込んだ仕様を考えたいな、などと思っております。
勝手な再配布はしないでください。
特に、うちのサイトは弱小なので、検索で上位に表示されるサイトに勝手にコピーされると、盗まれたのとほぼ同じ状況に陥ります。
何かしらの問題が発覚して、こちらのサイトでファイルを差し替えても、それが皆さんの元には反映されなくなることにも繋がります。
諸事情によりアプリの無料配布を終了致しました。
今後は活動を支援してくださる方とのみ細細と共有していければと思います。
今後のUfoCtrlアプリ配布ページはこちらです。
UfoCtrl Ver1.00 (UfoCtrl開発活動支援プラン)
ブログに無理矢理載せている都合上、ちょっと特殊なダウンロード形式にしているので、Androidの標準ブラウザではダウンロードに失敗するかもしれません。Chromeなら大丈夫みたい。ブラウザをある程度選んでしまうようです。ご了承ください。
アップデートインストール後に動作がおかしくなった場合は再起動してみてください。
それでもおかしい場合はキャッシュのクリアや一旦アンインストールしてからインストールし直してみてください。
その際、設定を書き換えている方はその設定が消えてしまいますので、操作をする前に設定の退避(テキストファイルなどに移して保存)をしてください。
アダルドグッズや同人コンテンツなどをご購入の際にはこのサイトのリンクを踏んでから購入していただけると、いくばくかの紹介料をいただけるので筆者が大変助かります。(製品の種類は問いません。)
このアプリや筆者の作成コンテンツが役に立ったとか面白かったとか、ありましたら応援していただけると幸いです。
このアプリの対象となる製品はこちらです。
↑2019-11-04