تخطَّ إلى المحتوى

دوال المكوّنات

تُستخدم هذه الدوال لإعداد الجهاز ليكون متوافقًا مع نظام المكوّنات

تأخذ هذه الدالة قيمة عددية صحيحة وتضبط الحد الأعلى لعدد مصابيح 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
}

تضيف هذه الدالة قناة مكوّنات جديدة إلى الجهاز. عند إضافة القناة الأولى ستظهر واجهة تهيئة المكوّنات في صفحة الجهاز. تأخذ هذه الدالة معاملًا اختياريًا لكنه موصى به وهو LedLimit لتحذير المستخدم من تجاوز الحدود الآمنة لعدد مصابيح LED في الجهاز. يُستخدم هذا الحد في أماكن متعددة، لذا يُوصى بشدة بضبطه.

المعاملالوصفالنوعمثال
ChannelNameاسم القناة الذي سيُستخدم للإشارة إلى هذه القناةString”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اسم القناة المراد إزالتهاString”Channel 1”
device.createChannel("Channel1")
// Do stuff
device.removeChannel("Channel1")

تُرجع هذه الدالة أسماء جميع القنوات الموجودة حاليًا على الجهاز. الاستخدام الأساسي هنا لأغراض التصحيح، إذ يجب تخزين أسماء القنوات ضمن منطق الإضافة مع فهرس القناة الخاص بحزم الجهاز. ومع ذلك، يمكن استخدامها للتكرار على جميع القنوات في الجهاز إذا رغبت في ذلك، مقابل خسارة طفيفة في الأداء.

القيمة المُرجعةالوصفالنوعمثال
Channel Namesقائمة بجميع أسماء القنوات على الجهازمصفوفة أحادية البعد[“Channel 1”,“Channel 2”]
let channels = device.getChannelNames();

هذه هي بوابتك للتفاعل مع كائنات ComponentChannel. تُرجع مرجعًا إلى كائن ComponentChannel نفسه إذا تطابق أحدها مع ChannelName المُعطى، وإذا لم يوجد فستُرجع null.

المعاملالوصفالنوعمثال
ChannelNameاسم القناة المراد الحصول على مرجع لهاString”Channel 1”
القيمة المُرجعةالوصفالنوع
ComponentChannelكائن ComponentChannelComponentChannel | Null
let components = device.channel("Channel 1").getComponentNames();

تُستخدم هذه الدوال للتحكم والتفاعل مع مرجع ComponentChannel محدد.

على غرار الدالة المشابهة device.ledLimit()، تضبط هذه الدالة الحد الأقصى الآمن لعدد مصابيح LED لكائن ComponentChannel هذا.

المعاملالوصفالنوعمثال
LedLimitالحد المطلوب لعدد مصابيح LED للقناةInt16
device.channel("Channel 1").SetLedLimit(204);

تُرجع عدد مصابيح LED التي هيّأها المستخدم على كائن ComponentChannel هذا

القيمة المُرجعةالوصفالنوعمثال
LedCountالعدد الحالي لمصابيح LED في القناةInt16
let ChannelLedCount = device.channel("Channel 1").LedCount();

تُرجع هذه الدالة مصفوفة من بيانات ألوان RGB بناءً على خريطة مصابيح LED وإحداثياتها في الجهاز. تعتمد القيمة المُرجعة لهذه الدالة إلى حد كبير على ضبط الوسائط الصحيحة.

المعاملاتالوصفالنوعمثالالافتراضي
ArrayOrderتنسيق المصفوفة المطلوبString”Inline""Seperate”
ColorOrderترتيب الألوان المطلوبString”RGB""RGB”
ترتيب المصفوفةالوصفالنوعمثال
Inlineينسّق بيانات الألوان في مصفوفة مسطّحة بالترتيبمصفوفة أحادية البعد[R,G,B,R,G,B]
Seperateينسّق بيانات الألوان في 3 قنوات منفصلةمصفوفة ثنائية البعد[[R,R], [G,G], [B,B]]

ColorOrder هو تركيبة من 3 أحرف من “RGB”، مثل “BGR” و”GBR” و”RBG”. ويحدد ترتيب الألوان عند استخدام ArrayOrder بقيمة Inline. القيم غير الصالحة ستعود إلى القيمة الافتراضية “RGB”.

القيمة المُرجعةالوصفالنوعمثال
RGB Dataبيانات ألوان RGB المُرجعة بالتنسيق المطلوبArrayراجع جدول ترتيب المصفوفة
RGBData = device.channel("Channel 1").getColors("Inline", "GRB");

تُرجع هذه الدالة قيمة منطقية تحدد ما إذا كان يجب على قناة الجهاز هذه أن ‘تنبض’. يمكن طلب ذلك بسبب عدم تحديد أي مكوّنات، أو إذا كانت واجهة إعداد المكوّنات التمهيدية معروضة.

يمكن استخدام device.getChannelPulseColor() للحصول على لون النبض المتوقع.

القيمة المُرجعةالنوعالوصف
ShouldPulsebooleanهل يجب أن تنبض هذه القناة