- if (n < N_PWMLEDS && !pwmled_enabled(n))
- return off_pattern; // Don't mess with non-enabled LEDs
- else if (n == 2)
- return mode1_pattern;
- else if (n == 3)
- return number_pattern(1+ambient_zone);
- return off_pattern;
+ unsigned char i;
+
+ led_patterns[n] = NULL;
+
+ if (n == 0) {
+ led_set_pattern(0, pattern_select(0));
+ } else if (n == N_STATUS_LED) {
+ if (!led_patterns[N_ILLUM_LED])
+ led_set_pattern(N_ILLUM_LED,
+ pattern_select(N_ILLUM_LED));
+ } else if (n == N_ILLUM_LED) {
+ if (!led_patterns[N_STATUS_LED])
+ led_set_pattern(N_STATUS_LED,
+ pattern_select(N_STATUS_LED));
+ } else {
+ led_set_pattern(n, pattern_select(n));
+ }