Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adafruit-pitft.py rotation value always 90 degrees #312

Open
mikeysklar opened this issue May 10, 2024 · 0 comments
Open

adafruit-pitft.py rotation value always 90 degrees #312

mikeysklar opened this issue May 10, 2024 · 0 comments
Labels

Comments

@mikeysklar
Copy link
Contributor

Script Command

sudo -E env PATH=$PATH python3 adafruit-pitft.py --display=35r --rotation=270 --install-type=mirror

Operating System

64-bit Bookworm

Hardware

Pi 5

Behavior

The install works and the display comes up with a usable touchscreen. However, any arguments for rotation end up getting ignored. The value for rotation always ends up being set to 90 no matter the input type in degrees or steps (1,2,3). The behavior is the same with a fresh or existing install. Menu based install or CLI arguments.

The problem is the script is running the update_configtxt() function twice. The first pass is correct with CLI arguments. The second time is probably not necessary and results in the rotation value being lost.

Full output below with DEBUG line numbers added to see the double run of config.txt additions:

X11 Detected

This script downloads and installs
PiTFT Support using userspace touch
controls and a DTO for display drawing.
one of several configuration files.
Run time of up to 5 minutes. Reboot required!

X11 Detected
Display Type: PiTFT 3.5" resistive touch
PITFT Rotation: 270
PITFT Checking init system...
Found systemd
/boot is mounted
PITFT System update
Updating apt indexes............
Reading package lists...
.........
PITFT Installing Python libraries & Software...
Installing Pre-requisite Software...This may take a few minutes!
PITFT Reading package lists...
PITFT
PITFT Building dependency tree...
PITFT
PITFT Reading state information...
PITFT
PITFT bc is already the newest version (1.07.1-3).
fbi is already the newest version (2.10-4+b1).
git is already the newest version (1:2.39.2-1.1).
python3-dev is already the newest version (3.11.2-1+b1).
python3-pip is already the newest version (23.0.1+dfsg-1+rpt1).
python3-smbus is already the newest version (4.3-2+b3).
python3-spidev is already the newest version (20200602~200721-1+bookworm).
evtest is already the newest version (1:1.35-1).
libts-bin is already the newest version (1.22-1+b1).
device-tree-compiler is already the newest version (1.6.1-4+b1).
libraspberrypi-dev is already the newest version (1:2+git20231018~131943+3c97f76-1).
build-essential is already the newest version (12.9).
python3-evdev is already the newest version (1.6.1+dfsg-1+b2).
0 upgraded, 0 newly installed, 0 to remove and 41 not upgraded.
PITFT Updating /boot/firmware/config.txt...
DEBUG 408 :: func: update_configtxt() :: pitftrot: {'270'}
DEBUG 417 :: func: update_configtxt() :: pitftrot: {'270'}
DEBUG 431 :: {'dtoverlay=pitft35-resistive,rotate=270,speed=20000000,fps=20'}
DEBUG 437 :: {'dtoverlay=pitft35-resistive,rotate=270,speed=20000000,fps=20'}
PITFT Updating SysFS rules for Touchscreen...
PITFT Updating TSLib default calibration...
PITFT Making sure console doesn't use PiTFT
Removing console fbcon map from /boot/firmware/cmdline.txt
Screen blanking time reset to 10 minutes
PITFT Adding FBCP support...
Installing cmake...
Downloading rpi-fbcp...
Uncompressing rpi-fbcp...
Building rpi-fbcp...
Installing rpi-fbcp...
Remove fbcp from /etc/rc.local, if it's there...
We have systemd, so install fbcp systemd unit...
PITFT Created symlink /etc/systemd/system/multi-user.target.wants/fbcp.service → /etc/systemd/system/fbcp.service.
Setting raspi-config to boot to desktop w/o login...
Configuring boot/config.txt for forced HDMI
DEBUG 408 :: func: update_configtxt() :: pitftrot: {'270'}
Already have an adafruit-pitft-helper section in /boot/firmware/config.txt.
Removing old section...
DEBUG 417 :: func: update_configtxt() :: pitftrot: {'270'}
DEBUG 431 :: {'dtoverlay=pitft35-resistive,rotate=90,speed=20000000,fps=20'}
DEBUG 437 :: {'dtoverlay=pitft35-resistive,rotate=90,speed=20000000,fps=20'}
PITFT Updating Desktop Touch calibration...
DEBUG 691 :: 0.003893 -1.087542 1.025913 1.084281 0.008762 -0.060700 0 0 1
DEBUG 696 :: Option "TransformationMatrix" "0.003893 -1.087542 1.025913 1.084281 0.008762 -0.060700 0 0 1"
PITFT Success!

Settings take effect on next boot.

REBOOT NOW? [Y/n] n
Exiting without reboot.

Description

The dtoverlay line can be manually modified at the end of /boot/firmware/config.txt

dtoverlay=pitft35-resistive,rotate=270,speed=20000000,fps=20,drm

Additional information

forum user @ronaldlw pointed out the rotation issue

@mikeysklar mikeysklar added the bug label May 10, 2024
@mikeysklar mikeysklar changed the title adafruit-pitft.py rotation value stuck at 90 degrees adafruit-pitft.py rotation value always 90 degrees May 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant