Skip to content

Commit 0274273

Browse files
committed
Make beep duration time-based instead of iteration-based
1 parent 37cf343 commit 0274273

2 files changed

Lines changed: 8 additions & 16 deletions

File tree

src/data.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,8 @@ typedef struct {
8484

8585
// Beeper
8686
int beep_num_left;
87-
int beep_duration;
88-
int beep_countdown;
87+
float beep_duration;
88+
time_t beeper_timer;
8989
int beep_reason;
9090
bool beeper_enabled;
9191

src/main.c

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -108,9 +108,8 @@ void beeper_init() {
108108

109109
void beeper_update(Data *d) {
110110
if (d->beeper_enabled && (d->beep_num_left > 0)) {
111-
d->beep_countdown--;
112-
if (d->beep_countdown <= 0) {
113-
d->beep_countdown = d->beep_duration;
111+
if (timer_older(&d->time, d->beeper_timer, d->beep_duration)) {
112+
timer_refresh(&d->time, &d->beeper_timer);
114113
d->beep_num_left--;
115114
if (d->beep_num_left & 0x1) {
116115
EXT_BEEPER_ON();
@@ -121,21 +120,14 @@ void beeper_update(Data *d) {
121120
}
122121
}
123122

124-
void beeper_enable(Data *d, bool enable) {
125-
d->beeper_enabled = enable;
126-
if (!enable) {
127-
EXT_BEEPER_OFF();
128-
}
129-
}
130-
131123
void beep_alert(Data *d, int num_beeps, bool longbeep) {
132124
if (!d->beeper_enabled) {
133125
return;
134126
}
135127
if (d->beep_num_left == 0) {
136128
d->beep_num_left = num_beeps * 2 + 1;
137-
d->beep_duration = longbeep ? 300 : 80;
138-
d->beep_countdown = d->beep_duration;
129+
d->beep_duration = longbeep ? 0.25f : 0.05f;
130+
timer_refresh(&d->time, &d->beeper_timer);
139131
}
140132
}
141133

@@ -1235,8 +1227,8 @@ static void data_init(Data *d) {
12351227
d->odometer = VESC_IF->mc_get_odometer();
12361228

12371229
d->beep_num_left = 0;
1238-
d->beep_duration = 0;
1239-
d->beep_countdown = 0;
1230+
d->beep_duration = 0.0f;
1231+
d->beeper_timer = 0;
12401232
}
12411233

12421234
// See also:

0 commit comments

Comments
 (0)