Creare blocco utente in C++ (Professional).

Figura 1
Qui diamo un nome che verrà visualizzato nella libreria e un'etichetta (Label) che verrà visualizzata quando trasciniamo il blocco nello schema. Qui puoi anche scrivere una descrizione del blocco (Figura 2).

Figura 2
Passiamo nel ramo dei parametri generali del blocco. In questo ramo diamo il nome del parametro, configurare la visibilità del parametro in base alle condizioni e configurare le proprietà del parametro. Qui puoi anche scrivere la descrizione per il parametro nell'apposito ramo, dove troverai anche il tag del parametro che viene inserito nel codice.
- CONST_LED_QUANTITY - Il numero di LED indirizzabili sequenziali nella striscia. Non condizione, tipo di parametro - Integer, specie di parametro - Input field, valore predefinito e impostato su 1(valore minimo), cambialo in modo che corrisponda al numero effettivo che stai utilizzando.
- CONST_DATA_PIN - Il numero di pin a cui è collegata la striscia WS2812B (o altro dispositivo). Non condizione, pin fisico del controller (output digitale).
- CONST_BITSTREAM_RGB - un valore che indica il tipo di LED indirizzabili connessi. Qui dobbiamo configurare la visibilità del parametro in base alla condizione per abilitare il tipo di costante BITSTREAM (condizione (false) - COND_MODE_BITSTREAM). Vediamo che il parametro è di tipo String, qui abbiamo bisogno che il valore del parametro String sia inserito nel codice senza virgolette e quindi dobbiamo spuntare la casella "Insert without brackets". Specie di parametro - Combo box (Bitstream disponibili: NEO_RGB, NEO_RBG, NEO_GRB-Default, NEO_GBR, NEO_BRG, NEO_BGR). Nota: nella maggior parte dei casi puoi lasciarlo disattivato e passare solo due argomenti: il codice di esempio è solo extra descrittivo. Se hai dei pixel Flora "V1", richiedono NEO_KHZ400 + NEO_RGB. Queste informazioni sono disponibili nella scheda tecnica dei LED indirizzabili.
- CONST_BITSTREAM_RGBW - Anche qui, come sopra, dobbiamo configurare la visibilità del parametro (condizione (true) - COND_MODE_BITSTREAM) e dobbiamo spuntare la casella "Insert without brackets". Specie di parametro - Combo box (Bitstream disponibili: NEO_WRGB, NEO_WRBG, NEO_WGRB, NEO_WGBR, NEO_WBRG, NEO_WBGR, NEO_RWGB, NEO_RWBG, NEO_RGWB, NEO_RGBW-Default, NEO_RBWG, NEO_RBGW, NEO_GWRB, NEO_GWBR, NEO_GRWB, NEO_GRBW, NEO_GBWR, NEO_GBRW, NEO_BWRG, NEO_BWGR, NEO_BRWG, NEO_BRGW, NEO_BGWR, NEO_BGRW). Nota: i NeoPixel RGBW richiedono anche qui un valore diverso: NEO_RGBW. Per i LED RGBW usa NEO_RGBW (alcune strisce RGBW usano NEO_GRBW, quindi provalo se ottieni risultati inaspettati).
- CONST_FREQUENCY - frequenza di trasmissione dei dati. Non condizione, tipo di parametro -String, qui dobbiamo spuntare la casella "Insert without brackets", specie di parametro - Combo box (Frequenza: NEO_KHZ800-default, NEO_KHZ400).
- CONST_BRIGHTNESS - valore di luminosità della striscia LED indirizzabile. Non condizione, tipo di parametro - Byte, specie di parametro - Input field, valore predefinito e impostato su 50. Nota: setBrightness() doveva essere chiamato una volta in setup(), per limitare la corrente/luminosità dei LED per la durata dello sketch. Non è inteso come un effetto di animazione di per se. Il funzionamento di questa funzione è "con perdita" - modifica i dati dei pixel correnti nella RAM, non nella chiamata show() - per soddisfare i severi requisiti di temporizzazione di LED indirizzabili. Alcuni effetti di animazione sono meglio serviti lasciando l'impostazione della luminosità al massimo predefinito, modulando la luminosità dei pixel nella logica dello schizzo e ridisegnando l'intera striscia con setPixel().
- Esistono diversi modi per impostare il colore di un pixel. CONST_MODE_SETTING - Non condizione, tipo di parametro - Byte, specie di parametro - Combo box (modi disponibili: 1- setPixelColor(ColorRGB), 2-setPixelColor(ColorRGBW), 3-setPixelColor(ColorHSV), 4-Fill(ColorRGB), 5-Fill(ColorRGBW), 6-Fill(ColorHSV)), valore predefinito e impostato su 1- setPixelColor(ColorRGB).
Condizioni generali:
- COND_MODE_BITSTREAM - condizione per l'attivazione di tipo bitstream. Condizione - ((CONST_MODE_SETTING=2) OR (CONST_MODE_SETTING=5)).
- COND_COLOR_RGB - condizione per l'attivazione della modalità per impostare il colore di un pixel setPixelColor(ColorRGB). Condizione -
(CONST_MODE_SETTING=1).
- COND_COLOR_RGBW - condizione per l'attivazione della modalità per impostare il colore di un pixel setPixelColor(ColorRGBW). Condizione - (CONST_MODE_SETTING=2).
- COND_COLOR_HSV - condizione per l'attivazione della modalità per impostare il colore di un pixel setPixelColor(ColorHSV). Condizione -
(CONST_MODE_SETTING=3).
- COND_FILL_COLOR_RGB - condizione per l'attivazione della modalità per impostare il colore di un pixel Fill(ColorRGB). Condizione - (CONST_MODE_SETTING=4).
- COND_FILL_COLOR_RGBW - condizione per l'attivazione della modalità per impostare il colore di un pixel Fill(ColorRGBW). Condizione - (CONST_MODE_SETTING=5).
- COND_FILL_COLOR_HSV - condizione per l'attivazione della modalità per impostare il colore di un pixel Fill(ColorHSV). Condizione - (CONST_MODE_SETTING=6).
Parametri di ogni istanza:
- CONST_LED_NUMBER - la costante del numero di pixel lungo la striscia (se hai una striscia di 30 pixel, sono numerati da 0 a 29). Condizione (true) - COND_CONST_LED_NUMBER, tipo di parametro - Integer, specie di parametro - Input field, valore predefinito e impostato su 0 (valore minima - 0).
- CONST_FRIST_LED - è la costante del primo pixel da essere riempito (deve essere un valore positivo o 0). Condizione (true) - COND_CONST_FRIST_LED, tipo di parametro - Integer, specie di parametro - Input field, valore predefinito e impostato su 0 (valore minima - 0).
- CONST_COUNT_LED - è la costante del numero di pixel da riempire (deve essere un valore positivo). Condizione (true) - COND_CONST_COUNT_LED, tipo di parametro - Integer, specie di parametro - Input field, valore predefinito e impostato su 1 (valore minima - 1).
- CONST_RED - la costante per il colore rosso del pixel. Livelli di luminosità, dove 0 è il più debole (spento) e 255 è la luminosità massima. Condizione (true) - COND_CONST_RED, tipo di parametro - Byte, specie di parametro - Input field, valore predefinito e impostato su 0 (valore maxima - 255, valore minima - 0).
- CONST_GREEN - la costante per il colore verde del pixel. Livelli di luminosità, dove 0 è il più debole (spento) e 255 è la luminosità massima. Condizione (true) - COND_CONST_GREEN, tipo di parametro - Byte, specie di parametro - Input field, valore predefinito e impostato su 0 (valore maxima - 255, valore minima - 0).
- CONST_BLUE - la costante per il colore blu del pixel. Livelli di luminosità, dove 0 è il più debole (spento) e 255 è la luminosità massima. Condizione (true) - COND_CONST_BLUE, tipo di parametro - Byte, specie di parametro - Input field, valore predefinito e impostato su 0 (valore maxima - 255, valore minima - 0).
- CONST_WHITE - la costante per il colore bianco del pixel. Livelli di luminosità, dove 0 è il più debole (spento) e 255 è la luminosità massima. Condizione (true) - COND_CONST_WHITE, tipo di parametro - Byte, specie di parametro - Input field, valore predefinito e impostato su 0 (valore maxima - 255, valore minima - 0). Nota: argomento facoltativo è per il bianco, che verrà utilizzato solo se la striscia è stata definita in build come un tipo RGBW e la striscia è effettivamente un tipo RGBW.
- CONST_HUE - la tonalità è espressa come un numero a 16 bit. A partire da 0 per il rosso, questo aumenta prima verso il giallo (intorno a 65536/6 o 10922) e poi attraverso verde, ciano (a metà di 32768), blu, magenta e di nuovo al rosso. Condizione (true) - COND_CONST_HUE, tipo di parametro - Long Integer, specie di parametro - Input field, valore predefinito e impostato su 0 (valore maxima - 65535, valore minima - 0).
- CONST_SATURATION - determina l'intensità o la purezza del colore, è un numero a 8 bit compreso tra 0 (nessuna saturazione, solo scala di grigi) e 255 (saturazione massima, tonalità pura). Nel mezzo, inizierai a ottenere una sorta di toni pastello. Condizione (true) - COND_CONST_SATURATION, tipo di parametro - Byte, specie di parametro - Input field, valore predefinito e impostato su 255 (valore maxima - 255, valore minima - 0).
- CONST_VALUE - determina la luminosità di un colore, è un numero a 8 bit che va da 0 (nero, indipendentemente dalla tonalità o dalla saturazione) a 255 (luminosità massima). Condizione (true) - COND_CONST_VALUE, tipo di parametro - Byte, specie di parametro - Input field, valore predefinito e impostato su 255 (valore maxima - 255, valore minima - 0).
- CONST_MODE_LED_NUMBER - abilita la modalità costante CONST_LED_NUMBER o la modalità di input NumberLED (la costante è abilitata per impostazione predefinita). Condizione (true) - COND_MODE_LED_NUMBER, tipo di parametro - Boolean, specie di parametro - Radio button(valore - true, false), valore predefinito e impostato su false (constant).
- CONST_MODE_FRIST_LED - abilita la modalità costante CONST_FRIST_LED o la modalità di input FristLED (la costante è abilitata per impostazione predefinita). Condizione (true) - COND_MODE_FRIST_COUNT_LED, tipo di parametro - Boolean, specie di parametro - Radio button, valore predefinito e impostato su false (constant).
- CONST_MODE_COUNT_LED - abilita la modalità costante CONST_COUNT_LED
o la modalità di input CountLED (la costante è abilitata per impostazione predefinita). Condizione (true) - COND_MODE_FRIST_COUNT_LED, tipo di parametro - Boolean, specie di parametro - Radio button(valore - true, false), valore predefinito e impostato su false (constant).
- CONST_MODE_RED - abilita la modalità costante CONST_RED o la modalità di input Red (la costante è abilitata per impostazione predefinita). Condizione (true) - COND_MODE_RED_GREEN_BLUE, tipo di parametro - Boolean, specie di parametro - Radio button(valore - true, false)
, valore predefinito e impostato su false (constant).
- CONST_MODE_GREEN - abilita la modalità costante CONST_GREEN o la modalità di input Green (la costante è abilitata per impostazione predefinita). Condizione (true) - COND_MODE_RED_GREEN_BLUE, tipo di parametro - Boolean, specie di parametro - Radio button(valore - true, false), valore predefinito e impostato su false (constant).
- CONST_MODE_BLUE - abilita la modalità costante CONST_BLUE
o la modalità di input Blue (la costante è abilitata per impostazione predefinita). Condizione (true) - COND_MODE_RED_GREEN_BLUE, tipo di parametro - Boolean, specie di parametro - Radio button(valore - true, false), valore predefinito e impostato su false (constant).
- CONST_MODE_WHITE - abilita la modalità costante CONST_WHITE
o la modalità di input White (la costante è abilitata per impostazione predefinita). Condizione (true) - COND_MODE_WHITE, tipo di parametro - Boolean, specie di parametro - Radio button(valore - true, false), valore predefinito e impostato su false (constant).
- CONST_MODE_HUE - abilita la modalità costante CONST_HUE
o la modalità di input Hue (la costante è abilitata per impostazione predefinita). Condizione (true) - COND_MODE_HUE_SATURATION_VALUE, tipo di parametro - Boolean, specie di parametro - Radio button(valore - true, false), valore predefinito e impostato su false (constant).
- CONST_MODE_SATURATION - abilita la modalità costante CONST_SATURATION
o la modalità di input Saturation (la costante è abilitata per impostazione predefinita). Condizione (true) - COND_MODE_HUE_SATURATION_VALUE, tipo di parametro - Boolean, specie di parametro - Radio button(valore - true, false), valore predefinito e impostato su false (constant).
- CONST_MODE_VALUE - abilita la modalità costante CONST_VALUE
o la modalità di input Value (la costante è abilitata per impostazione predefinita). Condizione (true) - COND_MODE_HUE_SATURATION_VALUE, tipo di parametro - Boolean, specie di parametro - Radio button(valore - true, false), valore predefinito e impostato su false (constant).
Condizioni di ogni istanza:
- COND_CONST_LED_NUMBER - condizione per l'attivazione costante CONST_LED_NUMBER. Condizione - ((CONST_MODE_LED_NUMBER=false)AND(CONST_MODE_SETTING=1) OR(CONST_MODE_SETTING=2)OR(CONST_MODE_SETTING=3))
- COND_CONST_FRIST_LED - condizione per l'attivazione costante CONST_FRIST_LED. Condizione - ((CONST_MODE_FRIST_LED=false)AND(CONST_MODE_SETTING=4) OR(CONST_MODE_SETTING=5)OR(CONST_MODE_SETTING=6))
- COND_CONST_COUNT_LED - condizione per l'attivazione costante CONST_COUNT_LED. Condizione - ((CONST_MODE_COUNT_LED=false)AND(CONST_MODE_SETTING=4) OR(CONST_MODE_SETTING=5)OR(CONST_MODE_SETTING=6))
- COND_CONST_RED - condizione per l'attivazione costante CONST_RED. Condizione - ((CONST_MODE_RED=false)AND(CONST_MODE_SETTING=1)OR (CONST_MODE_SETTING=2)OR(CONST_MODE_SETTING=4)OR(CONST_MODE_SETTING=5))
- COND_CONST_GREEN - condizione per l'attivazione costante CONST_GREEN. Condizione - ((CONST_MODE_GREEN=false)AND(CONST_MODE_SETTING=1)OR (CONST_MODE_SETTING=2)OR(CONST_MODE_SETTING=4)OR(CONST_MODE_SETTING=5))
- COND_CONST_BLUE - condizione per l'attivazione costante CONST_BLUE. Condizione - ((CONST_MODE_BLUE=false)AND(CONST_MODE_SETTING=1)OR (CONST_MODE_SETTING=2)OR(CONST_MODE_SETTING=4)OR(CONST_MODE_SETTING=5))
- COND_CONST_WHITE - condizione per l'attivazione costante CONST_WHITE. Condizione - ((CONST_MODE_WHITE=false)AND(CONST_MODE_SETTING=2) OR(CONST_MODE_SETTING=5))
- COND_CONST_HUE - condizione per l'attivazione costante CONST_HUE. Condizione - ((CONST_MODE_HUE=false)AND(CONST_MODE_SETTING=3) OR(CONST_MODE_SETTING=6))
- COND_CONST_SATURATION - condizione per l'attivazione costante CONST_SATURATION. Condizione - ((CONST_MODE_SATURATION=false)AND(CONST_MODE_SETTING=3) OR(CONST_MODE_SETTING=6))
- COND_CONST_VALUE - condizione per l'attivazione costante CONST_VALUE. Condizione - ((CONST_MODE_VALUE=false)AND(CONST_MODE_SETTING=3) OR(CONST_MODE_SETTING=6))
- COND_INPUT_LED_NUMBER - condizione per l'attivazione dell'input NumberLED. Condizione - ((CONST_MODE_LED_NUMBER=true)AND(CONST_MODE_SETTING=1) OR(CONST_MODE_SETTING=2)OR(CONST_MODE_SETTING=3))
- COND_INPUT_FRIST_LED - condizione per l'attivazione dell'input FristLED. Condizione - ((CONST_MODE_FRIST_LED=true)AND(CONST_MODE_SETTING=4) OR(CONST_MODE_SETTING=5)OR(CONST_MODE_SETTING=6))
- COND_INPUT_COUNT_LED - condizione per l'attivazione dell'input CountLED. Condizione - ((CONST_MODE_COUNT_LED=true)AND(CONST_MODE_SETTING=4) OR(CONST_MODE_SETTING=5)OR(CONST_MODE_SETTING=6))
- COND_INPUT_RED - condizione per l'attivazione dell'input Red.
Condizione - ((CONST_MODE_RED=true)AND(CONST_MODE_SETTING=1)OR (CONST_MODE_SETTING=2)OR(CONST_MODE_SETTING=4)OR(CONST_MODE_SETTING=5))
- COND_INPUT_GREEN - condizione per l'attivazione dell'input Green. Condizione - ((CONST_MODE_GREEN=true)AND(CONST_MODE_SETTING=1)OR (CONST_MODE_SETTING=2)OR(CONST_MODE_SETTING=4)OR(CONST_MODE_SETTING=5))
- COND_INPUT_BLUE - condizione per l'attivazione dell'input Blue. Condizione - ((CONST_MODE_BLUE=true)AND(CONST_MODE_SETTING=1)OR (CONST_MODE_SETTING=2)OR(CONST_MODE_SETTING=4)OR(CONST_MODE_SETTING=5))
- COND_INPUT_WHITE - condizione per l'attivazione dell'input White. Condizione - ((CONST_MODE_WHITE=true)AND(CONST_MODE_SETTING=2) OR(CONST_MODE_SETTING=5))
- COND_INPUT_HUE - condizione per l'attivazione dell'input Hue. Condizione - ((CONST_MODE_HUE=true)AND(CONST_MODE_SETTING=3)OR(CONST_MODE_SETTING=6))
- COND_INPUT_SATURATION - condizione per l'attivazione dell'input Saturation. Condizione - ((CONST_MODE_SATURATION=true)AND(CONST_MODE_SETTING=3) OR(CONST_MODE_SETTING=6))
- COND_INPUT_VALUE - condizione per l'attivazione dell'input Saturation. Condizione - ((CONST_MODE_VALUE=true)AND(CONST_MODE_SETTING=3)OR(CONST_MODE_SETTING=6))
- COND_MODE_LED_NUMBER - condizione per la visualizzazione della costante CONST_MODE_LED_NUMBER. Condizione - (CONST_MODE_SETTING=1)OR (CONST_MODE_SETTING=2)OR(CONST_MODE_SETTING=3)
- COND_MODE_FRIST_COUNT_LED - condizione per la visualizzazione della costante CONST_MODE_FRIST_LED, CONST_MODE_COUNT_LED. Condizione - (CONST_MODE_SETTING=4)OR(CONST_MODE_SETTING=5)OR(CONST_MODE_SETTING=6)
- COND_MODE_RED_GREEN_BLUE - condizione per la visualizzazione della costante CONST_MODE_RED, CONST_MODE_GREEN, CONST_MODE_BLUE. Condizione - (CONST_MODE_SETTING=1)OR(CONST_MODE_SETTING=2)OR(CONST_MODE_SETTING=4) OR(CONST_MODE_SETTING=5)
- COND_MODE_WHITE - condizione per la visualizzazione della costante CONST_MODE_WHITE. Condizione - (CONST_MODE_SETTING=2)OR(CONST_MODE_SETTING=5)
- COND_MODE_HUE_SATURATION_VALUE - condizione per la visualizzazione della costante CONST_MODE_HUE, CONST_MODE_SATURATION, CONST_MODE_VALUE. Condizione - (CONST_MODE_SETTING=3)OR(CONST_MODE_SETTING=6)
Input.
Codice.
LEDstrip.setBrightness(50);
Codice per ogni istanza.
Libreria.

Figura 3
Un esempio di utilizzo del blocco, vedi qui.