FESP5142-Doのグライコは実現するか?の巻き! 2020.1.18

FESP5142-Doはパラメトリックイコライザーとしてリリースしました。それに対してFESP5142については
パラメトリックとグラフィックイコライザの両方を搭載しています。FESP5142とFESP5142-Doでは搭載している
PICはピンの数は違いますが、どちらも64kBのROM容量を用いているので、やろうと思えばFESP5142の
ソフトをFESP5142-Doに移植することは可能です。
 ただ、FESP5142-Doでは入力にはタクトスイッチしかありませんので、グラフィックイコライザのような各周波数の
フィルター素子毎のゲイン設定値を入力するのは、あまりにも大変そうなのであまり実用的ではないと思っています。
その点、FESP5142にはロータリエンコーダが搭載できますので、入力はまだ簡単です。
本当は、メーカ品のようにスライドVRを一杯並べるのか操作の面でも楽ですし、なんといっても迫力ありますが
なかなか自作するのも大変です。

 さて、FESP5142-Doは小さい基板ですが、搭載するICの数も少ないのでパターンを描く分には余裕がありました。
最初は機器間の間に隠しスパイスのような使い方をイメージしたので、1/2サイズにしようかとも思っていましたがそれでは小さすぎるので
STDサイズにしました。でも、ちょとサイズをもてあますこともあり、ちょうどそのころに興味のあったTFT液晶のパネル
搭載できるパターンにしておきました。なにやらARDUINOあたりによく使われるもののようですが、タッチパネルもつかえるので
ひょっとしてグラフィックイコライザーの設定がタッチパネルでできれば面白いかな〜とも考えていました。

 折角、TFT液晶パネルのパターンも設けているので、まずはグライコが実現可能かどうかの検討から初めてみました。

最大の懸念はメモリー容量

FESP5142にはパラメトリックイコライザとグラフィックイコライザーの両方をのせていますが、
結構、PCM5142関連の命令の容量が大きいので結構メモリーを圧迫しています。


FESP5142ではパラメトリックイコライザとグラフィックイコライザーで現時点で95%のROMをつかっています。

 現状のソフトをそのままTFT液晶パネル用に移行するにしても、追加でフォントキャラとグラフィック関連ルーチンの追加が必要で
プログラムは113%程度になる見込みなので、実現は難しいでしょう。
 しかし、パラメトリックイコライザの機能を省略すれば簡単な試算で102%です。これなら、
なんとか押し込めるかもしれません。そのためにも、プログラムもできるだけ無駄を排除してメモリーの節約をする必要があります。

FESP5142
(パラメトリック&グラフィック)
FESP5142-Do
(パラ&グライコ) 想定
FESP5142-Do
(グライコのみ) 想定
パラメトリック
PCM5142命令コマンド
9.4%(6kB) 9.4%(6kB)
グラフィック
PCM5142命令コマンド
7%(4.5kB) 7%(4.5kB) 7%(4.5kB)
フォントキャラ 7%(4.5kB) 7%(4.5kB)
グラフィック関連 18%くらい?(12kB) 18%くらい?(12kB)
プログラム本体 78.6% 78.6% 70%くらい?
トータル 95% 113%
(こりゃ無理?)
102%くらい?
(なんとかなる?)

チャレンジしてみましょう! 2020.1.18

なんとか、プログラムが治まる可能性もみえてきたので、ここはチャレンジです。
そうと決まれば、FESP5142-DoにTFTの液晶パネルを実装して、動くかどうか確認してみました。


FESP5142-Doに480×320の液晶パネルを搭載して、簡単なお絵かきソフトを入れてみました。

さてさて、容量内に納まるかな・・・?

まずは画面のデザインをするために、つくった方眼紙に書き込んでイメージを膨らまします。
さすがに480×320の画面があると、一画面で多くの情報がはいります。
なんせ、128×64にくらべると19倍弱の素子数がありませすからね。
128×64の場合は1ドットも無駄にできませんでした。


方眼紙に画面レイアウトを描いて検討です。

まずは、プログラムの骨子をコーディング

まずは、プログラムの骨子のコーディングにかかりますが、パラメトリックイコライザに関する部分を
がんがんと削っていきます。予想外に多いことがわかりました。
それに、今回の画面は1画面で済むので、プログラムの構造もスッキリしてくるので
骨子だけの部分を書いてメモリー容量は77%に納まりました。思っていたよりは少ないです。



