   HsvColor hsv;
   for (int i = 0 ; i < PIXEL_COUNT ; ++i){
     offset = ((float)i/(PIXEL_COUNT-1))*255;
-    hsv = HsvColor(base_hue+offset, base_saturation, base_brightness);
+    hsv = HsvColor(base_hue+offset, BASE_SATURATION, BASE_BRIGHTNESS);
     rgb = HsvToRgb(hsv);
     (*strip).setPixelColor(i, rgb.r, rgb.g, rgb.b);
   }

#define PIXEL_TYPE WS2812B
#define HUE_STEP 10 // 1..255, each loop increments hue by this value
#define LOOP_DELAY 100 //ms

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;

// 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() {
  if (HAL_Core_Mode_Button_Pressed(1000)) {
    ++pattern;
    if (pattern >= N_PATTERNS) {
      pattern = 0;
    }
  }
  if (pattern == 0){
    pattern_hsv_offset_circle_loop(&strip);
  } else if (pattern == 1) {
    pattern_hsv_circle_loop(&strip);
  }
  strip.show();
  delay(LOOP_DELAY);
}
