FlashAirを20枚、立ち上げしていたのですが、何故かうまくSPIモードで起動しないのが20枚中、6枚見つかりました。
いろいろ実験していて、FlashAirのサポートに問い合わせしようと思って、テスト用のSDカードシールドを使ったデバッグ機でPCのUSBにつないで動かしたところ、普通に動作しました。
どうやら、5V(3.3V)電源を先に入れっぱなしにしておくと、あっさり起動するようです。
DSairは、電源が立ち上がったら、即座にFlashAirにSPIモードで接続確立を行いに行きます。ほとんどのFlashAirでは、問題なく動いていたのですが、20枚中、6枚は、うまく起動ができなかったようです。
そこで、1度失敗したら2度目はウェイトを0.5秒入れて再接続するようにしたところ、うまく動きました。(0.1秒ではダメでした)
ロットを見ると、1738〜1737系がほぼほぼ、起動時にウェイトを入れないと接続確立しませんでした。
FlashAir、結構なじゃじゃ馬ですね・・・。起動時間の個体バラツキもあるとは、いやはや、難しいです。まあ、ダミーのウェイトを数百ms入れれば動くようですので、ATMEGA328P-PUをアップデートすることで対応させていただきます。
■対策ファームウェア r0r
・jquery uiのアイコンをフォント化
・一部の起動の遅いFlashAir用にリトライ・0.5秒のディレイを入れるようにした
ATMEGA328P-PUの書き換え、FlashAirにコピーするDSairアプリの上書きの両方の作業が必要です。
DSshieldFlashAir_r0r.zip
ファイルのコピーなどがちゃんとできているのに、FlashAirが起動しない方は、これをお試しください。どうも、一部の個体で発生する特有の現象なので、ディレイを多めに掛けて、問題が無いようにソフトで対策してます。起動ディレイについては、会社でもらったデータシートを読んだ上で、挙動と違うのであれば東芝メモリに確認します。
以前に、「起動時、必ずエラーになってしまう」という報告がフォーラムでありましたが、まさしく、これが原因だと思います。リセットボタンを押すと、正常に復帰するはずです(FlashAirのリセットはしていないため)。今回のファームで、リセットボタンを押さなくてもきちんと起動するようになるはずです。
2018年05月04日
FlashAir W-04の起動時間のブレ
posted by yaasan at 20:20
| Comment(0)
| ガジェッド
この記事へのコメント
コメントを書く