From e6b52afc8e85d28bf36296cb05c693eef5bfa81f Mon Sep 17 00:00:00 2001 From: smayzy Date: Wed, 31 Dec 2025 18:20:09 +0100 Subject: [PATCH] add min data --- src/main.c | 52 ++++++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/src/main.c b/src/main.c index 59cc388..95edb34 100644 --- a/src/main.c +++ b/src/main.c @@ -18,16 +18,16 @@ const int digit_bitmaps[10][5][3] = { {{1,1,1},{1,0,1},{1,1,1},{0,0,1},{1,1,1}} // 9 }; -void get_fake_data(int *speed, int mspeed, int *power, int mpower, int *bat, int mbat, float *tq, float mtq, int *rpm, int mrpm, float *eff, float meff, float *bat_temp, float mbat_temp, float *var_temp, float mvar_temp, float *mot_temp, float mmot_temp) { - *speed = rand() % (mspeed + 1); - *power = rand() % (mpower + 1); - *bat = rand() % (mbat + 1); - *tq = 1.8f + ((float)rand() / (float)RAND_MAX) * (mtq); - *rpm = rand() % (mrpm + 1); - *eff = (float)rand() / (float)RAND_MAX * meff; - *bat_temp = (float)rand() / (float)RAND_MAX * mbat_temp; - *var_temp = (float)rand() / (float)RAND_MAX * mvar_temp; - *mot_temp = (float)rand() / (float)RAND_MAX * mmot_temp; +void get_fake_data(int *speed, int lspeed, int hspeed, int *power, int lpower, int hpower, int *bat, int lbat, int hbat, float *tq, float ltq, float htq, int *rpm, int lrpm, int hrpm, float *eff, float leff, float heff, float *bat_temp, float lbat_temp, float hbat_temp, float *var_temp, float lvar_temp, float hvar_temp, float *mot_temp, float lmot_temp, float hmot_temp) { + *speed = lspeed + rand() % (hspeed - lspeed + 1); + *power = lpower + rand() % (hpower - lpower + 1); + *bat = lbat + rand() % (hbat - lbat + 1); + *tq = ltq + ((float)rand() / (float)RAND_MAX) * (htq - ltq); + *rpm = lrpm + rand() % (hrpm - lrpm + 1); + *eff = leff + (float)rand() / (float)RAND_MAX * (heff - leff); + *bat_temp = lbat_temp + (float)rand() / (float)RAND_MAX * (hbat_temp - lbat_temp); + *var_temp = lvar_temp + (float)rand() / (float)RAND_MAX * (hvar_temp - lvar_temp); + *mot_temp = lmot_temp + (float)rand() / (float)RAND_MAX * (hmot_temp - lmot_temp); } long now_ms(void) { @@ -179,15 +179,15 @@ void win_bar(WINDOW *lwin, int data, int data_max, int use_color, int color) { wrefresh(lwin); } -int color_high(float data, float mdata) { - int percent = (int)((100.0f * data) / mdata + 0.5f); +int color_high(float data, float ldata, float hdata) { + int percent = (int)((100.0f * (data - ldata)) / (hdata - ldata) + 0.5f); if (percent >= 90) return 1; else if (percent >= 70) return 2; else return 3; } -short color_low(float data, float mdata) { - int percent = 100 - (int)((100.0f * data) / mdata + 0.5f); +short color_low(float data, float ldata, float hdata) { + int percent = 100 - (int)((100.0f * (data - ldata)) / (hdata - ldata) + 0.5f); if (percent >= 90) return 1; else if (percent >= 70) return 2; else return 3; @@ -277,13 +277,13 @@ int main(int argc, char **argv) { int speed = 0, power = 0, bat = 0, rpm = 0; float tq = 0.0f, eff = 0.0f, bat_temp = 0.0f, var_temp = 0.0f, mot_temp = 0.0f; - int mspeed = 200, mpower = 1250, mbat = 100, mrpm = 6000; - float mtq = 1.7f, meff = 300.0f, mbat_temp = 150.0f, mvar_temp = 150.0f, mmot_temp = 150.0f; + int lspeed = 0, hspeed = 200, lpower = 0, hpower = 1250, lbat = 0, hbat = 100, lrpm = 0, hrpm = 6000; + 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, mspeed, &power, mpower, &bat, mbat, &tq, mtq, &rpm, mrpm, &eff, meff, &bat_temp, mbat_temp, &var_temp, mvar_temp, &mot_temp, mmot_temp); + 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() } @@ -291,18 +291,18 @@ int main(int argc, char **argv) { long now = now_ms(); if (now - t100 >= 100 * delay) { - win_int(win[0], speed, 3, use_color, color_high(speed, mspeed)); - win_int(win[1], power, 4, use_color, color_high(power, mpower)); - win_float(win[3], tq, 3, use_color, color_high(tq, mtq)); - win_bar(win[4], rpm, 6000, use_color, color_high(rpm, mrpm)); - win_float(win[5], eff, 5, use_color, color_low(eff, meff)); + win_int(win[0], speed, 3, use_color, color_high(speed, lspeed, hspeed)); + win_int(win[1], power, 4, use_color, color_high(power, lpower, hpower)); + win_float(win[3], tq, 3, use_color, color_high(tq, ltq, htq)); + win_bar(win[4], rpm, 6000, use_color, color_high(rpm, lrpm, hrpm)); + win_float(win[5], eff, 5, use_color, color_low(eff, leff, heff)); t100 = now; } if (now - t1000 >= 1000 * delay) { - win_int(win[2], bat, 3, use_color, color_low(bat, mbat)); - win_float(win[6], bat_temp, 5, use_color, color_high(bat_temp, mbat_temp)); - win_float(win[7], var_temp, 5, use_color, color_high(var_temp, mvar_temp)); - win_float(win[8], mot_temp, 5, use_color, color_high(mot_temp, mmot_temp)); + win_int(win[2], bat, 3, use_color, color_low(bat, lbat, hbat)); + win_float(win[6], bat_temp, 5, use_color, color_high(bat_temp, lbat_temp, hbat_temp)); + win_float(win[7], var_temp, 5, use_color, color_high(var_temp, lvar_temp, hvar_temp)); + win_float(win[8], mot_temp, 5, use_color, color_high(mot_temp, lmot_temp, hmot_temp)); t1000 = now; } //win[9];