Darkside(https対応しました)

2022年2月4日(金) 22:18

暴発

 主砲エアガンを完全に組み立てて、動作確認。
 送信機の電源を先に入れておき、車体の主電源を入れる。そのとたん、主砲エアガンがフルオートで発射された!
 7〜8連発で止まったが、その後も不安定。トリガーを押していないのに暴発することはないが、しばしばバースト射撃になる。不発も頻発する・・・と気付いたら弾切れのようだ。

 再び確認する。
 送信機の電源は入れず、車体の主電源を入れる。暴発しない。もう一度、繰り返す。やはり、暴発しない。
 送信機の電源を入れてから、車体の主電源を入れる。いきなり、3点バースト射撃された。これも、もう一度試す。同様に、3点バーストで暴発。
 明らかに、バグっている。

 また送信機の電源を入れず、車体の主電源を入れる。暴発しない。
 そのまま、送信機の電源を入れる。その瞬間、3点バーストで暴発。いったん送信機の電源を切り、入れ直す。入れ直したとたん、3点バーストで暴発。
 どうやら、送信機の電源を入れたときに「3点バースト射撃しろ」という信号が送られる結果となっているようだ。

 こうなると、キーの状態を格納している変数が初期化されていない、という初歩的ミスが疑われる。
 だが、プログラムを確認してもさすがにそんな凡ミスは犯していない。試しに最初からトリガーを押したまま電源を入れると、仕様通りしっかり警告が表示される。
 プログラムを見ても、怪しい部分はない。

 まてよ・・・トリガーは複数キーを1つのADCで読み込んでいる。電源投入直後にADC取得値が不安定で、トリガーが押されたと誤認しているのではないか?
 そう思って修正し、トリガーが押されたという状態が取得されないようにしてみる。それでも、電源を入れた直後に暴発する。これは、想像以上に根が深い。

written by higashino [Sタンク 1/16] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

Comments

TrackBacks

Darkside(https対応しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4