Is a blend() function for CHSV variables planned?

Is a blend() function for CHSV variables planned?
The current blend() function only works with CRGB values.
Current workaround: before using blend(), convert everything to CRGB first. Any ideas, @Mark_Kriegsman or @Daniel_Garcia ?

I may be mistaken, but after CHSV objects are initialized, they immediately become CRGB, s you should be able to use blend just fine

Could you show what you’re doing now? Just a few lines…

I am trying to change all variables in my project to CHSV (less data to transfer wirelessly, easier control with only hue), so I changed all variables (except the leds array) to CHSV:

CHSV fadeColor1, fadeFromColor1, fadeToColor1;

there is a fade animation between colors, so I made this function:
/* new colors are put in the fadeToColor1 var, fadeStep is set to 0 /
void doFadeStep() {
if(fadeStep == 0) {
fadeFromColor1 = fadeColor1; /
set “from” color to current color /
} else {
if(fadeStep >= FADE_STEPS_MAX) {
fadeColor1 = fadeToColor1; /
fade done, set current color to “to” color /
} else {
uint8_t stepValue = 255/FADE_STEPS_MAX
fadeStep; /* calc current step value /
fadeColor1 = blend(fadeFromColor1,fadeToColor1,stepValue); /
this line throws the error, I suspect because the return value of the blend() function is CRGB */

in the loop, fadeColor1 (along with some more variables) is assigned to the leds[] array.

In the code, I can set fadeColor1 directly (thus the need for it to be CHSV) and fadeToColor1 (for the color change animation)

My current workaround: use different CHSV variables for storing the “original” values and use CRGB for fadeColor1,fadeFromColor1 and fadeToColor1.

I’ll take a look and see if I can add something for CHSV.