WaveShareの1.3インチ 240×240 IPS LCDディスプレイHATについてのメモです。
秋葉原の千石電商で買いました。https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=EEHD-5BKD
Waveshareの商品説明 https://www.waveshare.com/1.3inch-lcd-hat.htm
手持ちのRaspberry Pi Zero WHに接続してみました。
公式のドキュメントが間違っていて動作しなかったので使ってみて分かった事をまとめてみました。
ゲームパッドでRETROPie「CONFIGURATION」→「RASPI-CONFIG」を選択する。
$ sudo raspi-config
以下は設定済みのRaspbianまたはRetroPieに追加設定します。
piユーザーでログイン後に以下の操作を実行する
$ sudo apt-get install cmake
$ cd ~
$ git clone https://github.com/juj/fbcp-ili9341.git
$ cd fbcp-ili9341
$ mkdir build
$ cd build
$ cmake -DSPI_BUS_CLOCK_DIVISOR=6 -DWAVESHARE_ST7789VW_HAT=ON -DSTATISTICS=0 ..
$ make -j
$ sudo install fbcp-ili9341 /usr/local/bin/fbcp-ili9341
$ sudo nano /etc/rc.local exit 0の前に「fbcp-ili9341 &」を追加する。 ------------------------------ fbcp-ili9341 & exit 0 ------------------------------ Ctrlキーを押しながらoを押してEnterで保存する。 Ctrlキーを押しながらxを押して終了する。
$ sudo nano /boot/config.txt 下の設定を追加する。 ------------------------------ hdmi_group=2 hdmi_mode=87 hdmi_cvt=240 240 60 1 0 0 0 hdmi_force_hotplug=1 ------------------------------ Ctrlキーを押しながらoを押してEnterで保存する。 Ctrlキーを押しながらxを押して終了する。
$ sudo reboot
以上の操作でOSが再起動してHAT上のディスプレイに表示されます。
この設定ではHAT上のディスプレイには表示されますがHDMI端子にケーブルを接続しても映らなくなってしまいます。 (他の方は映ってる人もいるのかな??私の環境では240x240の設定だとHDMI側(Dell P2715Q)は真っ暗でダメでした。) hdmi_cvt=256 240 60 1 0 0 0 に設定するとHDMI端子に接続したディスプレイでも表示されるようになりましたが、 横256ドットが240ドットに縮小されるためドットが潰れて表示されます。 cmakeのオプションに-DDISPLAY_CROPPED_INSTEAD_OF_SCALING=ONを追加するとドットが潰れることは無くなります。 しかし240x240からはみ出た右側16ドットの部分は表示されません。 私はドットが潰れないようにこのオプションを付けています。 ドットが潰れて少しのぼやけを容認して画面全体を表示するのか、16ドットはみ出てでもドットが潰れないようにするかの違いです。
HATにはボタンが3つ+方向キー押し込みの4つしかないためファミコンでさえボタンが足りません。 ゲームは動作するけど遊ぶことは難しいです。 私はSELECTキーを設定しなかったのでハイドライドスペシャルのウインドウが開けません… しかも音が出ません。残念。 あとHATの下に見えるのはハイドライドスペシャルのファミコンカセットです。念のため。
RetroPieを終了してコマンドプロンプトで以下の操作を実行する。
$ cd ~
$ wget https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/retrogame.sh
$ sudo bash retrogame.sh 1を選ぶ REBOOT NOW? [y/N]と表示されたら「y」を選んでEnterを押して再起動する。
$ sudo nano /boot/retrogame.cfg キーの設定を以下のように書き換える。 ------------------------------ LEFT 5 # Joypad left RIGHT 26 # Joypad right DOWN 19 # Joypad down UP 6 # Joypad up Z 16 # KEY3 button X 20 # KEY2 button SPACE 13 # Joystick Press button ENTER 21 # KEY1 button ------------------------------ Ctrlキーを押しながらoを押してEnterで保存する。 Ctrlキーを押しながらxを押して終了する。
$ sudo reboot