fast_hsv2rgb() function
Based on the idea from https://www.vagrearg.org/content/hsvrgb Here we want to compute an approximate RGB value from a HSV input color space. We don't want to be accurate (for that, there's lv_color_hsv_to_rgb), but we want to be fast. Few tricks are used here: Hue is in range [0; 6 * 256] (so that the sextant is in the high byte and the fractional part is in the low byte) both s and v are in [0; 255] range (very convenient to avoid divisions). We fold all symmetry by swapping the R, G, B pointers so that the code is the same for all sextants. We replace division by 255 by a division by 256, a.k.a a shift right by 8 bits. This is wrong, but since this is only used to compute the pixels on the screen and not the final color, it's ok.
Syntax
static void fast_hsv2rgb(uint16_t h,
uint8_t s,
uint8_t v,
uint8_t * r,
uint8_t * g,
uint8_t * b);