دوال المكوّنات
دوال الجهاز
Section titled “دوال الجهاز”تُستخدم هذه الدوال لإعداد الجهاز ليكون متوافقًا مع نظام المكوّنات
device.SetLedLimit()
Section titled “device.SetLedLimit()”تأخذ هذه الدالة قيمة عددية صحيحة وتضبط الحد الأعلى لعدد مصابيح LED لجميع قنوات المكوّنات على الجهاز. تُستخدم لإجراء فحوصات الأمان في الواجهة الخلفية ولمنع المستخدمين من تحميل أجهزتهم باستهلاك طاقة يفوق قدرتها. يجب ضبطها على القيمة القصوى نفسها التي تحددها الشركة المصنّعة للجهاز.
| المعامل | الوصف | النوع | مثال |
|---|---|---|---|
| LedLimit | الحد المطلوب لعدد مصابيح LED لجميع القنوات على الجهاز | Int | 80 |
const DeviceMaxLedLimit = 233; device.SetLedLimit(DeviceMaxLedLimit);device.getLedCount()
Section titled “device.getLedCount()”تُرجع هذه الدالة العدد الإجمالي الحالي لمصابيح LED لجميع المكوّنات على جميع قنوات الجهاز. الاستخدام الأساسي لها هو التحقق مما إذا كانت هناك أي مكوّنات محددة، إذ إن 0 مصابيح LED يعني 0 مكوّنات.
| القيمة المُرجعة | الوصف | النوع | مثال |
|---|---|---|---|
| LedCount | العدد الحالي لمصابيح LED في جميع القنوات | Int | 64 |
let ColorData = [] if(LightingMode == "Forced"){ // do stuff }else if(device.getLedCount() == 0){ // do stuff }else{ // do stuff }device.addChannel()
Section titled “device.addChannel()”تضيف هذه الدالة قناة مكوّنات جديدة إلى الجهاز. عند إضافة القناة الأولى ستظهر واجهة تهيئة المكوّنات في صفحة الجهاز. تأخذ هذه الدالة معاملًا اختياريًا لكنه موصى به وهو LedLimit لتحذير المستخدم من تجاوز الحدود الآمنة لعدد مصابيح LED في الجهاز. يُستخدم هذا الحد في أماكن متعددة، لذا يُوصى بشدة بضبطه.
| المعامل | الوصف | النوع | مثال |
|---|---|---|---|
| ChannelName | اسم القناة الذي سيُستخدم للإشارة إلى هذه القناة | String | ”Channel 1” |
| LedLimit | حد التشغيل الآمن لعدد مصابيح LED في القناة. | 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()
Section titled “device.removeChannel()”تزيل هذه الدالة قناة من الجهاز. في الظروف العادية، لن تحتاج إلى هذه الدالة لأن القنوات تُنظَّف عند إيقاف تشغيل SignalRGB. ولكن نظرًا لأن القنوات تبقى بين عمليات إعادة التحميل الفوري لملف الإضافة، فقد ترغب في مسحها داخل دالة التهيئة إذا كنت تواجه مشكلات أثناء تطوير الإضافة.
| المعامل | الوصف | النوع | مثال |
|---|---|---|---|
| ChannelName | اسم القناة المراد إزالتها | String | ”Channel 1” |
device.createChannel("Channel1") // Do stuff device.removeChannel("Channel1")device.getChannelNames()
Section titled “device.getChannelNames()”تُرجع هذه الدالة أسماء جميع القنوات الموجودة حاليًا على الجهاز. الاستخدام الأساسي هنا لأغراض التصحيح، إذ يجب تخزين أسماء القنوات ضمن منطق الإضافة مع فهرس القناة الخاص بحزم الجهاز. ومع ذلك، يمكن استخدامها للتكرار على جميع القنوات في الجهاز إذا رغبت في ذلك، مقابل خسارة طفيفة في الأداء.
| القيمة المُرجعة | الوصف | النوع | مثال |
|---|---|---|---|
| Channel Names | قائمة بجميع أسماء القنوات على الجهاز | مصفوفة أحادية البعد | [“Channel 1”,“Channel 2”] |
let channels = device.getChannelNames();device.channel()
Section titled “device.channel()”هذه هي بوابتك للتفاعل مع كائنات ComponentChannel. تُرجع مرجعًا إلى كائن ComponentChannel نفسه إذا تطابق أحدها مع ChannelName المُعطى، وإذا لم يوجد فستُرجع null.
| المعامل | الوصف | النوع | مثال |
|---|---|---|---|
| ChannelName | اسم القناة المراد الحصول على مرجع لها | String | ”Channel 1” |
| القيمة المُرجعة | الوصف | النوع |
|---|---|---|
| ComponentChannel | كائن ComponentChannel | ComponentChannel | Null |
let components = device.channel("Channel 1").getComponentNames();ComponentChannel
Section titled “ComponentChannel”تُستخدم هذه الدوال للتحكم والتفاعل مع مرجع ComponentChannel محدد.
channel.SetLedLimit()
Section titled “channel.SetLedLimit()”على غرار الدالة المشابهة device.ledLimit()، تضبط هذه الدالة الحد الأقصى الآمن لعدد مصابيح LED لكائن ComponentChannel هذا.
| المعامل | الوصف | النوع | مثال |
|---|---|---|---|
| LedLimit | الحد المطلوب لعدد مصابيح LED للقناة | Int | 16 |
device.channel("Channel 1").SetLedLimit(204);channel.LedCount()
Section titled “channel.LedCount()”تُرجع عدد مصابيح LED التي هيّأها المستخدم على كائن ComponentChannel هذا
| القيمة المُرجعة | الوصف | النوع | مثال |
|---|---|---|---|
| LedCount | العدد الحالي لمصابيح LED في القناة | Int | 16 |
let ChannelLedCount = device.channel("Channel 1").LedCount();channel.getColors()
Section titled “channel.getColors()”تُرجع هذه الدالة مصفوفة من بيانات ألوان 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");channel.shouldPulseColors()
Section titled “channel.shouldPulseColors()”تُرجع هذه الدالة قيمة منطقية تحدد ما إذا كان يجب على قناة الجهاز هذه أن ‘تنبض’. يمكن طلب ذلك بسبب عدم تحديد أي مكوّنات، أو إذا كانت واجهة إعداد المكوّنات التمهيدية معروضة.
يمكن استخدام device.getChannelPulseColor() للحصول على لون النبض المتوقع.
| القيمة المُرجعة | النوع | الوصف |
|---|---|---|
| ShouldPulse | boolean | هل يجب أن تنبض هذه القناة |