zBitxのファームウェアがV2に刷新2(タッチパネル)

2026年5月16日土曜日

zBitx

タッチパネルが使えない

のでは、使えないので・・・・・・

その前に、まずraspberrypiにリモートでログオンできるように設定。
  • HDMIにディスプレイ
  • USBにキーボードとマウスを繋ぐ
この状態でraspberrypiのディスクトップを表示させる

次に
  • raspberrypi ConfigでVNCを有効に
  • SSHはすでに有効になっている
  • 画面解像度を1920x1080に
再起動

これで別のPCからリモートで表示できるようになる。
使用するのはVNC Veiwer


やっとちゃんとOS設定を変更しやすくなった。
べつPCからのリモートで接続することで、Geminiにききながらコピペして設定ができる。

可能性として
  • 画面のキャリブレーションがずれている
ことがあるらしい。

ということで、Picoの画面中央をタップしながらUSB(CATのmicroUSB)に5V電源を加える
すると、四隅に赤いボックスが表示される。スラッシュが入っているところを順番にタップしていく・・・・・

ん、2番目の左下を押した後次に進めない・・・・・

検索すると、古い設定が邪魔している可能性があるとのこと

設定ファイルは
/home/pi/sbitx/data/hw_settings.ini

とのことだが・・・そもそもこのファイルにあるはずのキャリブレーションデータが保存されていない模様。

次に試したのが、タッチパネルがRaspberryPiに認識されているかどうか

dmesg | grep -i -E "ads7846|touchscreen|xpt2046"

実行しても何も表示されない・・・・・
認識されていないのである。。。

sudo vi /boot/config.txt
の項目にも
dtoverlay=ads7846
が記載されていない・・・・

強制的に認識させる必要があるとのこと

config.txtファイル最後尾に
dtparam=spi=on dto
erlay=ads7846,cs=1,pen3=25,speed=2000000,keep_vref_on=1

を追加。これでdmesgには表示されるようになった。
が・・・しかし、いまだタッチパネルは反応しない

続いて
タッチの割り当て「入力ルール(udevルール)」を作成するために

sudo vi /etc/udev/rules.d/99-ads7846.rules

SUBSYSTEM=="input", KERNEL=="event*", ATTRS{name}=="ADS7846*", ENV{ID_INPUT}="1", ENV{ID_INPUT_TOUCHSCREEN}="1"

を記載して保存終了

X11環境(画面システム)にタッチ入力を強制登録するために

sudo vi /usr/share/X11/xorg.conf.d/40-libinput.conf

Section "InputClass"
        Identifier "ads7846 touchscreen catchall"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection
を最後尾に追加

この後、もう一度タッチパネルのキャリブレーションを行って再起動

やっと動き出しました。

まったく、ほとんどなにをしているかわからない状態で手探りで
Geminiよ、ありがとう!!