瀏覽代碼

Modify softpwm_led to support more custom callback function

old_master
Kai Ryu 9 年之前
父節點
當前提交
24cbc7a34b
共有 2 個檔案被更改,包括 11 行新增3 行删除
  1. 8
    2
      common/softpwm_led.c
  2. 3
    1
      common/softpwm_led.h

+ 8
- 2
common/softpwm_led.c 查看文件

@@ -269,7 +269,7 @@ ISR(TIMER1_COMPA_vect)
for (uint8_t i = 0; i < LED_COUNT; i++) {
// LED on
if (pwm == 0) {
softpwm_led_on(i);
if (softpwm_led_ocr[i]) softpwm_led_on(i);
softpwm_led_ocr[i] = softpwm_led_ocr_buff[i];
}
// LED off
@@ -284,7 +284,7 @@ ISR(TIMER1_COMPA_vect)
counter = 0;
fading_led_proc();
breathing_led_proc();
custom_led_proc();
softpwm_led_custom();
}
#endif
}
@@ -306,6 +306,9 @@ void fading_led_proc(void)
}
}
}
#ifdef CUSTOM_LED_ENABLE
fading_led_custom(softpwm_led_ocr);
#endif
}
}
}
@@ -326,6 +329,9 @@ void breathing_led_proc(void)
softpwm_led_ocr_buff[i] = value;
}
}
#ifdef CUSTOM_LED_ENABLE
breathing_led_custom(softpwm_led_ocr);
#endif
if (direction) {
if (index == 0) {
direction = 0;

+ 3
- 1
common/softpwm_led.h 查看文件

@@ -70,7 +70,9 @@ void breathing_led_set_duration(uint8_t dur);
#endif

#ifdef CUSTOM_LED_ENABLE
void custom_led_proc(void);
void softpwm_led_custom(void);
void fading_led_custom(uint8_t *value);
void breathing_led_custom(uint8_t *value);
#else
#define custom_led_proc()
#endif