use on both big
This commit is contained in:
parent
b51450d083
commit
9abaae1e00
22
src/main.c
22
src/main.c
@ -41,27 +41,28 @@ int smaller_of(int a, int b) {
|
|||||||
return (a < b) ? a : b;
|
return (a < b) ? a : b;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wspeed(WINDOW *lwin, int speed){
|
void win_number(WINDOW *lwin, int data, int digits){
|
||||||
int lwiny, lwinx, len;
|
int lwiny, lwinx, len;
|
||||||
char buf[16];
|
char buf[16];
|
||||||
getmaxyx(lwin, lwiny, lwinx);
|
getmaxyx(lwin, lwiny, lwinx);
|
||||||
snprintf(buf , sizeof(buf), "%d", speed);
|
snprintf(buf , sizeof(buf), "%d", data);
|
||||||
len = strlen(buf);
|
len = strlen(buf);
|
||||||
|
|
||||||
int bh = 5; // bitmap height
|
int bh = 5; // bitmap height
|
||||||
int bw = 3; // bitmap width
|
int bw = 3; // bitmap width
|
||||||
|
|
||||||
int size = smaller_of((lwiny - 2) / bh, (lwinx - 2 - (3 - 1)) / (bw * 3));
|
int size = smaller_of((lwiny - 2) / bh, (lwinx - 2 - (digits - 1)) / (bw * digits));
|
||||||
|
|
||||||
int total_width = 3 * (bw * size) + 2;
|
int total_width = digits * (bw * size) + (digits - 1);
|
||||||
int startx = (lwinx - total_width) / 2;
|
int startx = (lwinx - total_width) / 2;
|
||||||
int starty = (lwiny - bh * size) / 2;
|
int starty = (lwiny - bh * size) / 2;
|
||||||
|
int offset = (bw * size + 1) * (digits - len);
|
||||||
|
|
||||||
win_clear(lwin);
|
win_clear(lwin);
|
||||||
|
|
||||||
for (int d = 0; d < len; d++) {
|
for (int d = 0; d < len; d++) {
|
||||||
int digit = buf[d] - '0';
|
int digit = buf[d] - '0';
|
||||||
int dx = startx + d * (bw * size + 1);
|
int dx = startx + d * (bw * size + 1) + offset;
|
||||||
|
|
||||||
for (int y = 0; y < bh; y++) {
|
for (int y = 0; y < bh; y++) {
|
||||||
for (int x = 0; x < bw; x++) {
|
for (int x = 0; x < bw; x++) {
|
||||||
@ -140,7 +141,16 @@ int main()
|
|||||||
while(ch == ERR)
|
while(ch == ERR)
|
||||||
{
|
{
|
||||||
get_data(&speed, &power, &bat, &tq, &rpm, &eff, &bat_temp, &var_temp, &mot_temp);
|
get_data(&speed, &power, &bat, &tq, &rpm, &eff, &bat_temp, &var_temp, &mot_temp);
|
||||||
wspeed(win[0], speed);
|
win_number(win[0], speed, 3);
|
||||||
|
win_number(win[1], power, 4);
|
||||||
|
win_number(win[2], bat, 3);
|
||||||
|
//win[3]
|
||||||
|
//win[4]
|
||||||
|
//win[5]
|
||||||
|
//win_number(win[6], bat_temp, 3);
|
||||||
|
//win_number(win[7], var_temp, 3);
|
||||||
|
//win_number(win[8], mot_temp, 3);
|
||||||
|
//win[9];
|
||||||
ch = getch();
|
ch = getch();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user