@@ -108,9 +108,8 @@ void beeper_init() {
108108
109109void 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-
131123void 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