前回STemWinライブラリにタッチパネルの座標を認識させる方法がわからないと書きましたが、サンプルアプリ内を見直すことでなんとか認識させることができました。
手順は簡単で
GUI_PID_STATE構造体のx,yに座標をセットしPressedを1にしてGUI_TOUCH_StoreStateEX()にGUI_PID_STATE構造体を引数として渡すことでSTemWin側に座標を認識させることができる。
これを数十ミリ~数百ミリ間隔で行うことでボタンの押下にも対応できます。タッチイベントの割り込み線があればその都度行うことで処理を軽減できるでしょう。
STM32F429レベルのマイコンとSDRAMがあればSTemWinライブラリも軽々動作可能です。
昨日からLCD表示に挑戦しておりまして本日表示できました。
STemWinライブラリに関しては日本語での情報が少なくて困ります。
blog等でも使用例がほとんどなく(見つけられなかった・・・)STMicroのHPにも簡単なPDFがあるだけです。なのでSTM32Cube_FW_F4のサンプルを参考になんとか実装できた感じです。STMicroはSTemWinやHALのライブラリを無料で公開していただける素晴らしい企業ですがドキュメントが貧弱です。もう少し改善を希望します。
それでは画面キャプチャです。↓

写真が暗いのでわかりにくいですが、テキストボックスやボタン等Windowsライクな表示が可能です。
パーツの配置や大きさ等はSTemWinライブラリ付属のGUIBuilder.exeを使用することでWindows上マウスを使用して簡単に行えます。配置が出来上がったらファイルに書き出すことでそのままコンパイル&リンクで表示できます。
無料のSTemWinライブラリでここまでできてしまうSTMicroさん太っ腹です。
ただ残念なのはまだタッチパネルが動いていないことでしょうか・・・。STemWinからどうやって認識させるか調査中。
しばらく間が空いてしまいましたが、なんとかLWIPを動作させることができました。
LWIPは「第3回TOPPERS活用アイデア・アプリケーション 開発コンテスト」の「アプリケーション開発部門」で銅賞を受賞した松浦光洋さんの「lwIPの移植」ソースコードを参考に(ほぼ全て)利用させていただきました。
ASPといいLWIPといいTOPPERSさんには感謝です。
とりあえず画面キャプチャです。


現在TINETで悪戦苦闘中です。
週末に集中的に時間をとりやっつけてしまおうとかんがえてますが・・・・。
なんかTINETでなくてもいいかなと思いはじめてきた。
LWIPとかどーなんでしょうかね?
前回STM32F429マイコンボードでTOPPERS/ASPの起動ロゴまで出て例外で止まっていたが、今回動作の確認ができた。
(基本的な記述ミスで例外が発生していたのは内緒だ)

今回のコードはCortex-M3のコードだけを使用している。なので浮動小数点レジスタの類も当然考慮していない。タスクディスパッチや割り込みで浮動小数点レジスタの保存すればOKかな?
OSは動いたのであとはアプリだな。
ECHONET liteとかやってみたい。
購入したマイコンボード。何か動かすにはOSを動かす必要がある。
なのでTOPPERS/ASPを動かすことにした。
なぜTOPPERS/ASPか、というのは置いておくとして・・・・。
TOPPERS/ASP 1.9.0のCortex-M3版をダウンロードする。
どうやらstbeeというマイコンボード用らしいがなんとかなるだろう。
・target_config.cのtarget_initialize()内をごっそりと、先ほどのSTM32CUBEMXで作った初期化処理で置き換える。
・USARTはTOPPERSのドライバを使用するのでそのまま使用する。
するとbannerまでは出た。↓

このあと例外で終了しているっぽいのでなんとかしたい・・・
STM32マイコンのGPIOやUART等の設定はGUIでできるようだ。

数年前までのマイコンはユーザーズマニュアルを見ながらペリフェラルのレジスタを設定していたものだが・・・・。
このGUI作業でマイコンのPIN設定を終えるとあとは自動でマイコンの初期化コードを書き出すことができる。
以前から欲しかったSTMicro社製Cortex-M4マイコン。
某所で購入。
こんなの↓

反対側↓

(画面が傷ついて汚いのは保護シールだから問題なし)
スペックは
- STM32F429(Cortex-M4)
- SDRAM 32MB
- NAND Flash 128MB
- 4.3インチ480×272 TFT LCD タッチパネル
- USB
- MicroSD
- LAN 100Mbps Ether
等素晴らしいスペックです。
とりあえずサンプルをビルドして画面表示してみた↓

以外といけてる?!
これを何に使うかはまだ考えてない(?)
とりあえずTOPPERS/ASPでも動かしますか。
ECHONETLite、HEMS、ESP8266、nRF24L01、TOPPERS、STM32、マイコン関連いろいろやってます。