add min data

This commit is contained in:
smayzy 2025-12-31 18:20:09 +01:00
parent b168ae2927
commit e6b52afc8e

View File

@ -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 {{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) { 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 = rand() % (mspeed + 1); *speed = lspeed + rand() % (hspeed - lspeed + 1);
*power = rand() % (mpower + 1); *power = lpower + rand() % (hpower - lpower + 1);
*bat = rand() % (mbat + 1); *bat = lbat + rand() % (hbat - lbat + 1);
*tq = 1.8f + ((float)rand() / (float)RAND_MAX) * (mtq); *tq = ltq + ((float)rand() / (float)RAND_MAX) * (htq - ltq);
*rpm = rand() % (mrpm + 1); *rpm = lrpm + rand() % (hrpm - lrpm + 1);
*eff = (float)rand() / (float)RAND_MAX * meff; *eff = leff + (float)rand() / (float)RAND_MAX * (heff - leff);
*bat_temp = (float)rand() / (float)RAND_MAX * mbat_temp; *bat_temp = lbat_temp + (float)rand() / (float)RAND_MAX * (hbat_temp - lbat_temp);
*var_temp = (float)rand() / (float)RAND_MAX * mvar_temp; *var_temp = lvar_temp + (float)rand() / (float)RAND_MAX * (hvar_temp - lvar_temp);
*mot_temp = (float)rand() / (float)RAND_MAX * mmot_temp; *mot_temp = lmot_temp + (float)rand() / (float)RAND_MAX * (hmot_temp - lmot_temp);
} }
long now_ms(void) { 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); wrefresh(lwin);
} }
int color_high(float data, float mdata) { int color_high(float data, float ldata, float hdata) {
int percent = (int)((100.0f * data) / mdata + 0.5f); int percent = (int)((100.0f * (data - ldata)) / (hdata - ldata) + 0.5f);
if (percent >= 90) return 1; if (percent >= 90) return 1;
else if (percent >= 70) return 2; else if (percent >= 70) return 2;
else return 3; else return 3;
} }
short color_low(float data, float mdata) { short color_low(float data, float ldata, float hdata) {
int percent = 100 - (int)((100.0f * data) / mdata + 0.5f); int percent = 100 - (int)((100.0f * (data - ldata)) / (hdata - ldata) + 0.5f);
if (percent >= 90) return 1; if (percent >= 90) return 1;
else if (percent >= 70) return 2; else if (percent >= 70) return 2;
else return 3; else return 3;
@ -277,13 +277,13 @@ int main(int argc, char **argv) {
int speed = 0, power = 0, bat = 0, rpm = 0; 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; 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; int lspeed = 0, hspeed = 200, lpower = 0, hpower = 1250, lbat = 0, hbat = 100, lrpm = 0, hrpm = 6000;
float mtq = 1.7f, meff = 300.0f, mbat_temp = 150.0f, mvar_temp = 150.0f, mmot_temp = 150.0f; 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; long t100 = 0, t1000 = 0;
int ch = ERR; int ch = ERR;
while(ch == ERR) { while(ch == ERR) {
if (fake_data) { 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 { } else {
//real_data() //real_data()
} }
@ -291,18 +291,18 @@ int main(int argc, char **argv) {
long now = now_ms(); long now = now_ms();
if (now - t100 >= 100 * delay) { if (now - t100 >= 100 * delay) {
win_int(win[0], speed, 3, use_color, color_high(speed, mspeed)); win_int(win[0], speed, 3, use_color, color_high(speed, lspeed, hspeed));
win_int(win[1], power, 4, use_color, color_high(power, mpower)); win_int(win[1], power, 4, use_color, color_high(power, lpower, hpower));
win_float(win[3], tq, 3, use_color, color_high(tq, mtq)); win_float(win[3], tq, 3, use_color, color_high(tq, ltq, htq));
win_bar(win[4], rpm, 6000, use_color, color_high(rpm, mrpm)); win_bar(win[4], rpm, 6000, use_color, color_high(rpm, lrpm, hrpm));
win_float(win[5], eff, 5, use_color, color_low(eff, meff)); win_float(win[5], eff, 5, use_color, color_low(eff, leff, heff));
t100 = now; t100 = now;
} }
if (now - t1000 >= 1000 * delay) { if (now - t1000 >= 1000 * delay) {
win_int(win[2], bat, 3, use_color, color_low(bat, mbat)); 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, mbat_temp)); 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, mvar_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, mmot_temp)); win_float(win[8], mot_temp, 5, use_color, color_high(mot_temp, lmot_temp, hmot_temp));
t1000 = now; t1000 = now;
} }
//win[9]; //win[9];