콘텐츠로 이동

유틸리티

이 함수는 캔버스에서 색상 데이터를 가져오는 방법입니다. 캔버스의 장치 픽셀 버퍼 내의 X, Y 위치를 받아 해당 픽셀의 색상을 [R, G, B] 배열로 반환합니다.

매개변수유형설명예시
XInt장치 픽셀 버퍼 내의 X 좌표를 나타내는 정수 값5
YInt장치 픽셀 버퍼 내의 Y 좌표를 나타내는 정수 값3
  • 참고: 전송된 X, Y 좌표는 Size() 내보내기로 설정된 픽셀 버퍼 내에 있어야 합니다.
반환값유형설명예시
ColorArray1D 배열0-255(16진수 00-FF) 범위의 [R, G, B] 값을 포함하는 길이 3 배열[128,158,255]

아래는 일반적인 상황에서 이 함수를 사용하는 간략화된 예시입니다.

for(var iIdx = 0; iIdx < vLedPositions.length; iIdx++) //For each Led on the device
{
var iPxX = vLedPositions[iIdx][0]; //Get the X and Y values from the [X,Y] array
var iPxY = vLedPositions[iIdx][1];
var col; // create a variable to contain the [R.G.B] array data
if(shutdown){ // Check for some settings that can override the Device.color() call
col = hexToRgb(shutdownColor)
}else if (LightingMode == "Forced") {
col = hexToRgb(forcedColor)
}else{
col = device.color(iPxX, iPxY); //Calling Device.color with the X and Y values
}
//Saving the Color data in order into a larger Array of all the LED's data
RGBdata[iIdx*3] = col[0]; // Red Channel
RGBdata[iIdx*3+1] = col[1]; //Green Channel
RGBdata[iIdx*3+2] = col[2]; //Blue Channel
TotalLedCount += 1;
}

SignalRGB에서 장치의 현재 밝기 수준을 반환합니다. 이 값은 device.color() 또는 유사 함수가 반환하는 색상에 이미 적용되어 있습니다.

반환값유형설명예시
Brightnessint0-100 범위의 현재 밝기42

현재 시스템 마더보드의 WMI 이름을 반환합니다.

반환값유형설명예시
MotherboardNamestring시스템 마더보드 이름B550 Aorus Elite

이 함수는 주어진 시간 동안 장치 스레드를 일시 중지하려고 합니다. 운영 체제가 스레드 슬립을 처리하는 방식 때문에 이 일시 중지가 정확하게 보장되지는 않습니다.

매개변수유형설명예시
DurationInt요청된 일시 중지 시간(밀리초)1
  • 참고: Windows의 최소 슬립 시간은 1-2ms이며, 슬립이 길어질수록 정확도가 떨어지므로 정확한 타이밍에는 사용하지 마십시오.
packet[89] = CalculateCrc(packet);
device.send_report(packet, 91);
device.pause(1); // We need a pause here (between packets), otherwise the ornata can't keep up.

이 함수는 모든 읽기 및 쓰기 명령의 활성 엔드포인트를 변경합니다. 이것은 다른 명령을 위한 여러 개의 열린 엔드포인트가 있는 장치에 유용합니다. 일반적인 예로는 RGB 데이터 엔드포인트와 DPI 설정과 같은 시스템 명령 엔드포인트가 있는 Logitech 장치가 있습니다.

매개변수유형설명예시
interfaceHEX열 엔드포인트의 인터페이스를 나타내는 0x 16진수 값0x0002
usageHEX열 엔드포인트의 usage를 나타내는 0x 16진수 값0x0006
usage_pageHEX열 엔드포인트의 usage_page를 나타내는 0x 16진수 값0x0080
collectionHEX열 엔드포인트의 collection을 나타내는 0x 16진수 값0x0001
function Apply()
{
var packet = [];
packet[0] = 0x11;
packet[1] = 0xFF;
packet[2] = 0x0C;
packet[3] = 0x5E;
device.set_endpoint(1, 0x0602, 0xff43); // System Interface
device.write(packet, 20);
}

이 함수는 플러그인 버전의 console.log입니다. 문자열, 숫자, 객체 또는 배열을 받아 디버깅 및 사용자 정보를 위해 장치의 콘솔에 기록합니다. DPI 변경, 오류 등을 나열하거나 개발 중 패킷 레이아웃이나 읽기 명령의 입력을 확인하는 데 특히 유용합니다.

  • 참고: 이 함수는 가능한 곳에서는 JavaScript 변수를 문자열로 변환하려고 합니다. parseInt(), toString(), 또는 JSON.stringify를 사용한 JavaScript 템플릿 리터럴 로깅으로 변환 및 형식에 대한 더 많은 제어를 할 수 있습니다.
매개변수유형설명예시기본값
ItemJavascript Value기록할 문자열, 숫자, 배열 또는 다른 JavaScript 값
OptionsJavaScript Object설정 매개변수를 포함하는 Javascript 객체{hex: True}{}
옵션설명유형기본값
Hex정수를 10진수 또는 16진수 형식으로 출력할지 설정BooleanFalse
toFile출력된 항목을 디버그 로그에 표시할지, 아니면 장치 콘솔에만 표시할지 설정BooleanFalse
let ImportantData = "i have really important info here";
device.log(ImportantData, {toFile: true})

알림은 장치에 문제가 있는 경우 사용자에게 시각적으로 표시하는 데 사용할 수 있습니다. 장치가 제대로 설정되지 않은 것과 같이 심각한 문제에만 드물게 사용해야 합니다.

사용자에 대한 새 알림을 생성합니다. 반환값을 사용하여 사용자가 알려진 문제를 해결했을 때 알림을 선택적으로 제거할 수 있습니다.

알림 우선순위설명
Info일반 알림0
Important중요 (강조 표시) 알림1
매개변수유형설명예시
TitleString알림 제목Firmware Incompatible
DescriptionString알림 설명Firmware Version must be >= 2.0.0
PriorityInt알림 우선순위0 | 1
반환값유형설명
AlertIdString생성된 알림의 Id 문자열
let Alertid = device.notify("Really Important Issue", "Please Fix", 1);

지정된 알림이 있으면 제거합니다.

매개변수유형설명
AlertIdStringdevice.notify에서 반환된 AlertId
let Alertid = device.notify("Really Important Issue", "Please Fix", 1);
// Do stuff and recheck if the alerted issue is fixed
device.denotify(AlertId);

장치 메시지는 중요하지만 심각하지 않은 정보를 사용자에게 전달하는 방법을 제공합니다. 이 메시지는 장치 페이지에만 나타납니다.

지정된 MessageId로 새 장치 메시지를 추가합니다.

매개변수유형설명예시
messageIdstring장치 메시지에 연결된 MessageId”mymessage”
messagestring표시될 메시지 텍스트”The message”
tooltipstring마우스를 올릴 때 표시되는 추가 텍스트”Some more info”
device.addMessage("message1", "Hey Dude you should know this", "Here's some extra info about it too");

지정된 MessageId로 생성된 메시지가 있으면 제거합니다.

매개변수유형설명
messageIdstring제거할 MessageId
device.addMessage("message1", "Hey Dude you should know this", "Here's some extra info about it too");
// message is no longer relevant
device.removeMessage("message1");