콘텐츠로 이동

컴포넌트 함수

이 함수들은 장치가 컴포넌트 시스템과 호환되도록 설정하는 데 사용됩니다.

이 함수는 정수 값을 받아 장치의 모든 컴포넌트 채널에 대한 상한 LED 한계를 설정합니다. 백엔드의 안전 검사에 사용되며 사용자가 장치가 감당할 수 있는 것 이상의 전력을 소비하지 않도록 합니다. 제조사가 장치에 제한하는 최대 값으로 설정해야 합니다.

매개변수설명유형예시
LedLimit장치의 모든 채널에 대한 원하는 LED 한계Int80
const DeviceMaxLedLimit = 233;
device.SetLedLimit(DeviceMaxLedLimit);

이 함수는 장치의 모든 채널의 모든 컴포넌트의 현재 결합된 LED 수를 반환합니다. 주요 용도는 컴포넌트가 선택되지 않은 경우 0 LED와 0 컴포넌트가 동일하므로 이를 확인하는 것입니다.

반환값설명유형예시
LedCount모든 채널의 현재 LED 수Int64
let ColorData = []
if(LightingMode == "Forced"){
// do stuff
}else if(device.getLedCount() == 0){
// do stuff
}else{
// do stuff
}

이 함수는 장치에 새 컴포넌트 채널을 추가합니다. 첫 번째 채널이 추가되면 장치 페이지에 컴포넌트 설정 UI가 나타납니다. 이 함수는 선택적이지만 권장되는 LedLimit을 받아 사용자에게 장치의 안전한 LED 한계를 초과하지 않도록 경고합니다. 이 한계는 여러 곳에서 사용되므로 설정하는 것이 강력히 권장됩니다.

매개변수설명유형예시
ChannelName이 채널을 참조하는 데 사용할 ChannelNameString”Channel 1”
LedLimit채널의 안전한 LED 한계Int204
//Channel Name, Led Limit
var 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]);
}
}

이 함수는 장치에서 채널을 제거합니다. 일반적인 상황에서는 SignalRGB가 종료될 때 채널이 정리되므로 이 함수가 필요하지 않습니다. 그러나 채널은 플러그인 파일의 핫 리로드 사이에 유지되므로 플러그인을 개발하는 동안 문제가 발생하면 초기화 함수에서 채널을 지우고 싶을 수 있습니다.

매개변수설명유형예시
ChannelName제거할 ChannelNameString”Channel 1”
device.createChannel("Channel1")
// Do stuff
device.removeChannel("Channel1")

이 함수는 장치에 현재 있는 모든 채널의 이름을 반환합니다. 주요 용도는 디버깅이며, 채널 이름은 장치 패킷의 채널 인덱스와 함께 플러그인의 로직 내에 저장되어야 합니다. 그러나 약간의 성능 손실을 감수하고 장치의 모든 채널을 반복하는 데 사용할 수도 있습니다.

반환값설명유형예시
Channel Names장치의 모든 채널 이름 목록1D 배열[“Channel 1”,“Channel 2”]
let channels = device.getChannelNames();

이것은 ComponentChannel과 상호작용하기 위한 진입점입니다. 주어진 ChannelName과 일치하는 ComponentChannel이 있으면 참조를 반환하고, 없으면 null을 반환합니다.

매개변수설명유형예시
ChannelName참조를 가져올 ChannelNameString”Channel 1”
반환값설명유형
ComponentChannelComponentChannel 객체ComponentChannel | Null
let components = device.channel("Channel 1").getComponentNames();

이 함수들은 특정 ComponentChannel 참조를 제어하고 상호작용하는 데 사용됩니다.

유사한 device.ledLimit() 함수처럼 이 함수는 이 ComponentChannel의 최대 안전 LED 한계를 설정합니다.

매개변수설명유형예시
LedLimit채널에 원하는 LED 한계Int16
device.channel("Channel 1").SetLedLimit(204);

이 함수는 이 ComponentChannel에서 사용자가 구성한 LED 수를 반환합니다.

반환값설명유형예시
LedCount채널의 현재 LED 수Int16
let ChannelLedCount = device.channel("Channel 1").LedCount();

이 함수는 장치의 LED 맵과 좌표를 기반으로 RGB 색상 데이터 배열을 반환합니다. 이 함수의 반환값은 설정한 인수에 크게 의존합니다.

매개변수설명유형예시기본값
ArrayOrder원하는 배열 형식String”Inline""Seperate”
ColorOrder원하는 색상 순서String”RGB""RGB”
배열 순서설명유형예시
Inline색상 데이터를 순서대로 평면 배열로 형식화1D 배열[R,G,B,R,G,B]
Seperate색상 데이터를 3개의 별도 채널로 형식화2D 배열[[R,R], [G,G], [B,B]]

ColorOrder는 “RGB”의 3글자 조합입니다. 예: “BGR”, “GBR”, “RBG”. Inline ArrayOrder를 사용할 때 색상 순서를 결정합니다. 유효하지 않은 값은 “RGB”로 기본값이 됩니다.

반환값설명유형예시
RGB Data원하는 형식의 반환된 RGB 색상 데이터배열배열 순서 표 참조
RGBData = device.channel("Channel 1").getColors("Inline", "GRB");

이 함수는 이 장치 채널이 ‘펄스’해야 하는지에 대한 부울을 반환합니다. 선택된 컴포넌트가 없거나 온보딩 컴포넌트 설정 UI가 표시되는 경우 요청될 수 있습니다.

예상되는 펄스 색상을 얻으려면 device.getChannelPulseColor()를 사용할 수 있습니다.

반환값유형설명
ShouldPulseboolean이 채널이 펄스해야 하는지 여부