add bar for rpm and float for eff
This commit is contained in:
parent
f5aac64907
commit
27b17a39dc
37
src/main.c
37
src/main.c
@ -18,13 +18,13 @@ 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 *power, int *bat, float *tq, int *rpm, int *eff, float *bat_temp, float *var_temp, float *mot_temp) {
|
void get_fake_data(int *speed, int *power, int *bat, float *tq, int *rpm, float *eff, float *bat_temp, float *var_temp, float *mot_temp) {
|
||||||
*speed = rand() % 201;
|
*speed = rand() % 201;
|
||||||
*power = rand() % 1251;
|
*power = rand() % 1251;
|
||||||
*bat = rand() % 101;
|
*bat = rand() % 101;
|
||||||
*tq = 1.8f + ((float)rand() / (float)RAND_MAX) * (3.5f - 1.8f);
|
*tq = 1.8f + ((float)rand() / (float)RAND_MAX) * (3.5f - 1.8f);
|
||||||
*rpm = rand() % 6000;
|
*rpm = rand() % 6000;
|
||||||
*eff = rand() % 100;
|
*eff = (float)rand() / (float)RAND_MAX * 300.0f;
|
||||||
*bat_temp = (float)rand() / (float)RAND_MAX * 150.0f;
|
*bat_temp = (float)rand() / (float)RAND_MAX * 150.0f;
|
||||||
*var_temp = (float)rand() / (float)RAND_MAX * 150.0f;
|
*var_temp = (float)rand() / (float)RAND_MAX * 150.0f;
|
||||||
*mot_temp = (float)rand() / (float)RAND_MAX * 150.0f;
|
*mot_temp = (float)rand() / (float)RAND_MAX * 150.0f;
|
||||||
@ -143,6 +143,31 @@ void win_float(WINDOW *lwin, float data, int digits) {
|
|||||||
wrefresh(lwin);
|
wrefresh(lwin);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void win_bar(WINDOW *lwin, int data, int data_max) {
|
||||||
|
int lwiny, lwinx;
|
||||||
|
getmaxyx(lwin, lwiny, lwinx);
|
||||||
|
|
||||||
|
win_clear(lwin);
|
||||||
|
|
||||||
|
int bar_width = lwinx - 4;
|
||||||
|
int bar_height = lwiny - 2;
|
||||||
|
int filled = (data * bar_width) / data_max;
|
||||||
|
|
||||||
|
for (int y = 1; y <= bar_height; y++) {
|
||||||
|
for (int x = 0; x < bar_width; x++) {
|
||||||
|
if (x < filled)
|
||||||
|
mvwaddch(lwin, y, 2 + x, ACS_CKBOARD);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
char buf[16];
|
||||||
|
snprintf(buf, sizeof(buf), "%d rpm", data);
|
||||||
|
mvwprintw(lwin, lwiny / 2 - 1, 3, "%s", buf);
|
||||||
|
|
||||||
|
wrefresh(lwin);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char **argv) {
|
int main(int argc, char **argv) {
|
||||||
int option;
|
int option;
|
||||||
int delay = 1;
|
int delay = 1;
|
||||||
@ -217,8 +242,8 @@ int main(int argc, char **argv) {
|
|||||||
wrefresh(win[i]);
|
wrefresh(win[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
int speed = 0, power = 0, bat = 0, rpm = 0, eff = 0;
|
int speed = 0, power = 0, bat = 0, rpm = 0;
|
||||||
float tq = 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;
|
||||||
long t100 = 0, t1000 = 0;
|
long t100 = 0, t1000 = 0;
|
||||||
int ch = ERR;
|
int ch = ERR;
|
||||||
while(ch == ERR) {
|
while(ch == ERR) {
|
||||||
@ -234,8 +259,8 @@ int main(int argc, char **argv) {
|
|||||||
win_int(win[0], speed, 3);
|
win_int(win[0], speed, 3);
|
||||||
win_int(win[1], power, 4);
|
win_int(win[1], power, 4);
|
||||||
win_float(win[3], tq, 3);
|
win_float(win[3], tq, 3);
|
||||||
//win[4]
|
win_bar(win[4], rpm, 6000);
|
||||||
//win[5]
|
win_float(win[5], eff, 5);
|
||||||
t100 = now;
|
t100 = now;
|
||||||
}
|
}
|
||||||
if (now - t1000 >= 1000 * delay) {
|
if (now - t1000 >= 1000 * delay) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user