v0.3.0-lcdF7D(その3.3)

 LCDモジュールの現状成果をv1.9.4にリベースして公開しました。
 https://github.com/forester3/micropython/tree/f7disc-lcd

ドキュメントは何もありませんが、
https://os.mbed.com/teams/ST/code/BSP_DISCO_F746NG/docs/tip/stm32746g__discovery__lcd_8c.html
こちらがのI/Fが基本になり、RGB????,ColorのU32の部分はargbに4分割して、入力する形になります。

 次は色名を文字列で入力する引数バリエーションを追加したいと思います。

MX-17

 緊急対応用のLL750、久しぶりにパッケージをアップデートを始めた所、その1分後にMX-17が出ていることに気付きました。(;_;)
 気を取り直してインストールしました。
 相変わらず音は出ません。
 こちらを見付けて調べてみたんですが、
https://wiki.archlinux.jp/index.php/Advanced_Linux_Sound_Architecture

speaker-test -D default:SB -c 8
で音が出るまでは良いのですが、そこからの設定が出来ませんでした。
 音必要ないので、またの機会にします。

git stash

 lcdF7Dはまだまだバグだらけでとてもコミットする状態ではないのですが、作業途中の状態もバックアップしたいです。
 gitにそういう機能git stashがあるんですね。
 日々stashを使うとなるとコメント必要ですね。それには、
git stash save "Day/Month/Year comment..."
git stash ではローカルリポジトリから作業内容がなくなるので、残した内容は毎回復元しないといけません。今回モジュールを新設しているので、復元を忘れて次に移ることは出来ないから良いですが、日々コミットする人々には使い辛いかも?
 日々git statusを確認すれば問題ないでしょうか?
stashの状態一覧確認は、
git stash list
stashの復元は、
git stash apply
時々は要らないstashを削除
git stash drop

以上、
今回こちらで勉強させて頂きました。
https://www.yoheim.net/blog.php?q=20160710

lcdF7D(その3.2)

 ブログのタイトル一覧が小さいのでタイトル変更しました。lcdF7Dとは組込みに挑戦しているMicroPythonのモジュール名です。デバッグするのに短いほうが楽なので...
 昨夜やっと表示らしいものが確認できたので、問題点をひとまずまとめておきます。

  1. 画面の(367,127)までしか表示できない。
  2. (368,127)に書込むとバスエラーが起こる。
  3. レイヤーは1つのみ、2つ設定すると表示が出ない。


苦労話:バスエラー?の原因はまだ分かりませんが、CubeMXを持ちだして、何パターンもクロックの初期設定の初期化コードを出してみました。
Clock Configurationタブとかなりニラメッコもしました。関係無かったですけど...
 CubeMXのProject->Generate reportでCPU設定の内容のレポートが出るんですね。このPDFの中にClock Configurationタブの図も含まれています。

ねむいさんのexampleをクロックダウン

ねむいさんのexampleですがF7discoのばらつきで?LCD表示がノイズだらけになります。ねむいさん所蔵品は全く問題ないとのことです。
http://cid-36f4d1230f8a673c.onedrive.live.com/browse.aspx/.Public/src/Cortex/ST/STM32F746NGH6_Discovery/FatFs-LCD/

 あまり深く考えていないのですが、

// HSE is 25MHz
// VCOClock = HSE * PLLN / PLLM = 25 MHz * 432 / 28 = 385.7 MHz
// SYSCLK = VCOClock / PLLP = 385.7 MHz / 2 = 192.8 MHz
// USB/SDMMC/RNG Clock = VCOClock / PLLQ = 385.7 MHz / 8 = 48.2 MHz
#define PLL_M		28
#define PLL_N		432
#define PLL_P		RCC_PLLP_DIV2
#define PLL_Q		8

 こうすると、表示キレイになりました。ヽ(´エ`)ノ

追記:
F7discoのMicroPythonを192MHzにクロックダウンした時のPLL?の数値を確認して、以下でも動作確認しました。こちらのがスッキリしますね。

// HSE is 25MHz
// VCOClock = HSE * PLLN / PLLM = 25 MHz * 384 / 25 = 384 MHz
// SYSCLK = VCOClock / PLLP = 384 MHz / 2 = 192 MHz
// USB/SDMMC/RNG Clock = VCOClock / PLLQ = 384 MHz / 8 = 48 MHz
#define PLL_M		25
#define PLL_N		384
#define PLL_P		RCC_PLLP_DIV2
#define PLL_Q		8

追追記:上記で数時間放置すると、徐々にノイズ増えてきました。ハズレ引いたかな?