電子工作女子(すき)ブログ

マイコン(MCU)を中心とした電子工作のブログです

ロジクールF710+SBDBT+RCB-3 でロボットをコントロールするときのメモ

タイトルのとおりなのですが、あたしのロボットMB-5(キュベレイ風)は、

ロジクール F710

・ランニングエレクトロニクス SBDBT

近藤科学 RCB-3

の組み合わせで無線操縦しています。

ところが、ときどきコントローラのボタンを離しても、ボタンが押されたままのような挙動をするという問題が以前からありまして、このせいで思ったとおりの操縦ができなくてROBO-ONEの予選が完走できないとか、バトルで負けるとかしてました。

 

そして、去年の8月ごろやっと原因がわかって対処できました。

sbxbt_ps3_src_140113.zip を展開して出来上がるファイル群の中の、global.h の中の、シンボル NEUTRAL_DATA_SUPPRESS の定義をゼロにしないと、だめなようです。

ファイルを展開した直後の初期値は1になっています。

---------------- ソースコード ---------------------

#define NEUTRAL_DATA_SUPPRESS 0

       //連続送信時 ニュートラル位置のデータは 0:連続送信  1:連続送信を抑制する

----------------------------------------------------

問題の部分のコメントを見ると、「連続送信時 ニュートラル位置のデータは 0:連続送信  1:連続送信を抑制する」と書いてありますので、初期値1では、「ニュートラル(=何も押していないときということ?)イチのデータは、連続送信を抑制する」ということになります。

たぶん、ボタンを離したときの送信データをRCB-3が取りこぼして、同じデータは抑制されるので、SBDBTはRCB-3に送らないけど、RCB-3は送ってこないということは、押されたままだと解釈して、ボタンが押されたままの挙動をしていたと思われます。

というわけで、これをゼロに変更してプロジェクトをビルドすると、思ったとおりの動きができるようになったというわけです。