Skip to content

Commit f2c43e1

Browse files
committed
move backlight variable declarations from header to c file
1 parent 5f38b9b commit f2c43e1

File tree

2 files changed

+24
-22
lines changed

2 files changed

+24
-22
lines changed

app/backlight.c

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,16 @@
66

77
#define BACKLIGHT_IDLE_POLLING_RATE_MS 500
88

9+
static struct {
10+
uint64_t last_triggered;
11+
bool idling;
12+
bool alarm_is_set;
13+
uint8_t backlight_level;
14+
} self;
15+
916
void backlight_sync(void)
1017
{
11-
pwm_set_gpio_level(PIN_BKL, backlight_level * 0x80);
18+
pwm_set_gpio_level(PIN_BKL, self.backlight_level * 0x80);
1219
}
1320

1421
static int64_t idle_detector_timer_task(alarm_id_t id, void *user_data)
@@ -18,50 +25,50 @@ static int64_t idle_detector_timer_task(alarm_id_t id, void *user_data)
1825

1926
uint8_t current_dimming_delay = reg_get_value(REG_ID_BK3);
2027
if (current_dimming_delay == 0) {
21-
idling = true;
28+
self.idling = true;
2229
cancel_alarm(id);
23-
alarm_is_set = false;
24-
} else if (!idling && to_ms_since_boot(get_absolute_time()) - last_triggered > (current_dimming_delay * 500)) {
25-
idling = true;
30+
self.alarm_is_set = false;
31+
} else if (!self.idling && to_ms_since_boot(get_absolute_time()) - self.last_triggered > (current_dimming_delay * 500)) {
32+
self.idling = true;
2633
cancel_alarm(id);
27-
alarm_is_set = false;
28-
backlight_level = reg_get_value(REG_ID_BK4);
34+
self.alarm_is_set = false;
35+
self.backlight_level = reg_get_value(REG_ID_BK4);
2936
backlight_sync();
3037
}
3138
return BACKLIGHT_IDLE_POLLING_RATE_MS * 1000;
3239
}
3340

3441
void backlight_trigger(void)
3542
{
36-
idling = false;
37-
last_triggered = to_ms_since_boot(get_absolute_time());
43+
self.idling = false;
44+
self.last_triggered = to_ms_since_boot(get_absolute_time());
3845
uint8_t desired_brightness = reg_get_value(REG_ID_BKL);
39-
if (backlight_level < desired_brightness) {
40-
backlight_level = desired_brightness;
46+
if (self.backlight_level < desired_brightness) {
47+
self.backlight_level = desired_brightness;
4148
backlight_sync();
4249
}
43-
if (!alarm_is_set) {
50+
if (!self.alarm_is_set) {
4451
add_alarm_in_ms(BACKLIGHT_IDLE_POLLING_RATE_MS, idle_detector_timer_task, NULL, true);
45-
alarm_is_set = true;
52+
self.alarm_is_set = true;
4653
}
4754
}
4855

4956
void backlight_init(void)
5057
{
51-
idling = false;
58+
self.idling = false;
5259
gpio_set_function(PIN_BKL, GPIO_FUNC_PWM);
5360

5461
const uint slice_num = pwm_gpio_to_slice_num(PIN_BKL);
5562

5663
pwm_config config = pwm_get_default_config();
5764
pwm_init(slice_num, &config, true);
5865

59-
backlight_level = reg_get_value(REG_ID_BKL);
66+
self.backlight_level = reg_get_value(REG_ID_BKL);
6067
backlight_sync();
61-
last_triggered = 0;
68+
self.last_triggered = 0;
6269

6370
if (reg_get_value(REG_ID_BK3) > 0) {
6471
add_alarm_in_ms(BACKLIGHT_IDLE_POLLING_RATE_MS, idle_detector_timer_task, NULL, true);
65-
alarm_is_set = true;
72+
self.alarm_is_set = true;
6673
}
6774
}

app/backlight.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,6 @@
33
#include <stdint.h>
44
#include <stdbool.h>
55

6-
uint64_t last_triggered;
7-
bool idling;
8-
bool alarm_is_set;
9-
uint8_t backlight_level;
10-
116
void backlight_trigger(void);
127
void backlight_sync(void);
138
void backlight_init(void);

0 commit comments

Comments
 (0)