This commit is contained in:
smayzy 2025-12-23 19:22:20 +01:00
parent e65a407871
commit 52e9338ca5

View File

@ -21,20 +21,12 @@ int main()
cbreak(); cbreak();
curs_set(0); curs_set(0);
nodelay(stdscr, TRUE); nodelay(stdscr, TRUE);
refresh();
int y,x; int y,x;
getmaxyx(stdscr, y, x); getmaxyx(stdscr, y, x);
WINDOW *win_speed; WINDOW *win[10];
WINDOW *win_power;
WINDOW *win_bat;
WINDOW *win_tq;
WINDOW *win_rpm;
WINDOW *win_eff;
WINDOW *win_bat_temp;
WINDOW *win_var_temp;
WINDOW *win_mot_temp;
WINDOW *win_warn;
int x2 = x / 2; int x2 = x / 2;
int x2r = x - x2; int x2r = x - x2;
@ -48,50 +40,30 @@ int main()
int y6 = y2r / 3; int y6 = y2r / 3;
int y6r = y2r - 2 * y6; int y6r = y2r - 2 * y6;
win_speed = newwin(y2, x3, 0, 0); typedef struct {
win_power = newwin(y2, x3, 0, x3); int height, width, starty, startx;
win_bat = newwin(y4, x3r, 0, x - x3r); char *title;
win_tq = newwin(y4r, x3r, y4, x - x3r); } WinInfo;
win_rpm = newwin(y6, x2, y2, 0);
win_eff = newwin(y6, x2r, y2, x2);
win_bat_temp = newwin(y6, x3, y2 + y6, 0);
win_var_temp = newwin(y6, x3, y2 + y6, x3);
win_mot_temp = newwin(y6, x3r, y2 + y6, x - x3r);
win_warn = newwin(y6r, x, y - y6r, 0);
box(win_speed , 0, 0); WinInfo win_infos[10] = {
box(win_power , 0, 0); {y2, x3, 0, 0, "speed (km/h)"}, // 0
box(win_bat , 0, 0); {y2, x3, 0, x3, "power (W)"}, // 1
box(win_tq , 0, 0); {y4, x3r, 0, x - x3r, "batteries (%)"}, // 2
box(win_rpm , 0, 0); {y4r, x3r, y4, x - x3r, "torque (N/m)"}, // 3
box(win_eff , 0, 0); {y6, x2, y2, 0, "rpm (tr/min)"}, // 4
box(win_bat_temp, 0, 0); {y6, x2r, y2, x2, "efficiency (Wh/Km)"}, // 5
box(win_var_temp, 0, 0); {y6, x3, y2 + y6, 0, "batteries temperature (deg C)"}, // 6
box(win_mot_temp, 0, 0); {y6, x3, y2 + y6, x3, "variator temperature (deg C)"}, // 7
box(win_warn , 0, 0); {y6, x3r, y2 + y6, x - x3r, "motor temperature (deg C)"}, // 8
{y6r, x, y - y6r, 0, "warnings"} // 9
};
mvwprintw(win_speed, 0, 2, "speed (km/h)"); for (int i = 0; i < 10; i++) {
mvwprintw(win_power, 0, 2, "power (W)"); win[i] = newwin(win_infos[i].height, win_infos[i].width, win_infos[i].starty, win_infos[i].startx);
mvwprintw(win_bat, 0, 2, "batteries (%%)"); box(win[i], 0, 0);
mvwprintw(win_tq, 0, 2, "torque (N/m)"); mvwprintw(win[i], 0, 2, "%s", win_infos[i].title);
mvwprintw(win_rpm, 0, 2, "rpm (tr/min)"); wrefresh(win[i]);
mvwprintw(win_eff, 0, 2, "efficiency (Wh/Km)"); }
mvwprintw(win_bat_temp, 0, 2, "batteries temperature (deg C)");
mvwprintw(win_var_temp, 0, 2, "variator temperature (deg C)");
mvwprintw(win_mot_temp, 0, 2, "motor temperature (deg C)");
mvwprintw(win_warn, 0, 2, "warnings (warnings + fixs)");
refresh();
wrefresh(win_speed);
wrefresh(win_power);
wrefresh(win_bat);
wrefresh(win_tq);
wrefresh(win_rpm);
wrefresh(win_eff);
wrefresh(win_bat_temp);
wrefresh(win_var_temp);
wrefresh(win_mot_temp);
wrefresh(win_warn);
int speed, power, bat, rpm, eff; int speed, power, bat, rpm, eff;
float tq, bat_temp, var_temp, mot_temp; float tq, bat_temp, var_temp, mot_temp;
@ -102,16 +74,9 @@ int main()
ch = getch(); ch = getch();
}; };
delwin(win_speed); for (int i = 0; i < 10; i++) {
delwin(win_power); delwin(win[i]);
delwin(win_bat); }
delwin(win_tq);
delwin(win_rpm);
delwin(win_eff);
delwin(win_bat_temp);
delwin(win_var_temp);
delwin(win_mot_temp);
delwin(win_warn);
endwin(); endwin();
return 0; return 0;