しかし、走行中に発生する重大な不具合がある。
たとえば、2速から3速にシフトレバーを叩き込むときに、一瞬5速に入る。5から4に落とすときも一瞬2速に入る。1速なのにRになる。などなど。コントロールパネルのゲームコントローラーを開いてレバガチャしながらチェックすると、関係ないギアに一瞬入るのがよくわかる。チャタリングっぽい現象。
これが原因でギアが抜けたり、ギアが入らなかったり、オーバーレブでエンジンブローしたりする。経験あるよね?
これを解決するため、TeensyでUSBアダプターを自作した。レーシングシミュレーターiRacingでの耐久チームメンバーにも実際に使ってもらっている。どうやら不具合がなさそうなので、一般公開してみるよ。
3,000円くらいで作れる。プログラミング素人が作ったもののくせにちゃんと動くので、がんばって作ってみてね!
製作例
Fanatecのデバイスドライバに頭きたのでCSSSQのUSB-HIDアダプタ作った pic.twitter.com/MFnlKbxlrg— うk (@ukfunk) August 19, 2017
※この写真はキャリブレーション用ボタン装着前
ぼくはFanatecケーブルをモジュラージャックに差し込みできるように仕上げたけど、ケーブルを直接はんだ付けするほうが簡単。CSSSQ付属のRJ12ケーブルをバラして使ってもいい。付属ケーブルがもったいないなら、6極6芯の電話ケーブルをハンダ付けするのもいいね。
ピンアサイン
ファームウェアダウンロード: fanatec_css_sq_usb_adapter_v_2_1_2.zip
以下、zipに同梱のreadme.txtです。
------------------------------------------------------
Fanatec Clubsport Shifter SQ USB Adapter
Version 2.1.2
Auther: @ukfunk 2018 http://groovy-clutch.blogspot.jp/
------------------------------------------------------
■概要
CSS SQ をPCに直接USB接続するためのTeensyLC用ファームウェアです。
ClubSport USB Adapter が持つ諸問題を解消しています。
OS標準ドライバで動作するため、Fanatecアダプタで発生する「PCに接続したままだとOSが起動しない」不具合が関係ありません。
Hシフターモード使用中、意図しないギアに一瞬入るといったハードウェアに起因する誤動作を、アルゴリズムで回避しています。
■キャリブレーションの手順
(1) キャリブレーションスイッチを押したままPCのUSBポートに接続します。
(2) オレンジLEDが点灯したのを確認できたら、スイッチを離します。
******追記******
(2.5) シフトレバーをNに入れ、スイッチを押します。
(3) シフトレバーをRに入れ、スイッチを押します。
(4) シフトレバーを1速に入れ、スイッチを押します。2~7速も同様に繰り返してください。
(5) 7速まで繰り返すと値がEEPROMに書き込まれ、オレンジLEDが消灯します。
■パーツリスト例
Teensy LC
https://www.switch-science.com/catalog/2333/
RJ12(RJ25)モジュラージャック
http://akizukidenshi.com/catalog/g/gK-09688/
連結ピンヘッダ
http://akizukidenshi.com/catalog/g/gC-02959/
適当なプッシュスイッチ
http://akizukidenshi.com/catalog/g/gP-08216/
Micro-USBケーブル
■ピンアサイン
RJ12 Seqential H-Pattern TeensyLC
1 Red GND GND GND
2 N/C N/C N/C N/C
3 Yellow N/C GND A7
4 Purple Up X-axis A8
5 Black Down Y-axis A9
6 Orange N/C 3.3V 3.3V
プッシュスイッチ(キャリブレーション用)は、A12~GND間に繋いでください。
■ファームウェア書き込み
同梱のhexファイルをTeensy Loaderで書き込んでください。
https://www.pjrc.com/teensy/loader.html
■免責事項
いかなる損害も補償しません。と念のため書いておきます。
■更新履歴
2.1.2 動作速度を改善。
2.1.1 特定の条件でギアがスタックする問題を修正。
2.1.0 Hシフターのギア位置確定アルゴリズムを作り直し。違うギアに入る誤動作を回避したつもり。
2.0.0 他の人も使えるようにキャリブレーションモードを追加。Hシフターのレバー位置検出シーケンスを作り直し。
1.1.0 意図しないギアに入ることがまれにあったので、強引に解決。
1.0.1 バグフィックス。
1.0.0 初期リリース。自分専用。
4 コメント:
有益な情報ありがとうございます。
色々と参考にさせていただいております。
キャリブレーション手順ですが、(2)と(3)の間に、
(2.5) シフトレバーをNにして、スイッチを押します。
が必要ではないでしょうか?
むむ、ご指摘ありがとうございます。
調査してマニュアル更新します!
Please excuse me, english is not my first language. Can you help me with this project? I have a Fanatec shifter but I have no way to connect it to the PC. Seems that this solve this problem. But I dont understand your language. Can you help me? rafuentes@gmail.com
コメントを投稿