summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
53779e4)
As requested by Felix Seitz the timeout for screen updates should be
configurable to values smaller than 100ms. Marc Kleine-Budde provided the
original patch to increase the resolution of the timing relevant variables.
The rotating animation was replaced by a rolling screen update counter.
Additionally the CAN-ID is now printed in the same ASCII hex representation
as the CAN data.
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
-#define TIMEOUT 50 /* in 100ms */
-#define HOLD 10 /* in 100ms */
-#define LOOP 2 /* in 100ms */
-
-#define MAXANI 8
-const char anichar[MAXANI] = {'|', '/', '-', '\\', '|', '/', '-', '\\'};
+#define TIMEOUT 500 /* in 10ms */
+#define HOLD 100 /* in 10ms */
+#define LOOP 20 /* in 10ms */
#define ATTCOLOR ATTBOLD FGRED
#define ATTCOLOR ATTBOLD FGRED
-#define STARTLINESTR "X time ID data ... "
+#define STARTLINESTR "XX delta ID data ... "
fprintf(stderr, " -B (start with binary mode with gap - exceeds 80 chars!)\n");
fprintf(stderr, " -c (color changes)\n");
fprintf(stderr, " -f (filter on CAN-ID only)\n");
fprintf(stderr, " -B (start with binary mode with gap - exceeds 80 chars!)\n");
fprintf(stderr, " -c (color changes)\n");
fprintf(stderr, " -f (filter on CAN-ID only)\n");
- fprintf(stderr, " -t <time> (timeout for ID display [x100ms] default: %d, 0 = OFF)\n", TIMEOUT);
- fprintf(stderr, " -h <time> (hold marker on changes [x100ms] default: %d)\n", HOLD);
- fprintf(stderr, " -l <time> (loop time (display) [x100ms] default: %d)\n", LOOP);
+ fprintf(stderr, " -t <time> (timeout for ID display [x10ms] default: %d, 0 = OFF)\n", TIMEOUT);
+ fprintf(stderr, " -h <time> (hold marker on changes [x10ms] default: %d)\n", HOLD);
+ fprintf(stderr, " -l <time> (loop time (display) [x10ms] default: %d)\n", LOOP);
fprintf(stderr, "Use interface name '%s' to receive from all can-interfaces\n", ANYDEV);
fprintf(stderr, "\n");
fprintf(stderr, "%s", manual);
fprintf(stderr, "Use interface name '%s' to receive from all can-interfaces\n", ANYDEV);
fprintf(stderr, "\n");
fprintf(stderr, "%s", manual);
FD_SET(s, &rdfs);
timeo.tv_sec = 0;
FD_SET(s, &rdfs);
timeo.tv_sec = 0;
- timeo.tv_usec = 100000 * loop;
+ timeo.tv_usec = 10000 * loop;
if ((ret = select(s+1, &rdfs, NULL, NULL, &timeo)) < 0) {
//perror("select");
if ((ret = select(s+1, &rdfs, NULL, NULL, &timeo)) < 0) {
//perror("select");
}
gettimeofday(&tv, NULL);
}
gettimeofday(&tv, NULL);
- currcms = (tv.tv_sec - start_tv.tv_sec) * 10 + (tv.tv_usec / 100000);
+ currcms = (tv.tv_sec - start_tv.tv_sec) * 100 + (tv.tv_usec / 10000);
if (FD_ISSET(0, &rdfs))
running &= handle_keyb(s);
if (FD_ISSET(0, &rdfs))
running &= handle_keyb(s);
int i;
int force_redraw = 0;
int i;
int force_redraw = 0;
+ static unsigned int frame_count;
if (clearscreen) {
char startline[80];
if (clearscreen) {
char startline[80];
}
printf("%s", CSR_HOME);
}
printf("%s", CSR_HOME);
- printf("%c\n", anichar[currcms % MAXANI]); /* funny animation */
+ printf("%02d\n", frame_count++); /* rolling display update counter */
+ frame_count %= 100;
for (i=0; i < 2048; i++) {
for (i=0; i < 2048; i++) {
if (diffsec > 10)
diffsec = 9, diffusec = 999999;
if (diffsec > 10)
diffsec = 9, diffusec = 999999;
- printf("%ld.%06ld %3x ", diffsec, diffusec, id);
+ printf("%ld.%06ld %3X ", diffsec, diffusec, id);