Assuming that val is in the 0 .. 1023 range:
if (val < 256)
{ // red to yellow
r = 255;
g = val;
b = 0;
}
else if (val < 512)
{ // yellow to green
r = 511- val;
g = 255;
b = 0;
}
else if (val < 768)
{ // green to cyan
r = 0;
g = 255;
b = val - 512;
}
else
{ // cyan to blue
r = 0;
g = 1023 - val;
b = 255;
}