骨子だけだと、意外とコンパクトに納まりました。

さて、ここからが操作性等を考えて、プログラムがどんどん肥大化していきます(笑。
ても、一旦コンパイルが通って容量が見えるようになると、付け足しでの増加量も見えてくるので、
作業的には楽です。

現在、ROM使用率80%
 まずは骨子の部分が動くようにバグ取りです。
まずは動作エラーがなくなるようになりましたが、この時点でROMの使用率は80%に上がりました。
しかし、せっかく65K色のカラー表示ができるのですが、ほぼ白黒です(笑。
こりゃ、寂しい・・・・。


骨子の部分が動き出しましたが、表示が寂しい・・・・

 すこし懸念があったのは、ゲイン設定の表示の遅れですが大丈夫そうです。
 ゲインを1つ動かせば、アダプティブモードでの再計算を行って、複数個のフィルターエレメントへの定数書き換え
のためのI2C通信、そして画面描画と色々な処理をしなくてはなりません。流石にタッチペンをさっと動かしたのでは
描画の遅れ(ゲイン設定が間に合わない)が生じますが、普通に動かす場合は十分に追従してくれるようです。
さすが64MHzのPICです。

現在、ROM使用率87%

いろいろとプログラムを弄っていたら、だんだん容量が増えてきました。
現時点で87%まできましたが、ほぼバグだしは終わったかな?
それにしても、あまりカラーは使っていないな〜。青、緑、赤そして黒と白程度です。
中間色はほぼありません・・・・。


こんな感じです。

まずは、これで実戦に用いて操作性などの確認をしていきましょう。

ちなみに、こんな感じで動きます(MP4の拡張子)。

集中バグ取り〜、ただいまROM使用率87% 2020.1.20

布団にくるまり、ヘッドホンで聞きながらデバッグとあわせて音楽を楽しみました。
2個ほど些細なバグがあったのと、表示等で気になるところがあったので、メモメモです。
で、ほぼチェックも煮詰まった感じもするのでおもむろに修正です。
あわせて、隠しコマンドもつくりました。ある場所をタッチすると、実際にフィルターに書き込むゲイン値
を表示するようにしました。デフォルトはアダプティブモードで動いているので、画面の設定値がかならずしも
フィルターに設定される値ではありません。


通常はアダプティブモードで動いています。



ある場所をタッチすると実際にフィルタに設定する値を表示します。

使ってみた感触としては、ゲイン特性の曲線がすばやく設定できるので、
楽曲にあわせて特性や、自分の好みに合わせた特性を探るのに便利です。

この音に慣れてくると、オリジナルのフラットな特性では物足りなくなります。
オーディオで言われる「原音再生」から外れる気もしますが、「心地よい音」
を求めるのもありかな〜っと。それこそオーディオの楽しみかもしれないと
感じてしまいます。
 
ああ、そろそろ寝よ・・・・・・。


ただいまROM使用率86% 2020.1.20

すこしプログラムを見直しました。ゲイン設定の分解能はいままでは0.5dBでしたが、
これを0.25dBとしました。グラフィック表示の分解能があがったことに対応させました。
修正ついでに、プログラムに不要なとことも削除していると逆に使用率が低くなってしまいました。

ややこしいな〜
ここでつかった液晶パネルは下記のものです。
1750円とすこしお高いですが、480×320と画素も多いし、タッチパネル付きだし、それに送付時の梱包もちゃんと箱に入っていたので
安心できました。


これをつかっています。

で、さらに探すとおなじようなもので安いものがあるのですが、商品タイトルに「タッチスクリーン」とあるので、つかえるかと思いきや
説明には「タッチ:いいえ」とあるので、これは使えません。名称がものすごくややこしいです。


これはつかえそうで使えません。抵抗線式のタッチパネルがありません。

リリースします 2020.1.24

製作マニュアル:FESP5142-Do-GEQ_Manual.pdf

キットリストです:FESP5142-DoGEQ_KitList.pdf

LCD付きのキットもラインアップに入れましたが、中華製は信用ならないので動作確認の上、発送します。

(つづく)