mathoudebine / mathoudebine/turing-smart-screen-python
unending SerialExceptions 😲 after ~30 minutes of sending commands to screen —— having to power cycle 😥
Nobody has claimed this yet.
- Dominant language
- Rich Text Format
- Stars
- 2.3k
- Forks
- 412
- Avg merge
- 21h 10m
- Merged PRs (30d)
- 7
Description
Describe the bug
First off, i LOVE this project. I was so happy to see that i could do something ELSE with my turing model "A" screen. They are going for only $13 on aliexpress right now.
Anyway —— Is this a bug, or do I just need to throttle my commands at a slower rate?
To Reproduce
Steps to reproduce the behavior:
- Run my current winamp_dashboard.py program, which isn't yet published yet
- Watch it fail over unending SerialExceptions after 30 minutes or so
- Power cycle the frame because it will never ever reset eve again after this
I spent so long getting this thing to work, and once it worked. The frame conks out in 30 minutes.
Expected behavior
The library would not cause serialexceptions simply due to using it, or would return a more meaningful error code explaining what is going wrong and how to prevent that
Screenshots / photos of the Turing screen
Add screenshots or photos of the rendering on the smart screen to help explain your problem.
You can drag and drop photos here to add them to the description.
DEBUG] lcd_comm_rev_a: DisplayPILImage. is being run on an image of dimensions 800x40
DEBUG] lcd_comm_rev_a: DisplayPILImage. [2] image_width/h=0x0,actual=800x40
DEBUG] DDDDDDDDDDDDrawing: DisplayPILImage: [4] x=0,y=0,x0=0,y0=0,x1=799,y1=39,image.size[0]=800,image.size[1]=40
DEBUG] DDDDDDDDDDDDrawing: DisplayPILImage: [5] self.SendCommand(Command.DISPLAY_BITMAP, x0=0, y0=0, x1=799, y1=39)
ERROR] SerialException: Failed to send serial data to device. Infinitely retrying.
DEBUG] Static COM port: COM4
ERROR] Cannot open COM port COM4: could not open port 'COM4': FileNotFoundError(2, 'The system cannot find the file specified.', None, 2)
Environment:
- Turing A [the one that uses lcd_command_rev_a.py]
- Version of your project? 2024/08/21 (I pulled it 3 days ago, so probably the latest?)
- WIndows 11
- 3.10.9
- AMD Ryzen9 5950X 16core 3.4/4.9GHz CPU+Gigabyte Aorus Ultra mobo+64G 4400Hz G.Skill RGB RAM+RTX3060 12G video+1TB WD PCIe4.0 NVMe M.2 SSD+18TB WD HD+liquid cool(w/RGB cpu light)+6 RGB fans+Phanteks case
Additional context
I can totally publish the product if you want to look at it, but I assume you probably do not. It's just one .py script (winamp.py) and one library (claire_winamp.py, i always put my first name into my own libraries so i don't forget it was me who wrote them 😂). Heck i could even email them if you want to look at them (but you probably don't).
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 reviewing the serial retry and COM-port handling in lcd_command_rev_a.py, then compare it with the logged failure for COM4 and SerialException. Reproduction depends on the reporter's unpublished winamp_dashboard.py; done would mean identifying the cause of the long-running failure and defining a reliable recovery or meaningful error behavior.
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
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100