1、bug fix

This commit is contained in:
asypost committed 2026-05-17 13:33:27 +08:00
1 parent aa3defb948
commit dbdd5ce6db
2 files changed
+23 -1

No files matched your search

+20
View File
@@ -19,6 +19,26 @@ LV_FONT_DECLARE(lv_font_din_16);
static void battery_timer_cb(lv_timer_t* timer) { static void battery_timer_cb(lv_timer_t* timer) {
int8_t battery_percent = lv_battery_indicator_get_percentage(battery_indicator); int8_t battery_percent = lv_battery_indicator_get_percentage(battery_indicator);
battery_percent -= 1; battery_percent -= 1;
static int accelerating = 0;
if (speed_meter != NULL) {
if (accelerating) {
lv_speedmeter_set_speed(speed_meter, lv_speedmeter_get_speed(speed_meter) + 1.5f);
if (lv_speedmeter_get_speed(speed_meter) >= 90.0f) {
accelerating = 0;
}
}
else {
lv_speedmeter_set_speed(speed_meter, lv_speedmeter_get_speed(speed_meter) - 1.0f);
if (lv_speedmeter_get_speed(speed_meter) <= 0.0f) {
accelerating = 1;
}
}
}
if (battery_percent < 0) if (battery_percent < 0)
{ {
battery_percent = 100; battery_percent = 100;
+3 -1
View File
@@ -193,7 +193,9 @@ lv_obj_t* lv_speedmeter_create(lv_obj_t* parent, int max_speed, const char* unit
void lv_speedmeter_set_speed(lv_obj_t* obj, float speed) { void lv_speedmeter_set_speed(lv_obj_t* obj, float speed) {
lv_speedmeter_t* self = (lv_speedmeter_t*)obj; lv_speedmeter_t* self = (lv_speedmeter_t*)obj;
self->speed = speed; self->speed = speed;
lv_arc_set_value(self->speed_arc, (int)(self->speed / self->max_speed)); int arc_value = (int)(self->speed / self->max_speed * 100.0);
lv_arc_set_value(self->speed_arc, arc_value);
lv_obj_send_event(self->speed_arc, LV_EVENT_VALUE_CHANGED, NULL);
} }
float lv_speedmeter_get_speed(lv_obj_t* obj) { float lv_speedmeter_get_speed(lv_obj_t* obj) {