RGBW NeoPixel control with nested functions


I am attempting to control some RGBW WS28212 LEDs with some existing code. The following line is fairly standard and controls RGB WS28212 LEDs very well, taking values from the three variables LEDhue, LEDsat and LEDval.

strip.setPixelColor(i, strip.gamma32(strip.ColorHSV(LEDhue, LEDsat, LEDval)));

My understanding is that the 'ColorHSV' function converts the values from the variables into a 32-bit RGB value (leaving the most significant byte as zero) and passes them into the 'gamma32' function. This function applies a correction factor and passes a 32-bit RGB value to the 'setPixelColor' function.

My question is; how do I insert a value for the most significant byte (representing the white LED from RGBW) into this chain..?

[TLDR] — Can this nested function be expanded?

I don't even know what the terminology is to look it up!!

Thanks in advance for any advice or pointers :•) Craig.

This may be helpful https://learn.adafruit.com/adafruit-neopixel-uberguide/arduino-library-use