 #define PIXEL_TYPE WS2812B
 #define HUE_STEP 10 // 1..255, each loop increments hue by this value
 #define LOOP_DELAY 100 //ms
+#define BASE_BRIGHTNESS 40 //0-255
+#define BASE_SATURATION 255
+#define N_PATTERNS 2
 
 Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN, PIXEL_TYPE);
 uint8_t base_hue = 0;
-uint8_t base_brightness = 100; //0-255
-uint8_t base_saturation = 255;
+uint8_t pattern = 0;
 
 // setup() runs once, when the device is first turned on.
 void setup() {


// loop() runs over and over again, as quickly as it can execute.
void loop() {
  pattern_hsv_offset_circle_loop(&strip);
  strip.show();
  delay(LOOP_DELAY);
}

}

void pattern_hsv_circle_loop(Adafruit_NeoPixel *strip){
  HsvColor hsv(base_hue, BASE_SATURATION, BASE_BRIGHTNESS);
  RgbColor rgb = HsvToRgb(hsv);
  for (int i = 0 ; i < PIXEL_COUNT ; ++i){
    (*strip).setPixelColor(i, rgb.r, rgb.g, rgb.b);
