Menentukan Tipe Perangkat
Ekspor Type() memberi tahu SignalRGB protokol komunikasi USB mana yang digunakan untuk plugin Anda. Memilih tipe yang salah adalah salah satu alasan paling umum mengapa plugin gagal berkomunikasi dengan perangkat.
export function Type() { return "hid"; }Tipe yang Tersedia
Section titled “Tipe yang Tersedia”| String tipe | Protokol | Perangkat tipikal |
|---|---|---|
"hid" | HID (Human Interface Device) | Keyboard, mouse, headset, sebagian besar periferal konsumen |
"rawusb" | Transfer bulk/interrupt USB mentah melalui libusb | AIO cooler, layar LCD, hardware kustom, pengontrol pencahayaan |
"hybrid" | Baik HID maupun raw USB secara bersamaan | Perangkat yang menggunakan HID untuk perintah kontrol tetapi bulk USB untuk data besar (misalnya monitor Alienware, AIO ASUS Ryuo) |
"serial" | Serial/COM port | Pengontrol berbasis Arduino, Hyte CNVS |
"smbus" | SMBus / I²C | Stik RAM, GPU, header motherboard yang diakses melalui SMBus |
"network" | Socket jaringan (TCP atau UDP) | Pengontrol yang terhubung Wi-Fi atau Ethernet |
String tipe tidak case-sensitive — "HID", "Hid", dan "hid" semuanya berfungsi, tetapi huruf kecil adalah konvensinya.
HID adalah tipe yang paling umum. Sistem operasi memberi SignalRGB akses langsung ke perangkat tanpa memerlukan driver kustom. Gunakan ini untuk keyboard, mouse, headset, dan sebagian besar periferal konsumen.
export function Type() { return "hid"; }Dengan HID Anda menggunakan device.write() / device.send_report() untuk penulisan, dan device.read() / device.get_report() untuk pembacaan. Lihat Writes and Reads untuk detailnya.
Raw USB
Section titled “Raw USB”Raw USB melewati lapisan HID dan berkomunikasi langsung dengan perangkat menggunakan libusb. Anda memerlukan ini ketika:
- Perangkat bukan perangkat kelas HID
- Anda memerlukan transfer bulk yang lebih besar dari batas ukuran paket HID
- Perangkat memerlukan akses tingkat libusb (misalnya untuk streaming gambar LCD)
export function Type() { return "rawusb"; }Dengan raw USB Anda menggunakan fungsi device.write() dan device.read() yang sama, tetapi sekarang dipetakan ke transfer bulk/interrupt libusb daripada HID. Anda juga dapat menggunakan device.bulk_transfer() dan device.control_transfer() untuk kontrol lebih. Lihat Advanced Communication.
Hybrid
Section titled “Hybrid”Gunakan "hybrid" ketika suatu perangkat menggunakan HID untuk beberapa perintah (misalnya autentikasi atau konfigurasi) dan transfer bulk USB mentah untuk yang lain (misalnya streaming data gambar ke LCD). Endpoint HID maupun endpoint raw USB dibuka secara bersamaan.
export function Type() { return "hybrid"; }Serial
Section titled “Serial”Untuk perangkat yang terhubung melalui COM port. Impor @SignalRGB/serial dan gunakan metode read/write-nya. Lihat Advanced Communication untuk API serial lengkap.
import { serial } from "@SignalRGB/serial";export function Type() { return "serial"; }Cara Menentukan Tipe yang Tepat
Section titled “Cara Menentukan Tipe yang Tepat”Jika Anda tidak yakin tipe mana yang dibutuhkan perangkat Anda, mulailah di sini:
Apakah Windows mengenumerasinya sebagai perangkat HID?├─ Ya → mulai dengan "hid"│ Jika perintah tulis gagal → coba "rawusb"│ Jika perangkat juga memerlukan transfer bulk besar → gunakan "hybrid"│├─ Tidak, ini adalah COM/serial port → "serial"│├─ Tidak, ini ada di jaringan → "network"│└─ Tidak, ini adalah perangkat SMBus (RAM, GPU) → "smbus"Cara paling andal untuk memeriksa adalah membuka USBDeview atau Device Manager dan melihat kelas perangkat. Kelas HID berarti "hid". Kelas USB atau libusb berarti "rawusb". Jika Anda melihat keduanya, "hybrid" mungkin diperlukan.
Jika ragu, coba "hid" terlebih dahulu. Jika device.write() mengembalikan error atau perangkat tidak merespons, beralih ke "rawusb".