I started with David Betz's ws2812 program that was already set up to easily support other strips and seeing that that program was based on JonnyMac's Spin code that ws recently updated to support RGBW strips I was able to get something working pretty quickly.
I'm having a couple issues with what I have so far.
If you have a strip of pixels that is longer than the quantity of pixels you are trying to run some of the pixels outside that range are turning on to a random color.
example: 24 strip of pixels, code is set to run only 10 pixels. Pixels 14 and 15 might turn green or pink and not change.
The other part is that I was hoping to be able to have the driver be able to use RGB 0xRRGGBB format or RGBW 0xRRGGBBWW format automatically so that other drivers like color pickers or color sensors wouldn't need to be changed.
It seems like older RGB programs do pack the 24bit information into 32bit longs but do it as 0x00RRGGBB format. I made a few attempts at trying to shift the bits around in programming but never got what I wanted. Even went back and studied JonnyMac's Nut and Volts article for the original code and how it moves bits around but still no luck yet.
I settled on 0xRRGGBBWW for now.
"Keep moving forward" - Meet the Robinsons