Skip to content

Different smart screen implementation in newer models? #24

@gerph

Description

@gerph

Describe the bug

The screen that I bought appears to have a different protocol, which isn't supported by this code - it has a separately controllable backlight (actually 4 lights, but they seem to all work the same way) and uses a 10 byte control sequence, rather than the 6 byte sequence used by the older models.

To Reproduce
Steps to reproduce the behavior:

  1. Buy the 'flagship' model from https://www.aliexpress.com/item/1005003723773653.html (probably others, but that's where I got mine)
  2. Run this software and see nothing happens.
  3. Be sad.
  4. Snoop the serial protocol on a Windows machine.
  5. Update the code to have the new protocol.
  6. Ask on this bug whether it's worth offering a fork with a PR in?

Expected behavior
I was excited you'd done the protocol analysis, and sad when I bought a different device and it didn't work. But now I have something that does work!

Screenshots / photos of the Turing screen
This model:

Front

Rear

Backlight is visible on the front and more obviously on the rear.

Environment:

  • Working with master + changes for new model
  • OS with version OSX 11.5.2
  • Python version 3.9.8
  • Hardware MacBook Pro.

Additional context

The new product has a different format for its commands...

  • Command packets are 10 bytes long, framed by the command byte at either end.
  • Command bytes are 0xCA-0xCE.
  • A 'HELLO' command elicits a response from the device of 'HELLO' followed by 0x0A, 0x12, 0x00. Useful to identify the device format.
  • An 'orientation' packet allows the orientation of the next bitmap block to be selected from landscape and portrait (column major or row major).
  • The graphics data is still 565, BUT... high 3 bits of green are in b0-b2, low 3 bits of green are in b13-15, red is in b3-7, blue is in b8-12.
  • A 'lighting' packet lets you select the colours of the backlight LEDs with 8bit RGB values.
  • Amusingly the 'lighting' isn't supported by the software that the seller included in their listing - although they mention it, there's no way to set the colours in their software.
  • There is no Clear, Screen off, or Screen on packet (as far as I can tell).

The device has a serial number of '2017-2-25' - so whilst this appears to be newer, the year implies that it was created longer ago?

Would you like a PR of the results of my investigation which works with the device?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions