SBUS(みたいなもの)のデコード
うん十年前にはフタバユーザーだったのに、現在はJRユーザーなので、そもそもSBUSなんか関係ない筈なのですが、懇意にしている模型屋さんに、Phantom用送受信機のセットが処分に困るほど積まれて行き場を失っていたので、ひとつ借りてきました。
規格がオープンではないので、各社リバースエンジニアリングした結果、SBUSみたいな信号をデコードする機械とか、SBUSみたいな信号をエンコードする機械とか、FUTABA以外の会社からも結構出ています。現行のPhantom用送受信機セットもそんな感じの製品の一つ。
で、この、SBUSみたいなもののデコード方法なんですが、こんな風にソースが公開されていて、中見ればおおよそどんな感じかは掴めると思います。
この、SBUSみたいなものをデコードするコツとしては、
1.信号は反転させてRXに繋げる。
2.反転させた信号を、100000bps データ長8bit パリティはeven ストップビット2bitで見てやると、1回25byteのデータを送ってくる。
3.1byte目は16進 '0F'固定
4.25byte目は16進'00'固定
5.実際のデータは2byteめ からで、1~16チャンネルの分解能は11bit
(つながりがちょっと面倒くさい)
6.1チャンネルのデータは3byteめ の下位3bitと2byteめ の8bit
7.2チャンネルは4byteめ の下位6bitと3byteめ の上位5bit
8.3チャンネルは と と 6byteめの下位1bitと5byteめ の 8bitと4byteめ の上位2bit
(と16チャンネルまで続いて)
9.17-18チャンネルは1bitチャンネル(ONOFFのみ)
10.17チャンネルは、24byte目の最下位ビット
11.18チャンネルは、24byte目の下から2番目のビット
12.Failsafeが入ると、24byte目の下から4番目のビットが立つ
言葉で書くと混乱しちゃうなあ。ソース見た方が早いです。
ここの37~87行目あたり。。。
と、言うわけで、無事デコードした結果が以下の動画。
このまま戦車(みたいなもの)作っちゃうかな~
追伸。SBUS2とかテレメトリ対応になると、1byte目の'0F'固定とか25byte目の'00'固定とかが崩れるみたいで、そのあたりもしっかりデコードしたい方は、'SBUS2 DECODE'とかで調べてみてください。。。