From: Oliver Hartkopp <socketcan@hartkopp.net>
To: linux-can@vger.kernel.org
Cc: Marc Kleine-Budde <mkl@pengutronix.de>,
Felix Seitz <felix.seitz@thm-motorsport.de>
Subject: Re: [PATCH] cansniffer: increase resolution for timeout values
Date: Tue, 24 Jun 2014 21:39:36 +0200 [thread overview]
Message-ID: <53A9D3F8.7050504@hartkopp.net> (raw)
In-Reply-To: <1403638263-4019-1-git-send-email-socketcan@hartkopp.net>
Applied and pushed to master.
Tnx
Oliver
On 24.06.2014 21:31, Oliver Hartkopp wrote:
> From: Marc Kleine-Budde <mkl@pengutronix.de>
>
> 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>
> ---
> cansniffer.c | 27 +++++++++++++--------------
> 1 file changed, 13 insertions(+), 14 deletions(-)
>
> diff --git a/cansniffer.c b/cansniffer.c
> index c8ee58e..39b3e2b 100644
> --- a/cansniffer.c
> +++ b/cansniffer.c
> @@ -86,16 +86,13 @@
>
> /* time defaults */
>
> -#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 STARTLINESTR "X time ID data ... "
> +#define STARTLINESTR "XX delta ID data ... "
>
> struct snif {
> int flags;
> @@ -172,9 +169,9 @@ void print_usage(char *prg)
> 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);
> @@ -329,7 +326,7 @@ int main(int argc, char **argv)
> 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");
> @@ -338,7 +335,7 @@ int main(int argc, char **argv)
> }
>
> 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);
> @@ -538,6 +535,7 @@ int handle_timeo(int fd, long currcms){
>
> int i;
> int force_redraw = 0;
> + static unsigned int frame_count;
>
> if (clearscreen) {
> char startline[80];
> @@ -555,7 +553,8 @@ int handle_timeo(int fd, long currcms){
> }
>
> 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++) {
>
> @@ -608,7 +607,7 @@ void print_snifline(int id){
> if (diffsec > 10)
> diffsec = 9, diffusec = 999999;
>
> - printf("%ld.%06ld %3x ", diffsec, diffusec, id);
> + printf("%ld.%06ld %3X ", diffsec, diffusec, id);
>
> if (binary) {
>
>
next prev parent reply other threads:[~2014-06-24 19:39 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-24 19:31 [PATCH] cansniffer: increase resolution for timeout values Oliver Hartkopp
2014-06-24 19:39 ` Oliver Hartkopp [this message]
2014-06-24 21:20 ` Marc Kleine-Budde
2014-06-25 6:30 ` Oliver Hartkopp
2014-06-24 21:19 ` Marc Kleine-Budde
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53A9D3F8.7050504@hartkopp.net \
--to=socketcan@hartkopp.net \
--cc=felix.seitz@thm-motorsport.de \
--cc=linux-can@vger.kernel.org \
--cc=mkl@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.