新しい開発用PCを購入し、開発環境構築。Windowsの初期設定のダメダメさと、Appleとは違い、真っ新からの1つ1つの構築のため、ほぼ一日半を費やしてしまった。
2週間近くぶりなので、プログラムの動きは、うろ覚え状態。工夫した部分を削除してしまったりしつつ、なんとか、正常な画像を得られました。縦を2倍にした画像。
MSP2807(新しいLCD)の描画方向が違うので、縦に表示されています。
前回の画像が崩れてた原因は、やはり、信号線のトリガ処理を並行に行うと、タイミングがずれることだったようです。C側の割込み処理が遅いのでしょう。他にも、デバッグ表示で時間がかかるのも、遅延の原因だったかも。
QY20の画像データをタイミングに合わせて取れるように、1つのPIOのステート処理のみで複数の信号検知を行うようにしました。ステート処理なので同時に複数の信号検知できず、QY20の信号タイミング順序を前提に、必要な信号のみを検知しています。取得データを順次、Cに送り、C側もバッファに入れるだけで、待ち状態にするようにして、なんとか処理しています。これでもかなりのフレーム落ちになっていると思います。
あとは、画像の向きとサイズを調整します。128x64の画像を、320 x240に収めるため、256x192のサイズに横2倍、縦3倍にして、90度左回転させたように、元画像のバッファデータから表示変換します。グラフィックライブラリなど、当然ないので、全てビット処理プログラムです。
ほぼ完成。あとはQY20に収まるようにLCDの固定部の作成、変換基板の小型・薄型化ですね。