aboutsummaryrefslogtreecommitdiff
path: root/hwdef-noctigon-kr4.c
diff options
context:
space:
mode:
Diffstat (limited to 'hwdef-noctigon-kr4.c')
-rw-r--r--hwdef-noctigon-kr4.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/hwdef-noctigon-kr4.c b/hwdef-noctigon-kr4.c
index e49ff69..b721bdc 100644
--- a/hwdef-noctigon-kr4.c
+++ b/hwdef-noctigon-kr4.c
@@ -6,6 +6,8 @@
#include "chan-rgbaux.c"
+void set_level_zero();
+
void set_level_main(uint8_t level);
bool gradual_tick_main(uint8_t gt);
@@ -19,19 +21,17 @@ Channel channels[] = {
};
+void set_level_zero() {
+ CH1_PWM = 0;
+ CH2_PWM = 0;
+ PWM_CNT = 0; // reset phase
+ CH1_ENABLE_PORT &= ~(1 << CH1_ENABLE_PIN); // disable opamp
+}
+
// single set of LEDs with 2 stacked power channels, linear + DD FET
void set_level_main(uint8_t level) {
- if (level == 0) {
- CH1_PWM = 0;
- CH2_PWM = 0;
- PWM_CNT = 0; // reset phase
- CH1_ENABLE_PORT &= ~(1 << CH1_ENABLE_PIN); // disable opamp
- return;
- }
-
CH1_ENABLE_PORT |= (1 << CH1_ENABLE_PIN); // enable opamp
- level --; // PWM array index = level - 1
PWM_DATATYPE ch1_pwm = PWM_GET(pwm1_levels, level);
PWM_DATATYPE ch2_pwm = PWM_GET(pwm2_levels, level);
// pulse frequency modulation, a.k.a. dynamic PWM