2014/08/05

Intel Galileo GEN 2 ポート操作速度計測

昨年末に「Intel Galileo ポート操作が異様に遅い」という記事を書きましたが、Galileo GEN 2が発売になり、購入しましたので再計測しました。
ポート操作(digitalWrite)の処理速度を確認するために、前回と同じ下記のスケッチでポート操作に必要な時間を計測してみました。

(more…)

2014/03/09

Arch Pro & 2.6インチTFT液晶

mbed(LPC1768)仕様でフォームファクタがArduinoというseeedstudioのArch Proを購入、aitendoの2.6インチ液晶 for Arduino UNO[UNO026LCD7781TP]を接続してみました。

Arch Proのピン配列に少しイラッと(ピン配置のポリシーが理解できない)しながらもタッチパネルまで移植完了。
Arch Pro、TFT液晶どちらも価格の割には満足度は高いかも(^^)

2.6TFT & Arch Pro

2.6TFT & Arch Pro

Paint

タッチパネルテスト用のPaintアプリ

2014/01/26

Arduino UNO/Mega 2560 .WAVファイルの再生

Arduino UNO/Mega 2560で動作する.WAVファイル再生スケッチを作成しました。
.WAVファイルは、フォーマット変換アプリで「8000Hz/8bit/Mono」または「16000Hz/8bit/Mono」形式にして、SDカードにコピーします(サンプルスケッチでは「test0001.wav」です)。
UNOではD3pin、MegaではD9pinから出力されますので簡単なローパスフィルターを通してアンプに接続します。

(more…)

2013/12/31

Intel Galileo ポート操作が異様に遅い

液晶ディスプレイへの書き込みが気が遠くなるほど遅く、使い物にならないので調べてみました。
最初にポート操作(digitalWrite)の処理速度を確認するために、下記のスケッチでポート操作に必要な時間を計測してみました。

Arduino UNO(IDE:1.0.5)では、10,000回ループで82msでしたが、Galileo(IDE:1.5.3)では、1,000回で4,778msでした(Galileoでは、10,000回でなく、1,000回ループ)。
UNOが約4usで処理されているところを約2ms以上を要しています、約500倍遅いということになります。

次にポート設定(pinMode)の処理速度が気になったので、ポート設定をループ内部に移動して計測しました。

結果、Arduino UNOでは、10,000回ループで128msでしたが、Galileoでは、1,000回で23,840msでした(Galileoでは、10,000回でなく、1,000回ループ)。
Galileoでは、ポート設定に約10msを要しています。
普通に考えるとポート設定は、初期化の時に1回だけ実行するものと思いますが、実はこのポート設定処理が液晶ライブラリのポート出力を行うときに毎回呼び出されていました。
これが、液晶表示を異様に遅くしている原因のようです。

このポート設定をLiquidCrystal::init()に移動して、初期化時に1回だけ設定するように変更すると多少速くなります。
それでも、実用に耐える速度ではありません(-_-;)

Intel Galileo 到着

インテルのGalileoが年末ぎりぎりに届きました。期せずしてArduino MEGA 2560も同じ日に届きました。
早速、お決まりのLチカ動かしてみました。
「スケッチの例:Basics->Blink」を使用して、特に問題無く動作確認完了。
結構互換性高いかもと思いながら、これも定番のキャラクタ液晶をつないでみました。
「スケッチの例:LiquidCrystal->Display」を使用しました。
ハードの結線に合わせて定義文を変更して、コンパイル、ダウンロードしましたが、液晶の表示は全く変化なく、リセットすらされていないようです。
検索したところ、Intel Makers Communityに報告(https://communities.intel.com/thread/45643)がありました。
これによると、ファームウェアのバグのようです、LCD関連の関数を呼び出す前にlcd.init();で初期化を行うことで回避する方法が書かれていました。
取りあえず、「Hello, world!」は表示できましたが、表示速度が遅く(このことも書かれています)、一文字一文字丁寧に書き込まれているのが眼に見えます(-_-;)
設計思想に無理があるのか、エミュレータの出来が今一なのか残念な仕上がりです。今後の改善に期待です。

Galile & Arduino MEGA 2560

Galileo & Arduino MEGA 2560