diff options
Diffstat (limited to 'quantum/backlight/backlight_arm.c')
| -rw-r--r-- | quantum/backlight/backlight_arm.c | 25 |
1 files changed, 3 insertions, 22 deletions
diff --git a/quantum/backlight/backlight_arm.c b/quantum/backlight/backlight_arm.c index 8c6909a4a..f7065906f 100644 --- a/quantum/backlight/backlight_arm.c +++ b/quantum/backlight/backlight_arm.c | |||
| @@ -106,7 +106,6 @@ void backlight_task(void) {} | |||
| 106 | # define BREATHING_HALT_ON 2 | 106 | # define BREATHING_HALT_ON 2 |
| 107 | # define BREATHING_STEPS 128 | 107 | # define BREATHING_STEPS 128 |
| 108 | 108 | ||
| 109 | static uint8_t breathing_period = BREATHING_PERIOD; | ||
| 110 | static uint8_t breathing_halt = BREATHING_NO_HALT; | 109 | static uint8_t breathing_halt = BREATHING_NO_HALT; |
| 111 | static uint16_t breathing_counter = 0; | 110 | static uint16_t breathing_counter = 0; |
| 112 | 111 | ||
| @@ -114,7 +113,7 @@ bool is_breathing(void) { return BACKLIGHT_PWM_DRIVER.config == &pwmCFG_breathin | |||
| 114 | 113 | ||
| 115 | static inline void breathing_min(void) { breathing_counter = 0; } | 114 | static inline void breathing_min(void) { breathing_counter = 0; } |
| 116 | 115 | ||
| 117 | static inline void breathing_max(void) { breathing_counter = breathing_period * 256 / 2; } | 116 | static inline void breathing_max(void) { breathing_counter = get_breathing_period() * 256 / 2; } |
| 118 | 117 | ||
| 119 | void breathing_interrupt_enable(void) { | 118 | void breathing_interrupt_enable(void) { |
| 120 | pwmStop(&BACKLIGHT_PWM_DRIVER); | 119 | pwmStop(&BACKLIGHT_PWM_DRIVER); |
| @@ -166,17 +165,6 @@ void breathing_toggle(void) { | |||
| 166 | breathing_enable(); | 165 | breathing_enable(); |
| 167 | } | 166 | } |
| 168 | 167 | ||
| 169 | void breathing_period_set(uint8_t value) { | ||
| 170 | if (!value) value = 1; | ||
| 171 | breathing_period = value; | ||
| 172 | } | ||
| 173 | |||
| 174 | void breathing_period_default(void) { breathing_period_set(BREATHING_PERIOD); } | ||
| 175 | |||
| 176 | void breathing_period_inc(void) { breathing_period_set(breathing_period + 1); } | ||
| 177 | |||
| 178 | void breathing_period_dec(void) { breathing_period_set(breathing_period - 1); } | ||
| 179 | |||
| 180 | /* To generate breathing curve in python: | 168 | /* To generate breathing curve in python: |
| 181 | * from math import sin, pi; [int(sin(x/128.0*pi)**4*255) for x in range(128)] | 169 | * from math import sin, pi; [int(sin(x/128.0*pi)**4*255) for x in range(128)] |
| 182 | */ | 170 | */ |
| @@ -187,7 +175,8 @@ static inline uint16_t scale_backlight(uint16_t v) { return v / BACKLIGHT_LEVELS | |||
| 187 | 175 | ||
| 188 | static void breathing_callback(PWMDriver *pwmp) { | 176 | static void breathing_callback(PWMDriver *pwmp) { |
| 189 | (void)pwmp; | 177 | (void)pwmp; |
| 190 | uint16_t interval = (uint16_t)breathing_period * 256 / BREATHING_STEPS; | 178 | uint8_t breathing_period = get_breathing_period(); |
| 179 | uint16_t interval = (uint16_t)breathing_period * 256 / BREATHING_STEPS; | ||
| 191 | // resetting after one period to prevent ugly reset at overflow. | 180 | // resetting after one period to prevent ugly reset at overflow. |
| 192 | breathing_counter = (breathing_counter + 1) % (breathing_period * 256); | 181 | breathing_counter = (breathing_counter + 1) % (breathing_period * 256); |
| 193 | uint8_t index = breathing_counter / interval % BREATHING_STEPS; | 182 | uint8_t index = breathing_counter / interval % BREATHING_STEPS; |
| @@ -203,12 +192,4 @@ static void breathing_callback(PWMDriver *pwmp) { | |||
| 203 | chSysUnlockFromISR(); | 192 | chSysUnlockFromISR(); |
| 204 | } | 193 | } |
| 205 | 194 | ||
| 206 | #else | ||
| 207 | |||
| 208 | __attribute__((weak)) void backlight_init_ports(void) {} | ||
| 209 | |||
| 210 | __attribute__((weak)) void backlight_set(uint8_t level) {} | ||
| 211 | |||
| 212 | __attribute__((weak)) void backlight_task(void) {} | ||
| 213 | |||
| 214 | #endif | 195 | #endif |
