前回に引き続いて、「ハズレ」のCYDでDSPラジオを作ってみたい。
まずは、タッチ操作だけで動かす「それっぽい」UIを作っていきたいのである。
こんな感じ
前にChatGPTにお願いしたのだが、思った通りのコードを書いてくれなかったので、ChatGPTが書いたコードと他の人の記事を参考に書き進めていく。
Displayの表示には、TFT_eSPIを使う。
ポイントは、画面のちらつき無しに表示の更新をさせるためにSpriteを使う。
メモリ上に表示イメージを展開してから、一気にデータを送ることで、ちらつき無く表示の更新が出来るのである。
こちらのページが、とても参考になる。
おじさんは表示項目(バンド、音量、周波数、信号強度、スケール)ごとに別のSpriteを設定してみた。
あと、CYDではSPIがDisplayとは別系統になっているので、個別に<XPT2046_Touchscreen.h>を使って、タッチ検知するようにした。
あと、フォントについてはこちらのページを参考にさせていただいた。
TFT-eSPIでは、いろんなフォントが使えるので、それっぽいUIを作るうえで、とてもありがたいのである。
(当たりのCYDの場合、ST7789_DRIVERに書き換え他が必要)
#define ILI9341_DRIVER
#define TFT_MISO 12
#define TFT_MOSI 13
#define TFT_SCLK 14
#define TFT_CS 15
#define TFT_DC 2
#define TFT_RST -1
#define TOUCH_CS 33
#define LOAD_GLCD
#define LOAD_FONT2
#define LOAD_FONT4
#define LOAD_FONT6
#define LOAD_FONT7
#define LOAD_GFXFF
#define SMOOTH_FONT
#define SPI_FREQUENCY 40000000




