Led strip do not change speed after removing delay from code. (In red colour)
// Fill the dots one after the other with a color
void colorWipe(uint32_t c, uint16_t wait) {
for(uint16_t i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, c);
strip.show();
delay(wait);
}
}
Maybe there is some LED strip limitation how fast it can go?
With the delay() removed the for loop is running as fast as it can
Do you want each LED to change colour one by one, which is what your code does, or all at the same time ? If the latter, then take the strip.show() out of the for loop and do it just once when the for loop has ended
Since the code was not posted appropriately I cannot see what NUM_LEDs is, but for any significant number of LEDs, "strip.show()" is in fact, a significant delay.