QY20 表示部(LCD)を自作⑧:試作を再開。そして、意外にすんなりと完成。

2024/01/21

RP2040 YAMAHA QY20 実験 電子回路

 新しい開発用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の固定部の作成、変換基板の小型・薄型化ですね。




QooQ