From 8fa46b3fbceece7c7d9f3321a623d08e63cf64ca Mon Sep 17 00:00:00 2001 From: smayzy Date: Thu, 1 Jan 2026 00:05:04 +0100 Subject: [PATCH] better interuption mechanism --- src/main.c | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/main.c b/src/main.c index 013215f..f0e887d 100644 --- a/src/main.c +++ b/src/main.c @@ -1,3 +1,4 @@ +#include #include #include #include @@ -281,11 +282,22 @@ int main(int argc, char **argv) { float ltq = 1.8f, htq = 3.5f, leff = 0.0f, heff = 300.0f, lbat_temp = 0.0f, hbat_temp = 150.0f, lvar_temp = 0.0f, hvar_temp = 150.0f, lmot_temp = 0.0f, hmot_temp = 150.0f; long t100 = 0, t1000 = 0; int ch = ERR; - while(ch == ERR) { - if (fake_data) { - get_fake_data(&speed, lspeed, hspeed, &power, lpower, hpower, &bat, lbat, hbat, &tq, ltq, htq, &rpm, lrpm, hrpm, &eff, leff, heff, &bat_temp, lbat_temp, hbat_temp, &var_temp, lvar_temp, hvar_temp, &mot_temp, lmot_temp, hmot_temp); - } else { - //real_data() + + while(1) { + + ch = tolower(getch()); + switch (ch) { + case 'q' : + goto end; + case ERR : + default : + if (fake_data) { + get_fake_data(&speed, lspeed, hspeed, &power, lpower, hpower, &bat, lbat, hbat, &tq, ltq, htq, &rpm, lrpm, hrpm, &eff, leff, heff, &bat_temp, lbat_temp, hbat_temp, &var_temp, lvar_temp, hvar_temp, &mot_temp, lmot_temp, hmot_temp); + } else { + //real_data() + } + break; + } long now = now_ms(); @@ -306,10 +318,10 @@ int main(int argc, char **argv) { t1000 = now; } //win[9]; - ch = getch(); napms(10); }; - + + end: for (int i = 0; i < 10; i++) { delwin(win[i]); }