Hàm thiết bị
Hàm thiết bị
Phần tiêu đề “Hàm thiết bị”Các hàm này phục vụ để làm cho thiết bị tương thích với hệ thống components.
device.SetLedLimit()
Phần tiêu đề “device.SetLedLimit()”Hàm này nhận giá trị Int và đặt giới hạn trên của LED cho tất cả các kênh components của thiết bị. Nó được sử dụng để kiểm tra an toàn trong backend và ngăn người dùng làm quá tải thiết bị của họ với nhiều tiêu thụ điện hơn mức chúng có thể chịu. Nên đặt ở cùng giá trị tối đa mà nhà sản xuất chỉ định cho thiết bị.
| Tham số | Mô tả | Kiểu | Ví dụ |
|---|---|---|---|
| LedLimit | Giới hạn LED mong muốn cho tất cả các kênh thiết bị | Int | 80 |
const DeviceMaxLedLimit = 233; device.SetLedLimit(DeviceMaxLedLimit);device.getLedCount()
Phần tiêu đề “device.getLedCount()”Hàm này trả về tổng số LED hiện tại của tất cả các components trên tất cả các kênh thiết bị. Mục đích sử dụng chính là kiểm tra xem có components nào được chọn không, vì 0 LED cũng giống như 0 components.
| Trả về | Mô tả | Kiểu | Ví dụ |
|---|---|---|---|
| LedCount | Số lượng LED hiện tại của tất cả các kênh | Int | 64 |
let ColorData = [] if(LightingMode == "Forced"){ // do stuff }else if(device.getLedCount() == 0){ // do stuff }else{ // do stuff }device.addChannel()
Phần tiêu đề “device.addChannel()”Hàm này thêm một kênh components mới vào thiết bị. Khi kênh đầu tiên được thêm, UI cấu hình components xuất hiện trên trang thiết bị. Hàm nhận một LedLimit tùy chọn nhưng được khuyến nghị để cảnh báo người dùng khi họ vượt quá giới hạn LED an toàn của thiết bị. Giới hạn này được sử dụng ở nhiều nơi, vì vậy nên đặt nó.
| Tham số | Mô tả | Kiểu | Ví dụ |
|---|---|---|---|
| ChannelName | ChannelName được sử dụng để tham chiếu kênh này | String | ”Channel 1” |
| LedLimit | Giới hạn LED hoạt động an toàn của kênh | Int | 204 |
//Channel Name, Led Limitvar ChannelArray = [ ["Channel 1", 204], ["Channel 2", 204],]
function SetupChannels(){ device.SetLedLimit(DeviceMaxLedLimit); for(let i = 0; i < ChannelArray.length; i++){ device.addChannel(ChannelArray[i][0],ChannelArray[i][1]); }}device.removeChannel()
Phần tiêu đề “device.removeChannel()”Hàm này xóa một kênh khỏi thiết bị. Trong điều kiện bình thường, hàm này không cần thiết vì các kênh được dọn sạch khi SignalRGB đóng. Tuy nhiên, vì các kênh tồn tại giữa các lần tải lại tệp plugin, bạn có thể muốn dọn sạch chúng trong hàm initialize nếu bạn gặp vấn đề trong quá trình phát triển plugin.
| Tham số | Mô tả | Kiểu | Ví dụ |
|---|---|---|---|
| ChannelName | ChannelName cần xóa | String | ”Channel 1” |
device.createChannel("Channel1") // Do stuff device.removeChannel("Channel1")device.getChannelNames()
Phần tiêu đề “device.getChannelNames()”Hàm này trả về tên của tất cả các kênh hiện có trên thiết bị. Mục đích sử dụng chính là để debug, vì tên kênh nên được lưu trữ trong logic plugin với chỉ số kênh cho các packet thiết bị. Tuy nhiên, nó cũng có thể được sử dụng để lặp qua tất cả các kênh thiết bị với một chút mất hiệu suất.
| Trả về | Mô tả | Kiểu | Ví dụ |
|---|---|---|---|
| Channel Names | Danh sách tất cả tên kênh trên thiết bị | 1D Array | [“Channel 1”,“Channel 2”] |
let channels = device.getChannelNames();device.channel()
Phần tiêu đề “device.channel()”Đây là điểm nhập của bạn để tương tác với ComponentChannels. Trả về tham chiếu đến ComponentChannel chính khi một cái khớp với ChannelName được cung cấp; nếu không trả về null.
| Tham số | Mô tả | Kiểu | Ví dụ |
|---|---|---|---|
| ChannelName | ChannelName để lấy tham chiếu | String | ”Channel 1” |
| Trả về | Mô tả | Kiểu |
|---|---|---|
| ComponentChannel | Đối tượng ComponentChannel | ComponentChannel | Null |
let components = device.channel("Channel 1").getComponentNames();ComponentChannel
Phần tiêu đề “ComponentChannel”Các hàm này được sử dụng để điều khiển và tương tác với một tham chiếu ComponentChannel cụ thể.
channel.SetLedLimit()
Phần tiêu đề “channel.SetLedLimit()”Tương tự như hàm device.ledLimit(), hàm này đặt giới hạn LED an toàn tối đa cho ComponentChannel này.
| Tham số | Mô tả | Kiểu | Ví dụ |
|---|---|---|---|
| LedLimit | Giới hạn LED mong muốn cho kênh | Int | 16 |
device.channel("Channel 1").SetLedLimit(204);channel.LedCount()
Phần tiêu đề “channel.LedCount()”Trả về số lượng LED mà người dùng đã cấu hình trên ComponentChannel này.
| Trả về | Mô tả | Kiểu | Ví dụ |
|---|---|---|---|
| LedCount | Số lượng LED hiện tại của kênh | Int | 16 |
let ChannelLedCount = device.channel("Channel 1").LedCount();channel.getColors()
Phần tiêu đề “channel.getColors()”Hàm này trả về một mảng dữ liệu màu RGB dựa trên bản đồ LED và tọa độ thiết bị. Giá trị trả về của hàm này phụ thuộc rất nhiều vào việc đặt đúng các đối số.
| Tham số | Mô tả | Kiểu | Ví dụ | Mặc định |
|---|---|---|---|---|
| ArrayOrder | Định dạng mảng mong muốn | String | ”Inline" | "Seperate” |
| ColorOrder | Thứ tự màu mong muốn | String | ”RGB" | "RGB” |
| Array Order | Mô tả | Kiểu | Ví dụ |
|---|---|---|---|
| Inline | Định dạng dữ liệu màu thành mảng phẳng theo thứ tự đúng | 1D Array | [R,G,B,R,G,B] |
| Seperate | Định dạng dữ liệu màu thành 3 kênh riêng biệt | 2D Array | [[R,R], [G,G], [B,B]] |
ColorOrder là tổ hợp 3 chữ cái của “RGB”, ví dụ: “BGR”, “GBR”, “RBG”. Nó xác định thứ tự màu khi sử dụng Inline ArrayOrder. Các giá trị không hợp lệ được reset về “RGB”.
| Trả về | Mô tả | Kiểu | Ví dụ |
|---|---|---|---|
| RGB Data | Dữ liệu màu RGB được trả về theo định dạng mong muốn | Array | Xem bảng Array Order |
RGBData = device.channel("Channel 1").getColors("Inline", "GRB");channel.shouldPulseColors()
Phần tiêu đề “channel.shouldPulseColors()”Hàm này trả về giá trị boolean cho biết liệu kênh thiết bị này có nên “nhấp nháy” hay không. Điều này có thể được yêu cầu khi không có components nào được chọn hoặc khi UI onboarding thiết lập component đang được hiển thị.
device.getChannelPulseColor() có thể được sử dụng để lấy màu nhấp nháy dự kiến.
| Trả về | Kiểu | Mô tả |
|---|---|---|
| ShouldPulse | boolean | Liệu kênh này có nên nhấp nháy không |