Skip to content

usausa/turing-smart-screen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

270 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LCD Driver Library

Package Info Description
TuringSmartScreenLib NuGet Core
TuringSmartScreenLib.Helpers.SkiaSharp NuGet Helpers
TuringSmartScreenLib.Helpers.GdiPlus NuGet Helpers (GDI+, Windows)
LcdDriver.TrofeoVision NuGet Thermalright Trofeo Vision usb lcd controller
LcdDriver.TuringSmartScreen NuGet Turing-Smart-Screen usb lcd controller

👉What is this?

LCD controller libraries for the following devices:

🔲TuringSmartScreenLib

Turing Smart Screen 3.5 inch, 5 inch, 8 inch serial connection models.

Revision Screen Size Resolution
RevisionA 3.5 inch 320x480
RevisionB 3.5 inch 320x480
RevisionC 5 inch 800x480
RevisionE 8 inch 480x1920

🧩Usage

using SkiaSharp;

using TuringSmartScreenLib;
using TuringSmartScreenLib.Helpers.SkiaSharp;

using var screen = ScreenFactory.Create(ScreenType.RevisionB, "COM10");
screen.SetBrightness(100);
screen.Orientation = ScreenOrientation.Landscape;

using var bitmap = SKBitmap.Decode(File.OpenRead("genbaneko.png"));
var buffer = screen.CreateBufferFrom(bitmap);

screen.DisplayBuffer(0, 0, buffer);

🔲LcdDriver.TrofeoVision

Thermalright Trofeo Vision USB HID LCD controller (1280x480).

Item Value
Connection USB HID
Resolution 1280x480
VID / PID 0x0416 / 0x5302

🧩Usage

using HidSharp;
using LcdDriver.TrofeoVision;

var device = DeviceList.Local
    .GetHidDevices(ScreenDevice.VendorId, ScreenDevice.ProductId)
    .FirstOrDefault();

using var screen = new ScreenDevice(device);

var jpegBytes = await File.ReadAllBytesAsync("image-1280x480.jpg");
screen.DrawJpeg(jpegBytes);

🌐Link

🔲LcdDriver.TuringSmartScreen

Turing Smart Screen 8 inch USB Revision 1.1 LCD controller.

Item Value
Connection USB
Resolution 480x1920
VID / PID 0x1CBE / 0x0088

🧩Usage

using LibUsbDotNet.LibUsb;
using LibUsbDotNet.Main;
using LcdDriver.TuringSmartScreen;

using var usbContext = new UsbContext();
var finder = new UsbDeviceFinder { Vid = 0x1CBE, Pid = 0x0088 };
using var device = usbContext.Find(finder) as UsbDevice;
device?.Open();

using var screen = new ScreenDevice(device);
screen.Sync();
screen.SetOrientation(ScreenOrientation.Portrait);
screen.SetBrightness(100);

var jpegBytes = await File.ReadAllBytesAsync("image-480x1920.jpg");
screen.DrawJpeg(jpegBytes);

⚙️Prerequisites

LcdDriver.TuringSmartScreen requires the libusb-1.0 native library at runtime.
It must be installed separately for each platform.

OS How to install
Windows Download libusb-1.0.xx.7z from libusb releases, then place VS2022\MS64\dll\libusb-1.0.dll in the same directory as the executable.
Ubuntu / Debian sudo apt install libusb-1.0-0
Fedora / RHEL sudo dnf install libusb1
macOS brew install libusb

🛠️TuringSmartScreenTool

CLI for turing smart screen.

📦Install

> dotnet tool install -g TuringSmartScreenTool

📘Usage

> tsstool reset -r a -p COM10
> tsstool clear -r a -p COM10
> tsstool on -p COM10
> tsstool off -p COM10
> tsstool bright -p COM10 -l 192
> tsstool image -p COM10 -f genbaneko.png
> tsstool fill -p COM10 -c ff0000
> tsstool text -p COM10 -t TEST -x 80 -y 40 -s 96 -f Arial -c ff0000 -b 0000ff

Packages

 
 
 

Contributors

Languages