Aller au contenu

Fonctions des composants

Ces fonctions servent à configurer l’appareil pour qu’il soit compatible avec le système de composants.

Cette fonction prend une valeur entière et définit la limite supérieure de LEDs pour tous les canaux de composants de l’appareil. Elle est utilisée pour les vérifications de sécurité dans le backend et pour empêcher les utilisateurs de surcharger leurs appareils avec une consommation électrique supérieure à ce qu’ils peuvent supporter. Elle doit être définie à la même valeur maximale que celle que la société de fabrication limite sur l’appareil.

ParamètreDescriptionTypeExemple
LedLimitLa limite de LEDs souhaitée pour tous les canaux de l’appareilInt80
const DeviceMaxLedLimit = 233;
device.SetLedLimit(DeviceMaxLedLimit);

Cette fonction retourne le nombre combiné actuel de LEDs de tous les composants sur tous les canaux de l’appareil. Son utilisation principale est de vérifier si des composants sont sélectionnés, car 0 LED équivaut à 0 composant.

RetourDescriptionTypeExemple
LedCountLe nombre actuel de LEDs sur tous les canauxInt64
let ColorData = []
if(LightingMode == "Forced"){
// faire quelque chose
}else if(device.getLedCount() == 0){
// faire quelque chose
}else{
// faire quelque chose
}

Cette fonction ajoute un nouveau canal de composant à l’appareil. Lorsque le premier canal est ajouté, l’interface utilisateur de configuration des composants apparaît sur la page de l’appareil. Cette fonction accepte une limite de LEDs optionnelle mais recommandée pour avertir l’utilisateur s’il dépasse les limites de LEDs sécurisées de l’appareil. Cette limite est utilisée à plusieurs endroits, il est donc fortement recommandé de la définir.

ParamètreDescriptionTypeExemple
ChannelNameLe nom du canal utilisé pour référencer ce canalString”Channel 1”
LedLimitLa limite de LEDs de fonctionnement sécurisé du canalInt204
//Nom du canal, Limite de LEDs
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]);
}
}

Cette fonction supprime un canal de l’appareil. Dans des circonstances normales, cette fonction ne devrait pas être nécessaire car les canaux seront nettoyés à l’arrêt de SignalRGB. Mais comme les canaux persistent entre les rechargements à chaud du fichier de plugin, vous pourriez vouloir les effacer dans la fonction d’initialisation si vous rencontrez des problèmes lors du développement du plugin.

ParamètreDescriptionTypeExemple
ChannelNameLe nom du canal à supprimerString”Channel 1”
device.createChannel("Channel1")
// Faire quelque chose
device.removeChannel("Channel1")

Cette fonction retourne les noms de tous les canaux actuellement sur l’appareil. Son utilisation principale sera pour le débogage, car les noms de canaux devraient être stockés dans la logique du plugin avec l’index du canal pour les paquets de l’appareil. Elle peut cependant être utilisée pour itérer sur tous les canaux de l’appareil si désiré, avec une légère perte de performance.

RetourDescriptionTypeExemple
Channel NamesUne liste de tous les noms de canaux sur l’appareilTableau 1D[“Channel 1”,“Channel 2”]
let channels = device.getChannelNames();

C’est votre passerelle pour interagir avec les ComponentChannels. Elle retourne une référence au ComponentChannel lui-même si un canal correspond au nom donné ; si aucun n’existe, elle retourne null.

ParamètreDescriptionTypeExemple
ChannelNameLe nom du canal dont on veut obtenir une référenceString”Channel 1”
RetourDescriptionType
ComponentChannelObjet ComponentChannelComponentChannel | Null
let components = device.channel("Channel 1").getComponentNames();

Ces fonctions sont utilisées pour contrôler et interagir avec une référence spécifique de ComponentChannel.

Comme la fonction similaire device.ledLimit(), celle-ci définit la limite maximale de LEDs sécurisée pour ce ComponentChannel.

ParamètreDescriptionTypeExemple
LedLimitLa limite de LEDs souhaitée pour le canalInt16
device.channel("Channel 1").SetLedLimit(204);

Ceci retourne le nombre de LEDs configurées par l’utilisateur sur ce ComponentChannel.

RetourDescriptionTypeExemple
LedCountLe nombre actuel de LEDs du canalInt16
let ChannelLedCount = device.channel("Channel 1").LedCount();

Cette fonction retourne un tableau de données de couleur RGB basé sur la carte LED et les coordonnées de l’appareil. La valeur de retour dépend grandement des arguments fournis.

ParamètresDescriptionTypeExempleDéfaut
ArrayOrderLe format de tableau souhaitéString”Inline""Seperate”
ColorOrderL’ordre de couleur souhaitéString”RGB""RGB”
Ordre du tableauDescriptionTypeExemple
InlineFormate les données de couleur en un tableau plat dans l’ordreTableau 1D[R,G,B,R,G,B]
SeperateFormate les données de couleur en 3 canaux distinctsTableau 2D[[R,R], [G,G], [B,B]]

ColorOrder est une combinaison de 3 lettres de “RGB”, par exemple “BGR”, “GBR”, “RBG”. Il détermine l’ordre des couleurs lors de l’utilisation de ArrayOrder Inline. Les valeurs invalides reviendront par défaut à “RGB”.

RetourDescriptionTypeExemple
RGB DataLes données de couleur RGB retournées dans le format souhaitéTableauVoir le tableau Ordre du tableau
RGBData = device.channel("Channel 1").getColors("Inline", "GRB");

Cette fonction retourne un booléen indiquant si ce canal d’appareil doit être en mode “pulsation”. Cela peut être demandé si aucun composant n’est sélectionné, ou si l’interface utilisateur de configuration des composants est affichée.

device.getChannelPulseColor() peut être utilisé pour obtenir la couleur de pulsation attendue.

RetourTypeDescription
ShouldPulsebooleanCe canal doit-il être en pulsation