そうだVolumioにCS無しST7789LCDを使おう
Pirate AudioのPluginを使わせていただきました。
Pluginのインストールはこの記事では触れません。
表示はデーモン化されているようです。
$ systemctl list-units | grep volumio
でサービスを確認。pirateaudio.serviceとなっています。
/etc/systemd/systemのpirateaudio.serviceの中を見ると
ExecStart=/usr/bin/python3 /data/plugins/miscellanea/pirateaudio/display.py
このdisplay.pyを修正しましょう。
まず、インスタンス生成部分の修正。
引数cs=1はcs=0へ変更します
引数rst=26,を行追加にします
このCS無しLCDはReset端子を制御する必要がある様です。
gpio26に割り当てました。pin37です。
インスタンスメンバに対し
disp._spi.mode=3を行追加して、SPIのモードをMODE3へ
本当はライブラリのコンストラクタへ入れておきたいですが。
disp.reset()を行追加して、リセット。
disp._init()を行追加して、初期化。
# Create ST7789 LCD display class.
disp = ST7789.ST7789(
height=240, #v0.0.6
width=240, #v0.0.6
rotation=90, # Needed to display the right way up on Pirate Audio
port=0, # SPI port
cs=0,
dc=9, # BCM pin used for data/command
rst=26,
backlight=13,
spi_speed_hz=80 * 1000 * 1000,
offset_left=0, #v0.0.6
offset_top=0 #v0.0.6
)
disp._spi.mode=3
disp.reset()
disp._init()
以上