mathoudebine / mathoudebine/turing-smart-screen-python
(Turing 2.1) Screen isn´t recognize after restarting the app or rebooting the system.
Nobody has claimed this yet.
- Dominant language
- Rich Text Format
- Stars
- 2.3k
- Forks
- 412
- Avg merge
- 21h 10m
- Merged PRs (30d)
- 7
Description
What is the problem:
Sometimes the app can´t reset the screen but its kinda random. It stays frozen on the default message It`s your world! be creative!¨.
The only way to make it work again is by turning off the screen by unpluging it or unplug the power supply for a few secs.
To Reproduce
Steps to reproduce the behavior:
- Restart the app (whether using the main.py or the configuration.py)
- wait for the app to restart the device and load your settings
Expected behavior
The screen restarts and the image shows up with the graphics and info.
Logs
[DEBUG] HW revision: C
[DEBUG] Waiting for device /dev/ttyACM1 - UsbMonitor to be turned ON...
[DEBUG] Detected screen turned ON
[DEBUG] Auto detected COM port: /dev/ttyACM0
[DEBUG] Using Python 3.14.4 (main, Apr 11 2026, 09:29:24) [GCC 15.2.1 20260209]
[INFO] Tray icon has been displayed
[INFO] Initialize display
[INFO] Display reset (COM port may change)...
[ERROR] Failed to dock icon
[DEBUG] Static COM port: /dev/ttyACM0
[DEBUG] Display ID returned: ^Ai^@^@^@^A^@^@^@^@^
[WARNING] Display returned invalid or unsupported ID, try again in 1 second
[DEBUG] Display ID returned: ^@^@^@^@^@^@^@^@^@^@^@^
[WARNING] Display returned invalid or unsupported ID, try again in 1 second
Environment:
- Smart screen model [Turing 2.1]
- Revision of this project [latest commit]
- OS with version [cachyOS - but it happened on other linux distros too]
- Python version [Python 3.14]
- Hardware [AMD 9800X3D, AMD Radeon RX9070XT, 32GB RAM]
Additional context
Add any other context about the problem here.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the failure through main.py and configuration.py, then trace the display reset and serial initialization around the logged invalid display IDs. Compare the reset path with the detected COM ports and device state. Done means the Turing 2.1 screen reliably resets after an app restart or reboot and displays the configured graphics without power cycling.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- embedded-iot
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100