Skip to content

About

LCD driver library for .NET - Turing Smart Screen 3.5/5/8-inch (serial & USB) and Thermalright Trofeo Vision, with drawing helpers and a CLI tool

Topics

Resources

Stars

63 stars

Watchers

2 watching

Forks

Latest commit

 

History

293 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.TuringSmartScreen NuGet Turing-Smart-Screen usb lcd controller
LcdDriver.TrofeoVision NuGet Thermalright Trofeo Vision usb lcd controller
LcdDriver.TrofeoVisionLy NuGet Thermalright Trofeo Vision 9.16 / 11.3 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.

Model Screen Size Resolution VID / PID Status
Trofeo Vision LCD 6.86 inch 1280x480 0x0416 / 0x5302 ✅

🧩Usage

using HidSharp;
using LcdDriver.TrofeoVision;

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

using var screen = new ScreenDevice(device);
var info = screen.Handshake();

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

🌐Link

🔲LcdDriver.TrofeoVisionLy

Thermalright Trofeo Vision 9.16 / 11.3 USB LCD controller.

Model Screen Size Resolution VID / PID Status
Trofeo Vision 9.16 LCD 9.16 inch 1920x480 0x0416 / 0x5408 ✅
Trofeo Vision 9.16 ARGB LCD 9.16 inch 1920x480 0x0416 / 0x5408 ❔
Trofeo Vision 11.3 LCD 11.3 inch 1920x400 0x0416 / 0x5408 ❔

🧩Usage

using LibUsbDotNet.LibUsb;
using LibUsbDotNet.Main;
using LcdDriver.TrofeoVisionLy;

using var usbContext = new UsbContext();
var finder = new UsbDeviceFinder { Vid = UsbIds.VendorId, Pid = UsbIds.ProductId };
using var device = usbContext.Find(finder) as UsbDevice;
device?.Open();

using var screen = new ScreenDevice(device);
var info = screen.Handshake();

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

🔲LcdDriver.TuringSmartScreen

Turing Smart Screen USB LCD controller.

Model Screen Size Resolution VID / PID Status
Turing Smart Screen 2.8 (round) 2.8 inch 480x480 0x1CBE / 0x0028 ❔
Turing Smart Screen 4.6 4.6 inch 320x960 0x1CBE / 0x0046 ❔
Turing Smart Screen 5.2 5.2 inch 720x1280 0x1CBE / 0x0050 ❔
Turing Smart Screen 8.0 8.0 inch 800x1280 0x1CBE / 0x0080 ❔
Turing Smart Screen 8.8 (Revision 1.1) 8.8 inch 480x1920 0x1CBE / 0x0088 ✅
Turing Smart Screen 9.2 9.2 inch 462x1920 0x1CBE / 0x0092 ❔
Turing Smart Screen 12.3 12.3 inch 720x1920 0x1CBE / 0x0123 ❔

🧩Usage

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

using var usbContext = new UsbContext();
var finder = new UsbDeviceFinder { Vid = UsbIds.VendorId, Pid = UsbIds.ProductId88 };
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 and LcdDriver.TrofeoVisionLy require 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

About

LCD driver library for .NET - Turing Smart Screen 3.5/5/8-inch (serial & USB) and Thermalright Trofeo Vision, with drawing helpers and a CLI tool

Topics

Resources

Stars

63 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages