ข้ามไปยังเนื้อหา

การ export ของปลั๊กอิน

เราใช้ฟังก์ชันหลายตัวในการสื่อสารกับ API แบ็กเอนด์ ซึ่งรายงานข้อมูลต่าง ๆ เช่น ข้อมูลอุปกรณ์และจุดเริ่มต้นขณะรันไทม์ ชื่อที่แสดง ขนาดแคนวาส ID ผลิตภัณฑ์และผู้ผลิตที่ใช้ค้นหา ลูปการเรนเดอร์คืออะไร เป็นต้น

ฟังก์ชันเหล่านี้ export ชื่อของอุปกรณ์และผู้เผยแพร่เพื่อแสดงใน SignalRGB

export function Name() { return "Device Product name as a String"; };
export function Publisher() { return "This is You! as a String"; };

ฟังก์ชันเหล่านี้ใช้ค้นหาอุปกรณ์ในระบบ ทั้งสองค่าเข้ารหัสเป็นค่าฐานสิบหกในรูปแบบ “0x ” ค่าเหล่านี้ต้องตรงกับ ID ของอุปกรณ์ของคุณทุกประการ หากปลั๊กอินของคุณไม่ปรากฏใน SignalRGB สาเหตุที่เป็นไปได้มากที่สุดคือ vendor ID และ product ID ไม่ตรงกัน สิ่งที่จำเป็นขั้นต่ำในการตรวจพบอุปกรณ์ใน SignalRGB คือ vendor ID และ product ID ที่ตรงกัน

export function VendorId() { return 0xABCD;}; //Device's USB Vendor Id in Hex
export function ProductId() { return 0xABCD;}; //Device's USB Product Id in Hex

ฟังก์ชันนี้กำหนดขนาดพื้นฐานของกล่องอุปกรณ์บนแคนวาส — ก่อนการปรับขนาดใด ๆ — เป็นอาร์เรย์ 2 มิติที่มีเฉพาะจำนวนเต็ม คุณไม่สามารถดึงสีนอกขอบเขตเหล่านี้ในปลั๊กอินได้ ดังนั้นต้องกำหนดขนาดให้รองรับความกว้างและความสูงของ LED ของอุปกรณ์เมื่อคุณแปลงตำแหน่งเหล่านั้นลงในกริด

export function Size() { return [X,Y]; };

ฟังก์ชันเหล่านี้จะกำหนดตำแหน่งเริ่มต้นของอุปกรณ์ก่อนที่ผู้ใช้จะปรับแต่งใด ๆ DefaultPosition ส่งคืนพิกัด 2 มิติของมุมบนซ้าย DefaultScale ส่งคืนตัวคูณการปรับขนาดในช่วง 1.0-30.0

export function DefaultPosition(){return [X,Y]};
export function DefaultScale(){return 8.0};

ฟังก์ชันนี้ส่งคืนอาร์เรย์ 2 มิติของชื่อ LED ทั้งหมดบนอุปกรณ์ ชื่อเหล่านี้ควรเป็นไปตามชื่อปุ่มที่รองรับซึ่งอยู่ที่นี่ เพื่อรองรับเอฟเฟกต์การกดปุ่มและฟีเจอร์การระบายสี LED

var vLedNames = [
"Scroll Wheel",
"Side Led 1","Side Led 2","Side Led 3","Side Led 4", "Side Led 5","logo", "Right Side Led",
"Dpi 1","dpi 2","Dpi 3",
"Battery indicator"
];
export function LedNames(){return vLedNames;};

ฟังก์ชันนี้ส่งคืนเมทริกซ์ของตำแหน่ง LED แต่ละดวงภายในบัฟเฟอร์พิกเซลของอุปกรณ์ ตำแหน่งทั้งหมดต้องอยู่ภายในขอบเขตที่กำหนดโดย export Size() ของอุปกรณ์

var vLedPositions = [
[3,0],
[0,1],[0,2],[0,3],[0,4],[0,5],[3,5],[5,5],
[0,2],[0,1],[0,0],
[3,1]
];
export function LedPositions(){return vLedPositions;};

ฟังก์ชันนี้ประกอบด้วยการตั้งค่าทั้งหมดของปลั๊กอินอุปกรณ์ การตั้งค่าเหล่านี้ถูกเก็บเป็นอ็อบเจกต์ JS/JSON ที่ฟังก์ชันส่งคืนภายในอาร์เรย์ ดูข้อมูลเพิ่มเติมได้ที่ ตัวควบคุมสำหรับผู้ใช้

export function ControllableParameters(){
return [
{SETTING},
{SETTING}
];
}

ฟังก์ชันนี้มีหน้าที่กำหนดว่า SignalRGB ต้องการเปิดและใช้เอนด์พอยต์ USB ใดสำหรับอุปกรณ์ เอนด์พอยต์ทุกตัวจะมีพารามิเตอร์สี่ตัวสำหรับใช้เป็นตัวกรอง ซึ่งสอดคล้องกับค่าของเอนด์พอยต์ USB แต่ละตัวบนอุปกรณ์ สามารถ ‘เปิด’ หลายเอนด์พอยต์สำหรับแต่ละอุปกรณ์ได้ แต่จะใช้งานได้ครั้งละหนึ่งตัวเท่านั้น หากต้องการเปลี่ยนเอนด์พอยต์ที่ใช้งานอยู่ โปรดดู device.set_endpoint()

หมายเหตุ: โดยทั่วไปคำสั่งจะต้องถูกส่งไปยังเอนด์พอยต์ที่เฉพาะเจาะจง คำสั่งที่ส่งไปยังเอนด์พอยต์ที่อุปกรณ์กำหนดค่าให้รับ report id หรือความยาวที่แน่นอนจะเกิดข้อผิดพลาดหากค่าเหล่านั้นไม่ตรงกัน

หมายเหตุ: อุปกรณ์บางรุ่นอาจใช้เอนด์พอยต์ไม่เหมือนกัน ขึ้นอยู่กับสถานที่และช่วงเวลาที่ผลิตอุปกรณ์ การตรวจสอบหลายเอนด์พอยต์ช่วยให้คุณสามารถสลับไปใช้ตัวสำรองได้โดยอัตโนมัติหากจำเป็น

พารามิเตอร์ที่มีให้ใช้
interface
usage
usage_page
collection
export function Validate(endpoint)
{
return (endpoint.interface === 2 && endpoint.collection === 0x0003) ||
endpoint.interface === 1;
}

ฟังก์ชันนี้กำหนดประเภทโปรโตคอล USB ที่จะใช้ อุปกรณ์ส่วนใหญ่ใช้โปรโตคอล HID แต่อุปกรณ์บางประเภท เช่น AIO จะใช้ฟังก์ชันควบคุม Raw USB แทน

หมายเหตุ: ค่าเริ่มต้นเมื่อ SignalRGB ไม่พบฟังก์ชันนี้คือโปรโตคอล HID

โปรโตคอลค่าสตริง
HID”HID”
Lib/raw USB”RAWUSB"
export function Type() { return "Hid"; }

ฟังก์ชันนี้ export รายชื่อไฟล์ exe ที่ขัดแย้งกัน SignalRGB จะไม่เริ่มต้นปลั๊กอินขณะที่มีโปรเซสใดในรายการนี้ทำงานอยู่ ปลั๊กอินจะถูกเริ่มต้นเมื่อโปรเซสที่ขัดแย้งถูกปิด หรือเมื่อผู้ใช้ข้ามข้อความแสดงข้อผิดพลาด

หมายเหตุ: ชื่อเหล่านี้ต้องตรงกับชื่อ exe ที่กำลังทำงานทุกประการ

export function ConflictingProcesses() {
return ["NGenuity2.exe"];
}

ฟังก์ชันนี้ส่งคืนสตริง URL ของรูปภาพอุปกรณ์ ขนาดรูปภาพปลั๊กอินมาตรฐานคือ 1024x1024 พร้อมพื้นที่แสดงผลจริง 920x920

export function ImageUrl(){ return "URL image string";}