add calc_data
This commit is contained in:
parent
81e2a7a90b
commit
d25cff82ad
13
src/main.c
13
src/main.c
@ -117,7 +117,6 @@ void read_can(Tel *t, int soc) {
|
|||||||
case 0x382:
|
case 0x382:
|
||||||
if (frame.can_dlc >= 2) {
|
if (frame.can_dlc >= 2) {
|
||||||
t->rpm.data = frame.data[0] | (frame.data[1] << 8);
|
t->rpm.data = frame.data[0] | (frame.data[1] << 8);
|
||||||
t->speed.data = (int)(t->rpm.data * 0.017f);
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -151,6 +150,17 @@ void read_uart(Tel *t, int fd, SerialParser *uart_str) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void calc_data(Tel *t) {
|
||||||
|
t->power.data = (int)(t->tens.data * t->amp.data);
|
||||||
|
t->speed.data = (int)(t->rpm.data * 0.017f);
|
||||||
|
|
||||||
|
if (t->speed.data > 0) {
|
||||||
|
t->eff.data = (float)t->power.data / (float)t->speed.data;
|
||||||
|
} else {
|
||||||
|
t->eff.data = 0.0f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
long now_ms(void) {
|
long now_ms(void) {
|
||||||
struct timespec ts;
|
struct timespec ts;
|
||||||
clock_gettime(CLOCK_MONOTONIC, &ts);
|
clock_gettime(CLOCK_MONOTONIC, &ts);
|
||||||
@ -534,6 +544,7 @@ int main(int argc, char **argv) {
|
|||||||
} else {
|
} else {
|
||||||
if (use_can) read_can(&tel, soc);
|
if (use_can) read_can(&tel, soc);
|
||||||
if (use_uart) read_uart(&tel, uart_fd, &uart_parser);
|
if (use_uart) read_uart(&tel, uart_fd, &uart_parser);
|
||||||
|
calc_data(&tel);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user