Fonctions des composants
Fonctions de l’appareil
Section intitulée « Fonctions de l’appareil »Ces fonctions servent à configurer l’appareil pour qu’il soit compatible avec le système de composants.
device.SetLedLimit()
Section intitulée « device.SetLedLimit() »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ètre | Description | Type | Exemple |
|---|---|---|---|
| LedLimit | La limite de LEDs souhaitée pour tous les canaux de l’appareil | Int | 80 |
const DeviceMaxLedLimit = 233; device.SetLedLimit(DeviceMaxLedLimit);device.getLedCount()
Section intitulée « device.getLedCount() »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.
| Retour | Description | Type | Exemple |
|---|---|---|---|
| LedCount | Le nombre actuel de LEDs sur tous les canaux | Int | 64 |
let ColorData = [] if(LightingMode == "Forced"){ // faire quelque chose }else if(device.getLedCount() == 0){ // faire quelque chose }else{ // faire quelque chose }device.addChannel()
Section intitulée « device.addChannel() »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ètre | Description | Type | Exemple |
|---|---|---|---|
| ChannelName | Le nom du canal utilisé pour référencer ce canal | String | ”Channel 1” |
| LedLimit | La limite de LEDs de fonctionnement sécurisé du canal | Int | 204 |
//Nom du canal, Limite de LEDsvar 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 intitulée « device.removeChannel() »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ètre | Description | Type | Exemple |
|---|---|---|---|
| ChannelName | Le nom du canal à supprimer | String | ”Channel 1” |
device.createChannel("Channel1") // Faire quelque chose device.removeChannel("Channel1")device.getChannelNames()
Section intitulée « device.getChannelNames() »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.
| Retour | Description | Type | Exemple |
|---|---|---|---|
| Channel Names | Une liste de tous les noms de canaux sur l’appareil | Tableau 1D | [“Channel 1”,“Channel 2”] |
let channels = device.getChannelNames();device.channel()
Section intitulée « device.channel() »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ètre | Description | Type | Exemple |
|---|---|---|---|
| ChannelName | Le nom du canal dont on veut obtenir une référence | String | ”Channel 1” |
| Retour | Description | Type |
|---|---|---|
| ComponentChannel | Objet ComponentChannel | ComponentChannel | Null |
let components = device.channel("Channel 1").getComponentNames();ComponentChannel
Section intitulée « ComponentChannel »Ces fonctions sont utilisées pour contrôler et interagir avec une référence spécifique de ComponentChannel.
channel.SetLedLimit()
Section intitulée « channel.SetLedLimit() »Comme la fonction similaire device.ledLimit(), celle-ci définit la limite maximale de LEDs sécurisée pour ce ComponentChannel.
| Paramètre | Description | Type | Exemple |
|---|---|---|---|
| LedLimit | La limite de LEDs souhaitée pour le canal | Int | 16 |
device.channel("Channel 1").SetLedLimit(204);channel.LedCount()
Section intitulée « channel.LedCount() »Ceci retourne le nombre de LEDs configurées par l’utilisateur sur ce ComponentChannel.
| Retour | Description | Type | Exemple |
|---|---|---|---|
| LedCount | Le nombre actuel de LEDs du canal | Int | 16 |
let ChannelLedCount = device.channel("Channel 1").LedCount();channel.getColors()
Section intitulée « channel.getColors() »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ètres | Description | Type | Exemple | Défaut |
|---|---|---|---|---|
| ArrayOrder | Le format de tableau souhaité | String | ”Inline" | "Seperate” |
| ColorOrder | L’ordre de couleur souhaité | String | ”RGB" | "RGB” |
| Ordre du tableau | Description | Type | Exemple |
|---|---|---|---|
| Inline | Formate les données de couleur en un tableau plat dans l’ordre | Tableau 1D | [R,G,B,R,G,B] |
| Seperate | Formate les données de couleur en 3 canaux distincts | Tableau 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”.
| Retour | Description | Type | Exemple |
|---|---|---|---|
| RGB Data | Les données de couleur RGB retournées dans le format souhaité | Tableau | Voir le tableau Ordre du tableau |
RGBData = device.channel("Channel 1").getColors("Inline", "GRB");channel.shouldPulseColors()
Section intitulée « channel.shouldPulseColors() »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.
| Retour | Type | Description |
|---|---|---|
| ShouldPulse | boolean | Ce canal doit-il être en pulsation |